Commit 7a41a380 by 墨竹

Merge branch 'developer' into feature-haoban-role

parents 5d9ee194 1b4bf848
......@@ -12,12 +12,22 @@ public class WxUserAddLogQDTO implements Serializable{
private String unionid;
private Long linkId;
private Long hmId;
// 是否好友删除导购
private boolean delClerkFlag;
private boolean delFlag;
private String externalUserid;
private String staffId;
private String staffName;
private String clerkId;
public boolean isDelClerkFlag() {
return delClerkFlag;
}
public void setDelClerkFlag(boolean delClerkFlag) {
this.delClerkFlag = delClerkFlag;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
......
......@@ -5,9 +5,12 @@ import com.gic.commons.util.GICMQClientUtil;
import com.gic.haoban.manage.api.dto.notify.qdto.NoticeMessageQDTO;
import com.gic.haoban.manage.api.enums.NoticeMessageTypeEnum;
import com.gic.mq.sdk.GicMQClient;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import static org.slf4j.LoggerFactory.getLogger;
......@@ -52,13 +55,54 @@ public class NoticeMessageUtil {
logger.info("发送消息:{}", ret);
GicMQClient clientInstance = GICMQClientUtil.getClientInstance();
try {
// com.gic.haoban.manage.api.service.notify.NoticeMessageApiService.run
clientInstance.sendMessage(NOTICE_MESSAGE, ret);
} catch (Exception e) {
logger.info("发送消息异常:{}", e);
}
}
/**
* 发送消息 对象里面的字段 解析
* enterpriseId 企业id
* clerkId 执行人导购
* messageType 消息类型 NoticeMessageTypeEnum
* optTargetId 操作对象
* fieldMap 解析模板的字段
* extendField 拓展字段给前端使用 没有可以为null
* @param list
*/
public static void sendNoticeMessageBatch(List<NoticeMessageQDTO> list) {
if (CollectionUtils.isEmpty(list)) {
logger.info("没有哦需要发送的消息");
return;
}
List<String> ret = new ArrayList<String>();
for (NoticeMessageQDTO noticeMessageQDTO : list) {
String retStr = JSONObject.toJSONString(noticeMessageQDTO);
if (StringUtils.isAnyBlank(noticeMessageQDTO.getEnterpriseId(), noticeMessageQDTO.getClerkId())) {
logger.info("参数不存在:{}", retStr);
throw new RuntimeException("必传参数没传:" + noticeMessageQDTO.getClerkId());
}
NoticeMessageTypeEnum messageTypeEnum = NoticeMessageTypeEnum.getByType(noticeMessageQDTO.getMessageType());
if (messageTypeEnum == null) {
logger.info("类型不存在:{}", retStr);
throw new RuntimeException("消息类型不存在");
}
ret.add(retStr);
logger.info("发送消息单条:{}", retStr);
}
logger.info("批量发送消息:{}", ret.size());
GicMQClient clientInstance = GICMQClientUtil.getClientInstance();
try {
clientInstance.sendBatchMessages(NOTICE_MESSAGE, ret);
} catch (Exception e) {
logger.info("发送消息异常:{}", e);
}
}
/**
* 发送消息 使用staffId发送
*
......
......@@ -73,10 +73,15 @@ public class WxUserAddLogServiceImpl implements WxUserAddLogService {
}
entity = logUser;
entity.setLogId(UniqueIdUtils.uniqueLong());
if(qdto.isDelClerkFlag()) {
entity.setStatusFlag(3);
entity.setAddChannel(0);
}else {
entity.setStatusFlag(2);
// 是否所有好友删除 1是0否
entity.setAllDelFlag(this.isAllDel(externalUserid));
}
}
// 新增好友
if (!qdto.isDelFlag()) {
String memberLabelId = null;
......
......@@ -167,7 +167,7 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
wxUserAddLogService.save(wxUserAddLogQDTO);
//定制
addDelFriendEvent(related.getUnionid(), related.getClerkId(), enterpriseId, related.getMemberId(), related.getStoreId(), 0);
addDelFriendEvent(related.getUnionid(), related.getClerkId(),wxEnterpriseId, enterpriseId, related.getMemberId(), related.getStoreId(), 0);
}
/**
......@@ -179,9 +179,9 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
* @param memberId
* @param storeId
*/
private void addDelFriendEvent(String unionId, String clerkId, String enterpriseId, String memberId, String storeId, Integer changeType) {
private void addDelFriendEvent(String unionId, String clerkId,String wxEnterpriseId, String enterpriseId, String memberId, String storeId, Integer changeType) {
String addDelFriendEvent = config.getAddDelFriendEvent();
if (!addDelFriendEvent.contains(enterpriseId)) {
if (!addDelFriendEvent.contains(wxEnterpriseId)) {
logger.info("非定制,无需广播通知");
return;
}
......@@ -335,9 +335,9 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
@Override
public void repairExternalUserId(String wxEnterpriseIds) {
logger.info("外部联系人检查,wxEnterpriseIds={}",wxEnterpriseIds);
DingUtils.send("外部联系人修复消息,企业=" + wxEnterpriseIds + ",tranceid=" + ProviderLocalTag.tag.get(), false);
if (StringUtils.isEmpty(wxEnterpriseIds)) {
return;
DingUtils.send("外部联系人修复消息,企业="+wxEnterpriseIds+",tranceid="+ProviderLocalTag.tag.get().traceId, false);
if(StringUtils.isEmpty(wxEnterpriseIds)) {
return ;
}
Object cache = RedisUtil.getCache("repairExternalUserId");
String[] arr = wxEnterpriseIds.split(",");
......
......@@ -231,7 +231,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
memberApiService.updateMemberQywxFlag(enterpriseId, memberId, 1);
//定制
addDelFriendEvent(unionid, externalClerkRelated.getClerkId(), enterpriseId, memberId, externalClerkRelated.getStoreId());
addDelFriendEvent(unionid, externalClerkRelated.getClerkId(), wxEnterpriseId, enterpriseId, memberId, externalClerkRelated.getStoreId(), 1);
//日志
wxUserAddLogService.updateMemberInfo(wxEnterpriseId, enterpriseId, externalClerkRelated.getStaffId(), externalClerkRelated.getExternalUserId(), memberId);
}
......@@ -246,7 +246,14 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
* @param memberId
* @param storeId
*/
private void addDelFriendEvent(String unionId, String clerkId, String enterpriseId, String memberId, String storeId) {
private void addDelFriendEvent(String unionId, String clerkId, String wxEnterpriseId, String enterpriseId, String memberId, String storeId, Integer changeType) {
String addDelFriendEvent = config.getAddDelFriendEvent();
if (!addDelFriendEvent.contains(wxEnterpriseId)) {
log.info("非定制,无需广播通知");
return;
}
log.info("欧泊莱定制:unionId:{},clerkId:{}", unionId, changeType);
//欧泊莱定制需求
ClerkDTO clerkDTO = clerkService.getClerkByClerkId(clerkId);
StoreDTO storeDTO = storeService.getStore(storeId);
......@@ -265,7 +272,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
msgBody.put("clerkName", clerkDTO.getClerkName());
msgBody.put("clerkCode", clerkDTO.getClerkCode());
}
msgBody.put("changeType", 1);
msgBody.put("changeType", changeType);
msgBody.put("addCreateTime", new Date());
msgBody.put("delCreateTime", "");
......@@ -427,7 +434,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
if (qwDTO == null) {
return Collections.emptyMap();
}
List<MemberStaffRelExtDO> res = staffClerkRelationMapper.listMemberStaffRelNew(memberIdList, clerkIdList, enterpriseId,wxEnterpriseId);
List<MemberStaffRelExtDO> res = staffClerkRelationMapper.listMemberStaffRelNew(memberIdList, clerkIdList, enterpriseId, wxEnterpriseId);
if (CollectionUtils.isEmpty(res)) {
return Collections.emptyMap();
}
......
......@@ -196,7 +196,21 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
return;
}
TabHaobanExternalClerkRelated related = tabHaobanExternalClerkRelatedList.get(0);
addDelFriendEvent(related.getUnionid(), related.getClerkId(), related.getEnterpriseId(), related.getMemberId(), related.getStoreId(), 0);
String enterpriseId = related.getEnterpriseId();
String wxEnterpriseId = related.getWxEnterpriseId();
//添加日志
WxUserAddLogQDTO wxUserAddLogQDTO = new WxUserAddLogQDTO();
wxUserAddLogQDTO.setWxEnterpriseId(wxEnterpriseId);
wxUserAddLogQDTO.setEnterpriseId(enterpriseId);
wxUserAddLogQDTO.setMemberId(related.getMemberId());
wxUserAddLogQDTO.setUnionid(related.getUnionid());
wxUserAddLogQDTO.setDelFlag(true);
wxUserAddLogQDTO.setExternalUserid(related.getExternalUserId());
wxUserAddLogQDTO.setStaffId(related.getStaffId());
wxUserAddLogQDTO.setClerkId(related.getClerkId());
wxUserAddLogQDTO.setDelClerkFlag(true);
wxUserAddLogService.save(wxUserAddLogQDTO);
addDelFriendEvent(related.getUnionid(), related.getClerkId(), wxEnterpriseId,enterpriseId, related.getMemberId(), related.getStoreId(), 0);
return;
}
this.delMemberUnionidRelatedProcess(memberUnionidRelatedDTO, qwFrientNoticeDTO.getWxUserId());
......@@ -617,7 +631,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
memberApiService.updateMemberQywxFlag(enterpriseId, memberId, 1);
//定制事件订阅
addDelFriendEvent(unionId, clerkId, enterpriseId, memberId, storeId, 1);
addDelFriendEvent(unionId, clerkId,wxEnterpriseId, enterpriseId, memberId, storeId, 1);
return memberId;
}
......@@ -630,9 +644,9 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
* @param memberId
* @param storeId
*/
private void addDelFriendEvent(String unionId, String clerkId, String enterpriseId, String memberId, String storeId, Integer changeType) {
private void addDelFriendEvent(String unionId, String clerkId,String wxEnterpriseId, String enterpriseId, String memberId, String storeId, Integer changeType) {
String addDelFriendEvent = config.getAddDelFriendEvent();
if (!addDelFriendEvent.contains(enterpriseId)) {
if (!addDelFriendEvent.contains(wxEnterpriseId)) {
log.info("非定制,无需广播通知");
return;
}
......
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