Commit 7307909b by fudahua

绑定的时候 新增小程序配置

parent fc65e493
......@@ -27,7 +27,16 @@ public class ExternalUserDTO implements Serializable{
private String clerkId;
private String staffId;
private String selfExternalUserId;
public String getSelfExternalUserId() {
return selfExternalUserId;
}
public void setSelfExternalUserId(String selfExternalUserId) {
this.selfExternalUserId = selfExternalUserId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
......
......@@ -70,6 +70,8 @@ public interface MemberUnionidRelatedApiService {
String addExternal(ExternalUserDTO dto);
String addFriendExternal(ExternalUserDTO dto);
ExternalUserDTO getExternalUseridInfo(String wxEnterpriseId, String wxUserId, String externalUserId);
/**
......
......@@ -1284,6 +1284,81 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
return "";
}
@Override
public String addFriendExternal(ExternalUserDTO dto) {
String wxUserId = dto.getWxUserId();
String wxEnterpriseId = dto.getWxEnterpriseId();
String name = StringUtils.isBlank(dto.getName()) ? "--" : dto.getName();
String createTime = dto.getAddCreateTime();
String externalUserId = dto.getExternalUserId();
String storeId = dto.getStoreId();
String enterpriseId = dto.getEnterpriseId();
String staffId = dto.getStaffId();
String avatar = dto.getAvatar();
String clerkId = dto.getClerkId();
String selfExternalUserId = dto.getSelfExternalUserId();
if (StringUtils.isAnyBlank(wxUserId, selfExternalUserId, wxEnterpriseId, name, createTime, externalUserId, storeId, enterpriseId, staffId, clerkId)) {
log.info("【新增外部联系人】wxUserId={},selfExternalUserId={},wxEnterpriseId={},name={},createTime={},unionId ={},externalUserId ={},memberId ={},storeId ={},enterpriseId ={},staffId={},clerkId={}"
+ "", wxUserId, selfExternalUserId, wxEnterpriseId, name, createTime, externalUserId, storeId, enterpriseId, staffId, clerkId);
return "参数不对";
}
String relationKey = SecureUtil.md5(dto.getClerkId() + dto.getExternalUserId());
MemberUnionidRelatedDTO exsitDTO = memberUnionRelatedService.getBySelfExternalUserId(wxUserId, wxEnterpriseId, dto.getSelfExternalUserId());
String uuid = "";
if (exsitDTO == null) {
exsitDTO = new MemberUnionidRelatedDTO();
exsitDTO.setAvatar(avatar);
exsitDTO.setSelfExternalUserid(dto.getSelfExternalUserId());
exsitDTO.setAddCreateTime(createTime);
exsitDTO.setEnterpriseId(enterpriseId);
exsitDTO.setExternalName(name);
exsitDTO.setExternalUserid(externalUserId);
exsitDTO.setWxEnterpriseId(wxEnterpriseId);
exsitDTO.setWxUserId(wxUserId);
uuid = memberUnionRelatedService.addMemberUnionidRelated(exsitDTO);
} else {
uuid = exsitDTO.getMemberUnionidRelatedId();
exsitDTO.setAvatar(avatar);
exsitDTO.setExternalUserid(externalUserId);
exsitDTO.setAddCreateTime(createTime);
exsitDTO.setExternalName(name);
memberUnionRelatedService.update(exsitDTO);
}
List<TabHaobanExternalClerkRelated> clerkRelateds = externalClerkRelatedService.listByExTernalUseridAndWxUserId(externalUserId, wxUserId);
if (CollectionUtils.isEmpty(clerkRelateds)) {
TabHaobanExternalClerkRelated related = new TabHaobanExternalClerkRelated();
related.setAddCreateTime(createTime);
related.setClerkId(clerkId);
related.setEnterpriseId(enterpriseId);
related.setExternalName(name);
related.setExternalUserId(externalUserId);
related.setStaffId(staffId);
related.setMemberUnionidRelatedId(uuid);
related.setStoreId(storeId);
related.setWxEnterpriseId(wxEnterpriseId);
related.setWxUserId(wxUserId);
related.setStatusFlag(3);
related.setRelationKey(relationKey);
externalClerkRelatedService.insert(related);
} else {
TabHaobanExternalClerkRelated external = clerkRelateds.get(0);
external.setMemberUnionidRelatedId(uuid);
external.setExternalUserId(externalUserId);
external.setExternalName(name);
external.setStoreId(storeId);
external.setEnterpriseId(enterpriseId);
external.setClerkId(clerkId);
external.setStaffId(staffId);
external.setRelationKey(relationKey);
external.setStatusFlag(exsitDTO.getStatusFlag() == 1 ? 1 : external.getStatusFlag());
externalClerkRelatedService.update(external);
}
return "";
}
@Override
public void cleanNoExsitFriendNew(String wxEnterpriseId, String wxUserId, List<String> externalUserIds) {
......
......@@ -15,10 +15,12 @@ import com.gic.haoban.manage.api.service.ClerkMainStoreRelatedApiService;
import com.gic.haoban.manage.api.service.MemberUnionidRelatedApiService;
import com.gic.haoban.manage.api.service.StaffApiService;
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.PreDealService;
import com.gic.haoban.manage.service.service.StaffClerkRelationService;
import com.gic.haoban.manage.service.service.SyncTaskService;
import com.gic.haoban.manage.service.service.WxEnterpriseRelatedService;
import com.gic.haoban.manage.service.task.BaseSyncOperation;
import com.gic.member.api.dto.MemberDTO;
import com.gic.member.api.service.MemberOpenCardBusinessService;
......@@ -62,6 +64,9 @@ public class FriendSyncNewOperation implements BaseSyncOperation {
@Autowired
private FriendClerkSyncNewOperation friendClerkSyncNewOperation;
@Autowired
private WxEnterpriseRelatedService wxEnterpriseRelatedService;
private static final String TRY_AGAIN = "haoban_fresh_wx_friend_again_";
@Override
......@@ -100,6 +105,7 @@ public class FriendSyncNewOperation implements BaseSyncOperation {
}
ExternalUserDTO selfUserData = JSON.parseObject(selfPre.getDataContent(), ExternalUserDTO.class);
externalUserDTO.setUnionId(selfUserData.getUnionId());
externalUserDTO.setSelfExternalUserId(selfUserData.getExternalUserId());
//序列化数据
String ret = dealMerge(externalUserDTO, dataPre);
if (StringUtils.isNotBlank(ret)) {
......@@ -172,6 +178,17 @@ public class FriendSyncNewOperation implements BaseSyncOperation {
return "未绑定导购";
}
TabHaobanWxEnterpriseRelated wxEnterpriseRelated = wxEnterpriseRelatedService.getByEnterpriseId(staffClerkRelationDTO.getWxEnterpriseId(), staffClerkRelationDTO.getEnterpriseId());
if (wxEnterpriseRelated == null) {
logger.info("没有存在企业关联:{},{}", staffClerkRelationDTO.getWxEnterpriseId(), staffClerkRelationDTO.getEnterpriseId());
return "没有关联企业";
}
//好友不同开平
if (wxEnterpriseRelated.getMemberOpenCardFlag() == 1) {
logger.info("好友不同开平,:", JSONObject.toJSONString(externalUserDTO));
return memberUnionidRelatedApiService.addFriendExternal(externalUserDTO);
}
//好友统一个开平
externalUserDTO.setWxEnterpriseId(wxEnterpriseId);
externalUserDTO.setEnterpriseId(staffClerkRelationDTO.getEnterpriseId());
externalUserDTO.setStoreId(mainStore.getStoreId());
......
......@@ -66,6 +66,7 @@ public class SelfFriendSyncNewOperation implements BaseSyncOperation {
JSONObject json = new JSONObject();
json.put("name", pojo.getName());
json.put("unionId", pojo.getUnionId());
json.put("externalUserId", pojo.getExternalUserId());
json.put("addCreateTime", pojo.getAddCreateTime());
//relationkey
......
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