From 53eb52227a4c0edcfe94e780cad89364fb0d6a22 Mon Sep 17 00:00:00 2001 From: "xiaodong.hu" <1075471126@qq.com> Date: Mon, 13 Nov 2023 10:41:15 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=85=AC=E6=B5=B7?= =?UTF-8?q?=E7=A7=81=E6=B5=B7=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/enums/PageTurnTypeEnum.java | 23 ++ .../cool/store/dao/HyPartnerLineInfoDAO.java | 18 +- .../store/mapper/HyPartnerLineInfoMapper.java | 53 ++- .../mapper/HyPartnerIntentInfoMapper.xml | 19 +- .../mapper/HyPartnerInterviewPlanMapper.xml | 18 + .../mapper/HyPartnerLineInfoMapper.xml | 219 +++++++++- .../PartnerLineInfoAndBaseInfoDTO.java | 3 + .../store/dto/partner/PrivateSeaLineDTO.java | 2 + .../store/entity/HyPartnerIntentInfoDO.java | 3 + .../com/cool/store/request/LineRequest.java | 9 + .../request/PartnerIntentInfoRequest.java | 3 + .../request/PrivateSeaLineListRequest.java | 23 ++ .../com/cool/store/vo/LinePageInfoVo.java | 22 + .../cool/store/vo/PartnerIntentInfoVO.java | 3 + .../vo/PartnerLineInfoAndBaseInfoVO.java | 3 + .../cool/store/vo/PrivateSeaLineListVo.java | 3 + .../service/HyPartnerLineInfoService.java | 5 + .../impl/HyPartnerIntentInfoServiceImpl.java | 5 + .../impl/HyPartnerLineInfoServiceImpl.java | 382 ++++++++++-------- .../cool/store/controller/DeskController.java | 19 + 20 files changed, 657 insertions(+), 178 deletions(-) create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/PageTurnTypeEnum.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/vo/LinePageInfoVo.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/PageTurnTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/PageTurnTypeEnum.java new file mode 100644 index 000000000..5341a25b5 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/PageTurnTypeEnum.java @@ -0,0 +1,23 @@ +package com.cool.store.enums; + + +public enum PageTurnTypeEnum { + + PREVIOUS("previous"), + NEXT("next"); + + public String getText() { + return text; + } + + public void setText(String text) { + this.text = text; + } + + private String text; + + PageTurnTypeEnum(String text) { + this.text = text; + } + +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java index b334b8542..2dcd07adb 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java @@ -5,6 +5,7 @@ import com.cool.store.constants.CommonConstants; import com.cool.store.dto.partner.*; import com.cool.store.entity.HyPartnerLineInfoDO; import com.cool.store.mapper.HyPartnerLineInfoMapper; +import com.cool.store.vo.LinePageInfoVo; import com.google.common.collect.Lists; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.ListUtils; @@ -137,10 +138,10 @@ public class HyPartnerLineInfoDAO { String intentAreaName, Integer acceptAdjustType, String storeKeyword, String storeKeywordType, List userIdList, List developmentManagerList,List userPortraitIdList,List userChannelIdList, String updateStartTime, String updateEndTime ,String partnerName,String partnerMobile,String investmentManagerId,String userPortraitQueryType - ,String intentAreaQueryType,String lineStartTime,String lineEndTime,String userChannelQueryType){ + ,String intentAreaQueryType,String lineStartTime,String lineEndTime,String userChannelQueryType,String sortField,String sortOrder){ return hyPartnerLineInfoMapper.getPrivateSeaLineList( keyword, keywordType, workflowStage, workflowStatus, deadlineStart, deadlineEnd, intentAreaName, acceptAdjustType, storeKeyword, storeKeywordType, userIdList,developmentManagerList,userPortraitIdList,userChannelIdList, updateStartTime, updateEndTime - ,partnerName,partnerMobile,investmentManagerId,userPortraitQueryType,intentAreaQueryType,lineStartTime,lineEndTime,userChannelQueryType); + ,partnerName,partnerMobile,investmentManagerId,userPortraitQueryType,intentAreaQueryType,lineStartTime,lineEndTime,userChannelQueryType,sortField,sortOrder); } @@ -211,5 +212,18 @@ public class HyPartnerLineInfoDAO { } return hyPartnerLineInfoMapper.getHyPartnerLineInfoList(lineIds,investmentManager); } + public LinePageInfoVo getPublicSeaPageInfoNext(Long lineId, String userNameKeyword, String phoneKeyword, String intentAreaName, Integer acceptAdjustType, String updateStartTime, String updateEndTime, List userIdList, String createStartTime, String createEndTime,String pageTurn){ + return hyPartnerLineInfoMapper.getPublicSeaPageInfoNext(lineId,userNameKeyword,phoneKeyword,intentAreaName,acceptAdjustType,updateStartTime,updateEndTime,userIdList, createStartTime, createEndTime,pageTurn); + } + + public List getPrivateSeaPageInfoNext(Long lineId,String keyword, String keywordType, String workflowStage, String workflowStatus, String deadlineStart, String deadlineEnd, + String intentAreaName, Integer acceptAdjustType, String storeKeyword, String storeKeywordType, List userIdList, + List developmentManagerList,List userPortraitIdList,List userChannelIdList, String updateStartTime, String updateEndTime + ,String partnerName,String partnerMobile,String investmentManagerId,String userPortraitQueryType + ,String intentAreaQueryType,String lineStartTime,String lineEndTime,String userChannelQueryType,String sortField,String sortOrder,Integer limit1,Integer limit2){ + return hyPartnerLineInfoMapper.getPrivateSeaPageInfoNext(lineId,keyword, keywordType, workflowStage, workflowStatus, deadlineStart, deadlineEnd, + intentAreaName, acceptAdjustType, storeKeyword, storeKeywordType, userIdList,developmentManagerList,userPortraitIdList,userChannelIdList, updateStartTime, updateEndTime + ,partnerName,partnerMobile,investmentManagerId,userPortraitQueryType,intentAreaQueryType,lineStartTime,lineEndTime,userChannelQueryType,sortField,sortOrder,limit1,limit2); + } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java index 1f2453282..cd1acb64c 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java @@ -5,6 +5,7 @@ import com.cool.store.dto.partner.PartnerBlackListDTO; import com.cool.store.dto.partner.PartnerLineInfoAndBaseInfoDTO; import com.cool.store.dto.partner.StageCountDTO; import com.cool.store.entity.HyPartnerLineInfoDO; +import com.cool.store.vo.LinePageInfoVo; import org.apache.ibatis.annotations.Param; import java.util.Date; @@ -189,7 +190,9 @@ public interface HyPartnerLineInfoMapper { @Param("intentAreaQueryType") String intentAreaQueryType, @Param("lineStartTime") String lineStartTime, @Param("lineEndTime") String lineEndTime, - @Param("userChannelQueryType") String userChannelQueryType); + @Param("userChannelQueryType") String userChannelQueryType, + @Param("sortField") String sortField, + @Param("sortOrder") String sortOrder); /** @@ -262,4 +265,52 @@ public interface HyPartnerLineInfoMapper { * @return 线索转让次数 */ Integer getTransferTimes(@Param("lineId") Long partnerLineId); + + + /** + * + * @return + */ + List getPrivateSeaPageInfoNext(@Param("lineId") Long lineId,@Param("keyword") String keyword, + @Param("keywordType") String keywordType, + @Param("workflowStage") String workflowStage, + @Param("workflowStatus") String workflowStatus, + @Param("deadlineStart") String deadlineStart, + @Param("deadlineEnd") String deadlineEnd, + @Param("intentAreaName") String intentAreaName, + @Param("acceptAdjustType") Integer acceptAdjustType, + @Param("storeKeyword") String storeKeyword, + @Param("storeKeywordType") String storeKeywordType, + @Param("userIdList") List userIdList, + @Param("developmentManagerList") List developmentManagerList, + @Param("userPortraitIdList") List userPortraitIdList, + @Param("userChannelIdList") List userChannelIdList, + @Param("updateStartTime") String updateStartTime, + @Param("updateEndTime") String updateEndTime, + @Param("partnerName") String partnerName, + @Param("partnerMobile") String partnerMobile, + @Param("investmentManagerId") String investmentManagerId, + @Param("userPortraitQueryType") String userPortraitQueryType, + @Param("intentAreaQueryType") String intentAreaQueryType, + @Param("lineStartTime") String lineStartTime, + @Param("lineEndTime") String lineEndTime, + @Param("userChannelQueryType") String userChannelQueryType, + @Param("sortField") String sortField, + @Param("sortOrder") String sortOrder, + @Param("limit1") Integer limit1, + @Param("limit2") Integer limit2 + ); + + LinePageInfoVo getPublicSeaPageInfoNext(@Param("lineId") Long lineId,@Param("userNameKeyword") String userNameKeyword, + @Param("phoneKeyword") String phoneKeyword, + @Param("intentAreaName") String intentAreaName, + @Param("acceptAdjustType") Integer acceptAdjustType, + @Param("updateStartTime") String updateStartTime, + @Param("updateEndTime") String updateEndTime, + @Param("userIdList") List userIdList, + @Param("createStartTime") String createStartTime, + @Param("createEndTime") String createEndTime, + @Param("pageTurn") String pageTurn + ); + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerIntentInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerIntentInfoMapper.xml index 5cbedfa80..fb2ef946e 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerIntentInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerIntentInfoMapper.xml @@ -13,6 +13,7 @@ + @@ -35,7 +36,7 @@ id, partner_id, partner_line_id, live_area, want_shop_area, accept_adjust_type, is_have_want_shop, want_shop_info, max_budget, money_source, money_prove, education, work_year, is_have_work_exp, - work_exp, is_consumer, other_band, brand_strength, need_improve, strength, weakness, + work_exp, is_consumer, other_band, brand_strength, need_improve, strength, weakness,credit_prove, create_time, update_time,detailed_address,email ,acquaintance_flag,acquaintance_name,acquaintance_relationship_type,other_relationship_type @@ -428,6 +438,9 @@ money_prove = #{record.moneyProve}, + + credit_prove = #{record.creditProve}, + education = #{record.education}, diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewPlanMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewPlanMapper.xml index b6d12c7bf..8845dac30 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewPlanMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewPlanMapper.xml @@ -335,6 +335,24 @@ and hpli.investment_manager = #{userId} + + order by hpli.create_time + + + order by hpli.update_time + + + order by hpli.create_time + + + order by hpli.update_time + + + order by hpli.create_time + + + order by hpli.update_time + @@ -787,5 +817,190 @@ and partner_line_id = #{lineId} -- and deleted = 0 + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/PartnerLineInfoAndBaseInfoDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/PartnerLineInfoAndBaseInfoDTO.java index e9f9b6b8e..6b6259fa2 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/PartnerLineInfoAndBaseInfoDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/PartnerLineInfoAndBaseInfoDTO.java @@ -71,6 +71,9 @@ public class PartnerLineInfoAndBaseInfoDTO { @ApiModelProperty("意向开店区域") private String wantShopArea; + @ApiModelProperty("EC意向开店区域") + private String ecWantShopArea; + @ApiModelProperty("意向开店区域名称") private String wantShopAreaName; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/PrivateSeaLineDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/PrivateSeaLineDTO.java index e9e7f83e2..7f1797d8a 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/PrivateSeaLineDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/PrivateSeaLineDTO.java @@ -83,4 +83,6 @@ public class PrivateSeaLineDTO { private String ecWantShopArea; + private String allotTime; + } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerIntentInfoDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerIntentInfoDO.java index cf6ae8651..6e50ea613 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerIntentInfoDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerIntentInfoDO.java @@ -105,6 +105,9 @@ public class HyPartnerIntentInfoDO implements Serializable { @ApiModelProperty("邮箱地址") private String email; + @ApiModelProperty("征信证明") + private String creditProve; + private Integer acquaintanceFlag; private String acquaintanceName; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/LineRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/LineRequest.java index 00326d61f..7dfe7979e 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/LineRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/LineRequest.java @@ -41,6 +41,15 @@ public class LineRequest extends PageInfoRequest{ @ApiModelProperty("创建结束时间") private String createEndTime; + @ApiModelProperty("线索id") + private Long lineId; + + + /** + * pageTurn: previous(上一页) next(下一页) + */ + @ApiModelProperty("排序顺序") + private String pageTurn; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerIntentInfoRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerIntentInfoRequest.java index 87a603404..adaad2a43 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerIntentInfoRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerIntentInfoRequest.java @@ -54,6 +54,9 @@ public class PartnerIntentInfoRequest { @ApiModelProperty("资金证明") private List moneyProve; + @ApiModelProperty("征信证明") + private List creditProve; + @ApiModelProperty("学历") private String education; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/PrivateSeaLineListRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/PrivateSeaLineListRequest.java index 81b9e74f4..64490145c 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/PrivateSeaLineListRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/PrivateSeaLineListRequest.java @@ -80,5 +80,28 @@ public class PrivateSeaLineListRequest extends PageInfoRequest { @ApiModelProperty("创建时间_结束") private String lineEndTime; + @ApiModelProperty("线索id") + private Long lineId; + + /** + * deadline 截至时间 + * updateTime 更新时间 + * allotTime 分配时间 + */ + @ApiModelProperty("排序字段") + private String sortField; + + /** + * sortOrder: descend(降序) ascend(升序) + */ + @ApiModelProperty("排序顺序") + private String sortOrder; + + /** + * pageTurn: previous(上一页) next(下一页) + */ + @ApiModelProperty("排序顺序") + private String pageTurn; + } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/LinePageInfoVo.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/LinePageInfoVo.java new file mode 100644 index 000000000..6cee107ae --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/LinePageInfoVo.java @@ -0,0 +1,22 @@ +package com.cool.store.vo; + + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; + +/** + * @Author hxd + */ +@Data +@ApiModel +@Slf4j +public class LinePageInfoVo { + + @ApiModelProperty("线索ID") + private Long lineId; + + @ApiModelProperty("加盟商用户ID") + private String partnerId; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerIntentInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerIntentInfoVO.java index 5f8965dcc..52d1fba2a 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerIntentInfoVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerIntentInfoVO.java @@ -66,6 +66,9 @@ public class PartnerIntentInfoVO { @ApiModelProperty("资金证明") private List moneyProve; + @ApiModelProperty("征信证明") + private List creditProve; + @ApiModelProperty("学历") private String education; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerLineInfoAndBaseInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerLineInfoAndBaseInfoVO.java index a62494424..e84e1a590 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerLineInfoAndBaseInfoVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerLineInfoAndBaseInfoVO.java @@ -106,4 +106,7 @@ public class PartnerLineInfoAndBaseInfoVO { private String developmentDirectorName; @ApiModelProperty("开发主管手机号") private String developmentDirectorMobile; + + @ApiModelProperty("EC意向开店区域名称") + private String ecWantShopAreaName; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PrivateSeaLineListVo.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PrivateSeaLineListVo.java index e81f37b4f..043c09f4b 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PrivateSeaLineListVo.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PrivateSeaLineListVo.java @@ -96,6 +96,8 @@ public class PrivateSeaLineListVo { private Date startTime; + private String allotTime; + private String investmentManagerMobile; @ApiModelProperty("用户画像") @@ -136,6 +138,7 @@ public class PrivateSeaLineListVo { privateSeaLineListVo.setRecommendPartnerName(x.getRecommendPartnerName()); privateSeaLineListVo.setRecommendPartnerMobile(x.getRecommendPartnerMobile()); privateSeaLineListVo.setWorkflowStage(x.getWorkflowStage()); + privateSeaLineListVo.setAllotTime(x.getAllotTime()); privateSeaLineListVo.setWantShopArea(x.getWantShopArea()); privateSeaLineListVo.setWorkflowStage(x.getWorkflowStage()); privateSeaLineListVo.setStartTime(hyPartnerInterviewPlanDOMap.getOrDefault(x.getLineId(),new HyPartnerInterviewPlanDO()).getStartTime()); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java index a4ca3c46e..1528c4c22 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java @@ -176,4 +176,9 @@ public interface HyPartnerLineInfoService { * @return */ PartnerSimpleBaseInfoVO queryBaseInfo(Long partnerLineId); + + LinePageInfoVo privateSeaPageDetailNext(String userId, PrivateSeaLineListRequest privateSeaLineListRequest, Boolean aFalse); + + LinePageInfoVo publicSeaPageDetailNext(String userId, LineRequest lineRequest); + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java index b242f7d31..d355eaf99 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java @@ -475,6 +475,9 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic if(CollectionUtils.isNotEmpty(request.getMoneyProve())){ intentInfoDO.setMoneyProve(JSONObject.toJSONString(request.getMoneyProve())); } + if(CollectionUtils.isNotEmpty(request.getCreditProve())){ + intentInfoDO.setCreditProve(JSONObject.toJSONString(request.getCreditProve())); + } intentInfoDO.setEducation(request.getEducation()); intentInfoDO.setWorkYear(request.getWorkYear()); intentInfoDO.setIsHaveWorkExp(request.getIsHaveWorkExp()); @@ -510,6 +513,8 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic partnerIntentInfoVO.setIsHaveWorkExp(hyPartnerIntentInfoDO.getIsHaveWorkExp()); partnerIntentInfoVO.setMoneyProve(StringUtil.isEmpty(hyPartnerIntentInfoDO.getMoneyProve())? Lists.newArrayList(): JSONObject.parseArray(hyPartnerIntentInfoDO.getMoneyProve(),String.class)); + partnerIntentInfoVO.setCreditProve(StringUtil.isEmpty(hyPartnerIntentInfoDO.getCreditProve())? + Lists.newArrayList(): JSONObject.parseArray(hyPartnerIntentInfoDO.getCreditProve(),String.class)); partnerIntentInfoVO.setMoneySource(hyPartnerIntentInfoDO.getMoneySource()); partnerIntentInfoVO.setWorkYear(hyPartnerIntentInfoDO.getWorkYear()); partnerIntentInfoVO.setWorkExp(hyPartnerIntentInfoDO.getWorkExp()); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java index fc2781e21..76af43a01 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java @@ -37,6 +37,7 @@ import javax.annotation.Resource; import java.text.MessageFormat; import java.util.*; import java.util.stream.Collectors; +import java.util.stream.Stream; /** * @Author suzhuhong @@ -84,7 +85,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { @Resource HyPartnerUserChannelDAO hyPartnerUserChannelDAO; -// @Autowired + // @Autowired // private NoticeService noticeService; @Autowired private EventCenterHttpRequest eventCenterHttpRequest; @@ -101,6 +102,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { @Autowired private WechatMiniAppService wechatMiniAppService; + @Override public StageCountVO selectStagePendingCount(String userId) { StageCountDTO stageCountDTO = hyPartnerLineInfoDAO.selectStagePendingCount(userId); @@ -116,13 +118,13 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { @Override public PartnerLineInfoAndBaseInfoVO selectPartnerLineInfoAndBaseInfo(Long lineId) { PartnerLineInfoAndBaseInfoDTO partnerLineInfoAndBaseInfoDTO = hyPartnerLineInfoDAO.selectPartnerLineInfoAndBaseInfo(lineId); - if (partnerLineInfoAndBaseInfoDTO==null){ + if (partnerLineInfoAndBaseInfoDTO == null) { throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST); } PartnerLineInfoAndBaseInfoVO partnerLineInfoAndBaseInfoVO = convertPartnerLineInfoAndBaseInfoDTOToVo(partnerLineInfoAndBaseInfoDTO); String userPortrait = partnerLineInfoAndBaseInfoDTO.getUserPortrait(); - if (StringUtils.isNotEmpty(userPortrait)){ + if (StringUtils.isNotEmpty(userPortrait)) { Map userPortraitMap = labelService.getUserPortraitMap(Arrays.asList(userPortrait)); List userPortraitDTOS = userPortraitMap.entrySet().stream() @@ -132,42 +134,42 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { } List userIds = new ArrayList<>(); - if (StringUtils.isNotEmpty(partnerLineInfoAndBaseInfoDTO.getPassUserId())){ + if (StringUtils.isNotEmpty(partnerLineInfoAndBaseInfoDTO.getPassUserId())) { userIds.add(partnerLineInfoAndBaseInfoDTO.getPassUserId()); } - if (StringUtils.isNotEmpty(partnerLineInfoAndBaseInfoVO.getInvestmentManager())){ + if (StringUtils.isNotEmpty(partnerLineInfoAndBaseInfoVO.getInvestmentManager())) { userIds.add(partnerLineInfoAndBaseInfoVO.getInvestmentManager()); } - if (StringUtils.isNotEmpty(partnerLineInfoAndBaseInfoVO.getDevelopmentDirector())){ + if (StringUtils.isNotEmpty(partnerLineInfoAndBaseInfoVO.getDevelopmentDirector())) { userIds.add(partnerLineInfoAndBaseInfoVO.getDevelopmentDirector()); } List userList = enterpriseUserDAO.getUserInfoByUserIds(userIds); Map userDOMap = userList.stream().collect(Collectors.toMap(EnterpriseUserDO::getUserId, data -> data)); - partnerLineInfoAndBaseInfoVO.setPassUserName(userDOMap.getOrDefault(partnerLineInfoAndBaseInfoVO.getPassUserId(),new EnterpriseUserDO()).getName()); - partnerLineInfoAndBaseInfoVO.setPassUserMobile(userDOMap.getOrDefault(partnerLineInfoAndBaseInfoVO.getPassUserId(),new EnterpriseUserDO()).getMobile()); - partnerLineInfoAndBaseInfoVO.setInvestmentManagerName(userDOMap.getOrDefault(partnerLineInfoAndBaseInfoVO.getInvestmentManager(),new EnterpriseUserDO()).getName()); - partnerLineInfoAndBaseInfoVO.setInvestmentManagerPhone(userDOMap.getOrDefault(partnerLineInfoAndBaseInfoVO.getInvestmentManager(),new EnterpriseUserDO()).getMobile()); - partnerLineInfoAndBaseInfoVO.setDevelopmentDirectorName(userDOMap.getOrDefault(partnerLineInfoAndBaseInfoVO.getDevelopmentDirector(),new EnterpriseUserDO()).getName()); - partnerLineInfoAndBaseInfoVO.setDevelopmentDirectorMobile(userDOMap.getOrDefault(partnerLineInfoAndBaseInfoVO.getDevelopmentDirector(),new EnterpriseUserDO()).getMobile()); - if (StringUtils.isNotEmpty(partnerLineInfoAndBaseInfoDTO.getWantShopArea())){ - HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(partnerLineInfoAndBaseInfoDTO.getWantShopArea())); - partnerLineInfoAndBaseInfoVO.setWantShopAreaName(hyOpenAreaInfoDO.getAreaPath().replace("/"," ")); + partnerLineInfoAndBaseInfoVO.setPassUserName(userDOMap.getOrDefault(partnerLineInfoAndBaseInfoVO.getPassUserId(), new EnterpriseUserDO()).getName()); + partnerLineInfoAndBaseInfoVO.setPassUserMobile(userDOMap.getOrDefault(partnerLineInfoAndBaseInfoVO.getPassUserId(), new EnterpriseUserDO()).getMobile()); + partnerLineInfoAndBaseInfoVO.setInvestmentManagerName(userDOMap.getOrDefault(partnerLineInfoAndBaseInfoVO.getInvestmentManager(), new EnterpriseUserDO()).getName()); + partnerLineInfoAndBaseInfoVO.setInvestmentManagerPhone(userDOMap.getOrDefault(partnerLineInfoAndBaseInfoVO.getInvestmentManager(), new EnterpriseUserDO()).getMobile()); + partnerLineInfoAndBaseInfoVO.setDevelopmentDirectorName(userDOMap.getOrDefault(partnerLineInfoAndBaseInfoVO.getDevelopmentDirector(), new EnterpriseUserDO()).getName()); + partnerLineInfoAndBaseInfoVO.setDevelopmentDirectorMobile(userDOMap.getOrDefault(partnerLineInfoAndBaseInfoVO.getDevelopmentDirector(), new EnterpriseUserDO()).getMobile()); + if (StringUtils.isNotEmpty(partnerLineInfoAndBaseInfoDTO.getWantShopArea())) { + HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(partnerLineInfoAndBaseInfoDTO.getWantShopArea())); + partnerLineInfoAndBaseInfoVO.setWantShopAreaName(hyOpenAreaInfoDO.getAreaPath().replace("/", " ")); } return partnerLineInfoAndBaseInfoVO; } @Override public PageInfo lastMonthCloseLine(String userId, Integer pageSize, Integer pageNumber) { - PageHelper.startPage(pageNumber,pageSize); - String lastMonthTodayDate = DateUtil.format(CoolDateUtils.getDateBefore(new Date(),-30), CoolDateUtils.DATE_FORMAT_SEC); + PageHelper.startPage(pageNumber, pageSize); + String lastMonthTodayDate = DateUtil.format(CoolDateUtils.getDateBefore(new Date(), -30), CoolDateUtils.DATE_FORMAT_SEC); PageInfo hyPartnerLineInfoDOPageInfo = new PageInfo(hyPartnerLineInfoDAO.lastMonthCloseLine(userId, lastMonthTodayDate)); List list = hyPartnerLineInfoDOPageInfo.getList(); List closeUserIds = list.stream().filter(o -> Objects.nonNull(o.getCloseUserId())).map(HyPartnerLineInfoDO::getCloseUserId).distinct().collect(Collectors.toList()); Map userNamePhoneMap = enterpriseUserDAO.getUserNameAndMobile(closeUserIds); List partnerIdList = list.stream().map(HyPartnerLineInfoDO::getPartnerId).collect(Collectors.toList()); List hyPartnerList = hyPartnerUserInfoDAO.selectByPartnerIds(partnerIdList); - Map partnerMap = hyPartnerList.stream().collect(Collectors.toMap(HyPartnerUserInfoDO::getPartnerId, data->data)); + Map partnerMap = hyPartnerList.stream().collect(Collectors.toMap(HyPartnerUserInfoDO::getPartnerId, data -> data)); List resultList = PartnerLineInfoVO.convertList(list, userNamePhoneMap, partnerMap); hyPartnerLineInfoDOPageInfo.setList(resultList); return hyPartnerLineInfoDOPageInfo; @@ -175,22 +177,22 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { @Override @Transactional - public Boolean transferInvestmentManager(LoginUserInfo user, TransferInvestmentManagerRequest request,Boolean sendFlag) throws ApiException { - if (StringUtil.isBlank(request.getUserId())||request.getLineId()==null){ + public Boolean transferInvestmentManager(LoginUserInfo user, TransferInvestmentManagerRequest request, Boolean sendFlag) throws ApiException { + if (StringUtil.isBlank(request.getUserId()) || request.getLineId() == null) { throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); } HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(request.getLineId()); //如果招商经理是当前登录用户,则无需转让 - if (request.getUserId().equals(hyPartnerLineInfoDO.getInvestmentManager())){ + if (request.getUserId().equals(hyPartnerLineInfoDO.getInvestmentManager())) { throw new ServiceException(ErrorCodeEnum.NO_TRANSFER_REQUIRED); } //校验 合格资格面试阶段 面试状态已开始 不允许转让 - if(WorkflowStageEnum.INTERVIEW.getCode().equals(hyPartnerLineInfoDO.getWorkflowStage())&&WorkflowStatusEnum.INTERVIEW_3.getCode().equals(hyPartnerLineInfoDO.getWorkflowStatus())){ - throw new ServiceException(ErrorCodeEnum.INTERVIEW_STATUS_NOT_TRANSFER,WorkflowStatusEnum.INTERVIEW_3.getMessage()); + if (WorkflowStageEnum.INTERVIEW.getCode().equals(hyPartnerLineInfoDO.getWorkflowStage()) && WorkflowStatusEnum.INTERVIEW_3.getCode().equals(hyPartnerLineInfoDO.getWorkflowStatus())) { + throw new ServiceException(ErrorCodeEnum.INTERVIEW_STATUS_NOT_TRANSFER, WorkflowStatusEnum.INTERVIEW_3.getMessage()); } List userIdList = new ArrayList<>(); userIdList.add(request.getUserId()); - if (StringUtils.isNotEmpty(hyPartnerLineInfoDO.getInvestmentManager())){ + if (StringUtils.isNotEmpty(hyPartnerLineInfoDO.getInvestmentManager())) { userIdList.add(hyPartnerLineInfoDO.getInvestmentManager()); } List userList = enterpriseUserDAO.getUserInfoByUserIds(userIdList); @@ -198,9 +200,9 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { //更新面试官(预约面试全阶段和合作资格面试待面试阶段都需要变更面试官) //待预约状态及之前还未生成面试信息,因此不做变更面试官操作 - if ( (WorkflowStageEnum.INTERVIEW.getCode().equals(hyPartnerLineInfoDO.getWorkflowStage()) && WorkflowStatusEnum.INTERVIEW_2.getCode().equals(hyPartnerLineInfoDO.getWorkflowStatus())) - || (WorkflowStageEnum.RESERVATION.getCode().equals(hyPartnerLineInfoDO.getWorkflowStage())) && !WorkflowStatusEnum.RESERVATION_0.getCode().equals(hyPartnerLineInfoDO.getWorkflowStatus())) { - workFlowService.transferInvestmentManager(WorkflowStageEnum.getWorkflowStageByCode(hyPartnerLineInfoDO.getWorkflowStage()),request); + if ((WorkflowStageEnum.INTERVIEW.getCode().equals(hyPartnerLineInfoDO.getWorkflowStage()) && WorkflowStatusEnum.INTERVIEW_2.getCode().equals(hyPartnerLineInfoDO.getWorkflowStatus())) + || (WorkflowStageEnum.RESERVATION.getCode().equals(hyPartnerLineInfoDO.getWorkflowStage())) && !WorkflowStatusEnum.RESERVATION_0.getCode().equals(hyPartnerLineInfoDO.getWorkflowStatus())) { + workFlowService.transferInvestmentManager(WorkflowStageEnum.getWorkflowStageByCode(hyPartnerLineInfoDO.getWorkflowStage()), request); } //转让招商经理 hyPartnerLineInfoDAO.updateInvestmentManager(request.getUserId(), Arrays.asList(request.getLineId())); @@ -210,15 +212,15 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { Map feishuUserIdsByUserIds = enterpriseUserDAO.getFeishuUserIdsByUserIds(userIds); List feishuUserIds = new ArrayList<>(feishuUserIdsByUserIds.values()); //发送飞书工作通知 - if (sendFlag){ - eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.TRANS_INVESTMENT_MANAGER,feishuUserIds,dateTime,hyPartnerUserInfoDO.getUsername(),hyPartnerUserInfoDO.getMobile()); + if (sendFlag) { + eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.TRANS_INVESTMENT_MANAGER, feishuUserIds, dateTime, hyPartnerUserInfoDO.getUsername(), hyPartnerUserInfoDO.getMobile()); } //如果是面试预约待审批阶段还要发送面试预约申请通知 if (WorkflowStageEnum.RESERVATION.getCode().equals(hyPartnerLineInfoDO.getWorkflowStage()) && WorkflowStatusEnum.RESERVATION_1.getCode().equals(hyPartnerLineInfoDO.getWorkflowStatus())) { HyPartnerInterviewPlanDO interviewPlanByLine = hyPartnerInterviewPlanDAO.getInterviewPlanByLineId(request.getLineId()); - if (interviewPlanByLine!=null && interviewPlanByLine.getStartTime()!=null ){ + if (interviewPlanByLine != null && interviewPlanByLine.getStartTime() != null) { String startTime = DateUtil.format(interviewPlanByLine.getStartTime(), CoolDateUtils.DATE_FORMAT_SEC_7); - eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.INTERVIEW_APPOINTMENT, feishuUserIds, hyPartnerUserInfoDO.getUsername(), hyPartnerUserInfoDO.getMobile(),startTime); + eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.INTERVIEW_APPOINTMENT, feishuUserIds, hyPartnerUserInfoDO.getUsername(), hyPartnerUserInfoDO.getMobile(), startTime); } } @@ -231,10 +233,10 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { WorkflowStageEnum.getWorkflowStageByCode(hyPartnerLineInfoDO.getWorkflowStage()), hyPartnerLineInfoDO.getWorkflowStatus(), ""); TransferInvestmentManagerLogDTO logDTO = TransferInvestmentManagerLogDTO.builder().operateUserId(user.getUserId()).operateUsername(user.getName()) - .beforeInvestmentManagerUsername(userDOMap.getOrDefault(hyPartnerLineInfoDO.getInvestmentManager(),new EnterpriseUserDO()).getName()) - .beforeInvestmentManagerMobile(userDOMap.getOrDefault(hyPartnerLineInfoDO.getInvestmentManager(),new EnterpriseUserDO()).getMobile()) - .afterInvestmentManagerMobile(userDOMap.getOrDefault(request.getUserId(),new EnterpriseUserDO()).getMobile()) - .afterInvestmentManagerUsername(userDOMap.getOrDefault(request.getUserId(),new EnterpriseUserDO()).getName()) + .beforeInvestmentManagerUsername(userDOMap.getOrDefault(hyPartnerLineInfoDO.getInvestmentManager(), new EnterpriseUserDO()).getName()) + .beforeInvestmentManagerMobile(userDOMap.getOrDefault(hyPartnerLineInfoDO.getInvestmentManager(), new EnterpriseUserDO()).getMobile()) + .afterInvestmentManagerMobile(userDOMap.getOrDefault(request.getUserId(), new EnterpriseUserDO()).getMobile()) + .afterInvestmentManagerUsername(userDOMap.getOrDefault(request.getUserId(), new EnterpriseUserDO()).getName()) .mobile(user.getMobile()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC_2)).build(); lineLogInfo.setData(logDTO); hyPartnerTaskInfoLogDAO.addOperateLog(lineLogInfo); @@ -243,31 +245,31 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { @Override public List batchTransferInvestmentManager(LoginUserInfo user, BatchTransferInvestmentManagerRequest request) throws ApiException { - if (CollectionUtils.isEmpty(request.getLineIds())||StringUtils.isEmpty(request.getUserId())){ + if (CollectionUtils.isEmpty(request.getLineIds()) || StringUtils.isEmpty(request.getUserId())) { throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); } List result = new ArrayList<>(); List hyPartnerLineInfoList = hyPartnerLineInfoDAO.getHyPartnerLineInfoList(request.getLineIds(), null); Map partnerMap = hyPartnerLineInfoList.stream().collect(Collectors.toMap(HyPartnerLineInfoDO::getId, HyPartnerLineInfoDO::getPartnerId)); - List partnerIdList = hyPartnerLineInfoList.stream().filter(x->StringUtils.isNotEmpty(x.getPartnerId())) + List partnerIdList = hyPartnerLineInfoList.stream().filter(x -> StringUtils.isNotEmpty(x.getPartnerId())) .map(HyPartnerLineInfoDO::getPartnerId).distinct().collect(Collectors.toList()); List hyPartnerUserInfoDOS = hyPartnerUserInfoDAO.selectByPartnerIds(partnerIdList); Map partnerUserInfoDOMap = hyPartnerUserInfoDOS.stream().collect(Collectors.toMap(HyPartnerUserInfoDO::getPartnerId, x -> x)); List successLineIds = new ArrayList<>(); - for (Long lineId:request.getLineIds()) { + for (Long lineId : request.getLineIds()) { TransferInvestmentManagerRequest transferInvestmentManagerRequest = new TransferInvestmentManagerRequest(); transferInvestmentManagerRequest.setUserId(request.getUserId()); transferInvestmentManagerRequest.setLineId(lineId); try { - this.transferInvestmentManager(user,transferInvestmentManagerRequest,Boolean.FALSE); + this.transferInvestmentManager(user, transferInvestmentManagerRequest, Boolean.FALSE); successLineIds.add(lineId); } catch (Exception e) { - log.info("transferInvestmentManager_success Transfer_interview_management_failed,lineId:{},e:{}",lineId,e.getMessage()); + log.info("transferInvestmentManager_success Transfer_interview_management_failed,lineId:{},e:{}", lineId, e.getMessage()); HyPartnerUserInfoDO hyPartnerUserInfoDO = partnerUserInfoDOMap.get(partnerMap.get(lineId)); BatchTransferVO batchTransferVO = new BatchTransferVO(); batchTransferVO.setErrorMessage(e.getMessage()); - if (e instanceof ServiceException){ - batchTransferVO.setErrorMessage(((ServiceException)e).getErrorMessage()); + if (e instanceof ServiceException) { + batchTransferVO.setErrorMessage(((ServiceException) e).getErrorMessage()); } batchTransferVO.setPartnerMobile(hyPartnerUserInfoDO.getMobile()); batchTransferVO.setPartnerUserName(hyPartnerUserInfoDO.getUsername()); @@ -277,37 +279,37 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { Map feishuUserIdsByUserIds = enterpriseUserDAO.getFeishuUserIdsByUserIds(Arrays.asList(request.getUserId())); ArrayList feishuUserIds = new ArrayList<>(feishuUserIdsByUserIds.values()); try { - if (successLineIds.size()>1){ - eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.BATCH_TRANS_INVESTMENT_MANAGER,feishuUserIds,successLineIds.size(),DateUtil.format(new Date(),CoolDateUtils.DATE_FORMAT_SEC_7)); - }else if (successLineIds.size()==1){ + if (successLineIds.size() > 1) { + eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.BATCH_TRANS_INVESTMENT_MANAGER, feishuUserIds, successLineIds.size(), DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC_7)); + } else if (successLineIds.size() == 1) { String dateTime = DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC_7); HyPartnerUserInfoDO hyPartnerUserInfoDO = partnerUserInfoDOMap.get(partnerMap.get(successLineIds.get(0))); - eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.TRANS_INVESTMENT_MANAGER,feishuUserIds,dateTime,hyPartnerUserInfoDO.getUsername(),hyPartnerUserInfoDO.getMobile()); + eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.TRANS_INVESTMENT_MANAGER, feishuUserIds, dateTime, hyPartnerUserInfoDO.getUsername(), hyPartnerUserInfoDO.getMobile()); } } catch (Exception e) { - log.info("batchTransferInvestmentManager_error:{}",e.getMessage()); + log.info("batchTransferInvestmentManager_error:{}", e.getMessage()); } return result; } @Override - public Boolean allocationInvestmentManager(LoginUserInfo operateUser,String userId, List lineIdList) { - if (StringUtils.isEmpty(userId)|| CollectionUtils.isEmpty(lineIdList)){ + public Boolean allocationInvestmentManager(LoginUserInfo operateUser, String userId, List lineIdList) { + if (StringUtils.isEmpty(userId) || CollectionUtils.isEmpty(lineIdList)) { throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); } EnterpriseUserDO user = enterpriseUserDAO.getUserInfoById(userId); - if (user==null){ + if (user == null) { throw new ServiceException(ErrorCodeEnum.INVESTMENT_MANAGER_NOT_EXIST); } //加盟上线索集合 - List partnerLineInfoList= hyPartnerLineInfoDAO.getLineListByLineIds(lineIdList); + List partnerLineInfoList = hyPartnerLineInfoDAO.getLineListByLineIds(lineIdList); //过滤出已结束的线索 这块线索需要重新生成新的线索 - List closeLineList = partnerLineInfoList.stream().filter(x -> x.getCloseTime() != null).collect(Collectors.toList()); + List closeLineList = partnerLineInfoList.stream().filter(x -> x.getCloseTime() != null).collect(Collectors.toList()); List closeLineIdList = closeLineList.stream().map(HyPartnerLineInfoDO::getId).collect(Collectors.toList()); //已结束的线索 需要重新生成一条新的线索 List list = new ArrayList<>(); - closeLineList.stream().forEach(x->{ + closeLineList.stream().forEach(x -> { HyPartnerLineInfoDO hyPartnerLineInfoDO = new HyPartnerLineInfoDO(); hyPartnerLineInfoDO.setPartnerId(x.getPartnerId()); hyPartnerLineInfoDO.setInvestmentManager(userId); @@ -318,7 +320,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { }); hyPartnerLineInfoDAO.batchInsert(list); List hyPartnerBaseInfoDOS = new ArrayList<>(); - list.forEach(x->{ + list.forEach(x -> { HyPartnerBaseInfoDO newHyPartnerBaseInfoDO = new HyPartnerBaseInfoDO(); newHyPartnerBaseInfoDO.setPartnerId(x.getPartnerId()); newHyPartnerBaseInfoDO.setPartnerLineId(x.getId()); @@ -328,7 +330,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { //将老的线索置为删除状态 hyPartnerLineInfoDAO.batchDeleted(closeLineIdList); //没有结束的线索直接分配招商经理 - List otherLineList = partnerLineInfoList.stream().filter(x -> x.getCloseTime() == null).collect(Collectors.toList()); + List otherLineList = partnerLineInfoList.stream().filter(x -> x.getCloseTime() == null).collect(Collectors.toList()); List otherLineIdList = otherLineList.stream().map(HyPartnerLineInfoDO::getId).collect(Collectors.toList()); hyPartnerLineInfoDAO.updateInvestmentManager(userId, otherLineIdList); //添加日志 @@ -357,13 +359,13 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { @Override public PageInfo getBlackList(LineRequest LineRequest) { String intentAreaName = getIntentAreaName(LineRequest.getIntentArea()); - PageHelper.startPage(LineRequest.getPageNum(),LineRequest.getPageSize()); - PageInfo blackListDTOPageInfo = new PageInfo(hyPartnerLineInfoDAO.getBlackList(LineRequest.getUserNameKeyword(), LineRequest.getPhoneKeyword(),intentAreaName, LineRequest.getAcceptAdjustType())); + PageHelper.startPage(LineRequest.getPageNum(), LineRequest.getPageSize()); + PageInfo blackListDTOPageInfo = new PageInfo(hyPartnerLineInfoDAO.getBlackList(LineRequest.getUserNameKeyword(), LineRequest.getPhoneKeyword(), intentAreaName, LineRequest.getAcceptAdjustType())); List list = blackListDTOPageInfo.getList(); List closeUserIdList = list.stream().map(PartnerBlackListDTO::getCloseUserId).collect(Collectors.toList()); Map userPhoneMap = enterpriseUserDAO.getUserNameAndMobile(closeUserIdList); List result = new ArrayList<>(); - list.stream().forEach(x->{ + list.stream().forEach(x -> { BlackListVO blackListVO = convertPartnerBlackListDTOToVo(x); blackListVO.setCloseUserPhone(userPhoneMap.get(x.getCloseUserId())); blackListVO.setCloseUserName(userPhoneMap.get(x.getCloseUserId())); @@ -375,7 +377,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { @Override public Boolean joinBlackList(LoginUserInfo user, Long lineId, Integer status, String joinReason) throws ApiException { - if (lineId==null){ + if (lineId == null) { throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); } HyPartnerLineInfoDO line = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(lineId); @@ -393,11 +395,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { hyFollowTaskDAO.cancelUndoFollowTask(lineId); //公海线索不需要处理子流程线索 - if (!LineStatusEnum.PUBLIC_SEAS.getCode().equals(lineStatus)){ + if (!LineStatusEnum.PUBLIC_SEAS.getCode().equals(lineStatus)) { CloseFollowRequest closeFollowRequest = new CloseFollowRequest(); closeFollowRequest.setLineId(lineId); closeFollowRequest.setRejectRealReason(joinReason); - workFlowService.endProcess(WorkflowStageEnum.getWorkflowStageByCode(line.getWorkflowStage()),closeFollowRequest); + workFlowService.endProcess(WorkflowStageEnum.getWorkflowStageByCode(line.getWorkflowStage()), closeFollowRequest); } //添加日志 @@ -410,13 +412,13 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { lineLogInfo.setData(logDTO); hyPartnerTaskInfoLogDAO.addOperateLog(lineLogInfo); - return Boolean.TRUE; + return Boolean.TRUE; } @Override - public Boolean removeBlackList(LoginUserInfo user,Long lineId, Integer status, String removeReason) { + public Boolean removeBlackList(LoginUserInfo user, Long lineId, Integer status, String removeReason) { //移除黑名单 黑名单线索置为删除状态 新增一条线索 - if (lineId==null){ + if (lineId == null) { throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); } HyPartnerLineInfoDO hyPartnerLineInfo = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(lineId); @@ -456,53 +458,53 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { @Override @Transactional(rollbackFor = Exception.class) - public Boolean closeOrPassFollow(LoginUserInfo user,CloseFollowRequest closeFollowRequest) throws ApiException { + public Boolean closeOrPassFollow(LoginUserInfo user, CloseFollowRequest closeFollowRequest) throws ApiException { //该方法中user可能为空,注意处理空指针的情况 - if(user == null){ + if (user == null) { user = new LoginUserInfo(); } HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(closeFollowRequest.getLineId()); - if (hyPartnerLineInfoDO==null){ + if (hyPartnerLineInfoDO == null) { throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST); } - if (hyPartnerLineInfoDO.getLineStatus()==0){ + if (hyPartnerLineInfoDO.getLineStatus() == 0) { throw new ServiceException(ErrorCodeEnum.PUBLIC_LINE_NOT_OPERATE); } String oldWorkflowStage = hyPartnerLineInfoDO.getWorkflowStage(); String oldWorkflowStatus = hyPartnerLineInfoDO.getWorkflowStatus(); //通过 - if ("pass".equals(closeFollowRequest.getType())){ + if ("pass".equals(closeFollowRequest.getType())) { hyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.RESERVATION.getCode()); hyPartnerLineInfoDO.setWorkflowStatus(WorkflowStatusEnum.RESERVATION_0.getCode()); - hyPartnerLineInfoDO.setDeadline(CoolDateUtils.getDateFormatDay(new Date(),2)); + hyPartnerLineInfoDO.setDeadline(CoolDateUtils.getDateFormatDay(new Date(), 2)); hyPartnerLineInfoDO.setPassReason(closeFollowRequest.getPassReason()); - if (CollectionUtils.isNotEmpty(closeFollowRequest.getCertifyFile())){ + if (CollectionUtils.isNotEmpty(closeFollowRequest.getCertifyFile())) { hyPartnerLineInfoDO.setCertifyFile(JSONObject.toJSONString(closeFollowRequest.getCertifyFile())); } HyPartnerBaseInfoDO hy = hyPartnerBaseInfoDAO.getByPartnerLineId(hyPartnerLineInfoDO.getId()); hy.setPassReason(closeFollowRequest.getPassReason()); hy.setPassTime(new Date()); hy.setPassUserId(user.getUserId()); - if (CollectionUtils.isNotEmpty(closeFollowRequest.getCertifyFile())){ + if (CollectionUtils.isNotEmpty(closeFollowRequest.getCertifyFile())) { hy.setCertifyFile(JSONObject.toJSONString(closeFollowRequest.getCertifyFile())); } hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(hy); - eventCenterHttpRequest.sendSmsVariable(hy.getMobile(), SMSMsgEnum.INTENTION_APPLY_PASS,DateUtil.formatDateTime(hyPartnerLineInfoDO.getDeadline()),wechatMiniAppService.getMiniAppUrl()); + eventCenterHttpRequest.sendSmsVariable(hy.getMobile(), SMSMsgEnum.INTENTION_APPLY_PASS, DateUtil.formatDateTime(hyPartnerLineInfoDO.getDeadline()), wechatMiniAppService.getMiniAppUrl()); } //拒绝 - if ("reject".equals(closeFollowRequest.getType())){ + if ("reject".equals(closeFollowRequest.getType())) { //当前节点 拒绝的子状态 String workflowStatus = WorkflowStageEnum.getWorkflowStageMap().get(hyPartnerLineInfoDO.getWorkflowStage()); hyPartnerLineInfoDO.setWorkflowStatus(workflowStatus); //15天 冷静期 String coolingPeriodFirstLoginCacheKey = MessageFormat.format(RedisConstant.COOLINGPERIOD_FIRSTLOGIN_KEY, closeFollowRequest.getLineId()); - redisUtilPool.setString(coolingPeriodFirstLoginCacheKey,JSONObject.toJSONString(closeFollowRequest)); - hyPartnerLineInfoDO.setDeadline(CoolDateUtils.getDateBefore(new Date(),15)); + redisUtilPool.setString(coolingPeriodFirstLoginCacheKey, JSONObject.toJSONString(closeFollowRequest)); + hyPartnerLineInfoDO.setDeadline(CoolDateUtils.getDateBefore(new Date(), 15)); hyPartnerLineInfoDO.setRejectPublicReason(closeFollowRequest.getRejectPublicReason()); hyPartnerLineInfoDO.setRejectRealReason(closeFollowRequest.getRejectRealReason()); - if (CollectionUtils.isNotEmpty(closeFollowRequest.getCertifyFile())){ + if (CollectionUtils.isNotEmpty(closeFollowRequest.getCertifyFile())) { hyPartnerLineInfoDO.setCertifyFile(JSONObject.toJSONString(closeFollowRequest.getCertifyFile())); } hyPartnerLineInfoDO.setLineStatus(LineStatusEnum.PUBLIC_SEAS.getCode()); @@ -511,17 +513,17 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { //作废待完成&已逾期的任务 hyFollowTaskDAO.cancelUndoFollowTask(closeFollowRequest.getLineId()); //各阶段单独的逻辑 - workFlowService.endProcess(WorkflowStageEnum.getWorkflowStageByCode(hyPartnerLineInfoDO.getWorkflowStage()),closeFollowRequest); + workFlowService.endProcess(WorkflowStageEnum.getWorkflowStageByCode(hyPartnerLineInfoDO.getWorkflowStage()), closeFollowRequest); } //面试超时 - if ("overtime_interview".equals(closeFollowRequest.getType())){ + if ("overtime_interview".equals(closeFollowRequest.getType())) { //面试超时未预约 hyPartnerLineInfoDO.setWorkflowStatus(WorkflowStatusEnum.RESERVATION_8.getCode()); //15天 冷静期 String coolingPeriodFirstLoginCacheKey = MessageFormat.format(RedisConstant.COOLINGPERIOD_FIRSTLOGIN_KEY, closeFollowRequest.getLineId()); - redisUtilPool.setString(coolingPeriodFirstLoginCacheKey,JSONObject.toJSONString(closeFollowRequest)); - hyPartnerLineInfoDO.setDeadline(CoolDateUtils.getDateBefore(new Date(),15)); + redisUtilPool.setString(coolingPeriodFirstLoginCacheKey, JSONObject.toJSONString(closeFollowRequest)); + hyPartnerLineInfoDO.setDeadline(CoolDateUtils.getDateBefore(new Date(), 15)); hyPartnerLineInfoDO.setRejectPublicReason(closeFollowRequest.getRejectPublicReason()); hyPartnerLineInfoDO.setRejectRealReason(closeFollowRequest.getRejectRealReason()); hyPartnerLineInfoDO.setLineStatus(LineStatusEnum.PUBLIC_SEAS.getCode()); @@ -533,7 +535,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { //通过 拒绝添加日志 - if (WorkflowStageEnum.INTENT.getCode().equals(hyPartnerLineInfoDO.getWorkflowStage())&&"reject".equals(closeFollowRequest.getType())){ + if (WorkflowStageEnum.INTENT.getCode().equals(hyPartnerLineInfoDO.getWorkflowStage()) && "reject".equals(closeFollowRequest.getType())) { LineLogInfo lineLogInfo = new LineLogInfo(hyPartnerLineInfoDO.getPartnerId(), hyPartnerLineInfoDO.getId(), user.getUserId(), user.getName(), OperateTypeEnum.CLOSE_FOLLOW, WorkflowStageEnum.getWorkflowStageByCode(oldWorkflowStage), @@ -548,7 +550,6 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { } - @Override public PageInfo publicSeaLineList(String userId, LineRequest lineRequest) { //确认是招商经理还是部门负责人 @@ -564,12 +565,12 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { // userIds = Arrays.asList(userId); // } String intentAreaName = getIntentAreaName(lineRequest.getIntentArea()); - PageHelper.startPage(lineRequest.getPageNum(),lineRequest.getPageSize()); + PageHelper.startPage(lineRequest.getPageNum(), lineRequest.getPageSize()); PageInfo publicSeaLineList = new PageInfo(hyPartnerLineInfoDAO.getPublicSeaLineList(lineRequest.getUserNameKeyword(), lineRequest.getPhoneKeyword(), intentAreaName, lineRequest.getAcceptAdjustType(), lineRequest.getUpdateStartTime(), lineRequest.getUpdateEndTime(), null, lineRequest.getCreateStartTime(), lineRequest.getCreateEndTime())); List list = publicSeaLineList.getList(); - if (CollectionUtils.isEmpty(list)){ + if (CollectionUtils.isEmpty(list)) { return new PageInfo<>(); } //上一次结束的线索 @@ -578,7 +579,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { List investmentManagerIds = partnerLastLine.stream().map(HyPartnerLineInfoDO::getInvestmentManager).collect(Collectors.toList()); List userInfoList = enterpriseUserDAO.getUserInfoByUserIds(investmentManagerIds); Map nameMobileMap = userInfoList.stream().filter(x -> - StringUtil.isNotEmpty(x.getMobile())).collect(Collectors.toMap(EnterpriseUserDO::getUserId, v-> v.getName() + " "+ v.getMobile())); + StringUtil.isNotEmpty(x.getMobile())).collect(Collectors.toMap(EnterpriseUserDO::getUserId, v -> v.getName() + " " + v.getMobile())); Map hyPartnerLineInfoDOMap = partnerLastLine.stream().collect(Collectors.toMap(HyPartnerLineInfoDO::getPartnerId, data -> data)); List followCountList = hyPartnerLineInfoDAO.getFollowCountList(partnerIdList); @@ -590,26 +591,26 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { List userChannelIds = list.stream().filter(x -> x.getUserChannelId() != null).map(PublicSeaLineDTO::getUserChannelId).collect(Collectors.toList()); Map channelMap = hyPartnerUserChannelDAO.getChannelMapByIds(userChannelIds); - List userPortraitList = list.stream().filter(x -> StringUtils.isNotEmpty(x.getUserPortrait() )).map(PublicSeaLineDTO::getUserPortrait).collect(Collectors.toList()); + List userPortraitList = list.stream().filter(x -> StringUtils.isNotEmpty(x.getUserPortrait())).map(PublicSeaLineDTO::getUserPortrait).collect(Collectors.toList()); Map userPortraitMap = labelService.getUserPortraitMap(userPortraitList); List result = new ArrayList<>(); - list.forEach(x->{ + list.forEach(x -> { PublicSeaLineListVo publicSeaLineListVo = new PublicSeaLineListVo(); publicSeaLineListVo.setPartnerId(x.getPartnerId()); - publicSeaLineListVo.setCreateTime(DateUtil.format(x.getCreateTime(),CoolDateUtils.DATE_FORMAT_SEC_2)); + publicSeaLineListVo.setCreateTime(DateUtil.format(x.getCreateTime(), CoolDateUtils.DATE_FORMAT_SEC_2)); publicSeaLineListVo.setPartnerUserName(x.getUserName()); publicSeaLineListVo.setPartnerUserPhone(x.getMobile()); String phoneAddress = x.getPhoneAddress(); - if (StringUtils.isEmpty(phoneAddress)){ + if (StringUtils.isEmpty(phoneAddress)) { phoneAddress = hyPhoneLocationService.handleHyPhoneAddress(x.getMobile()); } publicSeaLineListVo.setPhoneAddress(phoneAddress); publicSeaLineListVo.setWantShopArea(x.getWantShopArea()); publicSeaLineListVo.setEcWantShopArea(x.getEcWantShopArea()); - publicSeaLineListVo.setUpdateTime(DateUtil.format(x.getUpdateTime(),CoolDateUtils.DATE_FORMAT_SEC_2)); + publicSeaLineListVo.setUpdateTime(DateUtil.format(x.getUpdateTime(), CoolDateUtils.DATE_FORMAT_SEC_2)); publicSeaLineListVo.setId(x.getLineId()); publicSeaLineListVo.setAcceptAdjustType(x.getAcceptAdjustType()); - publicSeaLineListVo.setFollowCount(countMap.getOrDefault(x.getPartnerId(),0)); + publicSeaLineListVo.setFollowCount(countMap.getOrDefault(x.getPartnerId(), 0)); HyPartnerLineInfoDO hy = hyPartnerLineInfoDOMap.getOrDefault(x.getPartnerId(), new HyPartnerLineInfoDO()); publicSeaLineListVo.setRejectPublicReason(hy.getRejectPublicReason()); publicSeaLineListVo.setRejectRealReason(hy.getRejectRealReason()); @@ -627,8 +628,6 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { } - - @Override public PageInfo privateSeaLineList(String userId, PrivateSeaLineListRequest request,Boolean allPrivateSeaFlag) { //allPrivateSeaFlag 为true的时候 查询全量私海 @@ -642,7 +641,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { request.getWorkflowStatus(), request.getDeadlineStart(), request.getDeadlineEnd(), intentAreaName, request.getAcceptAdjustType(), request.getStoreKeyword(), request.getStoreKeywordType(), userIdsByScope.getInvestmentUserIds(),userIdsByScope.getDevelopmentUserIds(),request.getUserPortraitIdList(),request.getUserChannelIdList() , request.getUpdateStartTime(), request.getUpdateEndTime(), request.getPartnerName(),request.getPartnerMobile(),request.getInvestmentManagerId(),request.getUserPortraitQueryType() - ,request.getIntentAreaQueryType(),request.getLineStartTime(),request.getLineEndTime(),request.getUserChannelQueryType())); + ,request.getIntentAreaQueryType(),request.getLineStartTime(),request.getLineEndTime(),request.getUserChannelQueryType(),request.getSortField(),request.getSortOrder())); List list = privateLineList.getList(); if (CollectionUtils.isEmpty(list)){ return privateLineList; @@ -653,20 +652,20 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { Map devManagerMap = new HashMap<>(); List devManagerIdList = list.stream().filter(x -> StringUtils.isNotEmpty(x.getDevelopmentManager())).map(PrivateSeaLineDTO::getDevelopmentManager).collect(Collectors.toList()); - if (CollectionUtils.isNotEmpty(devManagerIdList)){ + if (CollectionUtils.isNotEmpty(devManagerIdList)) { List devManagerList = enterpriseUserDAO.getUserInfoByUserIds(devManagerIdList); devManagerMap = devManagerList.stream().collect(Collectors.toMap(EnterpriseUserDO::getUserId, EnterpriseUserDO::getName)); } - List wantShopAreaList = list.stream().filter(x->StringUtils.isNotEmpty(x.getWantShopArea())).map(PrivateSeaLineDTO::getWantShopArea).map(Long::parseLong).distinct().collect(Collectors.toList()); + List wantShopAreaList = list.stream().filter(x -> StringUtils.isNotEmpty(x.getWantShopArea())).map(PrivateSeaLineDTO::getWantShopArea).map(Long::parseLong).distinct().collect(Collectors.toList()); Map wantShopAreaNameMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaList); List userChannelIds = list.stream().filter(x -> x.getUserChannelId() != null).map(PrivateSeaLineDTO::getUserChannelId).collect(Collectors.toList()); Map channelMap = hyPartnerUserChannelDAO.getChannelMapByIds(userChannelIds); - List userPortraitList = list.stream().filter(x -> StringUtils.isNotEmpty(x.getUserPortrait() )).map(PrivateSeaLineDTO::getUserPortrait).collect(Collectors.toList()); + List userPortraitList = list.stream().filter(x -> StringUtils.isNotEmpty(x.getUserPortrait())).map(PrivateSeaLineDTO::getUserPortrait).collect(Collectors.toList()); Map userPortraitMap = labelService.getUserPortraitMap(userPortraitList); - List result = PrivateSeaLineListVo.convertList(list, devManagerMap, wantShopAreaNameMap,hyPartnerInterviewPlanDOMap,channelMap,userPortraitMap); + List result = PrivateSeaLineListVo.convertList(list, devManagerMap, wantShopAreaNameMap, hyPartnerInterviewPlanDOMap, channelMap, userPortraitMap); privateLineList.setList(result); return privateLineList; } @@ -689,14 +688,14 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { @Override public List getLineFollowHistory(String partnerId) { List lineFollowHistoryList = hyPartnerLineInfoDAO.getLineFollowHistoryList(partnerId); - if (CollectionUtils.isEmpty(lineFollowHistoryList)){ + if (CollectionUtils.isEmpty(lineFollowHistoryList)) { return new ArrayList<>(); } List result = new ArrayList<>(); - lineFollowHistoryList.forEach(x->{ + lineFollowHistoryList.forEach(x -> { LineFollowHistoryVO lineFollowHistoryVO = new LineFollowHistoryVO(); lineFollowHistoryVO.setCloseCause(x.getRejectRealReason()); - lineFollowHistoryVO.setCloseTime( DateUtil.format(x.getCloseTime(), CoolDateUtils.DATE_FORMAT_SEC_2)); + lineFollowHistoryVO.setCloseTime(DateUtil.format(x.getCloseTime(), CoolDateUtils.DATE_FORMAT_SEC_2)); lineFollowHistoryVO.setStartTime(DateUtil.format(x.getCreateTime(), CoolDateUtils.DATE_FORMAT_SEC_2)); result.add(lineFollowHistoryVO); }); @@ -704,93 +703,94 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { } @Override - public Boolean assignFollowUser(String partnerId, String wantShopArea, Integer acceptAdjustType,Boolean flag) { - log.info("assignFollowUser partnerId:{},wantShopArea:{},acceptAdjustType:{}",partnerId,wantShopArea,acceptAdjustType); + public Boolean assignFollowUser(String partnerId, String wantShopArea, Integer acceptAdjustType, Boolean flag) { + log.info("assignFollowUser partnerId:{},wantShopArea:{},acceptAdjustType:{}", partnerId, wantShopArea, acceptAdjustType); - if (!flag){ + if (!flag) { return Boolean.FALSE; } List lineFollowHistoryList = hyPartnerLineInfoDAO.getLineFollowHistoryList(partnerId); //如果跟进次数大于1 直接使用上一次的招商经理 - if (CollectionUtils.isNotEmpty(lineFollowHistoryList)){ + if (CollectionUtils.isNotEmpty(lineFollowHistoryList)) { return Boolean.TRUE; } //当前加盟商线索 HyPartnerLineInfoDO HyPartnerLineInfo = hyPartnerLineInfoDAO.getByPartnerId(partnerId); //如果意向区域没有绑定战区 不分配招商经理 HyIntendDevelopementMappingDO hyIntendDevelopementMappingDO = hyIntendDevMappingDAO.selectByOpenAreaMappingId(Long.valueOf(wantShopArea), "intent"); - if (hyIntendDevelopementMappingDO==null){ + if (hyIntendDevelopementMappingDO == null) { log.info("如果意向区域没有绑定战区 不分配招商经理"); return Boolean.FALSE; } - List result = new ArrayList<>(); - if (hyIntendDevelopementMappingDO!=null){ + List result = new ArrayList<>(); + if (hyIntendDevelopementMappingDO != null) { HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO.selectById(hyIntendDevelopementMappingDO.getMappingId()); - if (hyIntendDevZoneInfoDO!=null && StringUtil.isNotEmpty(hyIntendDevZoneInfoDO.getAssociatedRegionId())) { + if (hyIntendDevZoneInfoDO != null && StringUtil.isNotEmpty(hyIntendDevZoneInfoDO.getAssociatedRegionId())) { List list = JSONObject.parseArray(hyIntendDevZoneInfoDO.getAssociatedRegionId(), String.class); result.addAll(list); } } List userListByRegionIds = enterpriseUserDAO.getUserListByRegionIds(result); - if (CollectionUtils.isEmpty(userListByRegionIds)){ + if (CollectionUtils.isEmpty(userListByRegionIds)) { log.info("意向区域绑定战区 但是战区绑定的组织机构下没人 不分配"); return Boolean.FALSE; } //如果是私海线索 不需要重新分配招商经理 - if ((HyPartnerLineInfo != null && HyPartnerLineInfo.getLineStatus()==1)){ - log.info("如果是私海线索 不需要重新分配招商经理 或者跟进次数大于等于1 lineStatus:{}",HyPartnerLineInfo.getLineStatus()); + if ((HyPartnerLineInfo != null && HyPartnerLineInfo.getLineStatus() == 1)) { + log.info("如果是私海线索 不需要重新分配招商经理 或者跟进次数大于等于1 lineStatus:{}", HyPartnerLineInfo.getLineStatus()); return Boolean.FALSE; } - if(HyPartnerLineInfo == null){ + if (HyPartnerLineInfo == null) { Boolean lineStatus = getLineStatus(Long.valueOf(wantShopArea), acceptAdjustType); return lineStatus; } HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(partnerId); Boolean lineStatus = getLineStatus(Long.valueOf(hyPartnerUserInfoDO.getWantShopArea()), hyPartnerUserInfoDO.getAcceptAdjustType()); - log.info("lineStatus:{}",lineStatus); + log.info("lineStatus:{}", lineStatus); return lineStatus; } /** * 线索状态 + * * @param wantShopAreaId * @param acceptAdjustType * @return */ @Override - public Boolean getLineStatus(Long wantShopAreaId,Integer acceptAdjustType){ + public Boolean getLineStatus(Long wantShopAreaId, Integer acceptAdjustType) { HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(wantShopAreaId); - if (AreaStatusEnum.OPEN.getCode().equals(hyOpenAreaInfoDO.getAreaStatus()) || AreaStatusEnum.KEY_OPEN.getCode().equals(hyOpenAreaInfoDO.getAreaStatus())){ + if (AreaStatusEnum.OPEN.getCode().equals(hyOpenAreaInfoDO.getAreaStatus()) || AreaStatusEnum.KEY_OPEN.getCode().equals(hyOpenAreaInfoDO.getAreaStatus())) { return Boolean.TRUE; } - if (AreaStatusEnum.NOT_OPEN.getCode().equals(hyOpenAreaInfoDO.getAreaStatus()) || AreaStatusEnum.SATURATED.getCode().equals(hyOpenAreaInfoDO.getAreaStatus())){ - if (AcceptAdjustTypeEnum.NOT_ACCEPT.getCode().equals(acceptAdjustType)){ + if (AreaStatusEnum.NOT_OPEN.getCode().equals(hyOpenAreaInfoDO.getAreaStatus()) || AreaStatusEnum.SATURATED.getCode().equals(hyOpenAreaInfoDO.getAreaStatus())) { + if (AcceptAdjustTypeEnum.NOT_ACCEPT.getCode().equals(acceptAdjustType)) { return Boolean.FALSE; } //全国调剂 默认分配呗 有啥好说的 - if (AcceptAdjustTypeEnum.NATIONAL_ADJUSTMENT.getCode().equals(acceptAdjustType)){ + if (AcceptAdjustTypeEnum.NATIONAL_ADJUSTMENT.getCode().equals(acceptAdjustType)) { return Boolean.TRUE; } //省内调剂 有重点或者开放的 分配 - if (AcceptAdjustTypeEnum.PROVINCIAL_ADJUSTMENT.getCode().equals(acceptAdjustType)){ - List hyOpenAreaInfoDOList= new ArrayList<>(); - if(hyOpenAreaInfoDO != null){ + if (AcceptAdjustTypeEnum.PROVINCIAL_ADJUSTMENT.getCode().equals(acceptAdjustType)) { + List hyOpenAreaInfoDOList = new ArrayList<>(); + if (hyOpenAreaInfoDO != null) { String areaPath = hyOpenAreaInfoDO.getAreaPath(); String province = areaPath.substring(0, areaPath.indexOf("/", areaPath.indexOf("/") + 1)); hyOpenAreaInfoDOList = hyOpenAreaInfoDAO.queryByKeyword(province, true, null, true); //过滤一级目录 - hyOpenAreaInfoDOList = hyOpenAreaInfoDOList.stream().filter(x->x.getParentId()!=null).collect(Collectors.toList()); + hyOpenAreaInfoDOList = hyOpenAreaInfoDOList.stream().filter(x -> x.getParentId() != null).collect(Collectors.toList()); } - if (hyOpenAreaInfoDOList.size()>CommonConstants.ZERO){ + if (hyOpenAreaInfoDOList.size() > CommonConstants.ZERO) { return Boolean.TRUE; } return Boolean.FALSE; } //市内调剂 不分配 - if (AcceptAdjustTypeEnum.LOCAL_ADJUSTMENT.getCode().equals(acceptAdjustType)){ + if (AcceptAdjustTypeEnum.LOCAL_ADJUSTMENT.getCode().equals(acceptAdjustType)) { return Boolean.FALSE; } } @@ -799,22 +799,22 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { @Override - public String getAssignFollowUser(String partnerId,String type) { + public String getAssignFollowUser(String partnerId, String type) { //查询意向区域 HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(partnerId); List lineFollowHistoryList = hyPartnerLineInfoDAO.getLineFollowHistoryList(partnerId); //如果跟进次数大于1 直接使用上一次的招商经理 - if (CollectionUtils.isNotEmpty(lineFollowHistoryList)){ + if (CollectionUtils.isNotEmpty(lineFollowHistoryList)) { return lineFollowHistoryList.get(0).getInvestmentManager(); } //意向区域 String wantShopArea = hyPartnerUserInfoDO.getWantShopArea(); //查询意向区域绑定的组织架构 没有绑定战区 分配空 - HyIntendDevelopementMappingDO hyIntendDevelopementMappingDO = hyIntendDevMappingDAO.selectByOpenAreaMappingId(Long.valueOf(wantShopArea),type); - List result = new ArrayList<>(); - if (hyIntendDevelopementMappingDO!=null){ + HyIntendDevelopementMappingDO hyIntendDevelopementMappingDO = hyIntendDevMappingDAO.selectByOpenAreaMappingId(Long.valueOf(wantShopArea), type); + List result = new ArrayList<>(); + if (hyIntendDevelopementMappingDO != null) { HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO.selectById(hyIntendDevelopementMappingDO.getMappingId()); - if (hyIntendDevZoneInfoDO!=null && StringUtil.isNotEmpty(hyIntendDevZoneInfoDO.getAssociatedRegionId())) { + if (hyIntendDevZoneInfoDO != null && StringUtil.isNotEmpty(hyIntendDevZoneInfoDO.getAssociatedRegionId())) { List list = JSONObject.parseArray(hyIntendDevZoneInfoDO.getAssociatedRegionId(), String.class); result.addAll(list); } @@ -822,16 +822,16 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { String userId = ""; List userListByRegionIds = enterpriseUserDAO.getUserListByRegionIds(result); HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO.selectById(hyIntendDevelopementMappingDO.getMappingId()); - if (CollectionUtils.isNotEmpty(userListByRegionIds)){ + if (CollectionUtils.isNotEmpty(userListByRegionIds)) { List userIdList = userListByRegionIds.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList()); int i = userIdList.indexOf(hyIntendDevZoneInfoDO.getLastAllotUserId()); - if (i==(userListByRegionIds.size()-1)){ - i = -1; + if (i == (userListByRegionIds.size() - 1)) { + i = -1; } - userId = userIdList.get(++i); + userId = userIdList.get(++i); } //上次分配的招商经理 记录 - if ("intent".equals(type)){ + if ("intent".equals(type)) { hyIntendDevZoneInfoDO.setLastAllotUserId(userId); hyIntendDevZoneInfoDAO.updateByPrimaryKeySelective(hyIntendDevZoneInfoDO); } @@ -839,33 +839,34 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { } @Override - public InterviewVO getInterviewInfo(Long lineId,Boolean needDevelopmentDirector) throws ApiException { + public InterviewVO getInterviewInfo(Long lineId, Boolean needDevelopmentDirector) throws ApiException { Long interviewId = hyPartnerInterviewPlanDAO.selectInterviewIdByLineId(lineId); QueryByInterviewPlanIdReq queryByInterviewPlanIdReq = new QueryByInterviewPlanIdReq(); - if (interviewId!=null){ + if (interviewId != null) { queryByInterviewPlanIdReq.setInterviewPlanId(String.valueOf(interviewId)); queryByInterviewPlanIdReq.setNeedDevelopmentDirector(needDevelopmentDirector); return interviewService.getInterviewInfo(queryByInterviewPlanIdReq); } return null; } + @Override - public HyPartnerLineInfoDO generateDefaultLineInfo(String partnerId, String wantShopArea, Integer acceptAdjustType,Boolean assignFlag,String investmentManagerId) throws ApiException { + public HyPartnerLineInfoDO generateDefaultLineInfo(String partnerId, String wantShopArea, Integer acceptAdjustType, Boolean assignFlag, String investmentManagerId) throws ApiException { // 生成一条线索 HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.getByPartnerId(partnerId); //短信拼接了招商经理 直接使用 不需要走自动分配的逻辑 其他方式 走自动分配 String investmentManager = null; Boolean flag = Boolean.FALSE; - if (StringUtils.isNotEmpty(investmentManagerId)){ + if (StringUtils.isNotEmpty(investmentManagerId)) { investmentManager = investmentManagerId; flag = Boolean.TRUE; - }else { - flag = this.assignFollowUser(partnerId, wantShopArea, acceptAdjustType,assignFlag); - if (flag){ + } else { + flag = this.assignFollowUser(partnerId, wantShopArea, acceptAdjustType, assignFlag); + if (flag) { investmentManager = getAssignFollowUser(partnerId, "intent"); } } - if(hyPartnerLineInfoDO == null){ + if (hyPartnerLineInfoDO == null) { hyPartnerLineInfoDO = new HyPartnerLineInfoDO(); hyPartnerLineInfoDO.setPartnerId(partnerId); hyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.INTENT.getCode()); @@ -873,22 +874,22 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { hyPartnerLineInfoDO.setLineStatus(flag ? LineStatusEnum.PRIVATE_SEAS.getCode() : LineStatusEnum.PUBLIC_SEAS.getCode()); hyPartnerLineInfoDO.setInvestmentManager(investmentManager); hyPartnerLineInfoDAO.insertSelective(hyPartnerLineInfoDO); - }else { - if (LineStatusEnum.PUBLIC_SEAS.getCode().equals(hyPartnerLineInfoDO.getLineStatus())){ + } else { + if (LineStatusEnum.PUBLIC_SEAS.getCode().equals(hyPartnerLineInfoDO.getLineStatus())) { hyPartnerLineInfoDO.setLineStatus(flag ? LineStatusEnum.PRIVATE_SEAS.getCode() : LineStatusEnum.PUBLIC_SEAS.getCode()); hyPartnerLineInfoDO.setInvestmentManager(investmentManager); hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO); } } //发送飞书工作通知 - if(flag){ + if (flag) { List userIdList = new ArrayList<>(); userIdList.add(investmentManager); Map feishuUserIdsByUserIds = enterpriseUserDAO.getFeishuUserIdsByUserIds(userIdList); ArrayList feishuUserIds = new ArrayList<>(feishuUserIdsByUserIds.values()); HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(partnerId); String dateTime = DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC_7); - eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.ALLOCATION_INVESTMENT_MANAGER,feishuUserIds,dateTime,hyPartnerUserInfoDO.getUsername(),hyPartnerUserInfoDO.getMobile()); + eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.ALLOCATION_INVESTMENT_MANAGER, feishuUserIds, dateTime, hyPartnerUserInfoDO.getUsername(), hyPartnerUserInfoDO.getMobile()); } return hyPartnerLineInfoDO; } @@ -897,13 +898,13 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { public Long checkGenerateNewLineId(Long lineId) throws ApiException { HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(lineId); // 15天之后可以继续填写意向信息,把之前的线索删除 - if(hyPartnerLineInfoDO != null && hyPartnerLineInfoDO.getDeadline() != null && - DateUtil.offsetSecond(hyPartnerLineInfoDO.getDeadline(), -2).before(new Date())){ + if (hyPartnerLineInfoDO != null && hyPartnerLineInfoDO.getDeadline() != null && + DateUtil.offsetSecond(hyPartnerLineInfoDO.getDeadline(), -2).before(new Date())) { //将老的线索置为删除状态 hyPartnerLineInfoDAO.batchDeleted(Collections.singletonList(hyPartnerLineInfoDO.getId())); HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(hyPartnerLineInfoDO.getPartnerId()); // 生成一条新线索 生成新线索的时候不需要公海到私海 - HyPartnerLineInfoDO newLineInfoDO = this.generateDefaultLineInfo(hyPartnerLineInfoDO.getPartnerId(), hyPartnerUserInfoDO.getWantShopArea(), hyPartnerUserInfoDO.getAcceptAdjustType(),Boolean.FALSE,null); + HyPartnerLineInfoDO newLineInfoDO = this.generateDefaultLineInfo(hyPartnerLineInfoDO.getPartnerId(), hyPartnerUserInfoDO.getWantShopArea(), hyPartnerUserInfoDO.getAcceptAdjustType(), Boolean.FALSE, null); // 生成一条意向基本信息 HyPartnerBaseInfoDO oldBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(hyPartnerUserInfoDO.getPartnerId(), lineId); hyPartnerBaseInfoService.generateBaseInfo(hyPartnerUserInfoDO, newLineInfoDO.getId(), oldBaseInfoDO.getUserPortrait()); @@ -916,11 +917,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { @Transactional(rollbackFor = Exception.class) public Integer editBaseInfo(EditBaseInfoRequest request) { HyPartnerLineInfoDO lineInfo = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(request.getPartnerLineId()); - if(Objects.isNull(lineInfo)){ + if (Objects.isNull(lineInfo)) { throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST); } HyPartnerUserInfoDO partnerUserInfo = hyPartnerUserInfoDAO.selectByMobile(request.getMobile()); - if(Objects.nonNull(partnerUserInfo) && !lineInfo.getPartnerId().equals(partnerUserInfo.getPartnerId())){ + if (Objects.nonNull(partnerUserInfo) && !lineInfo.getPartnerId().equals(partnerUserInfo.getPartnerId())) { throw new ServiceException(ErrorCodeEnum.PARTNER_MOBILE_EXIST_0); } HyPartnerUserInfoDO update = new HyPartnerUserInfoDO(); @@ -942,16 +943,16 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { @Override public PartnerSimpleBaseInfoVO queryBaseInfo(Long partnerLineId) { HyPartnerLineInfoDO lineInfo = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(partnerLineId); - if(Objects.isNull(lineInfo)){ + if (Objects.isNull(lineInfo)) { return null; } HyPartnerUserInfoDO partnerUserInfo = hyPartnerUserInfoDAO.selectByPartnerId(lineInfo.getPartnerId()); HyPartnerBaseInfoDO partnerBaseInfo = hyPartnerBaseInfoDAO.getByPartnerLineId(partnerLineId); PartnerSimpleBaseInfoVO result = PartnerSimpleBaseInfoVO.convertVO(partnerLineId, partnerUserInfo); - String userPortrait = Optional.ofNullable(partnerBaseInfo).map(o->o.getUserPortrait()).orElse(null); - Long partnerBaseInfoId = Optional.ofNullable(partnerBaseInfo).map(o->o.getId()).orElse(null); + String userPortrait = Optional.ofNullable(partnerBaseInfo).map(o -> o.getUserPortrait()).orElse(null); + Long partnerBaseInfoId = Optional.ofNullable(partnerBaseInfo).map(o -> o.getId()).orElse(null); result.setPartnerBaseInfoId(partnerBaseInfoId); - if (StringUtils.isNotEmpty(userPortrait) && Objects.nonNull(result)){ + if (StringUtils.isNotEmpty(userPortrait) && Objects.nonNull(result)) { Map userPortraitMap = labelService.getUserPortraitMap(Arrays.asList(userPortrait)); List userPortraitList = userPortraitMap.entrySet().stream() .map(entry -> new UserPortraitDTO(entry.getKey(), entry.getValue())) @@ -961,13 +962,53 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { return result; } + @Override + public LinePageInfoVo privateSeaPageDetailNext(String userId, PrivateSeaLineListRequest request, Boolean allPrivateSeaFlag) { + //allPrivateSeaFlag 为true的时候 查询全量私海 + UserPositionAndUserScopeDTO userIdsByScope = new UserPositionAndUserScopeDTO(); + if (!allPrivateSeaFlag) { + userIdsByScope = enterpriseUserService.getUserIdsByScope(userId); + } + String intentAreaName = getIntentAreaName(request.getIntentAreaId()); + Integer pageNum = request.getPageNum(); + Integer pageSize = request.getPageSize(); + List linePageInfoVo = hyPartnerLineInfoDAO.getPrivateSeaPageInfoNext(request.getLineId(), request.getKeyword(), request.getKeywordType(), request.getWorkflowStage(), + request.getWorkflowStatus(), request.getDeadlineStart(), request.getDeadlineEnd(), intentAreaName, request.getAcceptAdjustType(), request.getStoreKeyword(), + request.getStoreKeywordType(), userIdsByScope.getInvestmentUserIds(), userIdsByScope.getDevelopmentUserIds(), request.getUserPortraitIdList(), request.getUserChannelIdList() + , request.getUpdateStartTime(), request.getUpdateEndTime(), request.getPartnerName(), request.getPartnerMobile(), request.getInvestmentManagerId(), request.getUserPortraitQueryType() + , request.getIntentAreaQueryType(), request.getLineStartTime(), request.getLineEndTime(), request.getUserChannelQueryType(), request.getSortField(), request.getSortOrder(), (pageNum - 1) * pageSize == 0 ? 0 : (pageNum - 1) * pageSize - 1, pageSize + 2); + Optional first = Stream.iterate(0, i -> i + 1).limit(linePageInfoVo.size()).filter(item -> request.getLineId().equals(linePageInfoVo.get(item).getLineId())).findFirst(); + if (!first.isPresent()) { + return null; + } + if (PageTurnTypeEnum.NEXT.getText().equals(request.getPageTurn())) { + //下一页 + return first.get() +1>linePageInfoVo.size()?null:linePageInfoVo.get(first.get() +1); + } + if (PageTurnTypeEnum.PREVIOUS.getText().equals(request.getPageTurn())) { + //上一页 + return first.get() - 1<0?null:linePageInfoVo.get(first.get() - 1); + } + return null; + } + + + @Override + public LinePageInfoVo publicSeaPageDetailNext(String userId, LineRequest lineRequest) { + String intentAreaName = getIntentAreaName(lineRequest.getIntentArea()); + LinePageInfoVo linePageInfoVo = hyPartnerLineInfoDAO.getPublicSeaPageInfoNext(lineRequest.getLineId(), lineRequest.getUserNameKeyword(), lineRequest.getPhoneKeyword(), + intentAreaName, lineRequest.getAcceptAdjustType(), lineRequest.getUpdateStartTime(), lineRequest.getUpdateEndTime(), null, lineRequest.getCreateStartTime(), lineRequest.getCreateEndTime(),lineRequest.getPageTurn()); + return linePageInfoVo; + } + /** * convertPartnerBlackListDTOToVo + * * @param partnerBlackListDTO * @return */ - public BlackListVO convertPartnerBlackListDTOToVo(PartnerBlackListDTO partnerBlackListDTO){ + public BlackListVO convertPartnerBlackListDTOToVo(PartnerBlackListDTO partnerBlackListDTO) { BlackListVO blackListVO = new BlackListVO(); blackListVO.setId(partnerBlackListDTO.getLineId()); blackListVO.setPartnerId(partnerBlackListDTO.getPartnerId()); @@ -980,7 +1021,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { blackListVO.setJoinBlackReason(partnerBlackListDTO.getJoinBlackReason()); blackListVO.setCloseUserId(partnerBlackListDTO.getCloseUserId()); String phoneAddress = partnerBlackListDTO.getPhoneAddress(); - if (StringUtils.isEmpty(phoneAddress)){ + if (StringUtils.isEmpty(phoneAddress)) { phoneAddress = hyPhoneLocationService.handleHyPhoneAddress(partnerBlackListDTO.getMobile()); } blackListVO.setPhoneAddress(phoneAddress); @@ -990,14 +1031,13 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { } - - /** * convertPartnerLineInfoAndBaseInfoDTOToVo + * * @param partnerLineInfoAndBaseInfoDTO * @return */ - private PartnerLineInfoAndBaseInfoVO convertPartnerLineInfoAndBaseInfoDTOToVo(PartnerLineInfoAndBaseInfoDTO partnerLineInfoAndBaseInfoDTO){ + private PartnerLineInfoAndBaseInfoVO convertPartnerLineInfoAndBaseInfoDTOToVo(PartnerLineInfoAndBaseInfoDTO partnerLineInfoAndBaseInfoDTO) { PartnerLineInfoAndBaseInfoVO partnerLineInfoAndBaseInfoVO = new PartnerLineInfoAndBaseInfoVO(); partnerLineInfoAndBaseInfoVO.setId(partnerLineInfoAndBaseInfoDTO.getId()); partnerLineInfoAndBaseInfoVO.setPartnerUserId(partnerLineInfoAndBaseInfoDTO.getPartnerId()); @@ -1007,7 +1047,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { partnerLineInfoAndBaseInfoVO.setWorkflowStatus(partnerLineInfoAndBaseInfoDTO.getWorkflowStatus()); partnerLineInfoAndBaseInfoVO.setPassCause(partnerLineInfoAndBaseInfoDTO.getPassCause()); String phoneAddress = partnerLineInfoAndBaseInfoDTO.getPhoneAddress(); - if (StringUtils.isEmpty(phoneAddress)){ + if (StringUtils.isEmpty(phoneAddress)) { phoneAddress = hyPhoneLocationService.handleHyPhoneAddress(partnerLineInfoAndBaseInfoDTO.getPartnerUserPhone()); } partnerLineInfoAndBaseInfoVO.setPhoneAddress(phoneAddress); @@ -1017,29 +1057,30 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { partnerLineInfoAndBaseInfoVO.setPartnerUserName(partnerLineInfoAndBaseInfoDTO.getPartnerUserName()); partnerLineInfoAndBaseInfoVO.setAcceptAdjustType(partnerLineInfoAndBaseInfoDTO.getAcceptAdjustType()); partnerLineInfoAndBaseInfoVO.setWantShopArea(partnerLineInfoAndBaseInfoDTO.getWantShopArea()); + partnerLineInfoAndBaseInfoVO.setEcWantShopAreaName(partnerLineInfoAndBaseInfoDTO.getEcWantShopArea()); partnerLineInfoAndBaseInfoVO.setLiveArea(partnerLineInfoAndBaseInfoDTO.getLiveArea()); partnerLineInfoAndBaseInfoVO.setDetailedAddress(partnerLineInfoAndBaseInfoDTO.getDetailedAddress()); partnerLineInfoAndBaseInfoVO.setEmail(partnerLineInfoAndBaseInfoDTO.getEmail()); partnerLineInfoAndBaseInfoVO.setIdCard(partnerLineInfoAndBaseInfoDTO.getIdCard()); partnerLineInfoAndBaseInfoVO.setChannelName(partnerLineInfoAndBaseInfoDTO.getChannelName()); partnerLineInfoAndBaseInfoVO.setDevelopmentDirector(partnerLineInfoAndBaseInfoDTO.getDevelopmentDirector()); - if (StringUtil.isNotEmpty(partnerLineInfoAndBaseInfoDTO.getCertifyFile())){ + if (StringUtil.isNotEmpty(partnerLineInfoAndBaseInfoDTO.getCertifyFile())) { partnerLineInfoAndBaseInfoVO.setPassCertifyFile(JSONObject.parseArray(partnerLineInfoAndBaseInfoDTO.getCertifyFile(), String.class)); } partnerLineInfoAndBaseInfoVO.setPassUserId(partnerLineInfoAndBaseInfoDTO.getPassUserId()); partnerLineInfoAndBaseInfoVO.setEducation(partnerLineInfoAndBaseInfoDTO.getEducation()); - partnerLineInfoAndBaseInfoVO.setPassTime(DateUtil.format(partnerLineInfoAndBaseInfoDTO.getPassTime(),CoolDateUtils.DATE_FORMAT_SEC_2)); + partnerLineInfoAndBaseInfoVO.setPassTime(DateUtil.format(partnerLineInfoAndBaseInfoDTO.getPassTime(), CoolDateUtils.DATE_FORMAT_SEC_2)); return partnerLineInfoAndBaseInfoVO; } - /** * stageCountDTOToVo + * * @param stageCountDTO * @return */ - private StageCountVO stageCountDTOToVo(StageCountDTO stageCountDTO){ + private StageCountVO stageCountDTOToVo(StageCountDTO stageCountDTO) { StageCountVO stageCountVO = new StageCountVO(); stageCountVO.setQualifiedInterviewCount(stageCountDTO.getQualifiedInterviewCount()); stageCountVO.setIntentApplyApproveCount(stageCountDTO.getIntentApplyApproveCount()); @@ -1049,12 +1090,13 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { /** * getIntentAreaName + * * @param intentArea * @return */ - private String getIntentAreaName(String intentArea){ + private String getIntentAreaName(String intentArea) { String intentAreaName = null; - if (StringUtils.isNotEmpty(intentArea)){ + if (StringUtils.isNotEmpty(intentArea)) { HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(intentArea)); intentAreaName = hyOpenAreaInfoDO.getAreaName(); } diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java index ff961ce50..ca57954a2 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java @@ -220,6 +220,25 @@ public class DeskController { return ResponseResult.success(hyPartnerLineInfoService.privateSeaLineList(CurrentUserHolder.getUserId(),privateSeaLineListRequest,Boolean.FALSE)); } + @PostMapping(path = "/getPrivateSeaPageDetailNext") + @ApiOperation("私海列表详情翻页") + public ResponseResult getPrivateSeaPageDetailNext(@RequestBody PrivateSeaLineListRequest privateSeaLineListRequest){ + return ResponseResult.success(hyPartnerLineInfoService.privateSeaPageDetailNext(CurrentUserHolder.getUserId(),privateSeaLineListRequest,Boolean.FALSE)); + } + + + + @PostMapping(path = "/getPrivateAllSeaPageDetailNext") + @ApiOperation("全量私海列表详情翻页") + public ResponseResult getPrivateAllSeaPageDetailNext(@RequestBody PrivateSeaLineListRequest privateSeaLineListRequest){ + return ResponseResult.success(hyPartnerLineInfoService.privateSeaPageDetailNext(CurrentUserHolder.getUserId(),privateSeaLineListRequest,Boolean.TRUE)); + } + + @PostMapping(path = "/getPublicSeaPageDetailNext") + @ApiOperation("公海列表详情翻页") + public ResponseResult getPublicSeaPageDetailNext(@RequestBody LineRequest LineRequest){ + return ResponseResult.success(hyPartnerLineInfoService.publicSeaPageDetailNext(CurrentUserHolder.getUserId(),LineRequest)); + } @PostMapping(path = "/queryAllPrivateSeqLineList") @ApiOperation("全量私海") From 7b877e7cdafcfca0632cf87d81d49ed17139c361 Mon Sep 17 00:00:00 2001 From: "xiaodong.hu" <1075471126@qq.com> Date: Mon, 13 Nov 2023 13:37:58 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E5=85=AC=E6=B5=B7?= =?UTF-8?q?=E7=A7=81=E6=B5=B7=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/dao/HyPartnerLineInfoDAO.java | 4 ++-- .../store/mapper/HyPartnerLineInfoMapper.java | 6 +++-- .../mapper/HyPartnerLineInfoMapper.xml | 8 +------ .../impl/HyPartnerLineInfoServiceImpl.java | 23 ++++++++++++++++--- 4 files changed, 27 insertions(+), 14 deletions(-) diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java index 2dcd07adb..8e42e4cb4 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java @@ -212,8 +212,8 @@ public class HyPartnerLineInfoDAO { } return hyPartnerLineInfoMapper.getHyPartnerLineInfoList(lineIds,investmentManager); } - public LinePageInfoVo getPublicSeaPageInfoNext(Long lineId, String userNameKeyword, String phoneKeyword, String intentAreaName, Integer acceptAdjustType, String updateStartTime, String updateEndTime, List userIdList, String createStartTime, String createEndTime,String pageTurn){ - return hyPartnerLineInfoMapper.getPublicSeaPageInfoNext(lineId,userNameKeyword,phoneKeyword,intentAreaName,acceptAdjustType,updateStartTime,updateEndTime,userIdList, createStartTime, createEndTime,pageTurn); + public List getPublicSeaPageInfoNext(Long lineId, String userNameKeyword, String phoneKeyword, String intentAreaName, Integer acceptAdjustType, String updateStartTime, String updateEndTime, List userIdList, String createStartTime, String createEndTime,String pageTurn,Integer limit1,Integer limit2){ + return hyPartnerLineInfoMapper.getPublicSeaPageInfoNext(lineId,userNameKeyword,phoneKeyword,intentAreaName,acceptAdjustType,updateStartTime,updateEndTime,userIdList, createStartTime, createEndTime,pageTurn,limit1,limit2); } public List getPrivateSeaPageInfoNext(Long lineId,String keyword, String keywordType, String workflowStage, String workflowStatus, String deadlineStart, String deadlineEnd, diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java index cd1acb64c..b5598b695 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java @@ -301,7 +301,7 @@ public interface HyPartnerLineInfoMapper { @Param("limit2") Integer limit2 ); - LinePageInfoVo getPublicSeaPageInfoNext(@Param("lineId") Long lineId,@Param("userNameKeyword") String userNameKeyword, + List getPublicSeaPageInfoNext(@Param("lineId") Long lineId,@Param("userNameKeyword") String userNameKeyword, @Param("phoneKeyword") String phoneKeyword, @Param("intentAreaName") String intentAreaName, @Param("acceptAdjustType") Integer acceptAdjustType, @@ -310,7 +310,9 @@ public interface HyPartnerLineInfoMapper { @Param("userIdList") List userIdList, @Param("createStartTime") String createStartTime, @Param("createEndTime") String createEndTime, - @Param("pageTurn") String pageTurn + @Param("pageTurn") String pageTurn, + @Param("limit1") Integer limit1, + @Param("limit2") Integer limit2 ); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml index e283e2eec..6e8ca01e3 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml @@ -971,12 +971,6 @@ LEFT JOIN hy_open_area_info hoai ON hoai.id = b.want_shop_area LEFT JOIN hy_phone_location hpl ON hpl.phone_number = b.mobile where a.line_status = 0 and a.deleted = 0 - - AND a.id #{lineId} - - - AND a.id ]]> #{lineId} - and b.username like concat('%',#{userNameKeyword},'%') @@ -1000,7 +994,7 @@ #{userId} - order by a.create_time desc limit 1 + order by a.create_time desc limit #{limit1},#{limit2} \ No newline at end of file diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java index 76af43a01..80481a66d 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java @@ -964,6 +964,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { @Override public LinePageInfoVo privateSeaPageDetailNext(String userId, PrivateSeaLineListRequest request, Boolean allPrivateSeaFlag) { + request.setPageNum((int) Math.ceil((double) request.getPageNum() / request.getPageSize())); //allPrivateSeaFlag 为true的时候 查询全量私海 UserPositionAndUserScopeDTO userIdsByScope = new UserPositionAndUserScopeDTO(); if (!allPrivateSeaFlag) { @@ -995,10 +996,26 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { @Override public LinePageInfoVo publicSeaPageDetailNext(String userId, LineRequest lineRequest) { + lineRequest.setPageNum((int) Math.ceil((double) lineRequest.getPageNum() / lineRequest.getPageSize())); String intentAreaName = getIntentAreaName(lineRequest.getIntentArea()); - LinePageInfoVo linePageInfoVo = hyPartnerLineInfoDAO.getPublicSeaPageInfoNext(lineRequest.getLineId(), lineRequest.getUserNameKeyword(), lineRequest.getPhoneKeyword(), - intentAreaName, lineRequest.getAcceptAdjustType(), lineRequest.getUpdateStartTime(), lineRequest.getUpdateEndTime(), null, lineRequest.getCreateStartTime(), lineRequest.getCreateEndTime(),lineRequest.getPageTurn()); - return linePageInfoVo; + Integer pageNum = lineRequest.getPageNum(); + Integer pageSize = lineRequest.getPageSize(); + List linePageInfoVoList = hyPartnerLineInfoDAO.getPublicSeaPageInfoNext(lineRequest.getLineId(), lineRequest.getUserNameKeyword(), lineRequest.getPhoneKeyword(), + intentAreaName, lineRequest.getAcceptAdjustType(), lineRequest.getUpdateStartTime(), lineRequest.getUpdateEndTime(), null, lineRequest.getCreateStartTime(), lineRequest.getCreateEndTime(),lineRequest.getPageTurn() + , (pageNum - 1) * pageSize == 0 ? 0 : (pageNum - 1) * pageSize - 1, pageSize + 2); + Optional first = Stream.iterate(0, i -> i + 1).limit(linePageInfoVoList.size()).filter(item -> lineRequest.getLineId().equals(linePageInfoVoList.get(item).getLineId())).findFirst(); + if (!first.isPresent()) { + return null; + } + if (PageTurnTypeEnum.NEXT.getText().equals(lineRequest.getPageTurn())) { + //下一页 + return first.get() +1>linePageInfoVoList.size()?null:linePageInfoVoList.get(first.get() +1); + } + if (PageTurnTypeEnum.PREVIOUS.getText().equals(lineRequest.getPageTurn())) { + //上一页 + return first.get() - 1<0?null:linePageInfoVoList.get(first.get() - 1); + } + return null; } From 93cd245799d297c3788356619fddcc505dfff9f2 Mon Sep 17 00:00:00 2001 From: "feng.li" Date: Mon, 13 Nov 2023 14:08:03 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=BE=85=E9=9D=A2=E8=AF=95=E9=98=B6?= =?UTF-8?q?=E6=AE=B5=E4=BF=AE=E6=94=B9=E9=9D=A2=E8=AF=95=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E7=9F=AD=E4=BF=A1=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/service/impl/InterviewServiceImpl.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java index 11784851c..688004144 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java @@ -326,6 +326,13 @@ public class InterviewServiceImpl implements InterviewService { hyPartnerInterviewDO.setUpdateTime(new Date()); hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO); + //如果是待面试阶段修改面试时间需要发短信通知 + if (interviewInfo.getStatus().equals(Integer.parseInt(WorkflowStatusEnum.INTERVIEW_2.getCode()))) { + HyPartnerBaseInfoDO partnerBaseInfo = hyPartnerBaseInfoMapper.getByPartnerLineId(interviewInfo.getPartnerLineId()); + //异步发送短信给加盟商 + eventCenterHttpRequest.sendSmsVariable(partnerBaseInfo.getMobile(), SMSMsgEnum.INTERVIEW_APPOINTMENT_PASS,DateUtil.format(DateUtil.parse(interviewInfo.getStartTime()), DatePattern.NORM_DATETIME_MINUTE_PATTERN),wechatMiniAppService.getMiniAppUrl()); + } + //记录日志 LoginUserInfo operator = CurrentUserHolder.getUser(); ModifyInterviewTimeDTO log = ModifyInterviewTimeDTO.builder().mobile(operator.getMobile()).operateUserId(operator.getUserId()).operateUsername(operator.getName())