|
@ -19,25 +19,28 @@ package com.epmet.service.impl; |
|
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
import com.alibaba.fastjson.JSON; |
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
|
|
|
import com.epmet.commons.tools.constant.AppClientConstant; |
|
|
import com.epmet.commons.tools.constant.NumConstant; |
|
|
import com.epmet.commons.tools.constant.NumConstant; |
|
|
import com.epmet.commons.tools.enums.EnvEnum; |
|
|
import com.epmet.commons.tools.enums.EnvEnum; |
|
|
import com.epmet.commons.tools.exception.RenException; |
|
|
import com.epmet.commons.tools.exception.RenException; |
|
|
import com.epmet.commons.tools.exception.ValidateException; |
|
|
|
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
import com.epmet.commons.tools.utils.HttpClientManager; |
|
|
import com.epmet.commons.tools.utils.HttpClientManager; |
|
|
import com.epmet.commons.tools.utils.Result; |
|
|
import com.epmet.commons.tools.utils.Result; |
|
|
import com.epmet.commons.tools.validator.ValidatorUtils; |
|
|
import com.epmet.constant.WxMsgTemplateSubscribeStatus; |
|
|
import com.epmet.constant.WxmpMessageConstant; |
|
|
import com.epmet.constant.WxmpMessageConstant; |
|
|
import com.epmet.dao.WxmpResiUserSubscribeDao; |
|
|
import com.epmet.dao.WxmpResiUserSubscribeDao; |
|
|
import com.epmet.dao.WxmpTemplateMsgSubscribeStatusDao; |
|
|
import com.epmet.dao.WxmpTemplateMsgSubscribeStatusDao; |
|
|
|
|
|
import com.epmet.dao.WxmpUserSubscribeRecordDao; |
|
|
import com.epmet.dao.WxmpWorkUserSubscribeDao; |
|
|
import com.epmet.dao.WxmpWorkUserSubscribeDao; |
|
|
import com.epmet.dto.form.GetTemplateListFormDTO; |
|
|
import com.epmet.dto.form.GetTemplateListFormDTO; |
|
|
import com.epmet.dto.form.StaffBasicInfoFormDTO; |
|
|
import com.epmet.dto.form.StaffBasicInfoFormDTO; |
|
|
import com.epmet.dto.form.UserBasicInfoFormDTO; |
|
|
import com.epmet.dto.form.UserBasicInfoFormDTO; |
|
|
import com.epmet.dto.form.WxSubscribeMessageFormDTO; |
|
|
import com.epmet.dto.form.WxSubscribeMessageFormDTO; |
|
|
import com.epmet.dto.result.GetTemplateListResultDTO; |
|
|
import com.epmet.dto.result.GetTemplateListResultDTO; |
|
|
import com.epmet.entity.WxmpMsgSendRecordEntity; |
|
|
import com.epmet.dto.result.StaffBasicInfo; |
|
|
import com.epmet.entity.WxmpTemplateMsgSubscribeStatusEntity; |
|
|
import com.epmet.dto.result.UserBasicInfo; |
|
|
|
|
|
import com.epmet.dto.result.WxMsgAuthInfoResultDTO; |
|
|
|
|
|
import com.epmet.entity.*; |
|
|
import com.epmet.exception.WxSubscribeException; |
|
|
import com.epmet.exception.WxSubscribeException; |
|
|
import com.epmet.feign.EpmetUserOpenFeignClient; |
|
|
import com.epmet.feign.EpmetUserOpenFeignClient; |
|
|
import com.epmet.redis.WxmpMessageRedis; |
|
|
import com.epmet.redis.WxmpMessageRedis; |
|
@ -50,9 +53,7 @@ import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
import javax.annotation.Resource; |
|
|
import java.text.ParseException; |
|
|
|
|
|
import java.text.SimpleDateFormat; |
|
|
import java.text.SimpleDateFormat; |
|
|
import java.util.Date; |
|
|
|
|
|
import java.util.HashMap; |
|
|
import java.util.HashMap; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
import java.util.Map; |
|
|
import java.util.Map; |
|
@ -88,12 +89,6 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { |
|
|
@Autowired |
|
|
@Autowired |
|
|
private WxmpUserSubscribeRecordDao subscribeRecordDao; |
|
|
private WxmpUserSubscribeRecordDao subscribeRecordDao; |
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
|
private WxmpResiUserSubscribeDao resiUserSubscribeDao; |
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
|
private EpmetUserOpenFeignClient userOpenFeignClient; |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* @Description 保存系统授权信息 |
|
|
* @Description 保存系统授权信息 |
|
|
* @return void |
|
|
* @return void |
|
@ -389,7 +384,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { |
|
|
*/ |
|
|
*/ |
|
|
private void saveWxResiSubscribe(String customerId, String templateId, String wxSubscribeStatus, String userId, String openId) { |
|
|
private void saveWxResiSubscribe(String customerId, String templateId, String wxSubscribeStatus, String userId, String openId) { |
|
|
|
|
|
|
|
|
WxmpResiUserSubscribeEntity wxResiSubscribe = resiUserSubscribeDao.getWxResiSubscribe(userId, customerId, templateId); |
|
|
WxmpResiUserSubscribeEntity wxResiSubscribe = wxmpResiUserSubscribeDao.getWxResiSubscribe(userId, customerId, templateId); |
|
|
if (wxResiSubscribe == null) { |
|
|
if (wxResiSubscribe == null) { |
|
|
WxmpResiUserSubscribeEntity insert = new WxmpResiUserSubscribeEntity(); |
|
|
WxmpResiUserSubscribeEntity insert = new WxmpResiUserSubscribeEntity(); |
|
|
insert.setCount(WxMsgTemplateSubscribeStatus.SUBSCRIBE.equals(wxSubscribeStatus) ? 1 : 0); |
|
|
insert.setCount(WxMsgTemplateSubscribeStatus.SUBSCRIBE.equals(wxSubscribeStatus) ? 1 : 0); |
|
@ -402,9 +397,9 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (WxMsgTemplateSubscribeStatus.SUBSCRIBE.equals(wxSubscribeStatus)) { |
|
|
if (WxMsgTemplateSubscribeStatus.SUBSCRIBE.equals(wxSubscribeStatus)) { |
|
|
resiUserSubscribeDao.incrSubscribeCount(1, userId, customerId, templateId, openId); |
|
|
wxmpResiUserSubscribeDao.incrSubscribeCount(1, userId, customerId, templateId, openId); |
|
|
} else { |
|
|
} else { |
|
|
resiUserSubscribeDao.unSubscribe(userId, customerId, templateId, openId); |
|
|
wxmpResiUserSubscribeDao.unSubscribe(userId, customerId, templateId, openId); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -445,7 +440,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { |
|
|
public String getResiOpenId(String userId) { |
|
|
public String getResiOpenId(String userId) { |
|
|
UserBasicInfoFormDTO bif = new UserBasicInfoFormDTO(); |
|
|
UserBasicInfoFormDTO bif = new UserBasicInfoFormDTO(); |
|
|
bif.setUserId(userId); |
|
|
bif.setUserId(userId); |
|
|
Result<UserBasicInfo> result = userOpenFeignClient.getUserBasicInfo(bif); |
|
|
Result<UserBasicInfo> result = epmetUserOpenFeignClient.getUserBasicInfo(bif); |
|
|
if (!result.success()) { |
|
|
if (!result.success()) { |
|
|
throw new RenException(String.format("查询居民OpenId失败,userId:%s,错误信息:%s",userId , result.getInternalMsg())); |
|
|
throw new RenException(String.format("查询居民OpenId失败,userId:%s,错误信息:%s",userId , result.getInternalMsg())); |
|
|
} |
|
|
} |
|
@ -465,7 +460,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { |
|
|
public String getWorkOpenId(String userId) { |
|
|
public String getWorkOpenId(String userId) { |
|
|
StaffBasicInfoFormDTO form = new StaffBasicInfoFormDTO(); |
|
|
StaffBasicInfoFormDTO form = new StaffBasicInfoFormDTO(); |
|
|
form.setStaffId(userId); |
|
|
form.setStaffId(userId); |
|
|
Result<StaffBasicInfo> result = userOpenFeignClient.getStaffBasicInfo(form); |
|
|
Result<StaffBasicInfo> result = epmetUserOpenFeignClient.getStaffBasicInfo(form); |
|
|
if (!result.success()) { |
|
|
if (!result.success()) { |
|
|
throw new RenException(String.format("查询工作人员OpenId失败,userId:%s,错误信息:%s",userId , result.getInternalMsg())); |
|
|
throw new RenException(String.format("查询工作人员OpenId失败,userId:%s,错误信息:%s",userId , result.getInternalMsg())); |
|
|
} |
|
|
} |
|
|