wrj 10 сар өмнө
parent
commit
79fb6bc78d

+ 8 - 1
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/TJsController.java

@@ -271,7 +271,7 @@ public class TJsController extends BaseController {
         }
     }
 
-    @ApiOperation("通知")
+    @ApiOperation("小程序通知")
     @RequestMapping(value = "/tongzhi", method = RequestMethod.GET)
     public boolean sendSubscribeMessage(String openId) {
         String page="pages/index/index"; // 应该是消息点击后跳转页面
@@ -299,4 +299,11 @@ public class TJsController extends BaseController {
         }
         return false;
     }
+
+    @ApiOperation("公众号新订单处理通知")
+    @RequestMapping(value = "/notification", method = RequestMethod.GET)
+    public boolean newOrderNotification(String openId) {
+        jsService.newOrderNotification(openId);
+        return true;
+    }
 }

+ 3 - 1
nightFragrance-admin/src/main/resources/application-dev.yml

@@ -153,7 +153,7 @@ token:
   # 令牌密钥
   secret: smadedloswxcxstufwzgd
   # 令牌有效期(默认30分钟)
-  expireTime: 30
+  expireTime: 480
 
 ## MyBatis配置
 #mybatis:
@@ -242,6 +242,8 @@ wechat:
   redirect-url: https://433a2453.r12.cpolar.top/weChat/getAccessToken
   # 回调地址
   access-token-url: https://api.weixin.qq.com/sns/oauth2/access_token
+  # 消息模版ID
+  template-id-1: HU2LfMIes91Au9kxR3VEoNYuMayxZoPNsFRfWNCmKrQ
 
 # 防止XSS攻击
 xss:

+ 2 - 0
nightFragrance-admin/src/main/resources/application-test.yml

@@ -240,6 +240,8 @@ wechat:
   redirect-url: https://test.baoxianzhanggui.com/nightFragrance/sq/getAccessToken
   # 回调地址
   access-token-url: https://api.weixin.qq.com/sns/oauth2/access_token
+  # 消息模版ID
+  template-id-1: HU2LfMIes91Au9kxR3VEoNYuMayxZoPNsFRfWNCmKrQ
 # 防止XSS攻击
 xss:
   # 过滤开关

+ 6 - 0
nightFragrance-common/src/main/java/com/ylx/common/config/WechatAccountConfig.java

@@ -32,4 +32,10 @@ public class WechatAccountConfig {
      */
     private String accessTokenUrl;
 
+    /**
+     * 消息模版ID
+     */
+    private String templateId1;
+
+
 }

+ 2 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/TJsService.java

@@ -23,4 +23,6 @@ public interface TJsService extends IService<TJs> {
     boolean auditing(TJs js);
 
     boolean updateLocation(TJs js);
+
+    void newOrderNotification(String openId);
 }

+ 27 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TJsServiceImpl.java

@@ -3,6 +3,7 @@ package com.ylx.massage.service.impl;
 
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -15,6 +16,7 @@ import com.ylx.massage.enums.JsStatusEnum;
 import com.ylx.massage.mapper.TJsMapper;
 import com.ylx.massage.service.*;
 import com.ylx.massage.utils.LocationUtil;
+import com.ylx.massage.utils.WeChatUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -51,6 +53,10 @@ public class TJsServiceImpl extends ServiceImpl<TJsMapper, TJs> implements TJsSe
     @Resource
     private TWxUserService wxUserService;
 
+    @Resource
+    private WeChatUtil weChatUtil;
+
+
     @Override
     public Page<TJs> getAll(Page<TJs> page, TJsVo param) {
         return mapper.getAll(page, param);
@@ -123,6 +129,27 @@ public class TJsServiceImpl extends ServiceImpl<TJsMapper, TJs> implements TJsSe
         objectLambdaQueryWrapper.eq(TJs::getcOpenId, js.getcOpenId());
         return this.update(js, objectLambdaQueryWrapper);
 
+    }
+
+    @Override
+    public void newOrderNotification(String openId) {
+//        订单号 23010000010101
+//        用户电话 15055556666
+//        用户名称 李四
+//        时间 2022年11月11日22:22
+//        服务地址 湖南长沙岳麓
+
+
+        cn.hutool.json.JSONObject param = JSONUtil.createObj();
+        //订单号
+        param.set("keyword1", "23010000010101");
+        //点话
+        param.set("keyword2","18360233903");
+        param.set("keyword3","李四");
+        param.set("keyword4","2022年11月11日22:22");
+        param.set("keyword5","湖南长沙岳麓");
+        weChatUtil.notification(openId, param.toString());
+
     }
     @Override
     public TJs getByJsId(String jsId, String openId) {

+ 28 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/utils/WeChatUtil.java

@@ -6,6 +6,7 @@ package com.ylx.massage.utils;
  */
 
 import cn.hutool.http.HttpUtil;
+import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson2.JSONObject;
 import com.ylx.common.config.WechatAccountConfig;
 import com.ylx.common.constant.MassageConstants;
@@ -52,6 +53,8 @@ public class WeChatUtil {
     private RedisCache redisCache;
 
 
+
+
     /**
      * 获取微信授权code
      *
@@ -238,6 +241,31 @@ public class WeChatUtil {
 
     }
 
+    /**
+     * 公众号消息通知
+     *
+     * @param token access_token
+     * @return 返回包含微信公众号码ticket的Map
+     */
+    public Map<?, ?> notification(String openid, String data) {
+
+        String token = this.getToken();
+
+        String url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + token;
+        cn.hutool.json.JSONObject param1 = JSONUtil.createObj();
+        param1.put("touser", openid);
+        param1.put("template_id", wxPayProperties.getTemplateId1());
+        param1.put("url", "https://test.baoxianzhanggui.com/fragrance/");
+        param1.put("data", data);
+        String result = HttpUtil.post(url, param1.toString());
+        System.out.println(result);
+
+        Map<?, ?> map = JSONObject.parseObject(result, Map.class);
+
+        return map;
+
+    }
+
 
     /**
      * XML格式字符串转换为Map