|
@@ -12,14 +12,18 @@ import com.citu.module.menduner.system.controller.app.jobhunt.job.vo.AppEnterpri
|
|
|
import com.citu.module.menduner.system.controller.app.jobhunt.job.vo.AppJobAdvertisedHomeRespVO;
|
|
|
import com.citu.module.menduner.system.controller.app.jobhunt.job.vo.AppJobAdvertisedPageReqVO;
|
|
|
import com.citu.module.menduner.system.controller.app.jobhunt.job.vo.AppJobAdvertisedRespVO;
|
|
|
+import com.citu.module.menduner.system.controller.app.recruit.job.vo.AppRecruitJobExportRespVO;
|
|
|
import com.citu.module.menduner.system.controller.app.recruit.job.vo.AppRecruitJobPageReqVO;
|
|
|
import com.citu.module.menduner.system.controller.app.recruit.job.vo.AppRecruitJobSimpleRespVO;
|
|
|
import com.citu.module.menduner.system.controller.base.analysis.RecruitAnalysisReqVO;
|
|
|
import com.citu.module.menduner.system.controller.base.analysis.RecruitJobAnalysisRespVO;
|
|
|
import com.citu.module.menduner.system.controller.base.job.JobAdvertisedPageReqVO;
|
|
|
import com.citu.module.menduner.system.controller.base.job.JobAdvertisedReqVO;
|
|
|
+import com.citu.module.menduner.system.dal.dataobject.area.AreaDO;
|
|
|
import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
|
|
|
+import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseUserBindDO;
|
|
|
import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
|
|
|
+import com.citu.module.menduner.system.dal.dataobject.position.PositionDO;
|
|
|
import com.citu.module.menduner.system.dal.dataobject.visits.MdeVisitsDO;
|
|
|
import com.citu.module.menduner.system.enums.MendunerStatusEnum;
|
|
|
import com.citu.module.menduner.system.enums.job.JobStatusEnum;
|
|
@@ -70,6 +74,7 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
|
|
|
.eqIfPresent(JobAdvertisedDO::getStatus, reqVO.getStatus())
|
|
|
.orderByDesc(JobAdvertisedDO::getId));
|
|
|
}
|
|
|
+
|
|
|
default Long countByEnterpriseId(Long enterpriseId) {
|
|
|
return selectCount(new LambdaQueryWrapperX<JobAdvertisedDO>()
|
|
|
.eq(JobAdvertisedDO::getEnterpriseId, enterpriseId)
|
|
@@ -251,11 +256,67 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
|
|
|
|
|
|
query.between(MdeVisitsDO::getUpdateTime, startTime, endTime);
|
|
|
|
|
|
- Map<String,Object> result= selectJoinMap(query);
|
|
|
- if(null == result) {
|
|
|
+ Map<String, Object> result = selectJoinMap(query);
|
|
|
+ if (null == result) {
|
|
|
return 0L;
|
|
|
}
|
|
|
return Long.valueOf(result.get("num").toString());
|
|
|
}
|
|
|
|
|
|
+ default PageResult<RecruitJobAnalysisRespVO> getJobNum(
|
|
|
+ RecruitAnalysisReqVO reqVO, LocalDateTime startTime, LocalDateTime endTime) {
|
|
|
+ MPJLambdaWrapperX<JobAdvertisedDO> query = new MPJLambdaWrapperX<>();
|
|
|
+ query.selectAll(JobAdvertisedDO.class);
|
|
|
+ query.selectCount(JobAdvertisedDO::getId, RecruitJobAnalysisRespVO::getNum);
|
|
|
+
|
|
|
+ query.eqIfPresent(JobAdvertisedDO::getEnterpriseId, reqVO.getEnterpriseId());
|
|
|
+ query.inIfPresent(JobAdvertisedDO::getUserId, reqVO.getUserId());
|
|
|
+ query.eqIfPresent(JobAdvertisedDO::getId, reqVO.getJobId());
|
|
|
+ query.eqIfPresent(JobAdvertisedDO::getStatus, reqVO.getJobStatus());
|
|
|
+
|
|
|
+ query.between(JobAdvertisedDO::getCreateTime, startTime, endTime);
|
|
|
+
|
|
|
+ query.groupBy(JobAdvertisedDO::getStatus);
|
|
|
+ query.orderByDesc(JobAdvertisedDO::getUpdateTime);
|
|
|
+
|
|
|
+ return selectJoinPage(reqVO, RecruitJobAnalysisRespVO.class, query);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ default PageResult<AppRecruitJobExportRespVO> page(AppRecruitJobPageReqVO reqVO, Long enterpriseId, Long userId) {
|
|
|
+ MPJLambdaWrapperX<JobAdvertisedDO> query = new MPJLambdaWrapperX<>();
|
|
|
+
|
|
|
+ query.selectAll(JobAdvertisedDO.class);
|
|
|
+ query.selectAs(EnterpriseDO::getName, AppRecruitJobExportRespVO::getEnterpriseName);
|
|
|
+ query.selectAs(PositionDO::getNameCn, AppRecruitJobExportRespVO::getPositionName);
|
|
|
+ query.selectAs(EnterpriseUserBindDO::getName, AppRecruitJobExportRespVO::getUserName);
|
|
|
+ query.selectAs(AreaDO::getName, AppRecruitJobExportRespVO::getArea);
|
|
|
+
|
|
|
+
|
|
|
+ query.inIfPresent(JobAdvertisedDO::getId, reqVO.getIds())
|
|
|
+ .eqIfPresent(JobAdvertisedDO::getAreaId, reqVO.getAreaId())
|
|
|
+ .likeIfPresent(JobAdvertisedDO::getName, reqVO.getName())
|
|
|
+ .eqIfPresent(JobAdvertisedDO::getPositionId, reqVO.getPositionId())
|
|
|
+ .eqIfPresent(JobAdvertisedDO::getType, reqVO.getType())
|
|
|
+ .eqIfPresent(JobAdvertisedDO::getExpType, reqVO.getExpType())
|
|
|
+ .eqIfPresent(JobAdvertisedDO::getEduType, reqVO.getEduType())
|
|
|
+ .eqIfPresent(JobAdvertisedDO::getStatus, reqVO.getStatus())
|
|
|
+ .eqIfPresent(JobAdvertisedDO::getHire, reqVO.getHire())
|
|
|
+ .betweenIfPresent(JobAdvertisedDO::getCreateTime, reqVO.getCreateTime())
|
|
|
+ .orderByDesc(JobAdvertisedDO::getTop, JobAdvertisedDO::getUpdateTime);
|
|
|
+
|
|
|
+ query.eq(JobAdvertisedDO::getEnterpriseId, enterpriseId);
|
|
|
+ query.eq(JobAdvertisedDO::getUserId, userId);
|
|
|
+
|
|
|
+ query.innerJoin(EnterpriseDO.class, on -> on.eq(EnterpriseDO::getId, JobAdvertisedDO::getEnterpriseId));
|
|
|
+ query.leftJoin(PositionDO.class, on -> on.eq(PositionDO::getId, JobAdvertisedDO::getPositionId));
|
|
|
+ query.leftJoin(AreaDO.class, on -> on.eq(AreaDO::getId, JobAdvertisedDO::getAreaId));
|
|
|
+ query.innerJoin(EnterpriseUserBindDO.class,on->on
|
|
|
+ .eq(EnterpriseUserBindDO::getEnterpriseId,JobAdvertisedDO::getEnterpriseId)
|
|
|
+ .eq(EnterpriseUserBindDO::getUserId,JobAdvertisedDO::getUserId)
|
|
|
+ );
|
|
|
+
|
|
|
+ return selectJoinPage(reqVO, AppRecruitJobExportRespVO.class, query);
|
|
|
+ }
|
|
|
}
|