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