From 3e559a23137c7c992add11029b53a578d867b4d3 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Wed, 04 Nov 2020 11:39:33 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/common/system/controller/CommonController.java | 76 +++++++++++++++++++++++++++++--------- 1 files changed, 58 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/xcong/excoin/common/system/controller/CommonController.java b/src/main/java/com/xcong/excoin/common/system/controller/CommonController.java index db35bd2..723bd6b 100644 --- a/src/main/java/com/xcong/excoin/common/system/controller/CommonController.java +++ b/src/main/java/com/xcong/excoin/common/system/controller/CommonController.java @@ -1,15 +1,25 @@ package com.xcong.excoin.common.system.controller; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; import com.xcong.excoin.common.contants.AppContants; import com.xcong.excoin.common.response.Result; +import com.xcong.excoin.common.system.dto.Base64UploadDto; +import com.xcong.excoin.common.system.service.CommonService; +import com.xcong.excoin.configurations.properties.AliOssProperties; +import com.xcong.excoin.utils.MessageSourceUtils; +import com.xcong.excoin.utils.OssUtils; import com.xcong.excoin.utils.RedisUtils; import com.xcong.excoin.utils.SmsUtils; +import com.xcong.excoin.utils.mail.Sms106Send; +import com.xcong.excoin.utils.mail.SmsSend; +import com.xcong.excoin.utils.mail.SubMailSend; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.HashMap; @@ -32,39 +42,69 @@ @Resource private RedisUtils redisUtils; + @Resource + private CommonService commonservice; + + @Resource + private AliOssProperties aliOssProperties; + @ApiOperation(value = "获取验证码接口", notes = "获取验证码通用接口") @GetMapping(value = "/verifyCode") - public Result verifyCode(String account, String type) { + public Result verifyCode(@ApiParam(name = "account", value = "手机号或邮箱", required = true) @RequestParam(value = "account") String account, + @ApiParam(name = "type", value = "类型1-手机号2-邮箱", required = true) @RequestParam("type") String type) { log.info("#账号:{}, 类型:{}#", account, type); - int code = (int) ((Math.random() * 9 + 1) * 100000); - if (AppContants.ACCOUNT_TYPE_MOBILE.equals(type)) { - Map<String, Object> result = SmsUtils.sendVerifyCode(account, code); + Integer code = (int) ((Math.random() * 9 + 1) * 100000); + if (StrUtil.isNotBlank(redisUtils.getString(AppContants.VERIFY_CODE_PREFIX + account))) { + return Result.fail(MessageSourceUtils.getString("common_verify_code_exist")); + } - if (SUCCESS.equals(result.get("resultstatus"))) { + // 发送手机验证码 + if (AppContants.ACCOUNT_TYPE_MOBILE.equals(type)) { + boolean result = Sms106Send.sendVerifyCode(account, code.toString(), 2); + if (result) { Map<String, Object> map = new HashMap<>(); - boolean flag = redisUtils.set("SMS_" + account, code, 120); + boolean flag = redisUtils.set(AppContants.VERIFY_CODE_PREFIX + account, code, 600); map.put("code", flag); - return Result.ok("success", map); + return Result.ok(MessageSourceUtils.getString("member_service_0010"), map); } + // 发送邮件验证码 } else if (AppContants.ACCOUNT_TYPE_EMAIL.equals(type)) { - return Result.ok("success"); + boolean flag = SubMailSend.sendMail(account, code.toString()); + if (flag) { + redisUtils.set(AppContants.VERIFY_CODE_PREFIX + account, code, 120); + return Result.ok(MessageSourceUtils.getString("member_service_0010")); + } else { + return Result.fail(MessageSourceUtils.getString("result_fail_msg")); + } } else { log.info("未定义账号类型"); - return Result.fail("fail"); + return Result.fail(MessageSourceUtils.getString("result_fail_msg")); } - return Result.fail("fail"); + return Result.fail(MessageSourceUtils.getString("result_fail_msg")); } @ApiOperation(value = "验证验证码是否正确", notes = "验证验证码是否正确") @GetMapping(value = "/checkVerify") - public Result checkVerify() { - return null; + public Result checkVerify(@ApiParam(name = "account", value = "账号", required = true) @RequestParam("account") String account, + @ApiParam(name = "code", value = "验证码", required = true) @RequestParam("code") String code) { + boolean flag = commonservice.verifyCode(account, code); + if (flag) { + return Result.ok(MessageSourceUtils.getString("result_success_msg")); + } + return Result.fail(MessageSourceUtils.getString("common_verify_code")); } @ApiOperation(value = "文件上次接口", notes = "文件上传") - @GetMapping(value = "/uploadFile") - public Result uploadFile() { - return null; + @PostMapping(value = "/uploadFileBase64") + public Result uploadFileBase64(@RequestBody @Validated Base64UploadDto uploadDto) { + String imageName = "uploadeFile/image/" + System.currentTimeMillis() + IdUtil.simpleUUID() + AppContants.UPLOAD_IMAGE_SUFFIX; + + boolean flag = OssUtils.uploadFileWithBase64(uploadDto.base64Str, imageName); + if (flag) { + String url = aliOssProperties.getBucketName() + "/" + imageName; + return Result.ok(MessageSourceUtils.getString("result_success_msg"), url); + } + return Result.fail(MessageSourceUtils.getString("uploadFile_controller_0001")); } } -- Gitblit v1.9.1