From 56c6836c3c482bcc2373239895f585a449266e1d Mon Sep 17 00:00:00 2001 From: xuwenbo <717567226@qq.com> Date: Wed, 2 Sep 2020 10:47:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=B0=8F=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E8=AE=A2=E9=98=85=E6=B6=88=E6=81=AF=E5=90=8E=E5=8F=B0=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/config/application.yml | 11 -------- .../yixiang/config/SubscribeProperties.java | 14 ----------- .../wechat/domain/YxWechatTemplate.java | 2 ++ .../service/dto/YxWechatTemplateDto.java | 2 ++ .../mp/service/WeiXinSubscribeService.java | 25 +++++++++---------- .../mp/service/WeixinTemplateService.java | 1 + 6 files changed, 17 insertions(+), 38 deletions(-) delete mode 100644 yshop-common/src/main/java/co/yixiang/config/SubscribeProperties.java diff --git a/yshop-app/src/main/resources/config/application.yml b/yshop-app/src/main/resources/config/application.yml index 13e2081a..4724d718 100644 --- a/yshop-app/src/main/resources/config/application.yml +++ b/yshop-app/src/main/resources/config/application.yml @@ -75,17 +75,6 @@ logging: yshop: #相关配置 version: 3.0 - #小程序订阅消息配置 - subscribe: - subscribeMaps: - #付款成功 - pay_success: W5r2c2kzhbq8uxStkPAVx_sk-5aapMFCqe7b7KU5jXI - #发货成功 - delivery-success: 2CB_1UyQrbnlyjJa5syraqJ3cfztPPDOAHe3DEXpMjg - #退款成功 - refund_success: - #充值成功 - recharge_success: # 防止XSS攻击 xss: diff --git a/yshop-common/src/main/java/co/yixiang/config/SubscribeProperties.java b/yshop-common/src/main/java/co/yixiang/config/SubscribeProperties.java deleted file mode 100644 index ee00467e..00000000 --- a/yshop-common/src/main/java/co/yixiang/config/SubscribeProperties.java +++ /dev/null @@ -1,14 +0,0 @@ -package co.yixiang.config; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -import java.util.Map; - -@Data -@Configuration -@ConfigurationProperties(prefix = "yshop.subscribe") -public class SubscribeProperties { - private Map subscribeMaps; -} diff --git a/yshop-mall/src/main/java/co/yixiang/modules/wechat/domain/YxWechatTemplate.java b/yshop-mall/src/main/java/co/yixiang/modules/wechat/domain/YxWechatTemplate.java index e09bbd49..09f5255b 100644 --- a/yshop-mall/src/main/java/co/yixiang/modules/wechat/domain/YxWechatTemplate.java +++ b/yshop-mall/src/main/java/co/yixiang/modules/wechat/domain/YxWechatTemplate.java @@ -47,6 +47,8 @@ public class YxWechatTemplate extends BaseDomain { /** 状态 */ private Integer status; + /** 类型:template:模板消息 subscribe:订阅消息 */ + private String type; public void copy(YxWechatTemplate source){ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); diff --git a/yshop-mall/src/main/java/co/yixiang/modules/wechat/service/dto/YxWechatTemplateDto.java b/yshop-mall/src/main/java/co/yixiang/modules/wechat/service/dto/YxWechatTemplateDto.java index 038a9af9..07d532d6 100644 --- a/yshop-mall/src/main/java/co/yixiang/modules/wechat/service/dto/YxWechatTemplateDto.java +++ b/yshop-mall/src/main/java/co/yixiang/modules/wechat/service/dto/YxWechatTemplateDto.java @@ -36,4 +36,6 @@ public class YxWechatTemplateDto implements Serializable { /** 状态 */ private Integer status; + /** 类型:template:模板消息 subscribe:订阅消息 */ + private String type; } diff --git a/yshop-weixin/src/main/java/co/yixiang/mp/service/WeiXinSubscribeService.java b/yshop-weixin/src/main/java/co/yixiang/mp/service/WeiXinSubscribeService.java index e7053ab9..5488b018 100644 --- a/yshop-weixin/src/main/java/co/yixiang/mp/service/WeiXinSubscribeService.java +++ b/yshop-weixin/src/main/java/co/yixiang/mp/service/WeiXinSubscribeService.java @@ -3,11 +3,13 @@ package co.yixiang.mp.service; import cn.binarywang.wx.miniapp.api.WxMaService; import cn.binarywang.wx.miniapp.bean.WxMaSubscribeMessage; import cn.hutool.core.util.StrUtil; -import co.yixiang.config.SubscribeProperties; +import co.yixiang.api.YshopException; import co.yixiang.constant.ShopConstants; import co.yixiang.modules.user.domain.YxUser; import co.yixiang.modules.user.service.YxUserService; import co.yixiang.modules.user.service.dto.WechatUserDto; +import co.yixiang.modules.wechat.domain.YxWechatTemplate; +import co.yixiang.modules.wechat.service.YxWechatTemplateService; import co.yixiang.mp.enums.WechatTempateEnum; import co.yixiang.tools.config.WxMaConfiguration; import me.chanjar.weixin.common.error.WxErrorException; @@ -29,11 +31,7 @@ public class WeiXinSubscribeService { @Autowired private YxUserService userService; @Autowired - private SubscribeProperties subscribeProperties; - - - - + private YxWechatTemplateService yxWechatTemplateService; /** * 充值成功通知 * @param time 时间 @@ -163,13 +161,14 @@ public class WeiXinSubscribeService { * @return string */ private String getTempId(String key){ - AtomicReference tempId = new AtomicReference<>(); - subscribeProperties.getSubscribeMaps().forEach((k,v)->{ - if(key.equals(k)){ - tempId.set(v); - } - }); - return tempId.get(); + YxWechatTemplate yxWechatTemplate = yxWechatTemplateService.lambdaQuery() + .eq(YxWechatTemplate::getType,"subscribe") + .eq(YxWechatTemplate::getTempkey,key) + .one(); + if (yxWechatTemplate == null) { + throw new YshopException("请后台配置key:" + key + "订阅消息id"); + } + return yxWechatTemplate.getTempid(); } diff --git a/yshop-weixin/src/main/java/co/yixiang/mp/service/WeixinTemplateService.java b/yshop-weixin/src/main/java/co/yixiang/mp/service/WeixinTemplateService.java index b4cc4cfc..54e6406b 100644 --- a/yshop-weixin/src/main/java/co/yixiang/mp/service/WeixinTemplateService.java +++ b/yshop-weixin/src/main/java/co/yixiang/mp/service/WeixinTemplateService.java @@ -182,6 +182,7 @@ public class WeixinTemplateService { */ private String getTempId(String key){ YxWechatTemplate yxWechatTemplate = yxWechatTemplateService.lambdaQuery() + .eq(YxWechatTemplate::getType,"template") .eq(YxWechatTemplate::getTempkey,key) .one(); if (yxWechatTemplate == null) {