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.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
/**
|
* 公共请求类
|
*
|
* @author wzy
|
* @date 2020-05-18
|
**/
|
@Slf4j
|
@Api(value = "公共请求类", tags = "公共请求类")
|
@RestController
|
@RequestMapping(value = "/common")
|
public class CommonController {
|
|
private static final String SUCCESS = "Success";
|
|
@Resource
|
private RedisUtils redisUtils;
|
|
@Resource
|
private CommonService commonservice;
|
|
@Resource
|
private AliOssProperties aliOssProperties;
|
|
@ApiOperation(value = "获取验证码接口", notes = "获取验证码通用接口")
|
@GetMapping(value = "/verifyCode")
|
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);
|
|
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 (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(AppContants.VERIFY_CODE_PREFIX + account, code, 120);
|
map.put("code", flag);
|
return Result.ok(MessageSourceUtils.getString("member_service_0010"), map);
|
}
|
// 发送邮件验证码
|
} else if (AppContants.ACCOUNT_TYPE_EMAIL.equals(type)) {
|
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(MessageSourceUtils.getString("result_fail_msg"));
|
}
|
return Result.fail(MessageSourceUtils.getString("result_fail_msg"));
|
}
|
|
@ApiOperation(value = "验证验证码是否正确", notes = "验证验证码是否正确")
|
@GetMapping(value = "/checkVerify")
|
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 = "文件上传")
|
@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"));
|
}
|
}
|