Commit d82cc6ef by 墨竹

feat:同步会员接口

parent 4c0feea9
......@@ -4,7 +4,6 @@ import cn.hutool.crypto.SecureUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService;
import com.gic.clerk.api.service.PowerService;
import com.gic.commons.util.EntityUtil;
......@@ -13,23 +12,23 @@ import com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO;
import com.gic.haoban.manage.api.dto.StaffClerkRelationDTO;
import com.gic.haoban.manage.api.service.MemberUnionidRelatedApiService;
import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.entity.*;
import com.gic.haoban.manage.service.entity.TabHaobanClerkMainStoreRelated;
import com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated;
import com.gic.haoban.manage.service.exception.WxApiLimitException;
import com.gic.haoban.manage.service.pojo.ExternalUserPojo;
import com.gic.haoban.manage.service.pojo.bo.MemberUnionRelatedBO;
import com.gic.haoban.manage.service.service.*;
import com.gic.haoban.manage.service.util.EmojiFilterUtil;
import com.gic.member.api.dto.MemberDTO;
import com.gic.member.api.service.MemberOpenCardBusinessService;
import com.gic.member.api.service.MemberService;
import com.gic.wechat.api.service.qywx.QywxUserApiService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Objects;
/**
......@@ -63,7 +62,7 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
@Autowired
private PowerService powerService;
@Autowired
private MemberOpenCardBusinessService memberOpenCardBusinessService;
private MemberService memberService;
@Override
MemberUnionRelatedBO paramParse(String s) {
......@@ -98,7 +97,7 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
logger.info("添加临时关联表memberUnionIdRelate失败");
return;
}
// 创建导购外部联系人导购
// 设置主门店
TabHaobanClerkMainStoreRelated mainStoreRelated = clerkMainStoreRelatedService.getMainStoreByStaffId(staffId, wxEnterpriseId);
if (mainStoreRelated == null) {
logger.info("【新增外部联系人】主门店为空:{}", staffId);
......@@ -116,30 +115,12 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
return;
}
// 幂等
List<TabHaobanExternalClerkRelated> externalClerkRelateds = externalClerkRelatedService.listByExTernalUseridAndWxUserIdAllStatus(wxEnterpriseId, dto.getExternalUserid(), dto.getWxUserId());
if (CollectionUtils.isEmpty(externalClerkRelateds)){
TabHaobanExternalClerkRelated haobanExternalClerkRelated = externalClerkRelatedService.getByParams(dto.getWxUserId(), wxEnterpriseId, dto.getExternalName(), dto.getAddCreateTime());
if (haobanExternalClerkRelated == null){
logger.info("已经存在好友关系");
return;
}
// 新增导购,获取导购二维码
String qrCodeParam = createClerkQrCodeParam(staffClerkRelationDTO.getClerkCode(), enterpriseId, dto.getUnionid());
if (StringUtils.isEmpty(qrCodeParam)) {
logger.info("不能生产导购二维码, clerkCode:{}", staffClerkRelationDTO.getClerkCode());
return;
}
logger.info("【新增外部联系人会员】enterpriseId={},unionId={},name={},avatar={},QrcodeParam={}",
enterpriseId,
dto.getUnionid(),
dto.getExternalName(),
dto.getAvatar(),
qrCodeParam);
MemberDTO member = memberOpenCardBusinessService.getMemberByQywxChannelParam(
enterpriseId,
dto.getUnionid(),
"",
dto.getExternalName(),
dto.getAvatar(),
qrCodeParam);
MemberDTO member = memberService.getMemberByUnionid(dto.getUnionid(),enterpriseId);
if (member == null) {
logger.info("生产会员memnerid失败:{}", dto.getUnionid());
return;
......@@ -164,23 +145,6 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
externalClerkRelatedService.insert(related);
}
private String createClerkQrCodeParam(String clerkCode, String enterpriseId, String unionId) {
//新增导购和外部联系人关系
ClerkDTO clerk = clerkService.getClerkByClerkCode(enterpriseId, clerkCode);
logger.info("【新增外部联系人】clerkCode={},unionid:{}", clerkCode, unionId);
if (clerk == null) {
logger.info("【新增外部联系人】导购为空:{},{}", clerkCode, unionId);
return null;
}
String qrcodeParam = clerk.getQrcodeParam();
if (StringUtils.isBlank(qrcodeParam)) {
powerService.saveClerkQrCode(clerk.getClerkId());
clerk = clerkService.getClerkByClerkCode(enterpriseId, clerkCode);
qrcodeParam = clerk.getQrcodeParam();
}
return qrcodeParam;
}
private MemberUnionidRelatedDTO getAndMergeMemberUnion(MemberUnionRelatedBO bo) {
// 查询自建
ExternalUserDTO selfExternalUserDTO = getCorpSelfExternalUseridInfo(
......@@ -237,6 +201,7 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
return EntityUtil.changeEntityByJSON(ExternalUserDTO.class, pojo);
}
public ExternalUserDTO getExternalUseridInfo(String wxEnterpriseId, String wxUserId, String externalUserId, String corpId) {
String uJ = qywxUserApiService.getExternalUseridInfo(corpId, config.getWxSuiteid(), externalUserId);
if (StringUtils.isBlank(uJ)) {
......
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