From 7d7ac69a8af85ab9e67c1dc2c6f52b03d27669e4 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期四, 26 十二月 2024 08:58:19 +0800
Subject: [PATCH] add:阿里云短信模板获取签名和模板信息

---
 src/main/java/com/mzl/flower/web/v2/sms/SmsTemplateController.java |   90 +++++++++++++++++++++++++++++----------------
 1 files changed, 58 insertions(+), 32 deletions(-)

diff --git a/src/main/java/com/mzl/flower/web/v2/sms/SmsTemplateController.java b/src/main/java/com/mzl/flower/web/v2/sms/SmsTemplateController.java
index 8ab387b..b0adbdf 100644
--- a/src/main/java/com/mzl/flower/web/v2/sms/SmsTemplateController.java
+++ b/src/main/java/com/mzl/flower/web/v2/sms/SmsTemplateController.java
@@ -1,64 +1,90 @@
 package com.mzl.flower.web.v2.sms;
 
 
+import com.aliyun.dysmsapi20170525.Client;
+import com.aliyun.dysmsapi20170525.models.QuerySmsTemplateListRequest;
+import com.aliyun.dysmsapi20170525.models.QuerySmsTemplateListResponse;
+import com.aliyun.dysmsapi20170525.models.QuerySmsTemplateListResponseBody;
+import com.aliyun.tea.TeaException;
+import com.aliyun.teautil.models.RuntimeOptions;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.mzl.flower.base.BaseController;
 import com.mzl.flower.base.R;
 import com.mzl.flower.base.ReturnDataDTO;
-import com.mzl.flower.dto.response.coupon.CouponTemplatePointVO;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestParam;
+import com.mzl.flower.dto.request.sms.SmsTemplateDTO;
+import com.mzl.flower.dto.request.sms.SmsTemplateQueryDTO;
 import com.mzl.flower.entity.SmsTemplateDO;
+import com.mzl.flower.service.sms.SmsTemplateService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
 
-import javax.validation.constraints.Min;
-import javax.validation.constraints.Max;
-import javax.validation.constraints.Positive;
-
-import org.springframework.web.bind.annotation.RestController;
+import javax.validation.constraints.NotNull;
+import java.util.List;
 
 /**
 * @author @TaoJie
 * @since 2024-12-25
 */
+@Api(value = "短信模板管理", tags = "短信模板管理")
 @RestController
 @RequestMapping("/v2/sms-template")
+@RequiredArgsConstructor
 public class SmsTemplateController extends BaseController {
 
-    @PostMapping("")
-    public ResponseEntity<ReturnDataDTO> create() {
+    private  final SmsTemplateService smsTemplateService;
+
+    @PostMapping("/new")
+    @ApiOperation(value = "保存短信模板", httpMethod = "POST")
+    public ResponseEntity<ReturnDataDTO> create(@RequestBody SmsTemplateDTO smsTemplateDTO) {
+        smsTemplateService.saveSmsTemplate(smsTemplateDTO);
         return returnData(R.SUCCESS.getCode(), null);
     }
 
-    @PutMapping("/{id}")
-    public ResponseEntity<ReturnDataDTO> update(@PathVariable @Positive(message = "{id.positive}") Integer id) {
+    @PostMapping(value = "/edit")
+    @ApiOperation(value = "更新短信模板", httpMethod = "POST")
+    public ResponseEntity<ReturnDataDTO> update(@RequestBody SmsTemplateDTO smsTemplateDTO) {
+        smsTemplateService.updateSmsTemplate(smsTemplateDTO);
         return returnData(R.SUCCESS.getCode(), null);
     }
 
-    @DeleteMapping("/{id}")
-    public ResponseEntity<ReturnDataDTO> delete(@PathVariable @Positive(message = "{id.positive}") Integer id) {
+    @GetMapping(value = "/delete")
+    @ApiOperation(value = "删除短信模板 ", httpMethod = "GET", notes = "ID")
+    public ResponseEntity<ReturnDataDTO> delete(@NotNull(message = "id不能为空") Long id) {
+        smsTemplateService.deleteSmsTemplate(id);
         return returnData(R.SUCCESS.getCode(), null);
     }
 
-    @GetMapping("/{id}")
-    public SmsTemplateDO get(@PathVariable(value = "id") @Positive(message = "{id.positive}") Integer id) {
-        return null;
+    @GetMapping("/list")
+    @ApiOperation(value = "短信模板列表", httpMethod = "GET")
+    public ResponseEntity<ReturnDataDTO<Page<SmsTemplateDO>>> getSmsTemplateList(Page page, SmsTemplateQueryDTO dto) {
+        return returnData(R.SUCCESS.getCode(), smsTemplateService.queryPage(dto, page));
     }
 
-    @GetMapping("/page")
-    public ResponseEntity<ReturnDataDTO<Page<SmsTemplateDO>>> page(
-            @RequestParam(name = "page", required = false, defaultValue = "0")
-            @Min(value = 0, message = "{page.number.min}") Integer page,
-            @RequestParam(name = "count", required = false, defaultValue = "10")
-            @Min(value = 1, message = "{page.count.min}")
-            @Max(value = 30, message = "{page.count.max}") Integer count
-    ) {
-        return null;
+    @GetMapping("/template/list")
+    @ApiOperation(value = "短信模板列表", httpMethod = "GET")
+    public ResponseEntity<ReturnDataDTO<Page<SmsTemplateDO>>> getALSmsTemplateList(Page page, SmsTemplateQueryDTO dto) throws Exception {
+        Client client = createClient();
+        QuerySmsTemplateListRequest querySmsTemplateListRequest = new QuerySmsTemplateListRequest();
+        RuntimeOptions runtime = new RuntimeOptions();
+        List<QuerySmsTemplateListResponseBody.QuerySmsTemplateListResponseBodySmsTemplateList> smsTemplateList;
+        try {
+            QuerySmsTemplateListResponse querySmsTemplateListResponse = client.querySmsTemplateListWithOptions(querySmsTemplateListRequest, runtime);
+            smsTemplateList = querySmsTemplateListResponse.getBody().getSmsTemplateList();
+        } catch (TeaException error) {
+            return returnData(R.RUNTIME_EXCEPTION.getCode(), error.getMessage());
+        } catch (Exception _error) {
+            return returnData(R.RUNTIME_EXCEPTION.getCode(), _error.getMessage());
+        }
+        return returnData(R.SUCCESS.getCode(), smsTemplateList);
+    }
+
+    public static Client createClient() throws Exception {
+        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config().setAccessKeyId("LTAI5tFGHa9bwhuEDKH6YPnc").setAccessKeySecret("BrY0BM4pvDXhVKOMLsXzgzlhVe1keQ");
+        config.endpoint = "dysmsapi.aliyuncs.com";
+        return new Client(config);
     }
 
 }

--
Gitblit v1.9.3