Merge remote-tracking branch 'hs/dev/feat/partner1.3_20230828' into dev/feat/partner1.3_20230828

This commit is contained in:
zhangchenbiao
2023-08-18 17:19:29 +08:00
6 changed files with 49 additions and 5 deletions

View File

@@ -64,6 +64,8 @@ public enum ErrorCodeEnum {
LINE_STATUS_NOT_ALLOW_OPERATE(500010, "当前线索状态不允许该操作!", null),
TASK_STATUS_NOT_ALLOW_OPERATE(500011, "当前任务状态不允许该操作!", null),
DATELINE_BEFORE_NOW(500012, "截止时间不能早于当前时间!", null),
NO_TRANSFER_REQUIRED(500013, "招商经理现有私海线索无需转让,请检查后重试!", null),
NO_BATCH_TRANSFER_REQUIRED(500014, "已选线索包含此招商经理现有私海线索,无需转让,请检查后重试!", null),
PARTNER_MOBILE_EXIST(500010, "手机号码已存在,请核实!", null),
INTERVIEW_ENTER_FAIL(1021101, "进入面试间失败", null),

View File

@@ -205,4 +205,11 @@ public class HyPartnerLineInfoDAO {
return CollectionUtils.isEmpty(partnerList) ? null : partnerList.get(CommonConstants.ZERO);
}
public List<HyPartnerLineInfoDO> getHyPartnerLineInfoList( List<Long> lineIds,String investmentManager){
if (CollectionUtils.isEmpty(lineIds)){
return new ArrayList<>();
}
return hyPartnerLineInfoMapper.getHyPartnerLineInfoList(lineIds,investmentManager);
}
}

View File

@@ -234,4 +234,13 @@ public interface HyPartnerLineInfoMapper {
*/
List<PartnerSimpleInfoDTO> getPartnerSimpleInfoByLineIds(@Param("partnerLineIds") List<Long> partnerLineIds);
/**
* 根据线索ID与招商经理查询数据
* @param lineIds
* @param investmentManager
* @return
*/
List<HyPartnerLineInfoDO> getHyPartnerLineInfoList(@Param("lineIds") List<Long> lineIds,String investmentManager);
}

View File

@@ -685,4 +685,20 @@
a.id in <foreach collection="partnerLineIds" open="(" close=")" separator="," item="lineId">#{lineId}</foreach>
</select>
<select id="getHyPartnerLineInfoList" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"></include>
FROM hy_partner_line_info
<where>
<if test="lineIds!=null and lineIds.size>0">
<foreach collection="lineIds" item="lineId" open="and id in (" close=")" separator=",">
#{lineId}
</foreach>
</if>
<if test="investmentManager!=null and investmentManager!=''">
and investment_manager = #{investmentManager}
</if>
</where>
</select>
</mapper>

View File

@@ -170,6 +170,10 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
}
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(request.getLineId());
//如果招商经理是当前登录用户,则无需转让
if (request.getUserId().equals(hyPartnerLineInfoDO.getInvestmentManager())){
throw new ServiceException(ErrorCodeEnum.NO_TRANSFER_REQUIRED);
}
hyPartnerLineInfoDAO.updateInvestmentManager(request.getUserId(), Arrays.asList(request.getLineId()));
List<String> userIdList = new ArrayList<>();
@@ -213,6 +217,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
if (CollectionUtils.isEmpty(request.getLineIds())||StringUtils.isEmpty(request.getUserId())){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
}
List<HyPartnerLineInfoDO> hyPartnerLineInfoList = hyPartnerLineInfoDAO.getHyPartnerLineInfoList(request.getLineIds(), request.getUserId());
//如果选中的线索中有线索招商经理已经是被装让的招商经理,则不允许批量操作
if (CollectionUtils.isNotEmpty(hyPartnerLineInfoList)){
throw new ServiceException(ErrorCodeEnum.NO_BATCH_TRANSFER_REQUIRED);
}
for (Long lineId:request.getLineIds()) {
TransferInvestmentManagerRequest transferInvestmentManagerRequest = new TransferInvestmentManagerRequest();
transferInvestmentManagerRequest.setUserId(request.getUserId());

View File

@@ -80,8 +80,7 @@ public class LineHighSeasServiceImpl implements LineHighSeasService {
if (ObjectUtil.isNotNull(hyPartnerUserInfoDO)) {
throw new ServiceException(ErrorCodeEnum.PARTNER_MOBILE_EXIST);
}
add(request);
return Boolean.TRUE;
return add(request);
}
@@ -90,7 +89,8 @@ public class LineHighSeasServiceImpl implements LineHighSeasService {
*
* @param request
*/
public void add(AddLineRequest request) {
public boolean add(AddLineRequest request) {
Boolean flag =false;
String partnerId = UUIDUtils.get32UUID();
HyPartnerUserInfoDO resultUser = new HyPartnerUserInfoDO();
resultUser.setUsername(request.getPartnerName()).setMobile(request.getMobile()).setPartnerId(partnerId).setCreateTime(new Date()).setAcceptAdjustType(request.getAcceptAdjustType())
@@ -103,9 +103,10 @@ public class LineHighSeasServiceImpl implements LineHighSeasService {
//判断招商经理是否为空
if (StringUtil.isNotEmpty(request.getInvestmentManager())) {
resultLine.setInvestmentManager(request.getInvestmentManager()).setLineStatus(LineStatusEnum.PRIVATE_SEAS.getCode());
flag=true;
} else {
//是否分配跟进人
Boolean flag = hyPartnerLineInfoService.assignFollowUser(partnerId, request.getWantShopArea(), request.getAcceptAdjustType(), Boolean.TRUE);
flag = hyPartnerLineInfoService.assignFollowUser(partnerId, request.getWantShopArea(), request.getAcceptAdjustType(), Boolean.TRUE);
if (flag) {
//查询跟进人
String investmentManager = hyPartnerLineInfoService.getAssignFollowUser(partnerId, "intent");
@@ -121,7 +122,7 @@ public class LineHighSeasServiceImpl implements LineHighSeasService {
resultBase.setPartnerId(partnerId).setPartnerLineId(resultLine.getId()).setStatus(Integer.valueOf(WorkflowStatusEnum.INTENT_0.getCode())).
setCreateTime(new Date()).setUsername(request.getPartnerName()).setMobile(request.getMobile());
hyPartnerBaseInfoDAO.insertSelective(resultBase);
return flag;
}
@SneakyThrows