|
@@ -19,7 +19,6 @@ import com.citu.module.menduner.system.controller.base.analysis.RecruitJobAnalys
|
|
|
import com.citu.module.menduner.system.controller.base.job.JobAdvertisedPageReqVO;
|
|
|
import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
|
|
|
import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
|
|
|
-import com.citu.module.menduner.system.dal.dataobject.job.JobCvRelDO;
|
|
|
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;
|
|
@@ -28,6 +27,7 @@ import org.apache.ibatis.annotations.Mapper;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* 招聘职位 Mapper
|
|
@@ -193,14 +193,14 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
|
|
|
RecruitAnalysisReqVO reqVO, LocalDateTime startTime, LocalDateTime endTime) {
|
|
|
MPJLambdaWrapperX<JobAdvertisedDO> query = new MPJLambdaWrapperX<>();
|
|
|
query.selectAll(JobAdvertisedDO.class);
|
|
|
- query.selectSum(MdeVisitsDO::getCount,RecruitJobAnalysisRespVO::getNum);
|
|
|
+ query.selectSum(MdeVisitsDO::getCount, RecruitJobAnalysisRespVO::getNum);
|
|
|
|
|
|
query.eqIfPresent(JobAdvertisedDO::getEnterpriseId, reqVO.getEnterpriseId());
|
|
|
query.inIfPresent(JobAdvertisedDO::getUserId, reqVO.getUserId());
|
|
|
query.eqIfPresent(JobAdvertisedDO::getId, reqVO.getJobId());
|
|
|
|
|
|
- query.innerJoin(MdeVisitsDO.class, on->
|
|
|
- on.eq(MdeVisitsDO::getBizId,JobAdvertisedDO::getId)
|
|
|
+ query.innerJoin(MdeVisitsDO.class, on ->
|
|
|
+ on.eq(MdeVisitsDO::getBizId, JobAdvertisedDO::getId)
|
|
|
.eq(MdeVisitsDO::getType, MdeVisitsEnum.POSITION_PUBLISH_CLICK.getType())
|
|
|
);
|
|
|
|
|
@@ -209,7 +209,37 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
|
|
|
query.groupBy(JobAdvertisedDO::getId);
|
|
|
query.orderByDesc(MdeVisitsDO::getUpdateTime);
|
|
|
|
|
|
- return selectJoinPage(reqVO,RecruitJobAnalysisRespVO.class, query);
|
|
|
+ return selectJoinPage(reqVO, RecruitJobAnalysisRespVO.class, query);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 职位浏览量总数
|
|
|
+ *
|
|
|
+ * @param reqVO 公共条件
|
|
|
+ * @param startTime 开始时间
|
|
|
+ * @param endTime 结束时间
|
|
|
+ **/
|
|
|
+ default Long getBrowseNumCount(RecruitAnalysisReqVO reqVO, LocalDateTime startTime, LocalDateTime endTime) {
|
|
|
+ MPJLambdaWrapperX<JobAdvertisedDO> query = new MPJLambdaWrapperX<>();
|
|
|
+
|
|
|
+ query.selectSum(MdeVisitsDO::getCount, "num");
|
|
|
+
|
|
|
+ query.eqIfPresent(JobAdvertisedDO::getEnterpriseId, reqVO.getEnterpriseId());
|
|
|
+ query.inIfPresent(JobAdvertisedDO::getUserId, reqVO.getUserId());
|
|
|
+ query.eqIfPresent(JobAdvertisedDO::getId, reqVO.getJobId());
|
|
|
+
|
|
|
+ query.innerJoin(MdeVisitsDO.class, on ->
|
|
|
+ on.eq(MdeVisitsDO::getBizId, JobAdvertisedDO::getId)
|
|
|
+ .eq(MdeVisitsDO::getType, MdeVisitsEnum.POSITION_PUBLISH_CLICK.getType())
|
|
|
+ );
|
|
|
+
|
|
|
+ query.between(MdeVisitsDO::getUpdateTime, startTime, endTime);
|
|
|
+
|
|
|
+ Map<String,Object> result= selectJoinMap(query);
|
|
|
+ if(null == result) {
|
|
|
+ return 0L;
|
|
|
+ }
|
|
|
+ return Long.valueOf(result.get("num").toString());
|
|
|
}
|
|
|
|
|
|
}
|