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

View File

@@ -205,4 +205,11 @@ public class HyPartnerLineInfoDAO {
return CollectionUtils.isEmpty(partnerList) ? null : partnerList.get(CommonConstants.ZERO); 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); 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> a.id in <foreach collection="partnerLineIds" open="(" close=")" separator="," item="lineId">#{lineId}</foreach>
</select> </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> </mapper>

View File

@@ -170,6 +170,10 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
} }
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(request.getLineId()); 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())); hyPartnerLineInfoDAO.updateInvestmentManager(request.getUserId(), Arrays.asList(request.getLineId()));
List<String> userIdList = new ArrayList<>(); List<String> userIdList = new ArrayList<>();
@@ -213,6 +217,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
if (CollectionUtils.isEmpty(request.getLineIds())||StringUtils.isEmpty(request.getUserId())){ if (CollectionUtils.isEmpty(request.getLineIds())||StringUtils.isEmpty(request.getUserId())){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); 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()) { for (Long lineId:request.getLineIds()) {
TransferInvestmentManagerRequest transferInvestmentManagerRequest = new TransferInvestmentManagerRequest(); TransferInvestmentManagerRequest transferInvestmentManagerRequest = new TransferInvestmentManagerRequest();
transferInvestmentManagerRequest.setUserId(request.getUserId()); transferInvestmentManagerRequest.setUserId(request.getUserId());

View File

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