TestWxController.java 4.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package com.care.client.controller;
  2. import com.care.common.service.WxTemplateService;
  3. import com.care.client.dto.TemplateDataDTO;
  4. import io.swagger.annotations.Api;
  5. import io.swagger.annotations.ApiOperation;
  6. import lombok.extern.slf4j.Slf4j;
  7. import org.springframework.web.bind.annotation.GetMapping;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.bind.annotation.RequestParam;
  10. import org.springframework.web.bind.annotation.RestController;
  11. import javax.annotation.Resource;
  12. import java.text.SimpleDateFormat;
  13. import java.util.Date;
  14. import java.util.HashMap;
  15. import java.util.Map;
  16. @Api(tags = "模板测试")
  17. @RestController
  18. @RequestMapping("/wxtemplate")
  19. @Slf4j
  20. public class TestWxController {
  21. @Resource
  22. private WxTemplateService wxTemplateService;
  23. @ApiOperation(value = "模板测试", notes = "消息发送")
  24. @GetMapping("send")
  25. public void test(@RequestParam("openId") String openId, @RequestParam("templateId") String templateId) {
  26. // WxAccessTokenVO wxda02870032b8f928 = WxTemplateUtil.getAccessToken("wxda02870032b8f928", "5984b6cf5dad4693eb60cbc494d9f385");
  27. // System.out.println();
  28. // WxConfig wxConfig = platformPinanbaoConfig.wxConfig();
  29. // 获取accessToken
  30. // WxAccessTokenVO wxAccessTokenVO = WxTemplateUtil.getAccessToken(wxConfig.getAppId(), wxConfig.getSecret());
  31. // WxAccessTokenVO wxAccessTokenVO = WxTemplateUtil.getAccessToken("wxf393853ab94c853f", "f3fc21fee8de01d79ded7f799a4d2d4d");
  32. // WxAccessTokenVO wxAccessTokenVO = new WxAccessTokenVO();
  33. // wxAccessTokenVO.setAccessToken("50_hMKs4nHb0yvJwhfByWRc01Zq_ksQ34mfWHwHkymrT560MuDcW8DMuRTKTa5QjH06ZL-slBSGqKR42R7cPWsFoy6u7wlkpEDQgjG-Hv0YG9GA3FEZRMUsd-Zy0ePKCN06Ur2uNrzNPkdefA6tSEKjADAVHN");
  34. // wxAccessTokenVO.setExpiresIn(7200);
  35. // WxAccessTokenVO wxAccessTokenVO = new WxAccessTokenVO();
  36. // if (redisUtil.hasKey(RedisKeyConstant.YUANSERVICE_ACCESSTOKEN + "y")) {
  37. // wxAccessTokenVO.setAccessToken(ObjectUtils.toString(redisUtil.get(RedisKeyConstant.YUANSERVICE_ACCESSTOKEN)));
  38. // } else {
  39. // wxAccessTokenVO = WxTemplateUtil.getAccessToken("wxf393853ab94c853f", "f3fc21fee8de01d79ded7f799a4d2d4d");
  40. // wxAccessTokenVO = WxTemplateUtil.getAccessToken("wxd735a330f9387639", "f0b4652c392b7cae457fe9d986115052");
  41. // if (wxAccessTokenVO == null || StringUtils.isBlank(wxAccessTokenVO.getAccessToken())) {
  42. // return;
  43. // }
  44. // redisUtil.set(RedisKeyConstant.YUANSERVICE_ACCESSTOKEN, wxAccessTokenVO.getAccessToken(),60 * 100);
  45. // }
  46. // WxTemplateUtil.getUserOpenIdList(wxAccessTokenVO.getAccessToken(), "oAIrY6RoG56fKOZZD6auXgdheV_Y");
  47. // System.out.println("token: " + wxAccessTokenVO.getAccessToken());
  48. // 消息模板对象
  49. // WxTemplateDTO wxTemplateDTO = new WxTemplateDTO();
  50. // 时间格式转换
  51. SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  52. // 用户openIdopenid ->
  53. // wxTemplateDTO.setTouser("oAIrY6RoG56fKOZZD6auXgdheV_Y");
  54. // self
  55. // wxTemplateDTO.setTouser("oAIrY6ci3o4O_HtGGKzVj495vV7M");
  56. // wxTemplateDTO.setTouser("oAvJS6tYkZCwm6xC8m6uqW-UjBGc");
  57. // 模板ID
  58. // wxTemplateDTO.setTemplate_id("1M1kDRDW-kMSoOzmv9cP-SImD1kXWtezwyWe8euUJIc");
  59. // wxTemplateDTO.setTemplate_id("S86r6mkzaKIv-m9HndhFgCmyCrrv9Uw87_5THakYCkQ");
  60. // 跳转页面设置(仅限上线后的小程序,测试时可以忽略此属性)
  61. // wxTemplateDTO.setPage("pages/index/index");
  62. Map<String, TemplateDataDTO> data = new HashMap<>();
  63. data.put("first", new TemplateDataDTO("您关联的与安宝设备上传一条安全事件", "#ff5200"));
  64. data.put("keyword1", new TemplateDataDTO("跌倒报警", "#000000"));
  65. data.put("keyword2", new TemplateDataDTO(simpleDateFormat.format(new Date()), "#000000"));
  66. data.put("keyword3", new TemplateDataDTO("北京市丰台区金桥东街6号 顶秀金石家园1号楼1单元111室", "#000000"));
  67. data.put("remark", new TemplateDataDTO("请尽快联系您的被监护人, 确认现场情况", "#ff5200"));
  68. // 模板内容
  69. // wxTemplateDTO.setData(data);
  70. // 发送消息模板
  71. // boolean flag = wxTemplateService.sendTemplateMsg("oyVYT6Ox9b88n_33lgKWRj5uFbUY", "S86r6mkzaKIv-m9HndhFgCmyCrrv9Uw87_5THakYCkQ", data);
  72. boolean flag = wxTemplateService.sendTemplateMsg(openId, templateId, "wxda02870032b8f928", "/page/index/index", data);
  73. log.info("发送消息模板: openId: " + openId + ", templateId: " + templateId + " 状态: " + flag);
  74. }
  75. }