Commit d82cc6ef by 墨竹

feat:同步会员接口

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