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 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(); } }