私海列表参数过多 优化入参为对象

This commit is contained in:
苏竹红
2023-12-18 16:05:01 +08:00
parent a74f480916
commit ea26167907
4 changed files with 38 additions and 81 deletions

View File

@@ -5,6 +5,7 @@ import com.cool.store.constants.CommonConstants;
import com.cool.store.dto.partner.*; import com.cool.store.dto.partner.*;
import com.cool.store.entity.HyPartnerLineInfoDO; import com.cool.store.entity.HyPartnerLineInfoDO;
import com.cool.store.mapper.HyPartnerLineInfoMapper; import com.cool.store.mapper.HyPartnerLineInfoMapper;
import com.cool.store.request.PrivateSeaLineListRequest;
import com.cool.store.vo.LinePageInfoVo; import com.cool.store.vo.LinePageInfoVo;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
@@ -135,14 +136,8 @@ public class HyPartnerLineInfoDAO {
return hyPartnerLineInfoMapper.getPublicSeaLineList(userNameKeyword,phoneKeyword,intentAreaName,acceptAdjustType,updateStartTime,updateEndTime,userIdList, createStartTime, createEndTime); return hyPartnerLineInfoMapper.getPublicSeaLineList(userNameKeyword,phoneKeyword,intentAreaName,acceptAdjustType,updateStartTime,updateEndTime,userIdList, createStartTime, createEndTime);
} }
public List<PrivateSeaLineDTO> getPrivateSeaLineList(String keyword, String keywordType, String workflowStage, String workflowStatus, String deadlineStart, String deadlineEnd, public List<PrivateSeaLineDTO> getPrivateSeaLineList(PrivateSeaLineListRequest request){
String intentAreaName, Integer acceptAdjustType, String storeKeyword, String storeKeywordType, List<String> userIdList, return hyPartnerLineInfoMapper.getPrivateSeaLineList(request);
List<String> developmentManagerList,List<Long> userPortraitIdList,List<Long> 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){
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,sortField,sortOrder);
} }
@@ -217,14 +212,8 @@ public class HyPartnerLineInfoDAO {
return hyPartnerLineInfoMapper.getPublicSeaPageInfoNext(lineId,userNameKeyword,phoneKeyword,intentAreaName,acceptAdjustType,updateStartTime,updateEndTime,userIdList, createStartTime, createEndTime,pageTurn,limit1,limit2); return hyPartnerLineInfoMapper.getPublicSeaPageInfoNext(lineId,userNameKeyword,phoneKeyword,intentAreaName,acceptAdjustType,updateStartTime,updateEndTime,userIdList, createStartTime, createEndTime,pageTurn,limit1,limit2);
} }
public List<LinePageInfoVo> getPrivateSeaPageInfoNext(Long lineId,String keyword, String keywordType, String workflowStage, String workflowStatus, String deadlineStart, String deadlineEnd, public List<LinePageInfoVo> getPrivateSeaPageInfoNext(PrivateSeaLineListRequest request){
String intentAreaName, Integer acceptAdjustType, String storeKeyword, String storeKeywordType, List<String> userIdList, return hyPartnerLineInfoMapper.getPrivateSeaPageInfoNext(request);
List<String> developmentManagerList,List<Long> userPortraitIdList,List<Long> 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);
} }

View File

@@ -5,6 +5,7 @@ import com.cool.store.dto.partner.PartnerBlackListDTO;
import com.cool.store.dto.partner.PartnerLineInfoAndBaseInfoDTO; import com.cool.store.dto.partner.PartnerLineInfoAndBaseInfoDTO;
import com.cool.store.dto.partner.StageCountDTO; import com.cool.store.dto.partner.StageCountDTO;
import com.cool.store.entity.HyPartnerLineInfoDO; import com.cool.store.entity.HyPartnerLineInfoDO;
import com.cool.store.request.PrivateSeaLineListRequest;
import com.cool.store.vo.LinePageInfoVo; import com.cool.store.vo.LinePageInfoVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@@ -169,32 +170,7 @@ public interface HyPartnerLineInfoMapper {
* *
* @return * @return
*/ */
List<PrivateSeaLineDTO> getPrivateSeaLineList(@Param("keyword") String keyword, List<PrivateSeaLineDTO> getPrivateSeaLineList(PrivateSeaLineListRequest request);
@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<String> userIdList,
@Param("developmentManagerList") List<String> developmentManagerList,
@Param("userPortraitIdList") List<Long> userPortraitIdList,
@Param("userChannelIdList") List<Long> 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);
/** /**
@@ -273,35 +249,7 @@ public interface HyPartnerLineInfoMapper {
* *
* @return * @return
*/ */
List<LinePageInfoVo> getPrivateSeaPageInfoNext(@Param("lineId") Long lineId,@Param("keyword") String keyword, List<LinePageInfoVo> getPrivateSeaPageInfoNext(PrivateSeaLineListRequest request);
@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<String> userIdList,
@Param("developmentManagerList") List<String> developmentManagerList,
@Param("userPortraitIdList") List<Long> userPortraitIdList,
@Param("userChannelIdList") List<Long> 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
);
List<LinePageInfoVo> getPublicSeaPageInfoNext(@Param("lineId") Long lineId,@Param("userNameKeyword") String userNameKeyword, List<LinePageInfoVo> getPublicSeaPageInfoNext(@Param("lineId") Long lineId,@Param("userNameKeyword") String userNameKeyword,
@Param("phoneKeyword") String phoneKeyword, @Param("phoneKeyword") String phoneKeyword,

View File

@@ -106,5 +106,17 @@ public class PrivateSeaLineListRequest extends PageInfoRequest {
@ApiModelProperty("排序顺序") @ApiModelProperty("排序顺序")
private String pageTurn; private String pageTurn;
@ApiModelProperty("招商经理用户ids")
private List<String> userIdList;
@ApiModelProperty("开发经理用户ids")
private List<String> developmentManagerList;
private String intentAreaName;
private Integer limit1;
private Integer limit2;
} }

View File

@@ -658,11 +658,8 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
} }
String intentAreaName = getIntentAreaName(request.getIntentAreaId()); String intentAreaName = getIntentAreaName(request.getIntentAreaId());
PageHelper.startPage(request.getPageNum(),request.getPageSize()); PageHelper.startPage(request.getPageNum(),request.getPageSize());
PageInfo privateLineList = new PageInfo(hyPartnerLineInfoDAO.getPrivateSeaLineList(request.getKeyword(), request.getKeywordType(), request.getWorkflowStage(), handleReq(request, intentAreaName,userIdsByScope);
request.getWorkflowStatus(), request.getDeadlineStart(), request.getDeadlineEnd(), intentAreaName, request.getAcceptAdjustType(), request.getStoreKeyword(), PageInfo privateLineList = new PageInfo(hyPartnerLineInfoDAO.getPrivateSeaLineList(request));
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()));
List<PrivateSeaLineDTO> list = privateLineList.getList(); List<PrivateSeaLineDTO> list = privateLineList.getList();
if (CollectionUtils.isEmpty(list)){ if (CollectionUtils.isEmpty(list)){
return privateLineList; return privateLineList;
@@ -1016,11 +1013,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
String intentAreaName = getIntentAreaName(request.getIntentAreaId()); String intentAreaName = getIntentAreaName(request.getIntentAreaId());
Integer pageNum = request.getPageNum(); Integer pageNum = request.getPageNum();
Integer pageSize = request.getPageSize(); Integer pageSize = request.getPageSize();
List<LinePageInfoVo> linePageInfoVo = hyPartnerLineInfoDAO.getPrivateSeaPageInfoNext(request.getLineId(), request.getKeyword(), request.getKeywordType(), request.getWorkflowStage(), handleReq(request, intentAreaName,userIdsByScope);
request.getWorkflowStatus(), request.getDeadlineStart(), request.getDeadlineEnd(), intentAreaName, request.getAcceptAdjustType(), request.getStoreKeyword(), int limit1 = (pageNum - 1) * pageSize == 0 ? 0 : (pageNum - 1) * pageSize - 1;
request.getStoreKeywordType(), userIdsByScope.getInvestmentUserIds(), userIdsByScope.getDevelopmentUserIds(), request.getUserPortraitIdList(), request.getUserChannelIdList() request.setLimit1(limit1);
, request.getUpdateStartTime(), request.getUpdateEndTime(), request.getPartnerName(), request.getPartnerMobile(), request.getInvestmentManagerId(), request.getUserPortraitQueryType() request.setLimit2(pageSize + 2);
, request.getIntentAreaQueryType(), request.getLineStartTime(), request.getLineEndTime(), request.getUserChannelQueryType(), request.getSortField(), request.getSortOrder(), (pageNum - 1) * pageSize == 0 ? 0 : (pageNum - 1) * pageSize - 1, pageSize + 2); List<LinePageInfoVo> linePageInfoVo = hyPartnerLineInfoDAO.getPrivateSeaPageInfoNext(request);
Optional<Integer> first = Stream.iterate(0, i -> i + 1).limit(linePageInfoVo.size()).filter(item -> request.getLineId().equals(linePageInfoVo.get(item).getLineId())).findFirst(); Optional<Integer> first = Stream.iterate(0, i -> i + 1).limit(linePageInfoVo.size()).filter(item -> request.getLineId().equals(linePageInfoVo.get(item).getLineId())).findFirst();
if (!first.isPresent()) { if (!first.isPresent()) {
return null; return null;
@@ -1036,6 +1033,17 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
return null; return null;
} }
/**
* 处理请求参数
* @param request
* @param intentAreaName
* @param userIdsByScope
*/
private void handleReq(PrivateSeaLineListRequest request,String intentAreaName,UserPositionAndUserScopeDTO userIdsByScope){
request.setIntentAreaName(intentAreaName);
request.setDevelopmentManagerList(userIdsByScope.getDevelopmentUserIds());
request.setUserIdList(userIdsByScope.getInvestmentUserIds());
}
@Override @Override
public LinePageInfoVo publicSeaPageDetailNext(String userId, LineRequest lineRequest) { public LinePageInfoVo publicSeaPageDetailNext(String userId, LineRequest lineRequest) {