添加发送短信

This commit is contained in:
韩鹏辉
2024-07-11 11:35:35 +08:00
parent 6a8ea3416f
commit 21fb470052
6 changed files with 225 additions and 1 deletions

View File

@@ -16,18 +16,30 @@
package cn.ysk.cashier.controller;
import cn.ysk.cashier.annotation.Log;
import cn.ysk.cashier.exception.BadRequestException;
import cn.ysk.cashier.pojo.TbUserInfo;
import cn.ysk.cashier.service.TbUserInfoService;
import cn.ysk.cashier.dto.TbUserInfoQueryCriteria;
import cn.ysk.cashier.utils.JSONUtil;
import cn.ysk.cashier.utils.RedisUtils;
import cn.ysk.cashier.utils.StringUtil;
import cn.ysk.cashier.utils.ValidateCodeUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.*;
import java.io.IOException;
import java.util.Objects;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
@@ -75,4 +87,45 @@ public class TbUserInfoController {
tbUserInfoService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);
}
@Autowired
ValidateCodeUtil validateCodeUtil;
@Autowired
RedisUtils redisUtils;
@GetMapping("sendMsg")
public Object sendMsg(){
Object o= SecurityContextHolder.getContext().getAuthentication().getPrincipal();
if(Objects.isNull(o)){
throw new BadRequestException("用户登录信息失效");
}
JSONObject object=JSON.parseObject(JSON.toJSONString(o));
if(Objects.isNull(object)){
throw new BadRequestException("用户登录信息失效");
}
String regex="^\\d{11}$";
if(!object.containsKey("username")||Objects.isNull(object.getString("username"))||
!object.getString("username").matches(regex)
){
throw new BadRequestException("用户登录信息失效");
}
String phone=object.getString("username");
String tempcode="SMS_244665149";
String random = StringUtil.random(6);
try {
validateCodeUtil.requestValidateCodeAli(phone, random,tempcode);
redisUtils.set(phone.concat("#").concat(tempcode),random,300L);
return "{\n" +
" \"code\": 0,\n" +
" \"msg\": \"成功\"\n" +
"}";
} catch (Exception e) {
throw new RuntimeException(e.getMessage());
}
}
}