Browse Source

消息订阅添加gridId,添加跳转page设置

dev_shibei_match
liushaowen 5 years ago
parent
commit
156a257c99
  1. 8
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/constant/WxmpMessageConstant.java
  2. 45
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java
  3. 2
      epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpMsgSendRecordDao.xml
  4. 3
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
  5. 4
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java
  6. 3
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java
  7. 2
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java

8
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/constant/WxmpMessageConstant.java

@ -32,8 +32,12 @@ public interface WxmpMessageConstant {
String TEMPLATE_ID = "template_id";
String TEMPLATE_TYPE = "1832";
String PAGE = "page";
String PAGE_URL = "/subpages/mine/pages/message/skip";
String TITLE = "title";
int TITLE_LIMIT = 20;
@ -52,10 +56,6 @@ public interface WxmpMessageConstant {
String ERROR = "error";
String PAGE_RESI = "";
String PAGE_WORK = "";
String STATE_DEV = "developer";
String STATE_TEST = "trial";

45
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java

@ -150,10 +150,10 @@ public class WxmpMessageServiceImpl implements WxmpMessageService {
//获取accessToken
String clientTypeRedis = null;
if (WxmpMessageConstant.RESI.equals(msg.getClientType())){
if (WxmpMessageConstant.RESI.equals(msg.getClientType())) {
clientTypeRedis = WxmpMessageConstant.RESI;
}
if (WxmpMessageConstant.GOV_DB.equals(msg.getClientType())){
if (WxmpMessageConstant.GOV_DB.equals(msg.getClientType())) {
clientTypeRedis = WxmpMessageConstant.GOV_REDIS;
}
StringBuilder key = new StringBuilder(msg.getCustomerId()).append(":").append(clientTypeRedis);
@ -169,15 +169,30 @@ public class WxmpMessageServiceImpl implements WxmpMessageService {
}
//获取模板id
if (WxmpMessageConstant.RESI.equals(clientType)) {
templateId = wxmpResiUserSubscribeDao.getResiSubscribeTemplateId(openId, customerId);
} else if (WxmpMessageConstant.GOV_DB.equals(clientType)) {
templateId = wxmpWorkUserSubscribeDao.getWorkSubscribeTemplateId(openId, customerId);
// if (WxmpMessageConstant.RESI.equals(clientType)) {
// templateId = wxmpResiUserSubscribeDao.getResiSubscribeTemplateId(openId, customerId);
// } else if (WxmpMessageConstant.GOV_DB.equals(clientType)) {
// templateId = wxmpWorkUserSubscribeDao.getWorkSubscribeTemplateId(openId, customerId);
// }
CustomerTemplateListFormDTO customerTemplateListFormDTO = new CustomerTemplateListFormDTO();
customerTemplateListFormDTO.setCustomerId(customerId);
customerTemplateListFormDTO.setPublicId(WxmpMessageConstant.TEMPLATE_TYPE);
List<CustomerTemplateListResultDTO> customerTemplateListResultDTOS = customerTemplateList(customerTemplateListFormDTO);
if (customerTemplateListResultDTOS.size() > NumConstant.ZERO) {
for (CustomerTemplateListResultDTO customerTemplateListResultDTO : customerTemplateListResultDTOS) {
if (WxmpMessageConstant.GOV_REDIS.equals(customerTemplateListResultDTO.getClientType())){
customerTemplateListResultDTO.setClientType(WxmpMessageConstant.GOV_DB);
}
if (clientType.equals(customerTemplateListResultDTO.getClientType())) {
templateId = customerTemplateListResultDTO.getTemplateId();
}
}
} else {
throw new WxSubscribeException("获取模板id失败", "", openId);
}
if (StringUtils.isBlank(templateId)) {
throw new WxSubscribeException("获取模板id失败", "", openId);
}
//判断用户是否有次数
Integer count = null;
if (WxmpMessageConstant.RESI.equals(clientType)) {
@ -200,23 +215,30 @@ public class WxmpMessageServiceImpl implements WxmpMessageService {
jsonObject.put(WxmpMessageConstant.ACCESS_TOKEN, accessToken);
jsonObject.put(WxmpMessageConstant.TOUSER, openId);
jsonObject.put(WxmpMessageConstant.TEMPLATE_ID, templateId);
//标题
String title = "您有一条" + msg.getBehaviorType();
JSONObject titleJson = new JSONObject();
titleJson.put("value", title.length() > WxmpMessageConstant.TITLE_LIMIT ? title.substring(0, WxmpMessageConstant.TITLE_LIMIT) : title);
data.put(WxmpMessageConstant.TITLE, titleJson);
//内容
JSONObject contentJson = new JSONObject();
contentJson.put("value", msg.getMessageContent().length() > WxmpMessageConstant.MESSAGE_CONTENT_LIMIT ? msg.getMessageContent().substring(0, WxmpMessageConstant.MESSAGE_CONTENT_LIMIT) : msg.getMessageContent());
data.put(WxmpMessageConstant.MESSAGE_CONTENT, contentJson);
//时间
JSONObject timeJson = new JSONObject();
timeJson.put("value", new SimpleDateFormat("yyyy-MM-dd HH:mm").format(msg.getMessageTime()));
data.put(WxmpMessageConstant.MESSAGE_TIME,timeJson);
data.put(WxmpMessageConstant.MESSAGE_TIME, timeJson);
jsonObject.put(WxmpMessageConstant.DATA, data);
EnvEnum envEnum = EnvEnum.getCurrentEnv();
//选填项
if (WxmpMessageConstant.RESI.equals(clientType)) {
jsonObject.put(WxmpMessageConstant.PAGE, WxmpMessageConstant.PAGE_RESI);
StringBuilder resiPage = new StringBuilder(WxmpMessageConstant.PAGE_URL);
resiPage.append("?customerId=").append(customerId).append("&gridId=").append(msg.getGridId());
jsonObject.put(WxmpMessageConstant.PAGE, resiPage.toString());
} else if (WxmpMessageConstant.GOV_DB.equals(clientType)) {
jsonObject.put(WxmpMessageConstant.PAGE, WxmpMessageConstant.PAGE_WORK);
StringBuilder govPage = new StringBuilder(WxmpMessageConstant.PAGE_URL);
govPage.append("?customerId=").append(customerId).append("&userId=").append(userId);
jsonObject.put(WxmpMessageConstant.PAGE, govPage.toString());
}
//开发环境
if ("dev".equals(envEnum.getCode())) {
@ -266,7 +288,6 @@ public class WxmpMessageServiceImpl implements WxmpMessageService {
//抛出错误
throw new WxSubscribeException(String.valueOf(resultMap.get(WxmpMessageConstant.ERR_MSG)), templateId, openId);
}
succecssCount++;
} catch (Exception e) {
String errMsg = e.getMessage();
@ -297,6 +318,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService {
wxmpMsgSendRecordEntity.setCustomerId(msg.getCustomerId());
wxmpMsgSendRecordEntity.setClientType(msg.getClientType());
wxmpMsgSendRecordEntity.setTemplateId(templateId);
wxmpMsgSendRecordEntity.setGridId(msg.getGridId()==null?"":msg.getGridId());
wxmpMsgSendRecordEntity.setUserId(msg.getUserId());
wxmpMsgSendRecordEntity.setWxOpenId(openId);
wxmpMsgSendRecordEntity.setBehaviorType(msg.getBehaviorType());
@ -331,6 +353,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService {
List<GetTemplateListResultDTO> resultList = (List<GetTemplateListResultDTO>) mapToResult.getData();
return resultList;
}
/**
* @return
* @Description 查询客户两个端小程序对应的站内信模板Id

2
epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpMsgSendRecordDao.xml

@ -11,6 +11,7 @@
template_id,
user_id,
wx_open_id,
grid_id
behavior_type,
title,
message_content,
@ -30,6 +31,7 @@
#{templateId},
#{userId},
#{wxOpenId},
#{gridId},
#{behaviorType},
#{title},
#{messageContent},

3
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java

@ -579,6 +579,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
wxSubscribeMessageFormDTO.setCustomerId(resiGroupDTO.getCustomerId());
wxSubscribeMessageFormDTO.setUserId(resiGroupDTO.getCreatedBy());
wxSubscribeMessageFormDTO.setClientType(AppClientConstant.APP_RESI);
wxSubscribeMessageFormDTO.setGridId(resiGroupDTO.getGridId());
wxSubscribeMessageFormDTO.setBehaviorType(UserMessageConstant.WX_APPLY_CREATE_GROUP_BEHAVIOR);
wxSubscribeMessageFormDTO.setMessageContent(String.format(UserMessageConstant.AGREE_CREATING_GROUP_MSG_TEMPLATE,resiGroupDTO.getGroupName()));
wxSubscribeMessageFormDTO.setMessageTime(new Date());
@ -637,6 +638,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
wxSubscribeMessageFormDTO.setCustomerId(resiGroupDTO.getCustomerId());
wxSubscribeMessageFormDTO.setUserId(resiGroupDTO.getCreatedBy());
wxSubscribeMessageFormDTO.setClientType(AppClientConstant.APP_RESI);
wxSubscribeMessageFormDTO.setGridId(resiGroupDTO.getGridId());
wxSubscribeMessageFormDTO.setBehaviorType(UserMessageConstant.WX_APPLY_CREATE_GROUP_BEHAVIOR);
wxSubscribeMessageFormDTO.setMessageContent(String.format(UserMessageConstant.AGREE_CREATING_GROUP_MSG_TEMPLATE,resiGroupDTO.getGroupName()));
wxSubscribeMessageFormDTO.setMessageTime(new Date());
@ -994,6 +996,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
//微信订阅
WxSubscribeMessageFormDTO subscribeDTO = new WxSubscribeMessageFormDTO();
subscribeDTO.setClientType(ModuleConstant.APP_GOV);
subscribeDTO.setGridId(gridId);
subscribeDTO.setCustomerId(customerId);
subscribeDTO.setUserId(to);
subscribeDTO.setBehaviorType(UserMessageConstant.WX_CREATE_GROUP_BEHAVIOR);

4
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java

@ -275,6 +275,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
//微信订阅
WxSubscribeMessageFormDTO subscribeDTO = new WxSubscribeMessageFormDTO();
subscribeDTO.setClientType(ModuleConstant.APP_RESI);
subscribeDTO.setGridId(resiGroupDTO.getGridId());
subscribeDTO.setCustomerId(resiGroupDTO.getCustomerId());
subscribeDTO.setUserId(currentUserId);
subscribeDTO.setBehaviorType(UserMessageConstant.WX_APPLY_JOIN_GROUP_BEHAVIOR);
@ -470,6 +471,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
wxSubscribeMessageFormDTO.setCustomerId(resiGroupMemberDTO.getCustomerId());
wxSubscribeMessageFormDTO.setUserId(resiGroupMemberDTO.getCustomerUserId());
wxSubscribeMessageFormDTO.setClientType(AppClientConstant.APP_RESI);
wxSubscribeMessageFormDTO.setGridId(resiGroupDTO.getGridId());
wxSubscribeMessageFormDTO.setBehaviorType(UserMessageConstant.WX_APPLY_JOIN_GROUP_BEHAVIOR);
wxSubscribeMessageFormDTO.setMessageContent(messageContent);
wxSubscribeMessageFormDTO.setMessageTime(new Date());
@ -546,6 +548,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
wxSubscribeMessageFormDTO.setCustomerId(resiGroupDTO.getCustomerId());
wxSubscribeMessageFormDTO.setUserId(groupMemeberOperationDTO.getCustomerUserId());
wxSubscribeMessageFormDTO.setClientType(AppClientConstant.APP_RESI);
wxSubscribeMessageFormDTO.setGridId(resiGroupDTO.getGridId());
wxSubscribeMessageFormDTO.setBehaviorType(UserMessageConstant.WX_APPLY_JOIN_GROUP_BEHAVIOR);
wxSubscribeMessageFormDTO.setMessageContent(messageContent);
List<WxSubscribeMessageFormDTO> msgList = new ArrayList<>();
@ -641,6 +644,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
//发送微信订阅
WxSubscribeMessageFormDTO subscribeMessageFormDTO = new WxSubscribeMessageFormDTO();
subscribeMessageFormDTO.setClientType(ModuleConstant.APP_RESI);
subscribeMessageFormDTO.setGridId(resiGroupEntity.getGridId());
subscribeMessageFormDTO.setCustomerId(resiGroupEntity.getCustomerId());
subscribeMessageFormDTO.setUserId(resiGroupMemberEntity.getCustomerUserId());
subscribeMessageFormDTO.setBehaviorType(UserMessageConstant.WX_APPLY_JOIN_GROUP_BEHAVIOR);

3
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java

@ -651,6 +651,7 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
wxSubscribeMessageFormDTO.setCustomerId(formDTO.getCustomerId());
wxSubscribeMessageFormDTO.setUserId(formDTO.getUserId());
wxSubscribeMessageFormDTO.setClientType(AppClientConstant.APP_RESI);
wxSubscribeMessageFormDTO.setGridId(formDTO.getGridId());
wxSubscribeMessageFormDTO.setBehaviorType(ResiWarmUserMessageConstant.WX_WARMHEARTED_BEHAVIOR);
wxSubscribeMessageFormDTO.setMessageContent(messageContent);
wxSubscribeMessageFormDTO.setMessageTime(new Date());
@ -712,9 +713,9 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
msgDTO.setReadFlag(ReadFlagConstant.UN_READ);
msgList.add(msgDTO);
//微信订阅
//微信订阅
WxSubscribeMessageFormDTO subscribeDTO = new WxSubscribeMessageFormDTO();
subscribeDTO.setClientType(AppClientConstant.APP_GOV);
subscribeDTO.setGridId(formDTO.getGridId());
subscribeDTO.setUserId(staff.getUserId());
subscribeDTO.setCustomerId(formDTO.getCustomerId());
subscribeDTO.setBehaviorType(PartyMemberMessageConstant.WX_PARTY_AUTH_BEHAVIOR);

2
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java

@ -282,6 +282,7 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl<ResiWarmhea
//微信订阅
WxSubscribeMessageFormDTO subscribeDTO = new WxSubscribeMessageFormDTO();
subscribeDTO.setClientType(AppClientConstant.APP_GOV);
subscribeDTO.setGridId(formDTO.getGridId());
subscribeDTO.setUserId(staff.getUserId());
subscribeDTO.setCustomerId(formDTO.getCustomerId());
subscribeDTO.setBehaviorType(ResiWarmUserMessageConstant.WX_WARMHEARTED_BEHAVIOR);
@ -457,6 +458,7 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl<ResiWarmhea
WxSubscribeMessageFormDTO wxSubscribeMessageFormDTO = new WxSubscribeMessageFormDTO();
wxSubscribeMessageFormDTO.setCustomerId(formDTO.getCustomerId());
wxSubscribeMessageFormDTO.setUserId(formDTO.getUserId());
wxSubscribeMessageFormDTO.setGridId(formDTO.getGridId());
wxSubscribeMessageFormDTO.setClientType(AppClientConstant.APP_RESI);
wxSubscribeMessageFormDTO.setBehaviorType(ResiWarmUserMessageConstant.WX_WARMHEARTED_BEHAVIOR);
wxSubscribeMessageFormDTO.setMessageContent(messageContent);

Loading…
Cancel
Save