zhongrj
2023-04-23 8786be012e5a6f0951d305d509dbacabe6d2af72
登录短信发送新增短信发送记录新增
3 files modified
7 files added
237 ■■■■■ changed files
skjcmanager/skjcmanager-common/src/main/java/cn/gistack/common/constant/LauncherConstant.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsController.java 41 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsRecordController.java 98 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/entity/SmsRecord.java 44 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsRecordMapper.java 12 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsRecordMapper.xml 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/service/ISmsRecordService.java 7 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/service/impl/SmsRecordServiceImpl.java 14 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/util/SmsUtils.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/vo/SmsRecordVO.java 12 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-common/src/main/java/cn/gistack/common/constant/LauncherConstant.java
@@ -40,7 +40,7 @@
    /**
     * nacos dev 地址
     */
    String NACOS_DEV_ADDR = "127.0.0.1:8848";
    String NACOS_DEV_ADDR = "127.0.0.1:8849";
    /**
     * nacos prod 地址
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsController.java
@@ -2,6 +2,8 @@
import cn.com.flaginfo.sdk.cmc.api.sms.dynsend.DynSMSSendRequest;
import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendRequest;
import cn.gistack.sm.sms.entity.SmsRecord;
import cn.gistack.sm.sms.service.ISmsRecordService;
import cn.gistack.sm.sms.util.SmsUtils;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -19,9 +21,42 @@
@AllArgsConstructor
public class SmsController {
    @GetMapping("/test")
    public R test(SMSSendRequest request){
        return R.data(SmsUtils.sendMsg(request));
    private final ISmsRecordService smsRecordService;
    /**
     * 发送登录验证码
     * request 必须包含手机号(多个手机号以英文逗号分隔)
     * @param request
     * @return
     */
    @PostMapping("/sendCode")
    public R test(@RequestBody SMSSendRequest request){
        //设置模板相关信息
        String templateId = "2431012205498";
        String content = "您的登录验证码是" + SmsUtils.getRandNumber() + ",5分钟内有效,请勿泄漏,如非本人操作,请忽略此信息";
        request.setMessageContent(content);
        request.setTemplateId(templateId);
        // 发送操作
        String sendMsg = SmsUtils.sendMsg(request);
        // 记录发送记录操作
        saveSendRecord(request,sendMsg);
        // 返回发送信息
        return R.data(sendMsg);
    }
    /**
     * 发送记录保存
     * @param request 发送信息
     * @param sendMsg 响应数据
     */
    private void saveSendRecord(SMSSendRequest request, String sendMsg) {
        SmsRecord smsRecord = new SmsRecord();
        smsRecord.setPhone(request.getUserNumber());
        smsRecord.setContent(request.getMessageContent());
        smsRecord.setTemplateId(request.getTemplateId());
        smsRecord.setResContent(sendMsg);
        //插入记录
        smsRecordService.save(smsRecord);
    }
    @PostMapping("/test1")
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsRecordController.java
New file
@@ -0,0 +1,98 @@
package cn.gistack.sm.sms.controller;
import cn.gistack.sm.sms.entity.SmsRecord;
import cn.gistack.sm.sms.service.ISmsRecordService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
/**
 * 短信发送记录控制层
 * @author zhongrj
 * @date 2023-04-23
*/
@Slf4j
@Api(tags="短信发送记录")
@RestController
@RequestMapping("/smsRecord/smsRecord")
@AllArgsConstructor
public class SmsRecordController extends BladeController {
   private ISmsRecordService smsRecordService;
   /**
    * 分页列表查询
    * @return
    */
   @ApiOperation(value="短信发送记录-分页列表查询", notes="短信发送记录-分页列表查询")
   @GetMapping(value = "/list")
   public R queryPageList(SmsRecord smsRecord, Query query) {
          IPage<SmsRecord> pageList = smsRecordService.page(Condition.getPage(query), Condition.getQueryWrapper(smsRecord));
       return R.data(pageList);
   }
   /**
    * 添加
    */
   @ApiOperation(value="短信发送记录-添加", notes="短信发送记录-添加")
   @PostMapping(value = "/add")
   public R add(@RequestBody SmsRecord smsRecord) {
       return R.data(smsRecordService.save(smsRecord));
   }
   /**
    * 编辑
    * @return
    */
   @ApiOperation(value="短信发送记录-编辑", notes="短信发送记录-编辑")
   @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
   public R edit(@RequestBody SmsRecord smsRecord) {
       return R.data(smsRecordService.updateById(smsRecord));
   }
   /**
    * 通过id删除
    *
    * @param id
    * @return
    */
   @ApiOperation(value="短信发送记录-通过id删除", notes="短信发送记录-通过id删除")
   @DeleteMapping(value = "/delete")
   public R delete(@RequestParam(name="id",required=true) String id) {
       return R.data(smsRecordService.removeById(id));
   }
   /**
    * 批量删除
    *
    * @param ids
    * @return
    */
   @ApiOperation(value="短信发送记录-批量删除", notes="短信发送记录-批量删除")
   @DeleteMapping(value = "/deleteBatch")
   public R deleteBatch(@RequestParam(name="ids",required=true) String ids) {
       return R.data(smsRecordService.removeByIds(Arrays.asList(ids.split(","))));
   }
   /**
    * 通过id查询
    *
    * @param id
    * @return
    */
   @ApiOperation(value="短信发送记录-通过id查询", notes="短信发送记录-通过id查询")
   @GetMapping(value = "/queryById")
   public R queryById(@RequestParam(name="id",required=true) String id) {
       SmsRecord SmsRecord = smsRecordService.getById(id);
       return R.data(SmsRecord);
   }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/entity/SmsRecord.java
New file
@@ -0,0 +1,44 @@
package cn.gistack.sm.sms.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springblade.core.tenant.mp.TenantEntity;
/**
 * 短信发送记录
 */
@Data
@TableName("sm_sms_record")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "sm_sms_record对象", description = "短信发送记录")
public class SmsRecord extends TenantEntity {
    /**
     * 模板id
     */
    @ApiModelProperty(value = "模板id")
    private String templateId;
    /**
     * 手机号(可能有多个,以英文逗号分隔)
     */
    @ApiModelProperty(value = "手机号(可能有多个,以英文逗号分隔)")
    private String phone;
    /**
     * 消息内容
     */
    @ApiModelProperty(value = "消息内容")
    private String content;
    /**
     * 响应内容
     */
    @ApiModelProperty(value = "响应内容")
    private String resContent;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsRecordMapper.java
New file
@@ -0,0 +1,12 @@
package cn.gistack.sm.sms.mapper;
import cn.gistack.sm.sms.entity.SmsRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * 短信发送记录
 * @author zhongrj
 */
public interface SmsRecordMapper extends BaseMapper<SmsRecord> {
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsRecordMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.gistack.sm.sms.mapper.SmsRecordMapper">
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/service/ISmsRecordService.java
New file
@@ -0,0 +1,7 @@
package cn.gistack.sm.sms.service;
import cn.gistack.sm.sms.entity.SmsRecord;
import org.springblade.core.mp.base.BaseService;
public interface ISmsRecordService extends BaseService<SmsRecord> {
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/service/impl/SmsRecordServiceImpl.java
New file
@@ -0,0 +1,14 @@
package cn.gistack.sm.sms.service.impl;
import cn.gistack.sm.patrol.mapper.PatrolGroupMapper;
import cn.gistack.sm.sms.entity.SmsRecord;
import cn.gistack.sm.sms.mapper.SmsRecordMapper;
import cn.gistack.sm.sms.service.ISmsRecordService;
import org.springblade.core.mp.base.BaseServiceImpl;
/**
 * 短信发送记录
 * @author zhongrj
 */
public class SmsRecordServiceImpl extends BaseServiceImpl<SmsRecordMapper, SmsRecord> implements ISmsRecordService {
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/util/SmsUtils.java
@@ -63,7 +63,7 @@
     * 获取随机字符串
     * @return
     */
    private String getRandNumber() {
    public static String getRandNumber() {
        // 计算token
//        Date date = new Date();
//        String dateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(date);
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/vo/SmsRecordVO.java
New file
@@ -0,0 +1,12 @@
package cn.gistack.sm.sms.vo;
import cn.gistack.sm.sms.entity.SmsRecord;
import lombok.Data;
/**
 * 短信发送记录vo
 * @author zhongrj
 */
@Data
public class SmsRecordVO extends SmsRecord {
}