Commit 4c388755 by qwmqiuwenmin

fix

parent 270f70e6
......@@ -34,6 +34,8 @@ public class MemberUnionidRelatedDTO implements Serializable{
private Date createTime;
private Date updateTime;
private String avatar;
private static final long serialVersionUID = 1L;
......@@ -157,5 +159,13 @@ public class MemberUnionidRelatedDTO implements Serializable{
this.enterpriseId = enterpriseId;
}
public String getAvatar() {
return avatar;
}
public void setAvatar(String avatar) {
this.avatar = avatar;
}
}
......@@ -242,28 +242,135 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
@Override
public String addMemberUnionidRelatedNew(MemberUnionidRelatedDTO dto) {
//拼装参数
dto = getMemberUnionidRelatedDTO(dto);
//新增成员和外部联系人的关系
String memberUnionId = insertMemberUnionIdRelated(dto);
//新增导购和外部联系人关系
dto.setMemberUnionidRelatedId(memberUnionId);
insertExternalClerkRelated(dto);
return memberUnionId;
}
private void insertExternalClerkRelated(MemberUnionidRelatedDTO dto) {
String wxUserId = dto.getWxUserId();
String wxEnterpriseId = dto.getWxEnterpriseId();
String name = dto.getExternalName();
String createTime = dto.getAddCreateTime();
String externalUserId = dto.getExternalUserid();
String avatar = dto.getAvatar();
if(StringUtils.isAnyBlank(wxUserId,wxEnterpriseId,name,createTime,avatar)){
log.info("【新增外部联系人】wxUserId={},wxEnterpriseId={},name={},createTime={},avatar={}",wxUserId,wxEnterpriseId,name,createTime,avatar);
return;
}
TabHaobanStaff staff = staffService.selectByUserIdAndEnterpriseId(wxUserId, wxEnterpriseId);
if(staff == null){
return;
}
String staffId = staff.getStaffId();
String unionId = dto.getUnionid();
MemberDTO member = null;
TabHaobanClerkMainStoreRelated r = clerkMainStoreRelatedService.selectByWxEnterpriseIdAndStoreId(staffId,wxEnterpriseId);
if(r == null){
log.info("【新增外部联系人】主门店为空");
return;
}
String storeId = r.getStoreId();
StaffClerkRelationDTO staffClerkRelationDTO = staffClerkRelationService.getOneBindByStoreId(staffId,storeId);
if(staffClerkRelationDTO == null){
log.info("【新增外币联系人】导购和clerk关联为空");
return;
}
//新增导购和外部联系人关系
if(StringUtils.isNotBlank(unionId)){
String clerkCode = staffClerkRelationDTO.getClerkCode();
ClerkDTO clerk = clerkService.getClerkByClerkCode(staffClerkRelationDTO.getEnterpriseId(), clerkCode);
log.info("【新增外部联系人】clerkCode={},unionid:{}",clerkCode,unionId);
if(clerk != null && StringUtils.isNotBlank(clerk.getQrcodeParam())&&StringUtils.isNotBlank(unionId)){
log.info("【新增外部联系人会员】enterpriseId={},unionId={},name={},avatar={},QrcodeParam={}",staffClerkRelationDTO.getEnterpriseId(),unionId,name,avatar,clerk.getQrcodeParam());
member = memberOpenCardBusinessService.getMemberByQywxChannelParam(staffClerkRelationDTO.getEnterpriseId(),unionId,"",name,avatar,clerk.getQrcodeParam());
}
}
TabHaobanExternalClerkRelated exsitDTO = externalClerkRelatedService.getByParams(wxUserId, wxEnterpriseId,name,createTime);
if(exsitDTO == null){
TabHaobanExternalClerkRelated related = new TabHaobanExternalClerkRelated();
related.setAddCreateTime(createTime);
related.setClerkId(staffClerkRelationDTO.getClerkId());
related.setEnterpriseId(staffClerkRelationDTO.getEnterpriseId());
related.setExternalName(name);
related.setExternalUserId(externalUserId);
related.setStaffId(staffId);
related.setMemberUnionidRelatedId(dto.getMemberUnionidRelatedId());
related.setStoreId(r.getStoreId());
related.setUnionid(unionId);
related.setWxEnterpriseId(wxEnterpriseId);
related.setWxUserId(wxUserId);
if(member != null){
related.setMemberId(member.getMemberId());
}
externalClerkRelatedService.insert(related);
}else{
if(member != null){
exsitDTO.setMemberId(member.getMemberId());
}
exsitDTO.setUnionid(unionId);
exsitDTO.setStoreId(storeId);
exsitDTO.setEnterpriseId(staffClerkRelationDTO.getEnterpriseId());
exsitDTO.setClerkId(staffClerkRelationDTO.getClerkId());
externalClerkRelatedService.update(exsitDTO);
}
}
private String insertMemberUnionIdRelated(MemberUnionidRelatedDTO dto) {
String wxUserId = dto.getWxUserId();
String wxEnterpriseId = dto.getWxEnterpriseId();
String name = dto.getExternalName();
String createTime = dto.getAddCreateTime();
if(StringUtils.isAnyBlank(wxUserId,wxEnterpriseId,name,createTime)){
log.info("【新增外部联系人】wxUserId={},wxEnterpriseId={},name={},createTime={}",wxUserId,wxEnterpriseId,name,createTime);
return "";
}
MemberUnionidRelatedDTO exsitDTO = memberUnionRelatedService.getByParams(wxUserId, wxEnterpriseId,name,createTime);
String uuid = "";
if(exsitDTO == null){
uuid = memberUnionRelatedService.addMemberUnionidRelated(dto);
}else{
//如果是自建更新uuid
exsitDTO.setSelfExternalUserid(dto.getSelfExternalUserid());
exsitDTO.setUnionid(dto.getUnionid());
//更新对外联系人id
exsitDTO.setExternalUserid(dto.getExternalUserid());
memberUnionRelatedService.update(exsitDTO);
uuid = exsitDTO.getMemberUnionidRelatedId();
}
return uuid;
}
private MemberUnionidRelatedDTO getMemberUnionidRelatedDTO(MemberUnionidRelatedDTO dto){
log.info("【新增外部联系人回调】dto={}",JSON.toJSONString(dto));
String corpId = dto.getCorpid();
TabHaobanWxEnterprise wxEnterprise = wxEnterpriseService.getEnterpriseBycorpId(corpId);
if(wxEnterprise == null){
return "";
return null;
}
String wxEnterpriseId = wxEnterprise.getWxEnterpriseId();
String userId = dto.getWxUserId();
TabHaobanStaff staff = staffService.selectByUserIdAndEnterpriseId(userId, wxEnterpriseId);
if(staff == null){
return "";
}
String suiteid = dto.getSuiteid();
String unionIdJson = "";
if(SELF_APP.equals(suiteid)){
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.CONTACT_CUSTOMER.getVal());
if (null == secretSetting) {
log.info("没有配置secret");
return "";
return null;
}
unionIdJson = qywxUserApiService.getCorpSelfExternalUseridInfo(dto.getCorpid(), secretSetting.getSecretVal(), dto.getExternalUserid());
}else{
......@@ -272,12 +379,11 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
if(StringUtils.isBlank(unionIdJson)){
log.info("【新增外部联系人回调】unionIdJson=null");
return "";
return null;
}
log.info("【新增外部联系人回调】unionIdJson={}",JSON.toJSONString(unionIdJson));
ExternalUserPojo pojo = getExternalUserPojo(unionIdJson,userId,wxEnterpriseId);
//String unionId = pojo.getUnionId();
String name = pojo.getName();
String createTime = pojo.getAddCreateTime();
......@@ -285,11 +391,9 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
RedisUtil.lock(key,2l);
dto.setWxEnterpriseId(wxEnterpriseId);
//dto.setUnionid(unionId);
dto.setExternalName(name);
dto.setAddCreateTime(createTime);
MemberUnionidRelatedDTO exsitDTO = memberUnionRelatedService.getByParams(dto.getWxUserId(), wxEnterpriseId,name,createTime);
String externalUserId = null;
String selfExternalUserId = null;
String unionId = null;
......@@ -299,136 +403,13 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}else{
externalUserId = dto.getExternalUserid();
}
String uuid = "";
if(exsitDTO == null){
dto.setSelfExternalUserid(selfExternalUserId);
dto.setExternalUserid(externalUserId);
dto.setUnionid(unionId);
uuid = memberUnionRelatedService.addMemberUnionidRelated(dto);
}else{
//如果是自建更新uuid
exsitDTO.setSelfExternalUserid(selfExternalUserId);
exsitDTO.setUnionid(unionId);
//更新对外联系人id
exsitDTO.setExternalUserid(externalUserId);
memberUnionRelatedService.update(exsitDTO);
uuid = exsitDTO.getMemberUnionidRelatedId();
}
String staffId = staff.getStaffId();
TabHaobanExternalClerkRelated tab = null;
//新增导购和外部联系人关系
if(SELF_APP.equals(suiteid)){
TabHaobanClerkMainStoreRelated r = clerkMainStoreRelatedService.selectByWxEnterpriseIdAndStoreId(staffId,wxEnterpriseId);
if(r == null){
log.info("【新增外部联系人】主门店为空");
return "";
}
tab = getExternalClerkRelatedSelf(pojo, wxEnterpriseId, staffId, uuid, userId, null,r.getStoreId());
}else{
tab = getExternalClerkRelated(pojo, wxEnterpriseId, staffId, uuid, userId, externalUserId);
}
if(tab != null){
if(StringUtils.isBlank(tab.getExternalClerkRelatedId())){
externalClerkRelatedService.insert(tab);
}else{
externalClerkRelatedService.update(tab);
}
}
return uuid;
dto.setUnionid(unionId);
dto.setSelfExternalUserid(selfExternalUserId);
dto.setExternalUserid(externalUserId);
return dto;
}
private TabHaobanExternalClerkRelated getExternalClerkRelated(ExternalUserPojo pojo, String wxEnterpriseId, String staffId, String memberUnionidRelatedId,
String userId, String externalUserid) {
String unionId = pojo.getUnionId();
String name = pojo.getName();
String createTime = pojo.getAddCreateTime();
String relaName = name;
TabHaobanExternalClerkRelated exsitDTO = externalClerkRelatedService.getByParams(userId, wxEnterpriseId,name,createTime);
if(exsitDTO == null){
TabHaobanExternalClerkRelated related = new TabHaobanExternalClerkRelated();
related.setAddCreateTime(createTime);
related.setExternalName(relaName);
related.setStaffId(staffId);
related.setMemberUnionidRelatedId(memberUnionidRelatedId);
related.setUnionid(unionId);
related.setWxEnterpriseId(wxEnterpriseId);
related.setWxUserId(userId);
related.setExternalUserId(externalUserid);
//externalClerkRelatedService.insert(related);
return related;
}else{
exsitDTO.setExternalUserId(externalUserid);
//externalClerkRelatedService.update(exsitDTO);
return exsitDTO;
}
}
private TabHaobanExternalClerkRelated getExternalClerkRelatedSelf(ExternalUserPojo pojo,String wxEnterpriseId,String staffId,String memberUnionidRelatedId,String userId,String externalUserId,String storeId){
MemberDTO member = null;
StoreDTO mainStore = null;
mainStore = storeService.getStore(storeId);
if(mainStore == null){
log.info("【新增外部联系人】门店为空");
return null;
}
StaffClerkRelationDTO staffClerkRelationDTO = staffClerkRelationService.getOneBindByStoreId(staffId,storeId);
if(staffClerkRelationDTO == null){
log.info("【新增外币联系人】导购和clerk关联为空");
return null;
}
String unionId = pojo.getUnionId();
String name = pojo.getName();
String createTime = pojo.getAddCreateTime();
String avatar = pojo.getAvatar();
String relaName = name;
String clerkCode = staffClerkRelationDTO.getClerkCode();
ClerkDTO clerk = clerkService.getClerkByClerkCode(mainStore.getEnterpriseId(), clerkCode);
log.info("【新增外部联系人】clerkCode={},unionid:{}",clerkCode,unionId);
if(clerk != null && StringUtils.isNotBlank(clerk.getQrcodeParam())&&StringUtils.isNotBlank(unionId)){
log.info("【新增外部联系人会员】enterpriseId={},unionId={},name={},avatar={},QrcodeParam={}",mainStore.getEnterpriseId(),unionId,name,avatar,clerk.getQrcodeParam());
member = memberOpenCardBusinessService.getMemberByQywxChannelParam(mainStore.getEnterpriseId(),unionId,"",relaName,avatar,clerk.getQrcodeParam());
}
log.info("【新增外部联系人】member={},clerk={}",JSON.toJSONString(member),JSON.toJSONString(clerk));
TabHaobanExternalClerkRelated exsitDTO = externalClerkRelatedService.getByParams(userId, wxEnterpriseId,name,createTime);
if(exsitDTO == null){
TabHaobanExternalClerkRelated related = new TabHaobanExternalClerkRelated();
related.setAddCreateTime(createTime);
related.setClerkId(staffClerkRelationDTO.getClerkId());
related.setEnterpriseId(staffClerkRelationDTO.getEnterpriseId());
related.setExternalName(relaName);
related.setExternalUserId(externalUserId);
related.setStaffId(staffId);
related.setMemberUnionidRelatedId(memberUnionidRelatedId);
related.setStoreId(storeId);
related.setUnionid(unionId);
related.setWxEnterpriseId(wxEnterpriseId);
related.setWxUserId(userId);
if(member != null){
related.setMemberId(member.getMemberId());
}
//externalClerkRelatedService.insert(related);
return related;
}else{
if(member != null){
exsitDTO.setMemberId(member.getMemberId());
}
exsitDTO.setUnionid(unionId);
exsitDTO.setStoreId(storeId);
exsitDTO.setEnterpriseId(staffClerkRelationDTO.getEnterpriseId());
exsitDTO.setClerkId(staffClerkRelationDTO.getClerkId());
//externalClerkRelatedService.update(exsitDTO);
return exsitDTO;
}
}
private ExternalUserPojo getExternalUserPojo(String unionIdJson,String userId1,String wxEnterpriseId) {
ExternalUserPojo pojo = new ExternalUserPojo();
String unionId = "";
......@@ -520,15 +501,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
//新增门店和导购的关联关系
String staffId = staff.getStaffId();
TabHaobanExternalClerkRelated tab = getExternalClerkRelatedSelf(pojo, wxEnterpriseId, staffId, uuid, userId, dto.getExternalUserid(),storeId);
if(tab != null){
if(StringUtils.isBlank(tab.getExternalClerkRelatedId())){
externalClerkRelatedService.insert(tab);
}else{
externalClerkRelatedService.update(tab);
}
}
insertExternalClerkRelated(dto);
return uuid;
}
......
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