Commit 8663e7d1 by 徐高华

Merge branch 'feature/订阅消息调整'

# Conflicts:
#	haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/HaobanCommonMQApiService.java
#	haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/HaobanCommonMQApiServiceImpl.java
parents 541e92a2 95877b53
...@@ -30,6 +30,16 @@ public class MemberUnionidWechatAccountQDTO implements Serializable { ...@@ -30,6 +30,16 @@ public class MemberUnionidWechatAccountQDTO implements Serializable {
*/ */
private String sceneStr; private String sceneStr;
private boolean eventFlag = false ;
public boolean isEventFlag() {
return eventFlag;
}
public void setEventFlag(boolean eventFlag) {
this.eventFlag = eventFlag;
}
public String getEnterpriseId() { public String getEnterpriseId() {
return enterpriseId; return enterpriseId;
} }
......
...@@ -180,6 +180,8 @@ public interface ExternalClerkRelatedApiService { ...@@ -180,6 +180,8 @@ public interface ExternalClerkRelatedApiService {
// 0 删除会员 1合并会员 2会员换绑 // 0 删除会员 1合并会员 2会员换绑
void delByMemberIdAndEnterpriseId(String memberId, String enterpriseId, String mergeMemberId, int type); void delByMemberIdAndEnterpriseId(String memberId, String enterpriseId, String mergeMemberId, int type);
void delByMemberIdAndEnterpriseIdEvent(String memberId, String enterpriseId, String mergeMemberId, int type);
/** /**
* 导购和会员是否好友关系,true是好友 * 导购和会员是否好友关系,true是好友
* *
......
...@@ -26,4 +26,13 @@ public interface HaobanCommonMQApiService { ...@@ -26,4 +26,13 @@ public interface HaobanCommonMQApiService {
public void noticeMemberMQ(String params) ; public void noticeMemberMQ(String params) ;
// 会员换绑
public void memberEventChange(String params) ;
// 会员合并
public void memberEventMerge(String params) ;
// 会员注销
public void memberEventDel(String params) ;
// 会员扫码关注
public void memberEventWechat(String params) ;
} }
...@@ -35,6 +35,7 @@ import com.gic.haoban.manage.service.pojo.QywxTagSyncInfoPojo; ...@@ -35,6 +35,7 @@ import com.gic.haoban.manage.service.pojo.QywxTagSyncInfoPojo;
import com.gic.haoban.manage.service.service.ExternalClerkRelatedService; import com.gic.haoban.manage.service.service.ExternalClerkRelatedService;
import com.gic.haoban.manage.service.service.WxEnterpriseService; import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.service.hm.WxUserAddLogService; import com.gic.haoban.manage.service.service.hm.WxUserAddLogService;
import com.gic.haoban.manage.service.util.EventUtils;
import com.gic.member.api.dto.MemberDTO; import com.gic.member.api.dto.MemberDTO;
import com.gic.member.api.dto.MemberSourceDetailDTO; import com.gic.member.api.dto.MemberSourceDetailDTO;
import com.gic.member.api.dto.MemberSourceShowDTO; import com.gic.member.api.dto.MemberSourceShowDTO;
...@@ -404,8 +405,15 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -404,8 +405,15 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
return tabHaobanExternalClerkRelatedMapper.listStoreIdByMemberId(memberId , addCreateTime); return tabHaobanExternalClerkRelatedMapper.listStoreIdByMemberId(memberId , addCreateTime);
} }
@Override
public void delByMemberIdAndEnterpriseId(String memberId, String enterpriseId, String mergeMemberId, int type) { public void delByMemberIdAndEnterpriseId(String memberId, String enterpriseId, String mergeMemberId, int type) {
if(EventUtils.isOpenEvent()) {
return ;
}
this.delByMemberIdAndEnterpriseIdEvent(memberId,enterpriseId,mergeMemberId,type);
}
@Override
public void delByMemberIdAndEnterpriseIdEvent(String memberId, String enterpriseId, String mergeMemberId, int type) {
// 0 删除会员 1合并会员 2会员换绑 // 0 删除会员 1合并会员 2会员换绑
if(type==0) { if(type==0) {
log.info("删除会员,memberId:{}", memberId); log.info("删除会员,memberId:{}", memberId);
...@@ -445,7 +453,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -445,7 +453,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
} }
} }
} }
@Override @Override
public void delByMemberIdAndEnterpriseId(String memberId, String enterpriseId, String mergeMemberId) { public void delByMemberIdAndEnterpriseId(String memberId, String enterpriseId, String mergeMemberId) {
log.info("删除会员或者合并会员,memberId:{},enterpriseId:{},mergeMemberId:{}", memberId, enterpriseId, mergeMemberId); log.info("删除会员或者合并会员,memberId:{},enterpriseId:{},mergeMemberId:{}", memberId, enterpriseId, mergeMemberId);
......
...@@ -5,6 +5,12 @@ import java.util.Map; ...@@ -5,6 +5,12 @@ import java.util.Map;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.gic.haoban.manage.service.service.StaffClerkRelationService; import com.gic.haoban.manage.service.service.StaffClerkRelationService;
import com.gic.commons.util.StringUtil;
import com.gic.haoban.manage.api.dto.MemberUnionidWechatAccountQDTO;
import com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService;
import com.gic.haoban.manage.service.util.EventUtils;
import com.gic.member.api.dto.MemberInfoChangeNotifyDTO;
import com.gic.member.api.dto.event.wechat.WeChatOfficialAccountEventParam;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
...@@ -39,6 +45,8 @@ public class HaobanCommonMQApiServiceImpl implements HaobanCommonMQApiService { ...@@ -39,6 +45,8 @@ public class HaobanCommonMQApiServiceImpl implements HaobanCommonMQApiService {
@Autowired @Autowired
private MemberOpenCardBusinessService memberOpenCardBusinessService ; private MemberOpenCardBusinessService memberOpenCardBusinessService ;
@Autowired @Autowired
private ExternalClerkRelatedApiService externalClerkRelatedApiService ;
@Autowired
private StaffClerkRelationService staffClerkRelationService ; private StaffClerkRelationService staffClerkRelationService ;
@Override @Override
...@@ -132,4 +140,96 @@ public class HaobanCommonMQApiServiceImpl implements HaobanCommonMQApiService { ...@@ -132,4 +140,96 @@ public class HaobanCommonMQApiServiceImpl implements HaobanCommonMQApiService {
log.error("发送MQ异常"); log.error("发送MQ异常");
} }
} }
@Override
public void memberEventChange(String params) {
if(!EventUtils.isOpenEvent()) {
return ;
}
log.info("会员换绑事件={}",params);
JSONObject json = JSONObject.parseObject(params) ;
String memberId = json.getString("memberId") ;
String enterpriseId = json.getString("enterpriseId") ;
String changeBindMemberId = json.getString("changeBindMemberId") ;
this.externalClerkRelatedApiService.delByMemberIdAndEnterpriseIdEvent(memberId,enterpriseId,changeBindMemberId,2);
}
@Override
public void memberEventMerge(String params) {
if(!EventUtils.isOpenEvent()) {
return ;
}
log.info("会员合并事件={}",params);
JSONObject json = JSONObject.parseObject(params) ;
String memberId = json.getString("memberId") ;
String enterpriseId = json.getString("enterpriseId") ;
JSONObject delMemberObj = json.getJSONObject("delMember") ;
if(null == delMemberObj) {
log.info("删除会员为空,不处理");
return ;
}
String delMemberId = delMemberObj.getString("memberId") ;
this.externalClerkRelatedApiService.delByMemberIdAndEnterpriseIdEvent(delMemberId, enterpriseId, memberId, 1);
// 内容中台
MemberInfoChangeNotifyDTO dto = new MemberInfoChangeNotifyDTO();
dto.setMemberId(delMemberId);
dto.setMergeMemberId(memberId);
dto.setEnterpriseId(enterpriseId);
dto.setOpt(2);
JSONObject msg = JSONObject.parseObject(JSON.toJSONString(dto)) ;
msg.put("eventFlag",1) ;
try {
GICMQClientUtil.getClientInstance().sendMessage("memberIdChangeNotify", msg.toJSONString());
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
@Override
public void memberEventDel(String params) {
if(!EventUtils.isOpenEvent()) {
return ;
}
log.info("会员注销事件={}",params);
JSONObject json = JSONObject.parseObject(params) ;
String memberId = json.getString("memberId") ;
String enterpriseId = json.getString("enterpriseId") ;
this.externalClerkRelatedApiService.delByMemberIdAndEnterpriseIdEvent(memberId, enterpriseId, null, 0);
}
@Override
public void memberEventWechat(String params) {
if(!EventUtils.isOpenEvent()) {
return ;
}
log.info("会员扫码关注事件={}",params);
WeChatOfficialAccountEventParam json = JSONObject.parseObject(params,WeChatOfficialAccountEventParam.class) ;
String memberId = json.getMemberId() ;
String unionid = json.getUnionId() ;
if (StringUtil.isBlankVerifyMinusOne(memberId) || StringUtil.isBlankVerifyMinusOne(unionid)) {
log.warn("memberId、unionid为空,不通知");
return;
}
String enterpriseId = json.getEnterpriseId() ;
String openId = json.getOpenId() ;
String qrcodeParam = json.getQrCode() ;
try {
MemberUnionidWechatAccountQDTO dto = new MemberUnionidWechatAccountQDTO();
dto.setEnterpriseId(enterpriseId);
dto.setUnionid(unionid);
dto.setOpenId(openId);
dto.setSceneStr(qrcodeParam);
dto.setMemberId(memberId);
dto.setEventFlag(true);
if (qrcodeParam != null && qrcodeParam.startsWith("QWHY")) {
GICMQClientUtil.getClientInstance().sendMessage("addMemberUnionidWechatAccountByClerkMq", JSON.toJSONString(dto));
} else {
GICMQClientUtil.getClientInstance().sendMessage("addMemberUnionidWechatAccountMq", JSON.toJSONString(dto));
}
} catch (Exception e) {
log.error("通知好办失败", e);
}
}
} }
...@@ -4,6 +4,7 @@ import java.util.*; ...@@ -4,6 +4,7 @@ import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.gic.haoban.manage.service.util.EventUtils;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
...@@ -1643,6 +1644,16 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -1643,6 +1644,16 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
return; return;
} }
MemberUnionidWechatAccountQDTO memberUnionidWechatAccountQDTO = JSON.parseObject(res, MemberUnionidWechatAccountQDTO.class); MemberUnionidWechatAccountQDTO memberUnionidWechatAccountQDTO = JSON.parseObject(res, MemberUnionidWechatAccountQDTO.class);
boolean eventFlag = memberUnionidWechatAccountQDTO.isEventFlag() ;
if(EventUtils.isOpenEvent()) {
if(!eventFlag) {
return ;
}
}else {
if(eventFlag) {
return ;
}
}
String enterpriseId = memberUnionidWechatAccountQDTO.getEnterpriseId(); String enterpriseId = memberUnionidWechatAccountQDTO.getEnterpriseId();
String unionid = memberUnionidWechatAccountQDTO.getUnionid(); String unionid = memberUnionidWechatAccountQDTO.getUnionid();
String openId = memberUnionidWechatAccountQDTO.getOpenId(); String openId = memberUnionidWechatAccountQDTO.getOpenId();
...@@ -1720,6 +1731,16 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -1720,6 +1731,16 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
return; return;
} }
MemberUnionidWechatAccountQDTO memberUnionidWechatAccountQDTO = JSON.parseObject(res, MemberUnionidWechatAccountQDTO.class); MemberUnionidWechatAccountQDTO memberUnionidWechatAccountQDTO = JSON.parseObject(res, MemberUnionidWechatAccountQDTO.class);
boolean eventFlag = memberUnionidWechatAccountQDTO.isEventFlag() ;
if(EventUtils.isOpenEvent()) {
if(!eventFlag) {
return ;
}
}else {
if(eventFlag) {
return ;
}
}
String enterpriseId = memberUnionidWechatAccountQDTO.getEnterpriseId(); String enterpriseId = memberUnionidWechatAccountQDTO.getEnterpriseId();
String unionid = memberUnionidWechatAccountQDTO.getUnionid(); String unionid = memberUnionidWechatAccountQDTO.getUnionid();
String openId = memberUnionidWechatAccountQDTO.getOpenId(); String openId = memberUnionidWechatAccountQDTO.getOpenId();
......
package com.gic.haoban.manage.service.service.out.impl.content; package com.gic.haoban.manage.service.service.out.impl.content;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.qdto.content.InteractRecordQDTO; import com.gic.haoban.manage.api.dto.qdto.content.InteractRecordQDTO;
...@@ -12,6 +13,7 @@ import com.gic.haoban.manage.service.pojo.bo.content.MemberAttrChangeBO; ...@@ -12,6 +13,7 @@ import com.gic.haoban.manage.service.pojo.bo.content.MemberAttrChangeBO;
import com.gic.haoban.manage.service.pojo.qo.content.InteractRecordQO; import com.gic.haoban.manage.service.pojo.qo.content.InteractRecordQO;
import com.gic.haoban.manage.service.service.content.InteractRecordService; import com.gic.haoban.manage.service.service.content.InteractRecordService;
import com.gic.haoban.manage.service.service.content.PotentialCustomerService; import com.gic.haoban.manage.service.service.content.PotentialCustomerService;
import com.gic.haoban.manage.service.util.EventUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -97,6 +99,19 @@ public class InteractRecordApiServiceImpl implements InteractRecordApiService { ...@@ -97,6 +99,19 @@ public class InteractRecordApiServiceImpl implements InteractRecordApiService {
log.info("会员id发生变化 {}", params); log.info("会员id发生变化 {}", params);
return ServiceResponse.success(); return ServiceResponse.success();
} }
JSONObject jsonObject = JSONObject.parseObject(params);
int eventFlag = jsonObject.getIntValue("eventFlag") ;
if(EventUtils.isOpenEvent()) {
if(eventFlag == 0) {
log.info("非事件入口,不处理");
return ServiceResponse.success();
}
}else {
if(eventFlag == 1) {
log.info("事件入口,不处理");
return ServiceResponse.success();
}
}
MemberAttrChangeBO memberAttrChangeBO = JSON.parseObject(params, MemberAttrChangeBO.class); MemberAttrChangeBO memberAttrChangeBO = JSON.parseObject(params, MemberAttrChangeBO.class);
if (memberAttrChangeBO == null) { if (memberAttrChangeBO == null) {
return ServiceResponse.success(); return ServiceResponse.success();
......
package com.gic.haoban.manage.service.util;
import com.gic.redis.data.util.RedisUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class EventUtils {
private static Logger log = LogManager.getLogger(EventUtils.class);
public static boolean isOpenEvent() {
Object o = RedisUtil.getCache("open-marketing-member-event") ;
if(null == o) {
log.info("未开启事件-好办");
return false ;
}
log.info("开启事件-好办");
return true ;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment