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@