Commit 0394a026 by 徐高华

刷新好友不更新门店导购

parent 21d8717d
......@@ -146,14 +146,7 @@ public interface MemberUnionidRelatedApiService {
ExternalUserDTO getCorpSelfExternalUseridInfoForMember(String wxEnterpriseId, String wxUserId, String externalUserId,String enterpriseId);
/**
* 添加企微好友关联关系表-无需触达
*
* @param dto
* @return
*/
String addExternal(ExternalUserDTO dto);
public String dealMergeForReflsh(ExternalUserDTO externalUserDTO, String wxEnterpriseId , String staffId) ;
/**
* 获取客户详情-第三方
*
......
......@@ -186,7 +186,7 @@ public interface PreDealLogMapper {
* @param relationKey
* @return
*/
TabHaobanPreDealLog getByRelationKey(@Param("taskId") String taskId, @Param("dataType") int dataType, @Param("relationKey") String relationKey);
List<TabHaobanPreDealLog> getByRelationKey(@Param("taskId") String taskId, @Param("dataType") int dataType, @Param("relationKey") String relationKey);
/**
* 校验任务
......
......@@ -173,7 +173,7 @@ public interface PreDealService {
* @param relationKey
* @return
*/
public TabHaobanPreDealLog getByRelationKey(String taskId, Integer dataType, String relationKey);
public List<TabHaobanPreDealLog> getByRelationKey(String taskId, Integer dataType, String relationKey);
/**
* 获取任务是否有在同步中 好友
......
......@@ -164,7 +164,7 @@ public class PreDealServiceImpl implements PreDealService {
}
@Override
public TabHaobanPreDealLog getByRelationKey(String taskId, Integer dataType, String relationKey) {
public List<TabHaobanPreDealLog> getByRelationKey(String taskId, Integer dataType, String relationKey) {
return preDealLogMapper.getByRelationKey(taskId, dataType, relationKey);
}
......
......@@ -43,6 +43,7 @@ import com.gic.haoban.app.customer.service.api.service.CustomerApiService;
import com.gic.haoban.base.api.common.ServiceResponse;
import com.gic.haoban.common.utils.DingUtils;
import com.gic.haoban.manage.api.constants.Manage3Constants;
import com.gic.haoban.manage.api.dto.ClerkMainStoreRelatedDTO;
import com.gic.haoban.manage.api.dto.ContentMaterialDTO;
import com.gic.haoban.manage.api.dto.ExternalClerkRelatedDTO;
import com.gic.haoban.manage.api.dto.ExternalMemberLogDTO;
......@@ -59,6 +60,7 @@ import com.gic.haoban.manage.api.dto.hm.HmQrcodeDTO;
import com.gic.haoban.manage.api.dto.qdto.hm.WxUserAddLogQDTO;
import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.service.CheckQywxSettingApiService;
import com.gic.haoban.manage.api.service.ClerkMainStoreRelatedApiService;
import com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService;
import com.gic.haoban.manage.api.service.MemberUnionidRelatedApiService;
import com.gic.haoban.manage.api.service.hm.HmQrcodeApiService;
......@@ -191,6 +193,8 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
private WelcomeSendService welcomeSendService ;
@Autowired
private ExternalMemberService externalMemberService ;
@Autowired
private ClerkMainStoreRelatedApiService clerkMainStoreRelatedApiService ;
GicMQClient instance = GICMQClientUtil.getClientInstance();
......@@ -661,24 +665,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
memberId = memberService.getMemberIdByPhoneNumber(mobile, enterpriseId);
}
if (null == memberId) {
QywxMemberQDTO qdto = new QywxMemberQDTO() ;
qdto.setEnterpriseId(enterpriseId);
qdto.setNick(name);
qdto.setPhotoUrl(avatar);
qdto.setQrcodeParam(qrcodeParam);
qdto.setUnionId(unionId);
if(wxEnterpriseRelated.getWxEnterpriseType()==0) {
qdto.setUserId(externalUserid);
}
qdto.setSence(2);
com.gic.api.base.commons.ServiceResponse<MemberSimpleDetailDTO> resp = this.memberEntranceApiService.enterpriseWechatByFriendEntrance(qdto);
log.info("新增外部联系人,创建member,resp={},param={}",JSON.toJSON(resp),JSON.toJSONString(qdto));
if(resp.isSuccess()) {
MemberSimpleDetailDTO member = resp.getResult() ;
memberId = member.getMemberId() ;
}else {
log.info(JSON.toJSONString(resp));
}
memberId = this.getMeberId(enterpriseId,unionId, name, avatar, qrcodeParam, externalUserid, wxEnterpriseRelated.getWxEnterpriseType(), 2) ;
}
if (memberId == null) {
log.info("新增外部联系人,创建member失败,unionid={},外部联系人id={},", unionId,externalUserid);
......@@ -739,9 +726,13 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
exsitDTO.setUnionid(unionId);
exsitDTO.setRelationKey(relationKey);
exsitDTO.setHeadUrl(avatar);
if(StringUtils.isEmpty(exsitDTO.getStoreId())) {
exsitDTO.setStoreId(storeId);
exsitDTO.setEnterpriseId(enterpriseId);
}
if(StringUtils.isEmpty(exsitDTO.getClerkId())) {
exsitDTO.setClerkId(clerkId);
}
exsitDTO.setEnterpriseId(enterpriseId);
if(StringUtils.isNotBlank(memberId) && exsitDTO.getStatusFlag() != 1) {
exsitDTO.setStatusFlag(1);
}
......@@ -1305,9 +1296,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
return EntityUtil.changeEntityByJSON(ExternalUserDTO.class, pojo);
}
@Override
public String addExternal(ExternalUserDTO dto) {
String wxUserId = dto.getWxUserId();
private String saveExternalUser(ExternalUserDTO dto) {
String wxEnterpriseId = dto.getWxEnterpriseId();
String name = StringUtils.isBlank(dto.getName()) ? "--" : dto.getName();
String createTime = dto.getAddCreateTime();
......@@ -1318,9 +1307,9 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
String storeId = dto.getStoreId();
String clerkId = dto.getClerkId();
String staffId = dto.getStaffId();
if (StringUtils.isAnyBlank(wxUserId, wxEnterpriseId, name, createTime, externalUserId, storeId, enterpriseId, staffId, clerkId)) {
if (StringUtils.isAnyBlank(wxEnterpriseId, name, createTime, externalUserId, storeId, enterpriseId, staffId, clerkId)) {
log.info("【刷新好友】参数有空wxUserId={},wxEnterpriseId={},name={},createTime={},unionId ={},externalUserId ={},memberId ={},storeId ={},enterpriseId ={},staffId={},clerkId={}"
+ "", wxUserId, wxEnterpriseId, name, createTime, unionId, externalUserId, memberId, storeId, enterpriseId, staffId, clerkId);
+ "", wxEnterpriseId, name, createTime, unionId, externalUserId, memberId, storeId, enterpriseId, staffId, clerkId);
return "参数不对";
}
String memberUnionidRelatedId = this.saveMemberUnionTable(dto) ;
......@@ -1657,4 +1646,74 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
this.externalMemberService.insert(memberLog) ;
}
@Override
public String dealMergeForReflsh(ExternalUserDTO externalUserDTO, String wxEnterpriseId , String staffId) {
if (externalUserDTO.getFriendType() == 2) {
return "不是微信好友,是企业微信好友:" + externalUserDTO.getFriendType();
}
ClerkMainStoreRelatedDTO mainStore = clerkMainStoreRelatedApiService.getWxEnterpriseIdAndStaffId(wxEnterpriseId, staffId);
if (mainStore == null) {
return "主门店不存在";
}
StaffClerkRelationDTO staffClerkRelationDTO = staffClerkRelationService.getOneBindByStoreId(staffId, mainStore.getStoreId());
if (staffClerkRelationDTO == null) {
return "未绑定导购";
}
String enterpriseId = staffClerkRelationDTO.getEnterpriseId() ;
TabHaobanWxEnterpriseRelated wxEnterpriseRelated = wxEnterpriseRelatedService.getByEnterpriseId(wxEnterpriseId, enterpriseId);
if (wxEnterpriseRelated == null) {
log.info("没有存在企业关联:{},{}", wxEnterpriseId, enterpriseId);
return "没有关联企业";
}
String storeId = mainStore.getStoreId() ;
String clerkId = staffClerkRelationDTO.getClerkId() ;
externalUserDTO.setWxEnterpriseId(wxEnterpriseId);
externalUserDTO.setEnterpriseId(enterpriseId);
externalUserDTO.setStoreId(storeId);
externalUserDTO.setClerkId(clerkId);
externalUserDTO.setStaffId(staffId);
boolean addByWelcome = this.wxEnterpriseRelatedService.getAddByWelcomeFlag(wxEnterpriseRelated,externalUserDTO.getUnionId(),false) ;
if (addByWelcome) {
log.info("好友不同开平:{}", JSONObject.toJSONString(externalUserDTO));
return this.saveExternalUser(externalUserDTO);
}
String clerkCode = staffClerkRelationDTO.getClerkCode();
ClerkDTO clerk = clerkService.getClerkByClerkCode(staffClerkRelationDTO.getEnterpriseId(), clerkCode);
if (clerk == null) {
return "导购不存在:" + clerkCode;
}
String qrcodeParam = clerk.getQrcodeParam();
if (StringUtils.isBlank(qrcodeParam)) {
log.info("导购码不存在:" + clerkCode);
qrcodeParam = "clerk_clerk_"+clerk.getClerkId() ;
}
String memberId = this.getMeberId(enterpriseId, externalUserDTO.getUnionId(), externalUserDTO.getName(), externalUserDTO.getAvatar(), qrcodeParam, externalUserDTO.getExternalUserId(), wxEnterpriseRelated.getWxEnterpriseType(), 1) ;
if (memberId == null) {
return "会员不存在:unionid:" + externalUserDTO.getUnionId();
}
externalUserDTO.setMemberId(memberId);
return this.saveExternalUser(externalUserDTO);
}
private String getMeberId(String enterpriseId , String unionid , String name , String image ,String qrcodeParam , String externalUserId , int wxEnterpriseType , int sence) {
QywxMemberQDTO qdto = new QywxMemberQDTO() ;
qdto.setEnterpriseId(enterpriseId);
qdto.setNick(name);
qdto.setPhotoUrl(image);
qdto.setQrcodeParam(qrcodeParam);
qdto.setUnionId(unionid);
if(wxEnterpriseType==0) {
qdto.setUserId(externalUserId);
}
qdto.setSence(sence);
String memberId = null;
com.gic.api.base.commons.ServiceResponse<MemberSimpleDetailDTO> resp = this.memberEntranceApiService.enterpriseWechatByFriendEntrance(qdto);
log.info("刷新好友,创建member,resp={},param={}",JSON.toJSON(resp),JSON.toJSONString(qdto));
if(resp.isSuccess()) {
MemberSimpleDetailDTO member = resp.getResult() ;
memberId = member.getMemberId() ;
}
return memberId ;
}
}
......@@ -56,7 +56,7 @@ public class FriendClerkSyncNewOperation implements BaseSyncOperation {
@Override
public void dealSingleByMq(DealParamMqDTO dealParamMqDTO, TabHaobanPreDealLog dataPre) {
logger.info("dealParamMqDTO={},dataPre={}", JSON.toJSONString(dealParamMqDTO), JSON.toJSONString(dataPre));
logger.info("刷新好友列表(7-8),dealParamMqDTO={},dataPre={}", JSON.toJSONString(dealParamMqDTO), JSON.toJSONString(dataPre));
String reason = "";
boolean dealFlag = true;
try {
......@@ -82,7 +82,7 @@ public class FriendClerkSyncNewOperation implements BaseSyncOperation {
return;
}
if (CollectionUtils.isEmpty(selfUserIdList)) {
logger.info("改用户没有外部联系人:{}", JSONObject.toJSONString(dataPre));
logger.info("该用户无代开外部联系人:{}", JSONObject.toJSONString(dataPre));
dealFlag = false;
reason = "该用户没有外部联系人";
return;
......@@ -100,7 +100,7 @@ public class FriendClerkSyncNewOperation implements BaseSyncOperation {
return;
}
if (CollectionUtils.isEmpty(userIdList)) {
logger.info("该用户没有外部联系人2:{}", JSONObject.toJSONString(dataPre));
logger.info("该用户无第三方外部联系人:{}", JSONObject.toJSONString(dataPre));
dealFlag = false;
reason = "该用户没有外部联系人";
return;
......
......@@ -3,25 +3,20 @@ package com.gic.haoban.manage.service.task.friend;
import cn.hutool.crypto.SecureUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService;
import com.gic.commons.util.GICMQClientUtil;
import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.enums.PreDealStatusEnum;
import com.gic.haoban.manage.api.enums.PreDealTypeEnum;
import com.gic.haoban.manage.api.enums.SyncTaskStatusEnum;
import com.gic.haoban.manage.api.service.ClerkMainStoreRelatedApiService;
import com.gic.haoban.manage.api.service.MemberUnionidRelatedApiService;
import com.gic.haoban.manage.service.entity.TabHaobanPreDealLog;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated;
import com.gic.haoban.manage.service.exception.WxApiLimitException;
import com.gic.haoban.manage.service.service.*;
import com.gic.haoban.manage.service.task.BaseSyncOperation;
import com.gic.member.api.dto.MemberSimpleDetailDTO;
import com.gic.member.api.dto.QywxMemberQDTO;
import com.gic.member.api.service.MemberEntranceApiService;
import com.gic.mq.sdk.GicMQClient;
import com.gic.redis.data.util.RedisUtil;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -48,69 +43,67 @@ public class FriendSyncNewOperation implements BaseSyncOperation {
@Autowired
private SyncTaskService syncTaskService;
@Autowired
private ClerkMainStoreRelatedApiService clerkMainStoreRelatedApiService;
@Autowired
private StaffClerkRelationService staffClerkRelationService;
@Autowired
private ClerkService clerkService;
@Autowired
private FriendClerkSyncNewOperation friendClerkSyncNewOperation;
@Autowired
private WxEnterpriseRelatedService wxEnterpriseRelatedService;
@Autowired
private MemberEntranceApiService memberEntranceApiService;
private static final String TRY_AGAIN = "haoban_fresh_wx_friend_again_";
@Override
public void dealSingleByMq(DealParamMqDTO dealParamMqDTO, TabHaobanPreDealLog dataPre) {
logger.info("同步好友开始,第三方={}", JSONObject.toJSONString(dataPre));
logger.info("刷新好友,第三方={}", JSONObject.toJSONString(dataPre));
String reason = "成功";
boolean dealFlag = true;
String relationKey = "-1";
try {
if (dataPre.getStatusFlag() != PreDealStatusEnum.pre.getVal()) {
logger.info("已经处理过,无需重复处理:{}", JSONObject.toJSONString(dataPre));
return;
}
String wxEnterpriseId = dataPre.getWxEnterpriseId();
String wxUserId = dataPre.getDataId().split("###")[1] ;
String taskId = dealParamMqDTO.getTaskId();
String externalUserId = dataPre.getDataContent();
String staffId = dataPre.getpDataId() ;
if (dataPre.getStatusFlag() != PreDealStatusEnum.pre.getVal()) {
logger.info("已经处理过,无需重复处理:{}", JSONObject.toJSONString(dataPre));
return;
}
ExternalUserDTO externalUserDTO = memberUnionidRelatedApiService.getExternalUseridInfo(wxEnterpriseId, wxUserId, externalUserId);
if (externalUserDTO == null) {
logger.info("第三方外部联系人详情查询失败,staffId={},{},{}", staffId,wxUserId,externalUserId);
dealFlag = false;
reason = "好友不存在";
return;
}
//relationkey
relationKey = SecureUtil.md5(staffId + "_" + externalUserDTO.getName() + "_" + externalUserDTO.getAddCreateTime());
logger.info("第三方生成relationKey:{},{},{} 客户={}, 结果={}",staffId,externalUserDTO.getName(),externalUserDTO.getAddCreateTime() , externalUserDTO.getExternalUserId() , relationKey);
String str = staffId + "_" + externalUserDTO.getName() + "_" + externalUserDTO.getAddCreateTime() ;
relationKey = SecureUtil.md5(str);
logger.info("生成第三方relationKey={},staff={},{}",relationKey,staffId,str);
// 根据关联键relationkey查看自建应用 是否有数据
TabHaobanPreDealLog selfPre = preDealService.getByRelationKey(taskId, PreDealTypeEnum.self_friend.getVal(), relationKey);
if (null == selfPre) {
logger.info("用户的自建应用不存在该数据:{},{}", JSONObject.toJSONString(dataPre), JSONObject.toJSONString(externalUserDTO));
List<TabHaobanPreDealLog> list = this.preDealService.getByRelationKey(taskId, PreDealTypeEnum.self_friend.getVal(), relationKey);
if(CollectionUtils.isEmpty(list)) {
logger.info("用户的代开发不存在关联数据:{},{}", JSONObject.toJSONString(dataPre), JSONObject.toJSONString(externalUserDTO));
dealFlag = false;
reason = "用户的代开发应用不存在该数据:" + relationKey;
return;
}
if(list.size()>1) {
logger.info("用户的代开发应用数据多条:{},{}", JSONObject.toJSONString(dataPre), JSONObject.toJSONString(externalUserDTO));
dealFlag = false;
reason = "用户的自建应用不存在该数据:" + relationKey;
reason = "用户的代开发应用数据多条:" + relationKey;
return;
}
TabHaobanPreDealLog selfPre = list.get(0) ;
logger.info("代开发的数据={}",selfPre.getDataContent());
ExternalUserDTO selfUserData = JSON.parseObject(selfPre.getDataContent(), ExternalUserDTO.class);
externalUserDTO.setUnionId(selfUserData.getUnionId());
externalUserDTO.setSelfExternalUserId(selfUserData.getExternalUserId());
externalUserDTO.setAvatar(selfUserData.getAvatar());
externalUserDTO.setName(selfUserData.getName());
//序列化数据
String ret = dealMerge(externalUserDTO, dataPre);
String ret = this.memberUnionidRelatedApiService.dealMergeForReflsh(externalUserDTO, wxEnterpriseId, staffId) ;
if (StringUtils.isNotBlank(ret)) {
logger.info("好友创建失败:{},{}", ret, JSONObject.toJSONString(externalUserDTO));
dealFlag = false;
reason = ret + ":" + relationKey;
return;
}
//更新状态
preDealService.updateFriendStatusByDataId(taskId, dataPre.getDataId(), PreDealStatusEnum.computed.getVal(), reason, externalUserDTO.getMemberId(), relationKey , PreDealTypeEnum.friend.getVal());
dealSuccess(taskId, dataPre.getDataId(), dataPre.getpDataId(), wxEnterpriseId);
......@@ -155,75 +148,6 @@ public class FriendSyncNewOperation implements BaseSyncOperation {
return true;
}
private String dealMerge(ExternalUserDTO externalUserDTO, TabHaobanPreDealLog dataPre) {
String wxEnterpriseId = dataPre.getWxEnterpriseId();
String wxUserId = dataPre.getDataId().split("###")[1] ;
if (externalUserDTO.getFriendType() == 2) {
return "不是微信好友,是企业微信好友:" + externalUserDTO.getFriendType();
}
String staffId = dataPre.getpDataId() ;
ClerkMainStoreRelatedDTO mainStore = clerkMainStoreRelatedApiService.getWxEnterpriseIdAndStaffId(wxEnterpriseId, staffId);
if (mainStore == null) {
return "主门店不存在";
}
StaffClerkRelationDTO staffClerkRelationDTO = staffClerkRelationService.getOneBindByStoreId(staffId, mainStore.getStoreId());
if (staffClerkRelationDTO == null) {
return "未绑定导购";
}
String enterpriseId = staffClerkRelationDTO.getEnterpriseId() ;
TabHaobanWxEnterpriseRelated wxEnterpriseRelated = wxEnterpriseRelatedService.getByEnterpriseId(wxEnterpriseId, enterpriseId);
if (wxEnterpriseRelated == null) {
logger.info("没有存在企业关联:{},{}", wxEnterpriseId, enterpriseId);
return "没有关联企业";
}
String storeId = mainStore.getStoreId() ;
String clerkId = staffClerkRelationDTO.getClerkId() ;
externalUserDTO.setWxEnterpriseId(wxEnterpriseId);
externalUserDTO.setEnterpriseId(enterpriseId);
externalUserDTO.setStoreId(storeId);
externalUserDTO.setClerkId(clerkId);
externalUserDTO.setWxUserId(wxUserId);
externalUserDTO.setStaffId(staffId);
boolean addByWelcome = this.wxEnterpriseRelatedService.getAddByWelcomeFlag(wxEnterpriseRelated,externalUserDTO.getUnionId(),false) ;
if (addByWelcome) {
logger.info("好友不同开平:{}", JSONObject.toJSONString(externalUserDTO));
return memberUnionidRelatedApiService.addExternal(externalUserDTO);
}
String clerkCode = staffClerkRelationDTO.getClerkCode();
ClerkDTO clerk = clerkService.getClerkByClerkCode(staffClerkRelationDTO.getEnterpriseId(), clerkCode);
if (clerk == null) {
return "导购不存在:" + clerkCode;
}
String qrcodeParam = clerk.getQrcodeParam();
if (StringUtils.isBlank(qrcodeParam)) {
logger.info("导购码不存在:" + clerkCode);
qrcodeParam = "clerk_clerk_"+clerk.getClerkId() ;
}
QywxMemberQDTO qdto = new QywxMemberQDTO() ;
qdto.setEnterpriseId(enterpriseId);
qdto.setNick(externalUserDTO.getName());
qdto.setPhotoUrl(externalUserDTO.getAvatar());
qdto.setQrcodeParam(qrcodeParam);
qdto.setUnionId(externalUserDTO.getUnionId());
if(wxEnterpriseRelated.getWxEnterpriseType()==0) {
qdto.setUserId(externalUserDTO.getExternalUserId());
}
qdto.setSence(1);
String memberId = null;
com.gic.api.base.commons.ServiceResponse<MemberSimpleDetailDTO> resp = this.memberEntranceApiService.enterpriseWechatByFriendEntrance(qdto);
logger.info("加好友,创建member,resp={},param={}",JSON.toJSON(resp),JSON.toJSONString(qdto));
if(resp.isSuccess()) {
MemberSimpleDetailDTO member = resp.getResult() ;
memberId = member.getMemberId() ;
}
if (memberId == null) {
return "会员不存在:unionid:" + externalUserDTO.getUnionId();
}
externalUserDTO.setMemberId(memberId);
return memberUnionidRelatedApiService.addExternal(externalUserDTO);
}
public void dealException(String taskId, String dataId, String pDataId, String reason, String relationKey) {
preDealService.updateFriendStatusByDataId(taskId, dataId, PreDealStatusEnum.exception.getVal(), reason, null, relationKey, PreDealTypeEnum.friend.getVal());
checkDepartmentTask(taskId, pDataId);
......
......@@ -51,7 +51,7 @@ public class SelfFriendSyncNewOperation implements BaseSyncOperation {
@Override
public void dealSingleByMq(DealParamMqDTO dealParamMqDTO, TabHaobanPreDealLog dataPre) {
logger.info("同步好友开始,自建代开发={}", JSONObject.toJSONString(dataPre));
logger.info("刷新好友列表7,代开发={}", JSONObject.toJSONString(dataPre));
String reason = "成功";
boolean dealFlag = true;
try {
......@@ -60,10 +60,10 @@ public class SelfFriendSyncNewOperation implements BaseSyncOperation {
String staffId = dataPre.getpDataId() ;
String taskId = dealParamMqDTO.getTaskId();
String externalUserId = dataPre.getDataContent();
// 查询企微侧外部联系人详情
ExternalUserDTO externalUserDTO = memberUnionidRelatedApiService.getCorpSelfExternalUseridInfo(wxEnterpriseId, wxUserId, externalUserId);
if (externalUserDTO == null) {
logger.info("外部联系人好友不存在:{}", JSONObject.toJSONString(dataPre));
logger.info("代开发外部联系人详情查询失败,staffId={},{},{}", staffId,wxUserId,externalUserId);
dealException(taskId, dataPre.getDataId(), null, "好友不存在");
return;
}
......@@ -74,13 +74,11 @@ public class SelfFriendSyncNewOperation implements BaseSyncOperation {
json.put("avatar", externalUserDTO.getAvatar());
json.put("externalUserId", externalUserDTO.getExternalUserId());
json.put("addCreateTime", externalUserDTO.getAddCreateTime());
//relationkey
logger.info("生成relationKey:{},{},{}",staffId,externalUserDTO.getName(),externalUserDTO.getAddCreateTime());
String relationKey = SecureUtil.md5(staffId + "_" + externalUserDTO.getName() + "_" + externalUserDTO.getAddCreateTime());
logger.info("relationKey:{},{}", relationKey, externalUserDTO.getExternalUserId());
String str = staffId + "_" + externalUserDTO.getName() + "_" + externalUserDTO.getAddCreateTime() ;
String relationKey = SecureUtil.md5(str);
logger.info("生成代开发relationKey={},staff={},{}",relationKey,staffId,str);
//更新状态
preDealService.updateFriendStatusByDataId(taskId, dataPre.getDataId(), PreDealStatusEnum.computed.getVal(), reason, json.toJSONString(), relationKey , PreDealTypeEnum.self_friend.getVal());
this.preDealService.updateFriendStatusByDataId(taskId, dataPre.getDataId(), PreDealStatusEnum.computed.getVal(), reason, json.toJSONString(), relationKey , PreDealTypeEnum.self_friend.getVal());
dealSuccess(taskId, dataPre.getDataId(), null, wxEnterpriseId);
} catch (WxApiLimitException e) {
logger.info("接口次数限制:{}", JSONObject.toJSONString(dataPre));
......
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