chenbiao 3 лет назад
Родитель
Сommit
be7d462602

+ 13 - 0
netflix-common/src/main/java/com/cyksj/common/constant/WeChatTemplateConst.java

@@ -7,4 +7,17 @@ package com.cyksj.common.constant;
 public interface WeChatTemplateConst {
 
     String EXPIRY_TEMPLATE = "pNGASpViLNO9QsVm6nkg7P6XwwzULgdBCgytWlgsrYo";
+
+    /**
+     * {{first.DATA}}
+     * 视频名称:{{keyword1.DATA}}
+     * 视频模板:{{keyword2.DATA}}
+     * 视频时长:{{keyword3.DATA}}
+     * 视频质量:{{keyword4.DATA}}
+     * {{remark.DATA}}
+     */
+    String VDIEO_NOTIFY = "fwHewmlYiPgWhKW83-4YYcpyVr2IuwP88yQS_8RzkkA";
+
+
+
 }

+ 30 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/AdminController.java

@@ -1,24 +1,33 @@
 package com.cyksj.web.controller.manage;
 
 import cn.dev33.satoken.stp.StpUtil;
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.cyksj.common.constant.WeChatTemplateConst;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.common.util.Codec;
+import com.cyksj.common.util.Jsons;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
+import com.cyksj.model.dto.WxMpTemplateData;
+import com.cyksj.model.dto.WxMpTemplateMessage;
 import com.cyksj.model.manage.dto.AdminInfo;
 import com.cyksj.model.manage.entity.Admin;
 import com.cyksj.service.mange.AdminService;
+import com.cyksj.service.wechat.WeChatService;
 import lombok.RequiredArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Date;
 import java.util.List;
 
+import static com.cyksj.common.constant.WeChatTemplateConst.EXPIRY_TEMPLATE;
+
 /**
  * @description
  * @author chan
@@ -31,6 +40,8 @@ public class AdminController {
 
     private final AdminService adminService;
 
+    private final WeChatService weChatService;
+
     @PostMapping(value = "/login")
     public Result<AdminInfo> login(@RequestBody Admin adminRequest) throws Exception {
         Admin admin = adminService.getOne(
@@ -91,4 +102,23 @@ public class AdminController {
         return GatewayResponse.SUCCESS.newBuilder().toResult(list);
     }
 
+    @GetMapping("/send/template")
+    public Result<String> sendTemplate(String title, String channel) throws Exception {
+        WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder()
+                //TODO 管理员账号openId
+                .toUser("")
+                .templateId(WeChatTemplateConst.VDIEO_NOTIFY)
+                .url(" ")
+                .build();
+
+        templateMessage.addData(new WxMpTemplateData("first","youtube频道有更新"))
+                .addData(new WxMpTemplateData("keyword1",title))
+                .addData(new WxMpTemplateData("keyword2",channel))
+                .addData(new WxMpTemplateData("keyword3", DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss")))
+                .addData(new WxMpTemplateData("keyword4","默认"))
+                .addData(new WxMpTemplateData("remark", "您订阅的频道有新内容发布"));
+
+        weChatService.sendTemplateMessage(weChatService.getAccessToken(), Jsons.toJson(templateMessage));
+        return GatewayResponse.SUCCESS.newBuilder().toResult();
+    }
 }