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