Commit 90c6f0d9 by 徐高华

导购转移

parent 078fffe6
...@@ -377,5 +377,8 @@ public interface TabHaobanExternalClerkRelatedMapper { ...@@ -377,5 +377,8 @@ public interface TabHaobanExternalClerkRelatedMapper {
@Param("statusFlags") List<Integer> statusFlags); @Param("statusFlags") List<Integer> statusFlags);
int getCountByMemberId(@Param("memberId") String memberId); int getCountByMemberId(@Param("memberId") String memberId);
void updateClerkInfo(@Param("staffId")String staffId, @Param("oldClerkId")String oldClerkId, @Param("newClerkId")String newClerkId, @Param("storeId")String storeId);
} }
\ No newline at end of file
...@@ -82,5 +82,7 @@ public interface ExternalClerkRelatedService { ...@@ -82,5 +82,7 @@ public interface ExternalClerkRelatedService {
int getCountByMemberId(String memberId); int getCountByMemberId(String memberId);
void updateClerkInfo(String staffId, String oldClerkId, String newClerkId);
} }
...@@ -216,4 +216,15 @@ public interface HmQrcodeService { ...@@ -216,4 +216,15 @@ public interface HmQrcodeService {
* @date 2022-07-28 13:54:49 * @date 2022-07-28 13:54:49
*/ */
void updateStoreNameByStoreId(String enterpriseId,String storeId,String storeName, String storeCode); void updateStoreNameByStoreId(String enterpriseId,String storeId,String storeName, String storeCode);
/**
*
* @Title: updateClerkInfo
* @Description: 导购门店转移,更新导购信息
* @author xugh
* @param hmId
* @param newClerkId
* @throws
*/
void updateClerkInfo(Long hmId,String newClerkId);
} }
package com.gic.haoban.manage.service.service.hm.impl; package com.gic.haoban.manage.service.service.hm.impl;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.service.StoreService;
import com.gic.haoban.common.utils.PageUtil; import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.dto.qdto.hm.HmQrcodeListQDTO; import com.gic.haoban.manage.api.dto.qdto.hm.HmQrcodeListQDTO;
import com.gic.haoban.manage.api.dto.qdto.hm.HmQrcodeQDTO; import com.gic.haoban.manage.api.dto.qdto.hm.HmQrcodeQDTO;
...@@ -39,6 +43,10 @@ public class HmQrcodeServiceImpl implements HmQrcodeService { ...@@ -39,6 +43,10 @@ public class HmQrcodeServiceImpl implements HmQrcodeService {
private StaffApiService staffApiService; private StaffApiService staffApiService;
@Autowired @Autowired
private TabHaobanHmClerkRelationMapper tabHaobanHmClerkRelationMapper; private TabHaobanHmClerkRelationMapper tabHaobanHmClerkRelationMapper;
@Autowired
private ClerkService clerkService ;
@Autowired
private StoreService storeService ;
@Override @Override
public HmQrcodeBO queryById(Long hmId) { public HmQrcodeBO queryById(Long hmId) {
...@@ -203,4 +211,24 @@ public class HmQrcodeServiceImpl implements HmQrcodeService { ...@@ -203,4 +211,24 @@ public class HmQrcodeServiceImpl implements HmQrcodeService {
tabHaobanHmQrcodeMapper.updateStoreNameByStoreId(enterpriseId,storeId, storeName, storeCode); tabHaobanHmQrcodeMapper.updateStoreNameByStoreId(enterpriseId,storeId, storeName, storeCode);
tabHaobanHmClerkRelationMapper.updateStoreNameByStoreId(enterpriseId,storeId, storeName, storeCode); tabHaobanHmClerkRelationMapper.updateStoreNameByStoreId(enterpriseId,storeId, storeName, storeCode);
} }
@Override
public void updateClerkInfo(Long hmId, String newClerkId) {
TabHaobanHmQrcode entity = new TabHaobanHmQrcode() ;
entity.setHmId(hmId);
ClerkDTO newClerk = this.clerkService.getclerkById(newClerkId) ;
String clerkCode = newClerk.getClerkCode();
String clerkName = newClerk.getClerkName() ;
String storeId = newClerk.getStoreId();
StoreDTO newStore = this.storeService.getStore(storeId) ;
String storeCode = newStore.getStoreCode();
String storeName = newStore.getStoreName() ;
entity.setClerkId(newClerkId);
entity.setClerkCode(clerkCode);
entity.setClerkName(clerkName);
entity.setStoreId(storeId);
entity.setStoreName(storeName);
entity.setStoreCode(storeCode);
this.tabHaobanHmQrcodeMapper.update(entity) ;
}
} }
...@@ -504,4 +504,10 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ ...@@ -504,4 +504,10 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
public int getCountByMemberId(String memberId) { public int getCountByMemberId(String memberId) {
return mapper.getCountByMemberId(memberId); return mapper.getCountByMemberId(memberId);
} }
@Override
public void updateClerkInfo(String staffId, String oldClerkId, String newClerkId) {
ClerkDTO clerk = this.clerkService.getclerkById(newClerkId);
this.mapper.updateClerkInfo(staffId,oldClerkId , newClerkId , clerk.getStoreId());
}
} }
...@@ -86,15 +86,19 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService ...@@ -86,15 +86,19 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
} }
int i = mapper.changeStatusByClerkId(oldClerkId, 0); int i = mapper.changeStatusByClerkId(oldClerkId, 0);
String enterpriseId = clerkRelation.getEnterpriseId(); String enterpriseId = clerkRelation.getEnterpriseId();
List<String> memberIds = externalClerkRelatedService.getByStoreIdAndStaffId(clerkRelation.getStoreId(), clerkRelation.getStaffId()); if(null != newClerkId) {
//删除 并设置主门店 List<String> memberIds = externalClerkRelatedService.getByStoreIdAndStaffId(clerkRelation.getStoreId(), clerkRelation.getStaffId());
clerkMainStoreRelatedService.delMainStore(clerkRelation.getStaffId(), clerkRelation.getStoreId(), clerkRelation.getWxEnterpriseId()); //删除 并设置主门店
//推入日志 clerkMainStoreRelatedService.delMainStore(clerkRelation.getStaffId(), clerkRelation.getStoreId(), clerkRelation.getWxEnterpriseId());
//推入日志
delMemberQywxFlag(enterpriseId, memberIds);
}else {
//
this.externalClerkRelatedService.updateClerkInfo(clerkRelation.getStaffId() , oldClerkId , newClerkId) ;
}
staffClerkBindLogService.pushToMq(clerkRelation.getStaffId(), optStaffId, BindTypeEnum.UNBIND.getVal(), channelCode, clerkRelation.getStaffClerkRelationId()); staffClerkBindLogService.pushToMq(clerkRelation.getStaffId(), optStaffId, BindTypeEnum.UNBIND.getVal(), channelCode, clerkRelation.getStaffClerkRelationId());
//废弃活码 //废弃活码
hmClerkRelationApiService.delByClerkId(oldClerkId, enterpriseId, clerkRelation.getWxEnterpriseId(), channelCode, newClerkId); hmClerkRelationApiService.delByClerkId(oldClerkId, enterpriseId, clerkRelation.getWxEnterpriseId(), channelCode, newClerkId);
delMemberQywxFlag(enterpriseId, memberIds);
return i > 0; return i > 0;
} }
......
...@@ -162,6 +162,15 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe ...@@ -162,6 +162,15 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
@Override @Override
public ServiceResponse bindStaffClerk(StaffClerkRelationDTO staffClerkRelationDTO, String optStaffId, int channelCode) { public ServiceResponse bindStaffClerk(StaffClerkRelationDTO staffClerkRelationDTO, String optStaffId, int channelCode) {
ServiceResponse resp = this.bindCheck(staffClerkRelationDTO, optStaffId, channelCode) ;
if(null != resp) {
return resp ;
}
String relationId = staffClerkRelationService.bind(staffClerkRelationDTO, optStaffId, channelCode);
return ServiceResponse.success(relationId);
}
private ServiceResponse bindCheck(StaffClerkRelationDTO staffClerkRelationDTO, String optStaffId, int channelCode) {
logger.info("开始绑定clerk:{}", JSONObject.toJSONString(staffClerkRelationDTO)); logger.info("开始绑定clerk:{}", JSONObject.toJSONString(staffClerkRelationDTO));
String clerkId = staffClerkRelationDTO.getClerkId(); String clerkId = staffClerkRelationDTO.getClerkId();
String wxEnterpriseId = staffClerkRelationDTO.getWxEnterpriseId(); String wxEnterpriseId = staffClerkRelationDTO.getWxEnterpriseId();
...@@ -195,8 +204,7 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe ...@@ -195,8 +204,7 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
if (storeHasBind != null) { if (storeHasBind != null) {
return ServiceResponse.failure("3", "该导购已在该门店下有其它成员绑定"); return ServiceResponse.failure("3", "该导购已在该门店下有其它成员绑定");
} }
String relationId = staffClerkRelationService.bind(staffClerkRelationDTO, optStaffId, channelCode); return null ;
return ServiceResponse.success(relationId);
} }
@Override @Override
...@@ -524,8 +532,11 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe ...@@ -524,8 +532,11 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
this.staffClerkRelationService.delBind(oldClerkId, "-1", ChannelCodeEnum.SYNC_UNBIND.getCode(), clerkSyncQDTO.getClerkId()); this.staffClerkRelationService.delBind(oldClerkId, "-1", ChannelCodeEnum.SYNC_UNBIND.getCode(), clerkSyncQDTO.getClerkId());
oldRelationDTO.setClerkId(clerkSyncQDTO.getClerkId()); oldRelationDTO.setClerkId(clerkSyncQDTO.getClerkId());
oldRelationDTO.setStoreId(clerkSyncQDTO.getStoreId()); oldRelationDTO.setStoreId(clerkSyncQDTO.getStoreId());
ServiceResponse response = this.bindStaffClerk(oldRelationDTO, "-1", ChannelCodeEnum.SYNC_BIND.getCode()); ServiceResponse response = this.bindCheck(oldRelationDTO, "-1", ChannelCodeEnum.SYNC_BIND.getCode()) ;// this.bindStaffClerk(oldRelationDTO, "-1", ChannelCodeEnum.SYNC_BIND.getCode());
logger.info("绑定结果正常:{},{}", JSONObject.toJSONString(response), oldRelationDTO.getClerkId()); logger.info("绑定结果正常:{},{}", JSONObject.toJSONString(response), oldRelationDTO.getClerkId());
if(response==null) {
this.staffClerkRelationService.insert(oldRelationDTO) ;
}
} }
@Override @Override
......
...@@ -42,34 +42,36 @@ public class HmClerkRelationApiServiceImpl implements HmClerkRelationApiService ...@@ -42,34 +42,36 @@ public class HmClerkRelationApiServiceImpl implements HmClerkRelationApiService
@Override @Override
public ServiceResponse delByClerkId(String clerkId, String enterpriseId, String wxEnterpriseId, public ServiceResponse delByClerkId(String clerkId, String enterpriseId, String wxEnterpriseId,
Integer invokingType, String newClerkId) { Integer invokingType, String newClerkId) {
// 单人活码 直接废弃,多人活码,更新
HmQrcodeBO hmQrcodeBO = hmQrcodeService.queryByClerkId(clerkId, wxEnterpriseId);
if (hmQrcodeBO != null) {
hmQrcodeApiService.delById(hmQrcodeBO.getHmId(), invokingType, null);
}
// 多人活码逻辑
List<HmClerkRelationBO> hmClerkRelationList = hmClerkRelationService.queryByClerkId(clerkId, enterpriseId); List<HmClerkRelationBO> hmClerkRelationList = hmClerkRelationService.queryByClerkId(clerkId, enterpriseId);
logger.info("无多人活码,newClerkId={}",newClerkId); logger.info("无多人活码,newClerkId={}",newClerkId);
if (CollectionUtils.isEmpty(hmClerkRelationList)) { HmQrcodeBO hmQrcodeBO = hmQrcodeService.queryByClerkId(clerkId, wxEnterpriseId);
return ServiceResponse.success(); if(null != newClerkId) {
} if(null != hmQrcodeBO) {
if(StringUtils.isNotBlank(newClerkId)) { this.hmQrcodeService.updateClerkInfo(hmQrcodeBO.getHmId(),newClerkId) ;
this.hmClerkRelationService.updateByClerkChangeStore(enterpriseId, clerkId ,newClerkId); }
if(CollectionUtils.isNotEmpty(hmClerkRelationList)) {
this.hmClerkRelationService.updateByClerkChangeStore(enterpriseId, clerkId ,newClerkId);
}
}else { }else {
for (HmClerkRelationBO item : hmClerkRelationList) { if (hmQrcodeBO != null) {
Long hmId = item.getHmId(); hmQrcodeApiService.delById(hmQrcodeBO.getHmId(), invokingType, null);
List<String> clerkIds = hmClerkRelationService.getClerkIdByHmId(hmId); }
hmClerkRelationService.updateStatusById(0, item.getRelationId()); if(CollectionUtils.isNotEmpty(hmClerkRelationList)) {
clerkIds.remove(clerkId); for (HmClerkRelationBO item : hmClerkRelationList) {
if (CollectionUtils.isNotEmpty(clerkIds)) { Long hmId = item.getHmId();
// 更新活码 List<String> clerkIds = hmClerkRelationService.getClerkIdByHmId(hmId);
HmQrcodeQDTO hmQrcodeQDTO = new HmQrcodeQDTO(); hmClerkRelationService.updateStatusById(0, item.getRelationId());
hmQrcodeQDTO.setHmId(hmId); clerkIds.remove(clerkId);
hmQrcodeQDTO.setClerkIdList(clerkIds); if (CollectionUtils.isNotEmpty(clerkIds)) {
hmQrcodeQDTO.setWxEnterpriseId(wxEnterpriseId); // 更新活码
hmQrcodeApiService.update(hmQrcodeQDTO); HmQrcodeQDTO hmQrcodeQDTO = new HmQrcodeQDTO();
} else { hmQrcodeQDTO.setHmId(hmId);
hmQrcodeApiService.delById(hmId, invokingType, null); hmQrcodeQDTO.setClerkIdList(clerkIds);
hmQrcodeQDTO.setWxEnterpriseId(wxEnterpriseId);
hmQrcodeApiService.update(hmQrcodeQDTO);
} else {
hmQrcodeApiService.delById(hmId, invokingType, null);
}
} }
} }
} }
......
...@@ -711,5 +711,16 @@ ...@@ -711,5 +711,16 @@
where where
member_id = #{memberId} and status_flag in (1,3,4) member_id = #{memberId} and status_flag in (1,3,4)
</select> </select>
<update id="updateClerkInfo">
UPDATE
tab_haoban_external_clerk_related
SET clerk_id = #{newClerkId},
store_id = #{storeId},
update_time = now()
where staff_id = #{staffId}
and clerk_id = #{oldClerkId}
and status_flag in (1,3,4)
</update>
</mapper> </mapper>
\ No newline at end of file
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