Browse Source

feat(qhse): 新增通用短信发送功能

- 新增 SendMessageController 提供通用短信发送接口
- 新增 SendMessageDto 作为短信发送的数据传输对象
- 修改 MobileVehicleProcessingController 中发送短信方法的注释
lg 3 weeks ago
parent
commit
dee4c4ec18

+ 24 - 0
qhse-entity/src/main/java/com/rongwei/bsentity/Dto/SendMessageDto.java

@@ -0,0 +1,24 @@
+package com.rongwei.bsentity.Dto;
+
+import lombok.Data;
+
+import java.util.Map;
+
+/**
+ * 通用发短信DTO
+ */
+@Data
+public class SendMessageDto {
+    /**
+     * 模板ID
+     */
+    private String templateId;
+    /**
+     * 手机号
+     */
+    private String phone;
+    /**
+     * 模板参数
+     */
+    private Map<String, String> param;
+}

+ 1 - 1
qhse-server/src/main/java/com/rongwei/controller/MobileVehicleProcessingController.java

@@ -22,7 +22,7 @@ public class MobileVehicleProcessingController {
     private MobileVehicleProcessingService mobileVehicleProcessingService;
 
     /**
-     * 发送短信
+     * 流动车辆发送短信
      *
      * @param idList id列表
      * @return 发送结果

+ 37 - 0
qhse-server/src/main/java/com/rongwei/controller/SendMessageController.java

@@ -0,0 +1,37 @@
+package com.rongwei.controller;
+
+import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
+import com.rongwei.bscommon.sys.service.AliyunSmsService;
+import com.rongwei.bsentity.Dto.SendMessageDto;
+import com.rongwei.rwcommon.base.R;
+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.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/send/message")
+@Slf4j
+public class SendMessageController {
+    @Autowired
+    private AliyunSmsService aliyunSmsService;
+
+    /**
+     * 通用短信接口
+     *
+     * @param dto 通用发短信DTO
+     * @return 发送结果
+     * @throws Exception 抛出异常
+     */
+    @PostMapping("/text")
+    public R sendTextMessage(@RequestBody SendMessageDto dto) throws Exception {
+        log.info("开始发送短信");
+        SendSmsResponse res = aliyunSmsService.sendSms(dto.getTemplateId(), dto.getParam(), dto.getPhone());
+        if (res.statusCode != 200) {
+            return R.errorWithMsg("发送短信失败");
+        }
+        return R.okWithMsg("发送短信成功");
+    }
+}