Commit 7a41a380 by 墨竹

Merge branch 'developer' into feature-haoban-role

parents 5d9ee194 1b4bf848
...@@ -12,12 +12,22 @@ public class WxUserAddLogQDTO implements Serializable{ ...@@ -12,12 +12,22 @@ public class WxUserAddLogQDTO implements Serializable{
private String unionid; private String unionid;
private Long linkId; private Long linkId;
private Long hmId; private Long hmId;
// 是否好友删除导购
private boolean delClerkFlag;
private boolean delFlag; private boolean delFlag;
private String externalUserid; private String externalUserid;
private String staffId; private String staffId;
private String staffName; private String staffName;
private String clerkId; private String clerkId;
public boolean isDelClerkFlag() {
return delClerkFlag;
}
public void setDelClerkFlag(boolean delClerkFlag) {
this.delClerkFlag = delClerkFlag;
}
public String getWxEnterpriseId() { public String getWxEnterpriseId() {
return wxEnterpriseId; return wxEnterpriseId;
} }
......
...@@ -5,9 +5,12 @@ import com.gic.commons.util.GICMQClientUtil; ...@@ -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.dto.notify.qdto.NoticeMessageQDTO;
import com.gic.haoban.manage.api.enums.NoticeMessageTypeEnum; import com.gic.haoban.manage.api.enums.NoticeMessageTypeEnum;
import com.gic.mq.sdk.GicMQClient; import com.gic.mq.sdk.GicMQClient;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import java.util.ArrayList;
import java.util.List;
import java.util.Map; import java.util.Map;
import static org.slf4j.LoggerFactory.getLogger; import static org.slf4j.LoggerFactory.getLogger;
...@@ -52,13 +55,54 @@ public class NoticeMessageUtil { ...@@ -52,13 +55,54 @@ public class NoticeMessageUtil {
logger.info("发送消息:{}", ret); logger.info("发送消息:{}", ret);
GicMQClient clientInstance = GICMQClientUtil.getClientInstance(); GicMQClient clientInstance = GICMQClientUtil.getClientInstance();
try { try {
// com.gic.haoban.manage.api.service.notify.NoticeMessageApiService.run
clientInstance.sendMessage(NOTICE_MESSAGE, ret); clientInstance.sendMessage(NOTICE_MESSAGE, ret);
} catch (Exception e) { } catch (Exception e) {
logger.info("发送消息异常:{}", 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发送 * 发送消息 使用staffId发送
* *
......
...@@ -73,10 +73,15 @@ public class WxUserAddLogServiceImpl implements WxUserAddLogService { ...@@ -73,10 +73,15 @@ public class WxUserAddLogServiceImpl implements WxUserAddLogService {
} }
entity = logUser; entity = logUser;
entity.setLogId(UniqueIdUtils.uniqueLong()); entity.setLogId(UniqueIdUtils.uniqueLong());
if(qdto.isDelClerkFlag()) {
entity.setStatusFlag(3);
entity.setAddChannel(0);
}else {
entity.setStatusFlag(2); entity.setStatusFlag(2);
// 是否所有好友删除 1是0否 // 是否所有好友删除 1是0否
entity.setAllDelFlag(this.isAllDel(externalUserid)); entity.setAllDelFlag(this.isAllDel(externalUserid));
} }
}
// 新增好友 // 新增好友
if (!qdto.isDelFlag()) { if (!qdto.isDelFlag()) {
String memberLabelId = null; String memberLabelId = null;
......
...@@ -167,7 +167,7 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ ...@@ -167,7 +167,7 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
wxUserAddLogService.save(wxUserAddLogQDTO); 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 ...@@ -179,9 +179,9 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
* @param memberId * @param memberId
* @param storeId * @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(); String addDelFriendEvent = config.getAddDelFriendEvent();
if (!addDelFriendEvent.contains(enterpriseId)) { if (!addDelFriendEvent.contains(wxEnterpriseId)) {
logger.info("非定制,无需广播通知"); logger.info("非定制,无需广播通知");
return; return;
} }
...@@ -335,9 +335,9 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ ...@@ -335,9 +335,9 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
@Override @Override
public void repairExternalUserId(String wxEnterpriseIds) { public void repairExternalUserId(String wxEnterpriseIds) {
logger.info("外部联系人检查,wxEnterpriseIds={}",wxEnterpriseIds); logger.info("外部联系人检查,wxEnterpriseIds={}",wxEnterpriseIds);
DingUtils.send("外部联系人修复消息,企业=" + wxEnterpriseIds + ",tranceid=" + ProviderLocalTag.tag.get(), false); DingUtils.send("外部联系人修复消息,企业="+wxEnterpriseIds+",tranceid="+ProviderLocalTag.tag.get().traceId, false);
if (StringUtils.isEmpty(wxEnterpriseIds)) { if(StringUtils.isEmpty(wxEnterpriseIds)) {
return; return ;
} }
Object cache = RedisUtil.getCache("repairExternalUserId"); Object cache = RedisUtil.getCache("repairExternalUserId");
String[] arr = wxEnterpriseIds.split(","); String[] arr = wxEnterpriseIds.split(",");
......
...@@ -231,7 +231,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -231,7 +231,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
memberApiService.updateMemberQywxFlag(enterpriseId, memberId, 1); 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); wxUserAddLogService.updateMemberInfo(wxEnterpriseId, enterpriseId, externalClerkRelated.getStaffId(), externalClerkRelated.getExternalUserId(), memberId);
} }
...@@ -246,7 +246,14 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -246,7 +246,14 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
* @param memberId * @param memberId
* @param storeId * @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); ClerkDTO clerkDTO = clerkService.getClerkByClerkId(clerkId);
StoreDTO storeDTO = storeService.getStore(storeId); StoreDTO storeDTO = storeService.getStore(storeId);
...@@ -265,7 +272,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -265,7 +272,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
msgBody.put("clerkName", clerkDTO.getClerkName()); msgBody.put("clerkName", clerkDTO.getClerkName());
msgBody.put("clerkCode", clerkDTO.getClerkCode()); msgBody.put("clerkCode", clerkDTO.getClerkCode());
} }
msgBody.put("changeType", 1); msgBody.put("changeType", changeType);
msgBody.put("addCreateTime", new Date()); msgBody.put("addCreateTime", new Date());
msgBody.put("delCreateTime", ""); msgBody.put("delCreateTime", "");
...@@ -427,7 +434,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -427,7 +434,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
if (qwDTO == null) { if (qwDTO == null) {
return Collections.emptyMap(); 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)) { if (CollectionUtils.isEmpty(res)) {
return Collections.emptyMap(); return Collections.emptyMap();
} }
......
...@@ -196,7 +196,21 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -196,7 +196,21 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
return; return;
} }
TabHaobanExternalClerkRelated related = tabHaobanExternalClerkRelatedList.get(0); 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; return;
} }
this.delMemberUnionidRelatedProcess(memberUnionidRelatedDTO, qwFrientNoticeDTO.getWxUserId()); this.delMemberUnionidRelatedProcess(memberUnionidRelatedDTO, qwFrientNoticeDTO.getWxUserId());
...@@ -617,7 +631,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -617,7 +631,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
memberApiService.updateMemberQywxFlag(enterpriseId, memberId, 1); memberApiService.updateMemberQywxFlag(enterpriseId, memberId, 1);
//定制事件订阅 //定制事件订阅
addDelFriendEvent(unionId, clerkId, enterpriseId, memberId, storeId, 1); addDelFriendEvent(unionId, clerkId,wxEnterpriseId, enterpriseId, memberId, storeId, 1);
return memberId; return memberId;
} }
...@@ -630,9 +644,9 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -630,9 +644,9 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
* @param memberId * @param memberId
* @param storeId * @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(); String addDelFriendEvent = config.getAddDelFriendEvent();
if (!addDelFriendEvent.contains(enterpriseId)) { if (!addDelFriendEvent.contains(wxEnterpriseId)) {
log.info("非定制,无需广播通知"); log.info("非定制,无需广播通知");
return; 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