Browse Source

消息订阅工作端bug修复

dev_shibei_match
liushaowen 5 years ago
parent
commit
be12384c79
  1. 3
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpResiUserSubscribeDao.java
  2. 3
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpWorkUserSubscribeDao.java
  3. 26
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java
  4. 1
      epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml
  5. 2
      epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml

3
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpResiUserSubscribeDao.java

@ -36,11 +36,12 @@ public interface WxmpResiUserSubscribeDao extends BaseDao<WxmpResiUserSubscribeE
* @param openId
* @param templateId
* @param customerId
* @param userId
* @return java.lang.Integer
* @Author liushaowen
* @Date 2020/10/22 9:30
*/
Integer getResiSubscribeInfo(@Param("openId") String openId, @Param("templateId") String templateId, @Param("customerId") String customerId);
Integer getResiSubscribeInfo(@Param("openId") String openId, @Param("templateId") String templateId, @Param("customerId") String customerId,@Param("userId") String userId);
/**
* @Description 减少订阅条数

3
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpWorkUserSubscribeDao.java

@ -36,11 +36,12 @@ public interface WxmpWorkUserSubscribeDao extends BaseDao<WxmpWorkUserSubscribeE
* @param openId
* @param templateId
* @param customerId
* @param userId
* @return java.lang.Integer
* @Author liushaowen
* @Date 2020/10/22 9:31
*/
Integer getWorkSubscribeInfo(@Param("openId") String openId, @Param("templateId") String templateId, @Param("customerId") String customerId);
Integer getWorkSubscribeInfo(@Param("openId") String openId, @Param("templateId") String templateId, @Param("customerId") String customerId,@Param("userId") String userId);
/**
* @Description 减少订阅条数

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

@ -120,7 +120,16 @@ public class WxmpMessageServiceImpl implements WxmpMessageService {
@Override
public void sendWxSubscribeMessage(List<WxSubscribeMessageFormDTO> msgList) {
logger.info("待发送订阅消息数量:{}", msgList.size());
if (!(msgList.size()>NumConstant.ZERO)){
throw new RenException("待发送消息不能为空");
}
int succecssCount = 0;
// 获取templateId
CustomerTemplateListFormDTO customerTemplateListFormDTO = new CustomerTemplateListFormDTO();
customerTemplateListFormDTO.setCustomerId(msgList.get(0).getCustomerId());
customerTemplateListFormDTO.setPublicId(WxmpMessageConstant.TEMPLATE_TYPE);
List<CustomerTemplateListResultDTO> customerTemplateListResultDTOS = customerTemplateList(customerTemplateListFormDTO);
for (WxSubscribeMessageFormDTO msg : msgList) {
try {
String userId = msg.getUserId();
@ -142,7 +151,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService {
throw new WxSubscribeException("clientType有误", "", openId);
}
} catch (Exception e) {
throw new WxSubscribeException("连接User服务失败", "", "");
throw new WxSubscribeException("连接User服务失败"+e.getMessage(), "", "");
}
if (StringUtils.isBlank(openId)) {
@ -162,7 +171,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService {
try {
authorizerRefreshToken = wxmpMessageRedis.getAuthorizerRefreshToken(key.toString());
} catch (Exception e) {
throw new WxSubscribeException("连接缓存服务器失败", "", openId);
throw new WxSubscribeException("连接缓存服务器失败"+e.getMessage(), "", openId);
}
String accessToken = (String) authorizerRefreshToken.get(WxmpMessageConstant.AUTHORIZER_ACCESS_TOKEN);
if (StringUtils.isBlank(accessToken)) {
@ -170,15 +179,6 @@ 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);
// }
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())){
@ -197,9 +197,9 @@ public class WxmpMessageServiceImpl implements WxmpMessageService {
//判断用户是否有次数
Integer count = null;
if (WxmpMessageConstant.RESI.equals(clientType)) {
count = wxmpResiUserSubscribeDao.getResiSubscribeInfo(openId, templateId, customerId);
count = wxmpResiUserSubscribeDao.getResiSubscribeInfo(openId, templateId, customerId,userId);
} else if (WxmpMessageConstant.GOV_DB.equals(clientType)) {
count = wxmpWorkUserSubscribeDao.getWorkSubscribeInfo(openId, templateId, customerId);
count = wxmpWorkUserSubscribeDao.getWorkSubscribeInfo(openId, templateId, customerId,userId);
}
if (count == null) {
//用户未订阅

1
epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml

@ -12,6 +12,7 @@
and customer_id = #{customerId}
and template_id = #{templateId}
and wx_open_id = #{openId}
and user_id = #{userId}
and wx_subscribe_status = 'subscribe'
</select>

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

@ -18,8 +18,10 @@
from Wxmp_Work_User_Subscribe
where
del_flag =0
and customer_id = #{customerId}
and template_id = #{templateId}
and wx_open_id = #{openId}
and user_id = #{userId}
and wx_subscribe_status = 'subscribe'
</select>

Loading…
Cancel
Save