Commit 90c6f0d9 by 徐高华

导购转移

parent 078fffe6
......@@ -378,4 +378,7 @@ public interface TabHaobanExternalClerkRelatedMapper {
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
......@@ -83,4 +83,6 @@ public interface ExternalClerkRelatedService {
int getCountByMemberId(String memberId);
void updateClerkInfo(String staffId, String oldClerkId, String newClerkId);
}
......@@ -216,4 +216,15 @@ public interface HmQrcodeService {
* @date 2022-07-28 13:54:49
*/
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;
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.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.service.StoreService;
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.HmQrcodeQDTO;
......@@ -39,6 +43,10 @@ public class HmQrcodeServiceImpl implements HmQrcodeService {
private StaffApiService staffApiService;
@Autowired
private TabHaobanHmClerkRelationMapper tabHaobanHmClerkRelationMapper;
@Autowired
private ClerkService clerkService ;
@Autowired
private StoreService storeService ;
@Override
public HmQrcodeBO queryById(Long hmId) {
......@@ -203,4 +211,24 @@ public class HmQrcodeServiceImpl implements HmQrcodeService {
tabHaobanHmQrcodeMapper.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
public int getCountByMemberId(String 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
}
int i = mapper.changeStatusByClerkId(oldClerkId, 0);
String enterpriseId = clerkRelation.getEnterpriseId();
if(null != newClerkId) {
List<String> memberIds = externalClerkRelatedService.getByStoreIdAndStaffId(clerkRelation.getStoreId(), clerkRelation.getStaffId());
//删除 并设置主门店
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());
//废弃活码
hmClerkRelationApiService.delByClerkId(oldClerkId, enterpriseId, clerkRelation.getWxEnterpriseId(), channelCode, newClerkId);
delMemberQywxFlag(enterpriseId, memberIds);
return i > 0;
}
......
......@@ -162,6 +162,15 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
@Override
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));
String clerkId = staffClerkRelationDTO.getClerkId();
String wxEnterpriseId = staffClerkRelationDTO.getWxEnterpriseId();
......@@ -195,8 +204,7 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
if (storeHasBind != null) {
return ServiceResponse.failure("3", "该导购已在该门店下有其它成员绑定");
}
String relationId = staffClerkRelationService.bind(staffClerkRelationDTO, optStaffId, channelCode);
return ServiceResponse.success(relationId);
return null ;
}
@Override
......@@ -524,8 +532,11 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
this.staffClerkRelationService.delBind(oldClerkId, "-1", ChannelCodeEnum.SYNC_UNBIND.getCode(), clerkSyncQDTO.getClerkId());
oldRelationDTO.setClerkId(clerkSyncQDTO.getClerkId());
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());
if(response==null) {
this.staffClerkRelationService.insert(oldRelationDTO) ;
}
}
@Override
......
......@@ -42,20 +42,21 @@ public class HmClerkRelationApiServiceImpl implements HmClerkRelationApiService
@Override
public ServiceResponse delByClerkId(String clerkId, String enterpriseId, String wxEnterpriseId,
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);
logger.info("无多人活码,newClerkId={}",newClerkId);
if (CollectionUtils.isEmpty(hmClerkRelationList)) {
return ServiceResponse.success();
HmQrcodeBO hmQrcodeBO = hmQrcodeService.queryByClerkId(clerkId, wxEnterpriseId);
if(null != newClerkId) {
if(null != hmQrcodeBO) {
this.hmQrcodeService.updateClerkInfo(hmQrcodeBO.getHmId(),newClerkId) ;
}
if(StringUtils.isNotBlank(newClerkId)) {
if(CollectionUtils.isNotEmpty(hmClerkRelationList)) {
this.hmClerkRelationService.updateByClerkChangeStore(enterpriseId, clerkId ,newClerkId);
}
}else {
if (hmQrcodeBO != null) {
hmQrcodeApiService.delById(hmQrcodeBO.getHmId(), invokingType, null);
}
if(CollectionUtils.isNotEmpty(hmClerkRelationList)) {
for (HmClerkRelationBO item : hmClerkRelationList) {
Long hmId = item.getHmId();
List<String> clerkIds = hmClerkRelationService.getClerkIdByHmId(hmId);
......@@ -73,6 +74,7 @@ public class HmClerkRelationApiServiceImpl implements HmClerkRelationApiService
}
}
}
}
return ServiceResponse.success();
}
......
......@@ -712,4 +712,15 @@
member_id = #{memberId} and status_flag in (1,3,4)
</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>
\ 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