待处理列表

This commit is contained in:
苏竹红
2024-04-01 17:42:16 +08:00
parent e067779745
commit f9e1d01c6d
17 changed files with 432 additions and 25 deletions

View File

@@ -82,13 +82,21 @@ public class LineInfoDAO {
return null; return null;
} }
public List<LineInfoDO> listByInvestmentManager(String investmentManagerUserId,Integer subStageStatus) { public List<LineInfoDO> listByInvestmentManager(String investmentManagerUserId,List<Integer> subStageStatus) {
if (StringUtils.isBlank(investmentManagerUserId)){ if (StringUtils.isBlank(investmentManagerUserId)){
return null; return null;
} }
List<LineInfoDO> lineInfo = lineInfoMapper.listByInvestmentManager(investmentManagerUserId,subStageStatus); List<LineInfoDO> lineInfo = lineInfoMapper.listByInvestmentManager(investmentManagerUserId,subStageStatus);
return lineInfo; return lineInfo;
} }
public List<LineInfoDO> listByInterview(String interviewId, Integer interviewType,List<Integer> subStageStatus) {
if (StringUtils.isBlank(interviewId)){
return null;
}
List<LineInfoDO> lineInfo = lineInfoMapper.listByInterview(interviewId,interviewType,subStageStatus);
return lineInfo;
}
public List<LineInfoDO> lineList(LineListRequest lineListRequest, String userId, List<Long> wantShopAreaIds) { public List<LineInfoDO> lineList(LineListRequest lineListRequest, String userId, List<Long> wantShopAreaIds) {
List<LineInfoDO> lineInfo = lineInfoMapper.lineList(lineListRequest,userId,wantShopAreaIds); List<LineInfoDO> lineInfo = lineInfoMapper.lineList(lineListRequest,userId,wantShopAreaIds);
return lineInfo; return lineInfo;

View File

@@ -8,10 +8,12 @@ import com.cool.store.request.LineInterviewPageRequest;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@@ -36,7 +38,7 @@ public class LineInterviewDAO {
public List<LineInterviewDO> getInterviewByLindIds(List<Long> lineIds, InterviewTypeEnum interviewType){ public List<LineInterviewDO> getInterviewByLindIds(List<Long> lineIds, InterviewTypeEnum interviewType){
if(CollectionUtils.isEmpty(lineIds) || Objects.isNull(interviewType)){ if(CollectionUtils.isEmpty(lineIds) || Objects.isNull(interviewType)){
return null; return Lists.newArrayList();
} }
return lineInterviewMapper.getInterviewByLindIds(lineIds, interviewType.getCode()); return lineInterviewMapper.getInterviewByLindIds(lineIds, interviewType.getCode());
} }

View File

@@ -6,7 +6,8 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Objects; import java.util.*;
import java.util.stream.Collectors;
/** /**
* @author wxp * @author wxp
@@ -38,4 +39,13 @@ public class LinePayDAO {
return linePayMapper.updateByPrimaryKeySelective(linePayDO); return linePayMapper.updateByPrimaryKeySelective(linePayDO);
} }
public Map<Long,LinePayDO> getLinePayByLineIds(List<Long> lineIds) {
if(Objects.isNull(lineIds) || lineIds.size() == 0){
return new HashMap<>();
}
List<LinePayDO> linePayDO = linePayMapper.getLinePayByLineIds(lineIds);
return linePayDO.stream().collect(Collectors.toMap(LinePayDO::getLineId, linePayDO1 -> linePayDO1, (o, n) -> o));
}
} }

View File

@@ -20,7 +20,16 @@ public interface LineInfoMapper extends Mapper<LineInfoDO> {
* @param investmentManagerUserId * @param investmentManagerUserId
* @return * @return
*/ */
List<LineInfoDO> listByInvestmentManager(@Param("investmentManagerUserId") String investmentManagerUserId, @Param("code") Integer code); List<LineInfoDO> listByInvestmentManager(@Param("investmentManagerUserId") String investmentManagerUserId, @Param("codes") List<Integer> codes);
/**
* 面试官待处理
* @param interviewId
* @param interviewType
* @param codes
* @return
*/
List<LineInfoDO> listByInterview(@Param("interviewId") String interviewId, @Param("interviewType") Integer interviewType, @Param("codes") List<Integer> codes);
/** /**
* 我的线索列表 * 我的线索列表

View File

@@ -3,6 +3,8 @@ package com.cool.store.mapper;
import com.cool.store.entity.LinePayDO; import com.cool.store.entity.LinePayDO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* @author wxp * @author wxp
* @date 2024-03-27 09:25 * @date 2024-03-27 09:25
@@ -39,4 +41,11 @@ public interface LinePayMapper {
LinePayDO getLinePayByLineId(@Param("lineId") Long lineId); LinePayDO getLinePayByLineId(@Param("lineId") Long lineId);
/**
* getLinePayByLineIds
* @param lineIds
* @return
*/
List<LinePayDO> getLinePayByLineIds(@Param("lineIds") List<Long> lineIds);
} }

View File

@@ -5,6 +5,7 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import javax.websocket.server.PathParam; import javax.websocket.server.PathParam;
import java.util.List;
@Mapper @Mapper
public interface TrainingExperienceMapper { public interface TrainingExperienceMapper {
@@ -16,4 +17,6 @@ public interface TrainingExperienceMapper {
@Param("abandonCause") String abandonCause); @Param("abandonCause") String abandonCause);
LeaseBaseInfoDO selectByLineId(@Param("lineId") Long lineId); LeaseBaseInfoDO selectByLineId(@Param("lineId") Long lineId);
List<LeaseBaseInfoDO> selectByLineIds(@Param("lineIds") List<Long> lineIds);
} }

View File

@@ -291,17 +291,35 @@
<select id="listByInvestmentManager" resultMap="BaseResultMap"> <select id="listByInvestmentManager" resultMap="BaseResultMap">
select * from xfsg_line_info select * from xfsg_line_info
where deleted = 0 where deleted = 0
and workflow_sub_stage_status = 5
<if test="investmentManagerUserId != null and investmentManagerUserId != ''"> <if test="investmentManagerUserId != null and investmentManagerUserId != ''">
and investment_manager = #{investmentManagerUserId} and investment_manager = #{investmentManagerUserId}
</if> </if>
<if test="code != null"> <if test="codes !=null and codes.size>0">
and workflow_sub_stage_status = #{code} <foreach collection="codes" item="code" open="and workflow_sub_stage_status in (" close=")" separator=",">
#{code}
</foreach>
</if> </if>
</select> </select>
<select id="listByInterview" resultMap="BaseResultMap">
select * from xfsg_line_info
where deleted = 0
<if test="interviewType != null and interviewType == '1'">
and first_interviewer = #{investmentManagerUserId}
</if>
<if test="interviewType != null and interviewType == '2'">
and second_interviewer = #{investmentManagerUserId}
</if>
<if test="codes !=null and codes.size>0">
<foreach collection="codes" item="code" open="and workflow_sub_stage_status in (" close=")" separator=",">
#{code}
</foreach>
</if>
</select>
<select id="lineList" resultMap="BaseResultMap"> <select id="lineList" resultMap="BaseResultMap">
select * from xfsg_line_info select * from xfsg_line_info
where deleted = 0 and line_status = 1 and join_status = 0 where deleted = 0 and line_status = 1 and join_status = 0

View File

@@ -280,4 +280,13 @@
<select id="getLinePayByLineId" resultMap="BaseResultMap"> <select id="getLinePayByLineId" resultMap="BaseResultMap">
select * from xfsg_line_pay where line_id = #{lineId} and deleted = '0' select * from xfsg_line_pay where line_id = #{lineId} and deleted = '0'
</select> </select>
<select id="getLinePayByLineIds" resultMap="BaseResultMap">
select * from xfsg_line_pay where deleted = 0
<if test="lineIds !=null and lineIds.size>0">
<foreach collection="lineIds" item="lineId" open="and line_id in (" close=")" separator=",">
#{lineId}
</foreach>
</if>
</select>
</mapper> </mapper>

View File

@@ -76,6 +76,18 @@
from xfsg_lease_base_info from xfsg_lease_base_info
where line_id = #{lineId} where line_id = #{lineId}
</select> </select>
<select id="selectByLineIds" resultType="com.cool.store.entity.LeaseBaseInfoDO">
select
<include refid="Base_Column_List"/>
from xfsg_lease_base_info
<where>
<if test="lineIds !=null and lineIds.size>0">
<foreach collection="lineIds" item="lineId" open="and line_id in (" close=")" separator=",">
#{lineId}
</foreach>
</if>
</where>
</select>
</mapper> </mapper>

View File

@@ -18,6 +18,9 @@ public class InterviewPendingVO extends BaseInfoVO {
@ApiModelProperty("面谈结束时间 10:00") @ApiModelProperty("面谈结束时间 10:00")
private String endTime; private String endTime;
@ApiModelProperty("面试官名称")
private String interviewer;
public InterviewPendingVO(){}; public InterviewPendingVO(){};
public InterviewPendingVO(BaseInfoVO baseInfoVO) { public InterviewPendingVO(BaseInfoVO baseInfoVO) {

View File

@@ -0,0 +1,24 @@
package com.cool.store.vo.desk;
import com.cool.store.vo.BaseInfoVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2024/4/1 16:37
* @Version 1.0
*/
@Data
public class PayStagePendingVO extends BaseInfoVO {
@ApiModelProperty("缴费时间 2024年04月23日 16:00")
private String payTime;
public PayStagePendingVO(){};
public PayStagePendingVO(BaseInfoVO baseInfoVO) {
super(baseInfoVO);
}
}

View File

@@ -0,0 +1,26 @@
package com.cool.store.vo.desk;
import com.cool.store.vo.BaseInfoVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2024/4/1 16:55
* @Version 1.0
*/
@Data
public class SigningPendingVO extends BaseInfoVO {
@ApiModelProperty("提交时间 2024年04月23日 16:00")
private String submitTime;
public SigningPendingVO(){};
public SigningPendingVO(BaseInfoVO baseInfoVO) {
super(baseInfoVO);
}
}

View File

@@ -0,0 +1,26 @@
package com.cool.store.vo.desk;
import com.cool.store.vo.BaseInfoVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2024/4/1 17:05
* @Version 1.0
*/
@Data
public class StoreExperiencePendingVO extends BaseInfoVO {
@ApiModelProperty("开始时间 2024年04月23日")
private String experienceStartTime;
@ApiModelProperty("结束时间 23日")
private String experienceEndTime;
public StoreExperiencePendingVO(){};
public StoreExperiencePendingVO(BaseInfoVO baseInfoVO) {
super(baseInfoVO);
}
}

View File

@@ -1,10 +1,10 @@
package com.cool.store.service; package com.cool.store.service;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.entity.HyPartnerLabelDO; import com.cool.store.entity.HyPartnerLabelDO;
import com.cool.store.entity.LineInfoDO; import com.cool.store.entity.LineInfoDO;
import com.cool.store.vo.BaseInfoVO; import com.cool.store.vo.BaseInfoVO;
import com.cool.store.vo.desk.IntendPendingVO; import com.cool.store.vo.desk.*;
import com.cool.store.vo.desk.InterviewPendingVO;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import java.util.List; import java.util.List;
@@ -36,6 +36,52 @@ public interface DeskService {
*/ */
PageInfo<InterviewPendingVO> interviewPendingList(Integer pageNum, Integer pageSize,String userId); PageInfo<InterviewPendingVO> interviewPendingList(Integer pageNum, Integer pageSize,String userId);
/**
* 一审面试待处理
* @param pageNum
* @param pageSize
* @param user
* @return
*/
PageInfo<InterviewPendingVO> firstInterviewPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user);
/**
* 二审面试待处理
* @param pageNum
* @param pageSize
* @param user
* @return
*/
PageInfo<InterviewPendingVO> secondInterviewPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user);
/**
* payStagePendingList
* @param pageNum
* @param pageSize
* @param user
* @return
*/
PageInfo<PayStagePendingVO> payStagePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user);
/**
* signingPendingList
* @param pageNum
* @param pageSize
* @param user
* @return
*/
PageInfo<SigningPendingVO> signingPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user);
/**
* storeExperiencePendingList
* @param pageNum
* @param pageSize
* @param user
* @return
*/
PageInfo<StoreExperiencePendingVO> storeExperiencePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user);
/** /**
* convertToBaseInfoVO * convertToBaseInfoVO
* @param lineInfoDO * @param lineInfoDO

View File

@@ -1,24 +1,20 @@
package com.cool.store.service.impl; package com.cool.store.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.cool.store.dao.HyOpenAreaInfoDAO; import com.cool.store.context.LoginUserInfo;
import com.cool.store.dao.HyPartnerLabelDAO; import com.cool.store.dao.*;
import com.cool.store.dao.LineInfoDAO; import com.cool.store.entity.*;
import com.cool.store.dao.LineInterviewDAO;
import com.cool.store.entity.HyOpenAreaInfoDO;
import com.cool.store.entity.HyPartnerLabelDO;
import com.cool.store.entity.LineInfoDO;
import com.cool.store.entity.LineInterviewDO;
import com.cool.store.enums.InterviewTypeEnum; import com.cool.store.enums.InterviewTypeEnum;
import com.cool.store.enums.WorkflowSubStageStatusEnum; import com.cool.store.enums.WorkflowSubStageStatusEnum;
import com.cool.store.mapper.IntentAgreementMapper;
import com.cool.store.mapper.LineInterviewMapper; import com.cool.store.mapper.LineInterviewMapper;
import com.cool.store.mapper.TrainingExperienceMapper;
import com.cool.store.service.DeskService; import com.cool.store.service.DeskService;
import com.cool.store.utils.StringUtil; import com.cool.store.utils.StringUtil;
import com.cool.store.utils.poi.DateUtils; import com.cool.store.utils.poi.DateUtils;
import com.cool.store.vo.BaseInfoVO; import com.cool.store.vo.BaseInfoVO;
import com.cool.store.vo.LabelBaseInfoVO; import com.cool.store.vo.LabelBaseInfoVO;
import com.cool.store.vo.desk.IntendPendingVO; import com.cool.store.vo.desk.*;
import com.cool.store.vo.desk.InterviewPendingVO;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
@@ -44,11 +40,17 @@ public class DeskServiceImpl implements DeskService {
HyOpenAreaInfoDAO hyOpenAreaInfoDAO; HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
@Resource @Resource
LineInterviewDAO lineInterviewDAO; LineInterviewDAO lineInterviewDAO;
@Resource
LinePayDAO linePayDAO;
@Resource
IntentAgreementMapper intentAgreementMapper;
@Resource
TrainingExperienceMapper trainingExperienceMapper;
@Override @Override
public PageInfo<IntendPendingVO> intendPendingList(Integer pageNum, Integer pageSize,String userId) { public PageInfo<IntendPendingVO> intendPendingList(Integer pageNum, Integer pageSize,String userId) {
PageHelper.startPage(pageNum, pageSize); PageHelper.startPage(pageNum, pageSize);
List<LineInfoDO> lineInfoDOS = lineInfoDAO.listByInvestmentManager(userId, WorkflowSubStageStatusEnum.INTENT_5.getCode()); List<LineInfoDO> lineInfoDOS = lineInfoDAO.listByInvestmentManager(userId, Arrays.asList(WorkflowSubStageStatusEnum.INTENT_5.getCode()));
PageInfo page = new PageInfo(lineInfoDOS); PageInfo page = new PageInfo(lineInfoDOS);
Map<Long, HyPartnerLabelDO> userPortraitMap = this.getUserPortraitMap(lineInfoDOS); Map<Long, HyPartnerLabelDO> userPortraitMap = this.getUserPortraitMap(lineInfoDOS);
List<Long> wantShopAreaIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList()); List<Long> wantShopAreaIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList());
@@ -68,7 +70,7 @@ public class DeskServiceImpl implements DeskService {
@Override @Override
public PageInfo<InterviewPendingVO> interviewPendingList(Integer pageNum, Integer pageSize, String userId) { public PageInfo<InterviewPendingVO> interviewPendingList(Integer pageNum, Integer pageSize, String userId) {
PageHelper.startPage(pageNum, pageSize); PageHelper.startPage(pageNum, pageSize);
List<LineInfoDO> lineInfoDOS = lineInfoDAO.listByInvestmentManager(userId,WorkflowSubStageStatusEnum.INTENT_5.getCode()); List<LineInfoDO> lineInfoDOS = lineInfoDAO.listByInvestmentManager(userId,Arrays.asList(WorkflowSubStageStatusEnum.INVITING_INTERVIEWS_20.getCode()));
PageInfo page = new PageInfo(lineInfoDOS); PageInfo page = new PageInfo(lineInfoDOS);
Map<Long, HyPartnerLabelDO> userPortraitMap = this.getUserPortraitMap(lineInfoDOS); Map<Long, HyPartnerLabelDO> userPortraitMap = this.getUserPortraitMap(lineInfoDOS);
List<Long> wantShopAreaIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList()); List<Long> wantShopAreaIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList());
@@ -92,6 +94,155 @@ public class DeskServiceImpl implements DeskService {
return page; return page;
} }
@Override
public PageInfo<InterviewPendingVO> firstInterviewPendingList(Integer pageNum, Integer pageSize, LoginUserInfo userInfo) {
PageHelper.startPage(pageNum, pageSize);
List<LineInfoDO> lineInfoDOS = lineInfoDAO.listByInterview(userInfo.getUserId(),InterviewTypeEnum.INTERVIEW.getCode(),
Arrays.asList(WorkflowSubStageStatusEnum.FIRST_INTERVIEWS_35.getCode(),
WorkflowSubStageStatusEnum.FIRST_INTERVIEWS_40.getCode(),
WorkflowSubStageStatusEnum.FIRST_INTERVIEWS_30.getCode()));
PageInfo page = new PageInfo(lineInfoDOS);
Map<Long, HyPartnerLabelDO> userPortraitMap = this.getUserPortraitMap(lineInfoDOS);
List<Long> wantShopAreaIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList());
Map<Long, String> wantShopAreaMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaIds);
List<Long> lineIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getId() != null).map(LineInfoDO::getId).collect(Collectors.toList());
List<LineInterviewDO> interviewByLindIds = lineInterviewDAO.getInterviewByLindIds(lineIds, InterviewTypeEnum.MEET);
Map<Long, LineInterviewDO> interviewDOMap = interviewByLindIds.stream().collect(Collectors.toMap(LineInterviewDO::getLineId, x -> x, (k1, k2) -> k1));
List<InterviewPendingVO> list = new ArrayList<>();
lineInfoDOS.forEach(x->{
BaseInfoVO baseInfoVO = convertToBaseInfoVO(x, userPortraitMap, wantShopAreaMap);
InterviewPendingVO interviewPendingVO = new InterviewPendingVO(baseInfoVO);
LineInterviewDO lineInterviewDO = interviewDOMap.get(x.getId());
if (lineInterviewDO != null){
interviewPendingVO.setStartTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START,lineInterviewDO.getStartTime()));
interviewPendingVO.setEndTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_END,lineInterviewDO.getEndTime()));
interviewPendingVO.setInterviewer(userInfo.getName());
}
list.add(interviewPendingVO);
});
page.setList(list);
return page;
}
@Override
public PageInfo<InterviewPendingVO> secondInterviewPendingList(Integer pageNum, Integer pageSize, LoginUserInfo userInfo) {
PageHelper.startPage(pageNum, pageSize);
List<LineInfoDO> lineInfoDOS = lineInfoDAO.listByInterview(userInfo.getUserId(),InterviewTypeEnum.SECOND_INTERVIEW.getCode(),
Arrays.asList(WorkflowSubStageStatusEnum.SECOND_INTERVIEWS_105.getCode(),
WorkflowSubStageStatusEnum.SECOND_INTERVIEWS_110.getCode(),
WorkflowSubStageStatusEnum.SECOND_INTERVIEWS_115.getCode()));
PageInfo page = new PageInfo(lineInfoDOS);
Map<Long, HyPartnerLabelDO> userPortraitMap = this.getUserPortraitMap(lineInfoDOS);
List<Long> wantShopAreaIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList());
Map<Long, String> wantShopAreaMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaIds);
List<Long> lineIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getId() != null).map(LineInfoDO::getId).collect(Collectors.toList());
List<LineInterviewDO> interviewByLindIds = lineInterviewDAO.getInterviewByLindIds(lineIds, InterviewTypeEnum.MEET);
Map<Long, LineInterviewDO> interviewDOMap = interviewByLindIds.stream().collect(Collectors.toMap(LineInterviewDO::getLineId, x -> x, (k1, k2) -> k1));
List<InterviewPendingVO> list = new ArrayList<>();
lineInfoDOS.forEach(x->{
BaseInfoVO baseInfoVO = convertToBaseInfoVO(x, userPortraitMap, wantShopAreaMap);
InterviewPendingVO interviewPendingVO = new InterviewPendingVO(baseInfoVO);
LineInterviewDO lineInterviewDO = interviewDOMap.get(x.getId());
if (lineInterviewDO != null){
interviewPendingVO.setStartTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START,lineInterviewDO.getStartTime()));
interviewPendingVO.setEndTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_END,lineInterviewDO.getEndTime()));
interviewPendingVO.setInterviewer(userInfo.getName());
}
list.add(interviewPendingVO);
});
page.setList(list);
return page;
}
@Override
public PageInfo<PayStagePendingVO> payStagePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) {
PageHelper.startPage(pageNum, pageSize);
List<LineInfoDO> lineInfoDOS = lineInfoDAO.listByInvestmentManager(user.getUserId(), Arrays.asList(WorkflowSubStageStatusEnum.PAY_DEPOSIT_50.getCode()));
PageInfo page = new PageInfo(lineInfoDOS);
Map<Long, HyPartnerLabelDO> userPortraitMap = this.getUserPortraitMap(lineInfoDOS);
List<Long> wantShopAreaIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList());
Map<Long, String> wantShopAreaMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaIds);
List<Long> lineIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getId() != null).map(LineInfoDO::getId).collect(Collectors.toList());
Map<Long, LinePayDO> payMap = linePayDAO.getLinePayByLineIds(lineIds);
List<PayStagePendingVO> list = new ArrayList<>();
lineInfoDOS.forEach(x->{
BaseInfoVO baseInfoVO = convertToBaseInfoVO(x, userPortraitMap, wantShopAreaMap);
PayStagePendingVO payStagePendingVO = new PayStagePendingVO(baseInfoVO);
LinePayDO linePayDO = payMap.get(x.getId());
if (linePayDO != null && linePayDO.getPayTime() != null){
payStagePendingVO.setPayTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START,linePayDO.getPayTime()));
}
list.add(payStagePendingVO);
});
page.setList(list);
return page ;
}
@Override
public PageInfo<SigningPendingVO> signingPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) {
PageHelper.startPage(pageNum, pageSize);
List<LineInfoDO> lineInfoDOS = lineInfoDAO.listByInvestmentManager(user.getUserId(),
Arrays.asList(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_63.getCode(),
WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_70.getCode(),
WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_80.getCode()));
PageInfo page = new PageInfo(lineInfoDOS);
Map<Long, HyPartnerLabelDO> userPortraitMap = this.getUserPortraitMap(lineInfoDOS);
List<Long> wantShopAreaIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList());
Map<Long, String> wantShopAreaMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaIds);
List<Long> lineIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getId() != null).map(LineInfoDO::getId).collect(Collectors.toList());
List<SigningBaseInfoDO> signingBaseInfoDOS = intentAgreementMapper.selectByLineIds(lineIds);
Map<Long, Date> dateMap = signingBaseInfoDOS.stream().collect(Collectors.toMap(SigningBaseInfoDO::getId, SigningBaseInfoDO::getCreateTime));
List<SigningPendingVO> list = new ArrayList<>();
lineInfoDOS.forEach(x->{
BaseInfoVO baseInfoVO = convertToBaseInfoVO(x, userPortraitMap, wantShopAreaMap);
SigningPendingVO signingPendingVO = new SigningPendingVO(baseInfoVO);
Date date = dateMap.get(x.getId());
if (date != null){
signingPendingVO.setSubmitTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START,date));
}
list.add(signingPendingVO);
});
page.setList(list);
return page ;
}
@Override
public PageInfo<StoreExperiencePendingVO> storeExperiencePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) {
PageHelper.startPage(pageNum, pageSize);
List<LineInfoDO> lineInfoDOS = lineInfoDAO.listByInvestmentManager(user.getUserId(),
Arrays.asList(WorkflowSubStageStatusEnum.STORE_EXPERIENCE_85.getCode(),
WorkflowSubStageStatusEnum.STORE_EXPERIENCE_95.getCode()));
PageInfo page = new PageInfo(lineInfoDOS);
Map<Long, HyPartnerLabelDO> userPortraitMap = this.getUserPortraitMap(lineInfoDOS);
List<Long> wantShopAreaIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList());
Map<Long, String> wantShopAreaMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaIds);
List<Long> lineIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getId() != null).map(LineInfoDO::getId).collect(Collectors.toList());
Map<Long, LeaseBaseInfoDO> infoDOMap = new HashMap<>();
if (CollectionUtils.isNotEmpty(lineIds)){
List<LeaseBaseInfoDO> leaseBaseInfoDOS = trainingExperienceMapper.selectByLineIds(lineIds);
infoDOMap = leaseBaseInfoDOS.stream().collect(Collectors.toMap(LeaseBaseInfoDO::getLineId, x -> x));
}
List<StoreExperiencePendingVO> list = new ArrayList<>();
Map<Long, LeaseBaseInfoDO> finalInfoDOMap = infoDOMap;
lineInfoDOS.forEach(x->{
BaseInfoVO baseInfoVO = convertToBaseInfoVO(x, userPortraitMap, wantShopAreaMap);
StoreExperiencePendingVO storeExperiencePendingVO = new StoreExperiencePendingVO(baseInfoVO);
LeaseBaseInfoDO date = finalInfoDOMap.get(x.getId());
if (date != null && date.getExperienceStartTime() != null && date.getExperienceEndTime() != null){
storeExperiencePendingVO.setExperienceStartTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START_1,date.getExperienceStartTime()));
storeExperiencePendingVO.setExperienceEndTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START_2,date.getExperienceEndTime()));
}
list.add(storeExperiencePendingVO);
});
page.setList(list);
return page ;
}
/** /**
* convertToBaseInfoVO * convertToBaseInfoVO
* @param lineInfoDO * @param lineInfoDO

View File

@@ -31,6 +31,10 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
public static String SPECIAL_DATE_START = "yyyy年MM月dd日 HH:mm"; public static String SPECIAL_DATE_START = "yyyy年MM月dd日 HH:mm";
public static String SPECIAL_DATE_START_1 = "yyyy年MM月dd日";
public static String SPECIAL_DATE_START_2 = "dd日";
public static String SPECIAL_DATE_END = "HH:mm"; public static String SPECIAL_DATE_END = "HH:mm";
private static String[] parsePatterns = { private static String[] parsePatterns = {

View File

@@ -1,9 +1,10 @@
package com.cool.store.controller.webb; package com.cool.store.controller.webb;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.response.ResponseResult; import com.cool.store.response.ResponseResult;
import com.cool.store.service.DeskService; import com.cool.store.service.DeskService;
import com.cool.store.vo.desk.IntendPendingVO; import com.cool.store.vo.desk.*;
import com.cool.store.vo.desk.InterviewPendingVO;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@@ -32,7 +33,7 @@ public class DeskController {
@GetMapping("/intendPendingList") @GetMapping("/intendPendingList")
public ResponseResult<PageInfo<IntendPendingVO>> intendPendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber, public ResponseResult<PageInfo<IntendPendingVO>> intendPendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber,
@RequestParam(value = "pageSize",required = true,defaultValue = "10")Integer pageSize) { @RequestParam(value = "pageSize",required = true,defaultValue = "10")Integer pageSize) {
// LoginUserInfo userInfo = CurrentUserHolder.getUser(); LoginUserInfo userInfo = CurrentUserHolder.getUser();
return ResponseResult.success(deskService.intendPendingList(pageNumber,pageSize,"055740241221153440")); return ResponseResult.success(deskService.intendPendingList(pageNumber,pageSize,"055740241221153440"));
} }
@@ -40,10 +41,56 @@ public class DeskController {
@GetMapping("/interviewPendingList") @GetMapping("/interviewPendingList")
public ResponseResult<PageInfo<InterviewPendingVO>> interviewPendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber, public ResponseResult<PageInfo<InterviewPendingVO>> interviewPendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber,
@RequestParam(value = "pageSize",required = true,defaultValue = "10")Integer pageSize) { @RequestParam(value = "pageSize",required = true,defaultValue = "10")Integer pageSize) {
// LoginUserInfo userInfo = CurrentUserHolder.getUser(); LoginUserInfo userInfo = CurrentUserHolder.getUser();
return ResponseResult.success(deskService.interviewPendingList(pageNumber,pageSize,"055740241221153440")); return ResponseResult.success(deskService.interviewPendingList(pageNumber,pageSize,"055740241221153440"));
} }
@ApiOperation("待处理-一审")
@GetMapping("/firstInterviewPendingList")
public ResponseResult<PageInfo<InterviewPendingVO>> firstInterviewPendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber,
@RequestParam(value = "pageSize",required = true,defaultValue = "10")Integer pageSize) {
LoginUserInfo userInfo = CurrentUserHolder.getUser();
userInfo.setUserId("055740241221153440");
return ResponseResult.success(deskService.firstInterviewPendingList(pageNumber,pageSize,userInfo));
}
@ApiOperation("待处理-二审")
@GetMapping("/secondInterviewPendingList")
public ResponseResult<PageInfo<InterviewPendingVO>> secondInterviewPendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber,
@RequestParam(value = "pageSize",required = true,defaultValue = "10")Integer pageSize) {
LoginUserInfo userInfo = CurrentUserHolder.getUser();
userInfo.setUserId("055740241221153440");
return ResponseResult.success(deskService.secondInterviewPendingList(pageNumber,pageSize,userInfo));
}
@ApiOperation("待处理-缴纳意向金")
@GetMapping("/payStagePendingList")
public ResponseResult<PageInfo<PayStagePendingVO>> payStagePendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber,
@RequestParam(value = "pageSize",required = true,defaultValue = "10")Integer pageSize) {
LoginUserInfo userInfo = CurrentUserHolder.getUser();
userInfo.setUserId("055740241221153440");
return ResponseResult.success(deskService.payStagePendingList(pageNumber,pageSize,userInfo));
}
@ApiOperation("待处理-意向协议")
@GetMapping("/signingPendingList")
public ResponseResult<PageInfo<SigningPendingVO>> signingPendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber,
@RequestParam(value = "pageSize",required = true,defaultValue = "10")Integer pageSize) {
LoginUserInfo userInfo = CurrentUserHolder.getUser();
userInfo.setUserId("055740241221153440");
return ResponseResult.success(deskService.signingPendingList(pageNumber,pageSize,userInfo));
}
@ApiOperation("待处理-实训体验")
@GetMapping("/storeExperiencePendingList")
public ResponseResult<PageInfo<StoreExperiencePendingVO>> storeExperiencePendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber,
@RequestParam(value = "pageSize",required = true,defaultValue = "10")Integer pageSize) {
LoginUserInfo userInfo = CurrentUserHolder.getUser();
userInfo.setUserId("055740241221153440");
return ResponseResult.success(deskService.storeExperiencePendingList(pageNumber,pageSize,userInfo));
}