|
@@ -9,16 +9,20 @@ import com.citu.module.menduner.system.controller.base.fair.JobFairJobInfoPageRe
|
|
|
import com.citu.module.menduner.system.controller.base.fair.JobFairJobInfoRespVO;
|
|
|
import com.citu.module.menduner.system.controller.base.fair.analysis.FairEnterpriseAnalysisReqVO;
|
|
|
import com.citu.module.menduner.system.controller.base.fair.analysis.FairUserAnalysisReqVO;
|
|
|
+import com.citu.module.menduner.system.controller.base.fair.analysis.UserJobCVRelExcelVo;
|
|
|
+import com.citu.module.menduner.system.controller.base.person.student.StudentRespVO;
|
|
|
import com.citu.module.menduner.system.dal.mysql.interview.InterviewInviteMapper;
|
|
|
import com.citu.module.menduner.system.dal.mysql.job.JobCvRelMapper;
|
|
|
+import com.citu.module.menduner.system.service.person.student.StudentService;
|
|
|
+import com.citu.module.system.api.dict.DictDataApi;
|
|
|
+import com.citu.module.system.api.dict.dto.DictDataRespDTO;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
import java.time.LocalDateTime;
|
|
|
-import java.util.Comparator;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.citu.module.menduner.common.util.TimeUtils.generateDateTimeRange;
|
|
@@ -40,6 +44,11 @@ public class FairAnalysisServiceImpl implements FairAnalysisService {
|
|
|
@Resource
|
|
|
private InterviewInviteMapper interviewInviteMapper;
|
|
|
|
|
|
+ @Resource
|
|
|
+ DictDataApi dictDataService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ StudentService studentService;
|
|
|
|
|
|
@Override
|
|
|
public PageResult<JobFairJobInfoRespVO> enterpriseJobPage(FairEnterpriseAnalysisReqVO reqVO) {
|
|
@@ -98,6 +107,43 @@ public class FairAnalysisServiceImpl implements FairAnalysisService {
|
|
|
return jobCvRelMapper.getAnalysisDetail(req, timeRange[0], timeRange[1], reqVO.getJobCvRelStatus());
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<UserJobCVRelExcelVo> userJobCVRelDownload(FairUserAnalysisReqVO reqVO) {
|
|
|
+ reqVO.setPageSize(9999*10000);
|
|
|
+ PageResult<RecruitJobCvRelAnalysisRespVO> recruitJobCvRelAnalysisRespVOPageResult = userJobCVRel(reqVO);
|
|
|
+ List<UserJobCVRelExcelVo> res =new ArrayList<>(recruitJobCvRelAnalysisRespVOPageResult.getList().size()+1);
|
|
|
+
|
|
|
+ Map<String,String> dictMap = dictDataService
|
|
|
+ .getDictDataList("menduner_interview_invite_status")
|
|
|
+ .getData().stream().collect(Collectors.toMap(item->item.getValue(),item->item.getLabel()));
|
|
|
+
|
|
|
+
|
|
|
+ List<Long> userIds = recruitJobCvRelAnalysisRespVOPageResult.getList().stream().map(item -> item.getUserId()).collect(Collectors.toList());
|
|
|
+
|
|
|
+ Map<Long,StudentRespVO> studentRespVOS = studentService.getStudentInfoByUserIds(userIds).stream().collect(Collectors.toMap(item->item.getUserId(),item->item));
|
|
|
+ // TODO 填充 需要字段信息
|
|
|
+ recruitJobCvRelAnalysisRespVOPageResult.getList().forEach(item->{
|
|
|
+ UserJobCVRelExcelVo excelVo = new UserJobCVRelExcelVo();
|
|
|
+ excelVo.setStudentName(item.getPerson().getName());
|
|
|
+ excelVo.setDeliverJob(item.getJob().getName());
|
|
|
+ excelVo.setDeliverDate(item.getCreateTime().toString());
|
|
|
+ excelVo.setDeliverEnterpriseName(item.getEnterpriseName());
|
|
|
+ excelVo.setInterviewStatus(dictMap.get(item.getStatus()));
|
|
|
+ //学校,专业
|
|
|
+ StudentRespVO studentRespVO = studentRespVOS.get(item.getUserId());
|
|
|
+ if(null!=studentRespVO) {
|
|
|
+ excelVo.setSchoolName(studentRespVO.getSchoolInfo().getName());
|
|
|
+ excelVo.setMajor(studentRespVO.getMajor().getNameCn());
|
|
|
+ }
|
|
|
+ res.add(excelVo);
|
|
|
+ });
|
|
|
+
|
|
|
+ return res;
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
public PageResult<RecruitInterviewInviteAnalysisRespVO> userInterview(FairUserAnalysisReqVO reqVO) {
|
|
|
RecruitAnalysisPageReqVO req = buildUserAnalysisReq(reqVO);
|
|
@@ -106,6 +152,8 @@ public class FairAnalysisServiceImpl implements FairAnalysisService {
|
|
|
req, timeRange[0], timeRange[1], reqVO.getInterviewInviteStatus(), reqVO.getConversationStatus());
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
private RecruitAnalysisPageReqVO buildUserAnalysisReq(FairUserAnalysisReqVO reqVO) {
|
|
|
RecruitAnalysisPageReqVO req = new RecruitAnalysisPageReqVO();
|
|
|
req.setJobFairId(reqVO.getJobFairId());
|