Commit 42a30290 by 徐高华

导购绑定好友调整

parent 0394a026
......@@ -55,7 +55,11 @@ public class ClerkMainStoreRelatedServiceImpl implements ClerkMainStoreRelatedSe
logger.info("区经无需设置主门店:{}", staffId);
return;
}
TabHaobanStaff staff = staffService.selectById(staffId);
if (staff == null) {
logger.info("员工不存在:{}", staffId);
return;
}
String uuId = com.gic.haoban.common.utils.StringUtil.randomUUID();
Date now = new Date();
TabHaobanClerkMainStoreRelated t = new TabHaobanClerkMainStoreRelated();
......@@ -68,14 +72,12 @@ public class ClerkMainStoreRelatedServiceImpl implements ClerkMainStoreRelatedSe
t.setFreshFriendFlag(1);
t.setClerkMainStoreRelatedId(uuId);
mapper.insert(t);
logger.info("切换主门店-刷新企业微信好友:{},{}", staffId, storeId);
//主门店切换需要刷新企业微信好友
TabHaobanStaff staff = staffService.selectById(staffId);
if (staff == null) {
logger.info("员工不存在:{}", staffId);
return;
}
// 主门店切换需要刷新企业微信好友
// 判断是否需要刷新好友,如果只关联一个门店
List<StaffClerkRelationDTO> staffRelatioClerkList = staffClerkRelationService.listByStaffId(wxEnterpriseId, staffId) ;
boolean needFlag = CollectionUtils.isNotEmpty(staffRelatioClerkList) && staffRelatioClerkList.size()==1 && staffRelatioClerkList.get(0).getStoreId().equalsIgnoreCase(storeId) ;
if(needFlag) {
String taskName = "自动刷新企业微信好友(" + staff.getStaffName() + ")";
String taskId = dealSyncOperationApiService.createWxFriendTaskSingle(wxEnterpriseId, taskName, staffId, staff.getStaffName(), SyncTaskTypeEnum.FRIEND_SINGLE.getType());
if (StringUtils.isBlank(taskId)) {
......@@ -83,17 +85,13 @@ public class ClerkMainStoreRelatedServiceImpl implements ClerkMainStoreRelatedSe
return;
}
dealSyncOperationApiService.dealWxFriendClerkSingle(taskId, staffId, staffId, wxEnterpriseId);
logger.info("任务id:{}", taskId);
logger.info("开始自动刷新好友任务id={},staffId={}", taskId,staffId);
}
}
@Override
public TabHaobanClerkMainStoreRelated getMainStoreByStaffId(String staffId, String wxEnterpriseId) {
TabHaobanClerkMainStoreRelated mainStoreRelated = mapper.selectByWxEnterpriseIdAndStoreId(staffId, wxEnterpriseId, null);
if (null != mainStoreRelated) {
return mainStoreRelated;
}
return setStaffMainStore(staffId, wxEnterpriseId, null);
return this.getMainStoreByStaffId(staffId, wxEnterpriseId,null);
}
@Override
......
package com.gic.haoban.manage.service.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page;
import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService;
......@@ -19,6 +18,7 @@ import com.gic.haoban.manage.api.service.hm.HmQrcodeApiService;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanMemberClerkChatConfigMapper;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanStaffClerkRelationMapper;
import com.gic.haoban.manage.service.entity.MemberClerkChatConfig;
import com.gic.haoban.manage.service.entity.TabHaobanClerkMainStoreRelated;
import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation;
import com.gic.haoban.manage.service.service.*;
......@@ -38,7 +38,7 @@ import java.util.stream.Collectors;
@Service
public class StaffClerkRelationServiceImpl implements StaffClerkRelationService {
private static final Logger logger = LoggerFactory.getLogger(StaffClerkRelationServiceImpl.class);
private static final Logger logger = LoggerFactory.getLogger(StaffClerkRelationService.class);
@Autowired
private TabHaobanStaffClerkRelationMapper mapper;
......@@ -80,32 +80,64 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
return this.filterDelClerkList(mapper.listBindCodeByStaffId(enterpriseIdList, staffId));
}
/*
* 导购进行解绑/换导购,更新好友和导购关联关系
*/
@Override
public boolean delBind(String oldClerkId, String optStaffId, int channelCode, String newClerkId, String wxEnterpriseId) {
boolean changeClerkFlag = StringUtils.isNotEmpty(newClerkId) ;
logger.info("导购解绑/换导购={},oldClerkId={},optStaffId={}",changeClerkFlag,oldClerkId,optStaffId);
if(StringUtils.isNotEmpty(optStaffId) && "-1".equals(optStaffId)) {
TabHaobanStaff staff = this.staffService.selectById(optStaffId) ;
if(null != staff) {
wxEnterpriseId = staff.getWxEnterpriseId() ;
}
}
// wxEnterpriseId非必传
StaffClerkRelationDTO clerkRelation = mapper.getOneByClerkId(oldClerkId, wxEnterpriseId);
if (null == clerkRelation) {
logger.info("老的绑定关联不存在,clerkId={}", oldClerkId);
return true;
}
int i = mapper.changeStatusByClerkId(oldClerkId, 0);
wxEnterpriseId = clerkRelation.getWxEnterpriseId() ;
String enterpriseId = clerkRelation.getEnterpriseId();
String staffId = clerkRelation.getStaffId() ;
String storeId = clerkRelation.getStoreId() ;
// 删除老的绑定关系
int count = mapper.changeStatusByClerkId(oldClerkId, 0);
logger.info("删除导购关联,clerkId={}",oldClerkId);
if(StringUtils.isEmpty(newClerkId)) {
// 查询主门店
List<StaffClerkRelationDTO> relationList = this.listByStaffId(wxEnterpriseId, staffId) ;
if(CollectionUtils.isNotEmpty(relationList)) {
List<String> storeIdList = relationList.stream().filter(o->storeId.equals(o.getStoreId())).map(o->o.getStoreId()).collect(Collectors.toList()) ;
if(CollectionUtils.isNotEmpty(storeIdList)) {
TabHaobanClerkMainStoreRelated mainStore = this.clerkMainStoreRelatedService.getMainStoreByStaffId(staffId, wxEnterpriseId, storeIdList) ;
String newStoreId = mainStore.getStoreId() ;
StaffClerkRelationDTO mainClerk = this.getOneBindByStoreId(staffId, newStoreId) ;
newClerkId = mainClerk.getClerkId() ;
logger.info("查询到成员的主门店导购={},{}",staffId,newClerkId);
}
}
}
if(StringUtils.isNotBlank(newClerkId)) {
this.externalClerkRelatedService.updateClerkInfo(clerkRelation.getStaffId() , oldClerkId , newClerkId) ;
this.externalClerkRelatedService.updateClerkInfo(staffId , oldClerkId , newClerkId) ;
}else {
List<String> memberIds = externalClerkRelatedService.getByStoreIdAndStaffId(clerkRelation.getStoreId(), clerkRelation.getStaffId());
logger.info("成员删除所有关联导购={}",staffId);
List<String> memberIds = externalClerkRelatedService.getByStoreIdAndStaffId(storeId, staffId);
//删除 并设置主门店
clerkMainStoreRelatedService.delMainStore(clerkRelation.getStaffId(), clerkRelation.getStoreId(), clerkRelation.getWxEnterpriseId());
clerkMainStoreRelatedService.delMainStore(staffId, storeId, wxEnterpriseId);
//推入日志
delMemberQywxFlag(enterpriseId, memberIds);
}
staffClerkBindLogService.pushToMq(clerkRelation.getStaffId(), optStaffId, BindTypeEnum.UNBIND.getVal(), channelCode, clerkRelation.getStaffClerkRelationId());
this.staffClerkBindLogService.pushToMq(staffId, optStaffId, BindTypeEnum.UNBIND.getVal(), channelCode, clerkRelation.getStaffClerkRelationId());
// 如果不是导购更换ID
if(!changeClerkFlag) {
newClerkId = null ;
}
//废弃活码
hmClerkRelationApiService.delByClerkId(oldClerkId, enterpriseId, clerkRelation.getWxEnterpriseId(), channelCode, newClerkId);
return i > 0;
this.hmClerkRelationApiService.delByClerkId(oldClerkId, enterpriseId, wxEnterpriseId, channelCode, newClerkId);
return count > 0;
}
......
......@@ -721,11 +721,15 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}else {
log.info("更新好友表");
TabHaobanExternalClerkRelated exsitDTO = externalList.get(0);
exsitDTO.setMemberId(memberId);
exsitDTO.setMemberUnionidRelatedId(memberUnionidRelatedId);
exsitDTO.setUnionid(unionId);
exsitDTO.setRelationKey(relationKey);
exsitDTO.setHeadUrl(avatar);
if(null != memberId) {
exsitDTO.setMemberId(memberId);
}
if(null != unionId) {
exsitDTO.setUnionid(unionId);
}
if(StringUtils.isEmpty(exsitDTO.getStoreId())) {
exsitDTO.setStoreId(storeId);
}
......@@ -733,7 +737,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
exsitDTO.setClerkId(clerkId);
}
exsitDTO.setEnterpriseId(enterpriseId);
if(StringUtils.isNotBlank(memberId) && exsitDTO.getStatusFlag() != 1) {
if(StringUtils.isNotBlank(exsitDTO.getMemberId()) && exsitDTO.getStatusFlag() != 1) {
exsitDTO.setStatusFlag(1);
}
this.externalClerkRelatedService.update(exsitDTO);
......
......@@ -540,11 +540,11 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
// 导购门店转移
private void moveOrAddClerk(ClerkSyncQDTO clerkSyncQDTO, StaffClerkRelationDTO oldRelationDTO) {
boolean flag = false;
/* boolean flag = false;
if (null != RedisUtil.getCache("clerkMoveFlag2022")) {
flag = true;
}
if (flag) {
if (flag) {*/
String oldClerkId = oldRelationDTO.getClerkId();
this.staffClerkRelationService.delBind(oldClerkId, "-1", ChannelCodeEnum.SYNC_UNBIND.getCode(), clerkSyncQDTO.getClerkId(),oldRelationDTO.getWxEnterpriseId());
// 设置新的ID
......@@ -555,15 +555,15 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
if (response == null) {
this.staffClerkRelationService.insert(oldRelationDTO);
}
} else {
/*} else {
String oldClerkId = oldRelationDTO.getClerkId();
this.staffClerkRelationService.delBind(oldClerkId, "-1", ChannelCodeEnum.SYNC_UNBIND.getCode(), null,null);
// 设置新的ID
oldRelationDTO.setClerkId(clerkSyncQDTO.getClerkId());
oldRelationDTO.setStoreId(clerkSyncQDTO.getStoreId());
ServiceResponse resp = this.bindStaffClerk(oldRelationDTO, "-1", ChannelCodeEnum.SYNC_BIND.getCode());
logger.info("绑定结果正常:{},{}", JSONObject.toJSONString(resp), oldRelationDTO.getClerkId());
}
logger.info("绑定结果正常:{},{}", JSONObject.toJSONString(resp), oldRelationDTO.getClerkId());*/
// }
}
@Override
......
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