Commit 47d9eb0b by 墨竹

fix:多好办对应1gic,督导绑定修改

parent 418f8292
......@@ -72,6 +72,8 @@ public interface StaffClerkRelationApiService {
List<StaffClerkRelationDTO> listByClerkIds(List<String> clerkIds);
List<StaffClerkRelationDTO> listByClerkIdsEnterpriseId(List<String> clerkIds, String enterpriseId);
/**
* 导购列表
*
......
......@@ -62,10 +62,11 @@ public interface TabHaobanStaffClerkRelationMapper {
* @author mozhu
* @date 2022-01-13 11:36:11
*/
List<StaffClerkRelationDTO> listByClerkIds(@Param("clerkIds") List<String> clerkIds);
List<StaffClerkRelationDTO> listByClerkIds(@Param("clerkIds") List<String> clerkIds,
@Param("enterpriseId") String enterpriseId);
List<TabHaobanStaffClerkRelation> listByStoreId(@Param("storeId") String storeId);
TabHaobanStaffClerkRelation getOneByStoreIdAndStaffId(@Param("storeId") String storeId, @Param("staffId") String staffId);
/**
......@@ -75,8 +76,8 @@ public interface TabHaobanStaffClerkRelationMapper {
TabHaobanStaffClerkRelation getOneBindStoreId(@Param("staffId") String staffId, @Param("storeId") String storeId);
TabHaobanStaffClerkRelation getByClerkId(@Param("clerkId") String clerkId);
TabHaobanStaffClerkRelation getByClerkId(@Param("clerkId") String clerkId, @Param("enterpriseId") String enterpriseId);
int delByPrimaryKey(@Param("staffClerkRelationId") String staffClerkRelationId);
void delByClerkId(@Param("clerkId") String clerkId);
......@@ -140,7 +141,7 @@ public interface TabHaobanStaffClerkRelationMapper {
List<MemberStaffRelExtDO> listMemberStaffRelNew(
@Param("memberIdList") List<String> memberIdList,
@Param("clerkIdList") List<String> clerkIdList,
@Param("enterpriseId") String enterpriseId,@Param("wxEnterpriseId") String wxEnterpriseId);
@Param("enterpriseId") String enterpriseId, @Param("wxEnterpriseId") String wxEnterpriseId);
/**
* 根据导购查询wxuserid
......@@ -164,7 +165,7 @@ public interface TabHaobanStaffClerkRelationMapper {
* @date 2022-08-09 00:42:31
*/
List<String> listWxOpenUserIdByClerkIds(@Param("clerkIds") List<String> clerkIds,
@Param("wxEnterpriseId") String wxEnterpriseId);
@Param("wxEnterpriseId") String wxEnterpriseId);
/**
......@@ -192,8 +193,8 @@ public interface TabHaobanStaffClerkRelationMapper {
* @date 2022-08-16 14:35:28
*/
List<StaffClerkRelationDTO> listIdsByWxUserIds(@Param("wxUserIds") List<String> wxUserIds,
@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("enterpriseId") String enterpriseId);
@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("enterpriseId") String enterpriseId);
/**
* 更新联系我状态
......@@ -232,8 +233,8 @@ public interface TabHaobanStaffClerkRelationMapper {
* @date 2022-08-16 14:45:57
*/
List<StaffClerkRelationDTO> listIdsByNotInWxUserIds(@Param("wxUserIds") List<String> wxUserIds,
@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("enterpriseId") String enterpriseId);
@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("enterpriseId") String enterpriseId);
/**
* 通过职员id 查询职员id列表
......@@ -246,9 +247,9 @@ public interface TabHaobanStaffClerkRelationMapper {
*/
List<StaffClerkRelationDTO> listClerkIdConcatFlagByClerkIds(@Param("clerkIds") List<String> clerkIds,
@Param("wxEnterpriseId") String wxEnterpriseId);
void deleteByEnterpriseId(@Param("enterpriseId") String enterpriseId) ;
void deleteByEnterpriseId(@Param("enterpriseId") String enterpriseId);
/**
* 获取区经
......
......@@ -60,6 +60,8 @@ public interface StaffClerkRelationService {
StaffClerkRelationDTO getByClerkId(String clerkId);
StaffClerkRelationDTO getByClerkId(String clerkId,String enterpriseId);
List<StaffClerkRelationDTO> listByClerkIds(List<String> clerkList);
List<StaffClerkRelationDTO> listByStaffId(String wxEnterpriseId, String staffId);
......
......@@ -79,7 +79,7 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
@Override
public boolean delBind(String oldClerkId, String optStaffId, int channelCode, String newClerkId) {
TabHaobanStaffClerkRelation clerkRelation = mapper.getByClerkId(oldClerkId);
TabHaobanStaffClerkRelation clerkRelation = mapper.getByClerkId(oldClerkId,null);
if (null == clerkRelation) {
logger.info("老的绑定关联不存在,clerkId={}", oldClerkId);
return true;
......@@ -245,7 +245,13 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
@Override
public StaffClerkRelationDTO getByClerkId(String clerkId) {
return EntityUtil.changeEntityByJSON(StaffClerkRelationDTO.class, mapper.getByClerkId(clerkId));
return EntityUtil.changeEntityByJSON(StaffClerkRelationDTO.class, mapper.getByClerkId(clerkId,null));
}
@Override
public StaffClerkRelationDTO getByClerkId(String clerkId, String enterpriseId) {
TabHaobanStaffClerkRelation staffClerkRelation = mapper.getByClerkId(clerkId, enterpriseId);
return EntityUtil.changeEntityNew(StaffClerkRelationDTO.class,staffClerkRelation);
}
@Override
......@@ -253,7 +259,7 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
if (CollectionUtils.isEmpty(clerkList)) {
return Collections.EMPTY_LIST;
}
return mapper.listByClerkIds(clerkList);
return mapper.listByClerkIds(clerkList,null);
}
@Override
......
......@@ -421,7 +421,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
@Override
public boolean isFriends(String memberId, String clerkId, String enterpriseId) {
TabHaobanStaffClerkRelation staffClerkRelation = staffClerkRelationMapper.getByClerkId(clerkId);
TabHaobanStaffClerkRelation staffClerkRelation = staffClerkRelationMapper.getByClerkId(clerkId,null);
if (staffClerkRelation == null) {
return false;
}
......
......@@ -163,13 +163,22 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
@Override
public ServiceResponse bindStaffClerk(StaffClerkRelationDTO staffClerkRelationDTO, String optStaffId, int channelCode) {
logger.info("开始绑定clerk:{}", JSONObject.toJSONString(staffClerkRelationDTO));
String clerkId = staffClerkRelationDTO.getClerkId() ;
String wxEnterpriseId = staffClerkRelationDTO.getWxEnterpriseId() ;
String staffId = staffClerkRelationDTO.getStaffId() ;
StaffClerkRelationDTO relationDTO = staffClerkRelationService.getBindByClerkId(clerkId, wxEnterpriseId);
if (null != relationDTO) {
return ServiceResponse.failure("2", "已经被绑定,不能绑定");
String clerkId = staffClerkRelationDTO.getClerkId();
String wxEnterpriseId = staffClerkRelationDTO.getWxEnterpriseId();
String staffId = staffClerkRelationDTO.getStaffId();
Integer manageFlag = staffClerkRelationDTO.getManageFlag();
if (manageFlag != null && manageFlag == 1) {
ServiceResponse serviceResponse = getManageFlagBind(staffClerkRelationDTO);
if (!serviceResponse.isSuccess()) {
return serviceResponse;
}
} else {
StaffClerkRelationDTO relationDTO = staffClerkRelationService.getBindByClerkId(clerkId, wxEnterpriseId);
if (null != relationDTO) {
return ServiceResponse.failure("2", "已经被绑定,不能绑定");
}
}
AuditDTO auditDTO = auditApiService.findByBindRelatedIdAndAuditType(clerkId, AuditType.CLERK_BIND.getCode());
if (null != auditDTO) {
return ServiceResponse.failure("4", "该导购已经被被申请绑定,请审核处理后再绑定");
......@@ -185,13 +194,6 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
if (storeHasBind != null) {
return ServiceResponse.failure("3", "该导购已在该门店下有其它成员绑定");
}
Integer manageFlag = staffClerkRelationDTO.getManageFlag();
if (manageFlag != null && manageFlag == 1) {
ServiceResponse serviceResponse = getManageFlagBind(staffClerkRelationDTO);
if (!serviceResponse.isSuccess()) {
return serviceResponse;
}
}
String relationId = staffClerkRelationService.bind(staffClerkRelationDTO, optStaffId, channelCode);
return ServiceResponse.success(relationId);
}
......@@ -214,7 +216,15 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
if (CollectionUtil.isEmpty(clerkIds)) {
return Collections.emptyList();
}
return tabHaobanStaffClerkRelationMapper.listByClerkIds(clerkIds);
return tabHaobanStaffClerkRelationMapper.listByClerkIds(clerkIds, null);
}
@Override
public List<StaffClerkRelationDTO> listByClerkIdsEnterpriseId(List<String> clerkIds, String enterpriseId) {
if (CollectionUtil.isEmpty(clerkIds)) {
return Collections.emptyList();
}
return tabHaobanStaffClerkRelationMapper.listByClerkIds(clerkIds, enterpriseId);
}
@Override
......@@ -235,7 +245,7 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
@Override
public boolean unbindByStaffAndClerkId(String staffId, String clerkId, int channelCode) {
return staffClerkRelationService.delBind(clerkId, staffId, channelCode,null);
return staffClerkRelationService.delBind(clerkId, staffId, channelCode, null);
}
@Override
......@@ -253,7 +263,7 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
@Override
public StaffClerkRelationDTO getByClerkIdForWxUserId(String clerkId) {
return this.getByClerkId(clerkId) ;
return this.getByClerkId(clerkId);
}
@Override
......@@ -288,10 +298,17 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
private ServiceResponse getManageFlagBind(StaffClerkRelationDTO staffClerkRelation) {
boolean bindFlag = staffClerkRelationService.getBindByStaffIdAndEnterpriseId(staffClerkRelation.getEnterpriseId(), staffClerkRelation.getStaffId());
String enterpriseId = staffClerkRelation.getEnterpriseId();
String clerkId = staffClerkRelation.getClerkId();
String staffId = staffClerkRelation.getStaffId();
boolean bindFlag = staffClerkRelationService.getBindByStaffIdAndEnterpriseId(enterpriseId, staffId);
if (bindFlag) {
return ServiceResponse.failure("3", "该员工已经绑定,不允许绑定区经/督导");
}
StaffClerkRelationDTO staffClerkRelationDTO = staffClerkRelationService.getByClerkId(clerkId, enterpriseId);
if (staffClerkRelationDTO != null) {
return ServiceResponse.failure("3", "该导购已经被绑定,不允许绑定");
}
return ServiceResponse.success();
}
......@@ -449,25 +466,25 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
ClerkSyncQDTO clerkSyncQDTO = JSON.parseObject(param, ClerkSyncQDTO.class);
Integer type = clerkSyncQDTO.getType();
String clerkId = clerkSyncQDTO.getClerkId();
String oldClerkId = clerkSyncQDTO.getOldClerkId() ;
String clerkCode = clerkSyncQDTO.getClerkCode() ;
String oldClerkId = clerkSyncQDTO.getOldClerkId();
String clerkCode = clerkSyncQDTO.getClerkCode();
String enterpriseId = clerkSyncQDTO.getEnterpriseId();
ClerkDTO clerkDTO = clerkService.getClerkByClerkId(clerkId, -1);
if (clerkDTO == null) {
logger.error("导购为空,clerkId={}",clerkId);
logger.error("导购为空,clerkId={}", clerkId);
return;
}
if (type == 1) {
Integer status = clerkDTO.getStatus();
logger.info("导购删除,clerkId:{},status:{}", clerkId, status);
if (!status.equals(1)) {
staffClerkRelationService.delBind(clerkId, "-1", ChannelCodeEnum.GIC_CLERK_DEL_UNBIND.getCode(),null);
staffClerkRelationService.delBind(clerkId, "-1", ChannelCodeEnum.GIC_CLERK_DEL_UNBIND.getCode(), null);
}
} else if (type == 2) {
logger.info("导购门店转移,新的导购和门店,clerkId={},storeId={}", clerkId,clerkSyncQDTO.getStoreId());
logger.info("导购门店转移,新的导购和门店,clerkId={},storeId={}", clerkId, clerkSyncQDTO.getStoreId());
StaffClerkRelationDTO oldRelationDTO = staffClerkRelationService.getByClerkId(oldClerkId);
if (null == oldRelationDTO) {
logger.info("导购未关联成员,clerkCode={}",clerkCode);
logger.info("导购未关联成员,clerkCode={}", clerkCode);
return;
}
logger.info("导购门店转移,老的绑定导购id={}", oldRelationDTO.getClerkId());
......@@ -498,7 +515,7 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
} else if (clerkType == 2) {
logger.info("区经变更为导购,解绑:{}", clerkId);
//解绑
staffClerkRelationService.delBind(clerkId, "-1", ChannelCodeEnum.GIC_CLERK_DEL_UNBIND.getCode(),null);
staffClerkRelationService.delBind(clerkId, "-1", ChannelCodeEnum.GIC_CLERK_DEL_UNBIND.getCode(), null);
}
}
}
......@@ -506,8 +523,8 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
private void moveOrAddClerk(ClerkSyncQDTO clerkSyncQDTO, StaffClerkRelationDTO oldRelationDTO) {
//正常的时候
String oldClerkId = oldRelationDTO.getClerkId() ;
this.staffClerkRelationService.delBind(oldClerkId, "-1", ChannelCodeEnum.SYNC_UNBIND.getCode(),clerkSyncQDTO.getClerkId());
String oldClerkId = oldRelationDTO.getClerkId();
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());
......
......@@ -118,8 +118,7 @@
and status_flag = 1
</update>
<select id="listByClerkIds" resultType="com.gic.haoban.manage.api.dto.StaffClerkRelationDTO"
parameterType="java.lang.String">
<select id="listByClerkIds" resultType="com.gic.haoban.manage.api.dto.StaffClerkRelationDTO" parameterType="java.lang.String">
select
a.staff_clerk_relation_id staffClerkRelationId,
a.staff_id staffId,
......@@ -131,13 +130,14 @@
a.status_flag statusFlag,
a.manage_flag manageFlag
from tab_haoban_staff_clerk_relation a
left join tab_haoban_staff b on b.staff_id = a.staff_id
where a.status_flag=1
and a.clerk_id in
<foreach collection="clerkIds" item="id" index="index" open="(" close=")" separator=",">
#{id,jdbcType=VARCHAR}
</foreach>
group by a.staff_clerk_relation_id
<if test="enterpriseId != null and enterpriseId != ''">
and a.enterprise_id = #{enterpriseId}
</if>
</select>
<select id="listByStoreId" resultMap="BaseResultMap" parameterType="java.lang.String">
......@@ -185,7 +185,11 @@
<include refid="Base_Column_List"/>
from tab_haoban_staff_clerk_relation
where clerk_id = #{clerkId,jdbcType=VARCHAR}
and status_flag=1 order by create_time desc limit 1
and status_flag=1
<if test="enterpriseId != null and enterpriseId != ''">
and enterprise_id = #{enterpriseId}
</if>
order by create_time desc limit 1
</select>
<update id="delByPrimaryKey">
......
......@@ -267,7 +267,7 @@ public class StaffController extends WebBaseController {
}
}
if (dto.getManageFlag() != null && dto.getManageFlag() == 1) {
dto.setManageStoreCount(staffApiService.getCountHaoBanStoreIdsByClerkId(dto.getClerkId(),staff.getWxEnterpriseId()).getStoreCount());
dto.setManageStoreCount(staffApiService.getCountHaoBanStoreIdsByClerkId(dto.getClerkId(), staff.getWxEnterpriseId()).getStoreCount());
}
}
return resultResponse(HaoBanErrCode.ERR_1, retList);
......@@ -293,7 +293,7 @@ public class StaffController extends WebBaseController {
* @return
*/
@RequestMapping("search-clerk-relation")
public HaobanResponse staffClerkSearch(String search, Integer manageFlag) {
public HaobanResponse staffClerkSearch(String search, Integer manageFlag, String enterpriseId) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId();
if (null == wxEnterpriseId) {
......@@ -324,7 +324,12 @@ public class StaffController extends WebBaseController {
if (CollectionUtils.isNotEmpty(retList)) {
logger.info("导购数量={}", retList.size());
List<String> clerkIds = retList.stream().map(ClerkInfoVo::getClerkId).collect(Collectors.toList());
List<StaffClerkRelationDTO> dtos = staffClerkRelationApiService.listByClerkIds(clerkIds);
List<StaffClerkRelationDTO> dtos = new ArrayList<>();
if (manageFlag != null && manageFlag == 1) {
dtos = staffClerkRelationApiService.listByClerkIdsEnterpriseId(clerkIds, enterpriseId);
} else {
dtos = staffClerkRelationApiService.listByClerkIds(clerkIds);
}
if (CollectionUtils.isNotEmpty(dtos)) {
Map<String, StaffClerkRelationDTO> hasRelationClerkIds = dtos.stream().collect(Collectors.toMap(StaffClerkRelationDTO::getClerkId, mid -> mid));
retList.forEach(clerkInfoVo -> {
......
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