diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/utils/WxMaServiceUtils.java b/esua-epdc/epdc-commons/epdc-commons-tools-wx-ma/src/main/java/com/elink/esua/epdc/utils/WxMaServiceUtils.java similarity index 100% rename from esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/utils/WxMaServiceUtils.java rename to esua-epdc/epdc-commons/epdc-commons-tools-wx-ma/src/main/java/com/elink/esua/epdc/utils/WxMaServiceUtils.java diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/utils/WxMaServiceUtils.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/utils/WxMaServiceUtils.java deleted file mode 100644 index dafd82d00..000000000 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/utils/WxMaServiceUtils.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.elink.esua.epdc.utils; - -import cn.binarywang.wx.miniapp.api.WxMaService; -import com.elink.esua.epdc.wx.ma.WxMaConfig; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; - -/** - * 获取小程序业务工具 - * - * @author work@yujt.net.cn - * @date 2019/11/25 13:29 - */ -@Component -public class WxMaServiceUtils { - - @Value("${wx.ma.appId.normal}") - private String APPID_NORMAL; - - @Value("${wx.ma.appId.work}") - private String APPID_WORK; - - /** - * 获取党群e家 普通居民端配置 - * - * @return cn.binarywang.wx.miniapp.api.WxMaService - * @author work@yujt.net.cn - * @date 2019/11/25 16:09 - */ - public final WxMaService normalWxMaService() { - final WxMaService wxMaService = WxMaConfig.getMaService(APPID_NORMAL); - return wxMaService; - } - - /** - * 获取党群e家 工作端配置 - * - * @return cn.binarywang.wx.miniapp.api.WxMaService - * @author work@yujt.net.cn - * @date 2019/11/25 16:10 - */ - public final WxMaService workWxMaService() { - final WxMaService wxMaService = WxMaConfig.getMaService(APPID_WORK); - return wxMaService; - } -} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/pom.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-client/pom.xml index 0fee0b718..e79dd8136 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/pom.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/pom.xml @@ -33,6 +33,11 @@ epdc-websocket-client 1.0.0 + + com.esua.epdc + epdc-commons-tools-wx-ma + ${project.version} + diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/WorkWxMaSubscribeMessageConstant.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/WorkWxMaSubscribeMessageConstant.java new file mode 100644 index 000000000..155d87905 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/WorkWxMaSubscribeMessageConstant.java @@ -0,0 +1,21 @@ +package com.elink.esua.epdc.constant; + +/** + * + * 工作端发送订阅消息常量 + * + * @Author:liuchuang + * @Date:2019/11/27 19:12 + */ +public interface WorkWxMaSubscribeMessageConstant { + + /** + * 模板ID + */ + String WORK_SUBSCRIBE_MESSAGE_TEMPLATE_ID = ""; + + /** + * 跳转页面 + */ + String WORK_SUBSCRIBE_MESSAGE_PAGE = "/pages/index/index"; +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/WorkWxMaSubscribeMessage.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/WorkWxMaSubscribeMessage.java new file mode 100644 index 000000000..9b1955889 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/WorkWxMaSubscribeMessage.java @@ -0,0 +1,29 @@ +package com.elink.esua.epdc.dto; + +import cn.binarywang.wx.miniapp.bean.WxMaSubscribeData; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * + * 工作端发送小程序订阅消息数据 + * + * @Author:liuchuang + * @Date:2019/11/27 18:27 + */ +@Data +public class WorkWxMaSubscribeMessage implements Serializable { + private static final long serialVersionUID = -4351727465830321653L; + + /** + * 消息订阅者 + */ + private List toUsers; + + /** + * 消息数据 + */ + private List data; +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml index 6d21ff31e..b6e89db26 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml @@ -123,6 +123,13 @@ false 47.104.224.45:8848 + + + wxdd8530c5f4926766 + 5bf4fb813145431b3493a10aa7e041e9 + + wx29b074840ef4bfd9 + 4adb1afccc69f205cdf5b521d74e2aca @@ -146,6 +153,13 @@ true 47.104.224.45:8848 + + + wxdd8530c5f4926766 + 5bf4fb813145431b3493a10aa7e041e9 + + wx29b074840ef4bfd9 + 4adb1afccc69f205cdf5b521d74e2aca @@ -170,6 +184,13 @@ true 172.31.171.61:9300 + + + wxdd8530c5f4926766 + 5bf4fb813145431b3493a10aa7e041e9 + + wx29b074840ef4bfd9 + 4adb1afccc69f205cdf5b521d74e2aca diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/WorkWxSubscribeMessageTask.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/WorkWxSubscribeMessageTask.java new file mode 100644 index 000000000..8141d985a --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/WorkWxSubscribeMessageTask.java @@ -0,0 +1,44 @@ +package com.elink.esua.epdc.modules.async; + +import cn.binarywang.wx.miniapp.api.WxMaMsgService; +import cn.binarywang.wx.miniapp.bean.WxMaSubscribeMessage; +import com.elink.esua.epdc.constant.WorkWxMaSubscribeMessageConstant; +import com.elink.esua.epdc.dto.WorkWxMaSubscribeMessage; +import com.elink.esua.epdc.utils.WxMaServiceUtils; +import me.chanjar.weixin.common.error.WxErrorException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Component; + + +/** + * + * 工作端-发送订阅消息 + * + * @Author:liuchuang + * @Date:2019/11/27 16:31 + */ +@Component +public class WorkWxSubscribeMessageTask { + + @Autowired + private WxMaServiceUtils wxMaServiceUtils; + + @Async + public void sendSubscribeMessage(WorkWxMaSubscribeMessage messages) { + WxMaMsgService wxMaMsgService = wxMaServiceUtils.workWxMaService().getMsgService(); + try { + for (String toUser: + messages.getToUsers()) { + WxMaSubscribeMessage message = new WxMaSubscribeMessage(); + message.setPage(WorkWxMaSubscribeMessageConstant.WORK_SUBSCRIBE_MESSAGE_PAGE); + message.setTemplateId(WorkWxMaSubscribeMessageConstant.WORK_SUBSCRIBE_MESSAGE_TEMPLATE_ID); + message.setToUser(toUser); + message.setData(messages.getData()); + wxMaMsgService.sendSubscribeMsg(message); + } + } catch (WxErrorException e) { + e.printStackTrace(); + } + } +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/application.yml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/application.yml index 354f6aeac..353ba573d 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/application.yml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/application.yml @@ -85,3 +85,22 @@ mybatis-plus: cache-enabled: false call-setters-on-nulls: true jdbc-type-for-null: 'null' + +wx: + ma: + configs: + - appid: @wx.ma.appId@ + secret: @wx.ma.secret@ + token: #微信小程序消息服务器配置的token + aesKey: #微信小程序消息服务器配置的EncodingAESKey + msgDataFormat: JSON + - appid: @work.wx.ma.appId@ + secret: @work.wx.ma.secret@ + token: #微信小程序消息服务器配置的token + aesKey: #微信小程序消息服务器配置的EncodingAESKey + msgDataFormat: JSON + appId: + # 普通居民端的appId + normal: @wx.ma.appId@ + # 工作端的appId + work: @work.wx.ma.appId@