package com.xzx.gc.system.controller;
|
|
|
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.util.RandomUtil;
|
import cn.hutool.core.util.StrUtil;
|
import com.xzx.gc.common.Result;
|
import com.xzx.gc.common.annotations.PassToken;
|
import com.xzx.gc.common.constant.Constants;
|
import com.xzx.gc.common.constant.RedisKeyConstant;
|
import com.xzx.gc.common.dto.VerifyCodeSendDTO;
|
import com.xzx.gc.common.utils.RedisUtil;
|
import com.xzx.gc.common.utils.SpringUtil;
|
import com.xzx.gc.common.utils.ali.SmsUtil;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
|
@RestController
|
@Api(tags = {"验证码管理"})
|
@Slf4j
|
public class VerifyCodeController {
|
|
|
@Autowired
|
private RedisUtil redisUtil;
|
|
@PostMapping("/verifyCode/send")
|
@ApiOperation(value = "发送验证码")
|
@PassToken
|
public Result verifyCodeSend(@RequestBody VerifyCodeSendDTO verifyCodeSendDTO){
|
|
String type = verifyCodeSendDTO.getType();
|
String content="";
|
Map<String, String> map = new HashMap<>();
|
String code=RandomUtil.randomNumbers(4);
|
map.put("code", code);
|
//集货员申请
|
if("1".equals(type)){
|
content = StrUtil.format("您正在申请成为集货员的验证码为:{code},有效期为2分钟,请及时验证。", map);
|
}else if("2".equals(type)){
|
content = StrUtil.format("您正在申请成为回收员的验证码为:{code},有效期为2分钟,请及时验证。", map);
|
}else if("3".equals(type)){
|
content = StrUtil.format("您正在申请成为废品店的验证码为:{code},有效期为2分钟,请及时验证。", map);
|
}
|
|
if(StrUtil.isNotBlank(content)) {
|
SmsUtil.sendPoint(verifyCodeSendDTO.getMobile(), content);
|
redisUtil.setex(RedisKeyConstant.SMS_CODE + verifyCodeSendDTO.getMobile(), code, 120);
|
}
|
return Result.success();
|
|
}
|
}
|