|
@@ -7,6 +7,7 @@ import com.citu.framework.common.pojo.PageResult;
|
|
|
import com.citu.framework.mybatis.core.mapper.BaseMapperX;
|
|
|
import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|
|
import com.citu.framework.mybatis.core.query.MPJLambdaWrapperX;
|
|
|
+import com.citu.module.menduner.system.controller.app.job.vo.AppEnterpriseJobHomeRespVO;
|
|
|
import com.citu.module.menduner.system.controller.app.job.vo.AppJobAdvertisedHomeRespVO;
|
|
|
import com.citu.module.menduner.system.controller.app.job.vo.AppJobAdvertisedPageReqVO;
|
|
|
import com.citu.module.menduner.system.controller.app.job.vo.AppJobAdvertisedRespVO;
|
|
@@ -52,21 +53,11 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
|
|
|
.eq(JobAdvertisedDO::getStatus, MendunerStatusEnum.ENABLE.getStatus()));
|
|
|
}
|
|
|
|
|
|
- default List<JobAdvertisedDO> selectByEnterpriseId(Long enterpriseId) {
|
|
|
- return selectList(new LambdaQueryWrapperX<JobAdvertisedDO>()
|
|
|
- .eq(JobAdvertisedDO::getEnterpriseId, enterpriseId)
|
|
|
- .eq(JobAdvertisedDO::getStatus, MendunerStatusEnum.ENABLE.getStatus()));
|
|
|
- }
|
|
|
-
|
|
|
default List<JobAdvertisedDO> selectByEnterpriseIdAndNotExpireTime(Long enterpriseId) {
|
|
|
LambdaQueryWrapperX<JobAdvertisedDO> query = new LambdaQueryWrapperX<>();
|
|
|
query.eq(JobAdvertisedDO::getEnterpriseId, enterpriseId);
|
|
|
query.eq(JobAdvertisedDO::getStatus, MendunerStatusEnum.ENABLE.getStatus());
|
|
|
- query.and(wrapper -> wrapper
|
|
|
- .ge(JobAdvertisedDO::getExpireTime, LocalDateTime.now())
|
|
|
- .or()
|
|
|
- .isNull(JobAdvertisedDO::getExpireTime)
|
|
|
- );
|
|
|
+ notExpireTime(query);
|
|
|
return selectList(query);
|
|
|
}
|
|
|
|
|
@@ -89,11 +80,7 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
|
|
|
query.eqIfPresent(JobAdvertisedDO::getTop, reqVO.getTop());
|
|
|
|
|
|
|
|
|
- query.and(wrapper -> wrapper
|
|
|
- .ge(JobAdvertisedDO::getExpireTime, LocalDateTime.now())
|
|
|
- .or()
|
|
|
- .isNull(JobAdvertisedDO::getExpireTime)
|
|
|
- );
|
|
|
+ notExpireTime(query);
|
|
|
|
|
|
if (AppJobAdvertisedPageReqVO.RECOMMEND.equals(reqVO.getMark())) {
|
|
|
// 推荐
|
|
@@ -112,6 +99,26 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
|
|
|
return selectJoinPage(reqVO, AppJobAdvertisedHomeRespVO.class, query);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取发布过职位的企业信息
|
|
|
+ *
|
|
|
+ * @param pageParam 分页
|
|
|
+ * @return PageResult<AppEnterpriseSimpleRespVO>
|
|
|
+ **/
|
|
|
+ default PageResult<AppEnterpriseJobHomeRespVO> getEnterpriseJobPage(PageParam pageParam) {
|
|
|
+ MPJLambdaWrapperX<JobAdvertisedDO> query = new MPJLambdaWrapperX<>();
|
|
|
+ query.selectAssociation(EnterpriseDO.class, AppEnterpriseJobHomeRespVO::getEnterprise);
|
|
|
+ query.innerJoin(EnterpriseDO.class, EnterpriseDO::getId, JobAdvertisedDO::getEnterpriseId);
|
|
|
+ query.eq(EnterpriseDO::getStatus, MendunerStatusEnum.ENABLE.getStatus());
|
|
|
+ query.eq(JobAdvertisedDO::getStatus, MendunerStatusEnum.ENABLE.getStatus());
|
|
|
+ notExpireTime(query);
|
|
|
+ query.orderByDesc(JobAdvertisedDO::getUpdateTime);
|
|
|
+ query.groupBy(JobAdvertisedDO::getEnterpriseId);
|
|
|
+ return selectJoinPage(pageParam, AppEnterpriseJobHomeRespVO.class, query);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
default PageResult<AppJobAdvertisedRespVO> selectByIdListPage(PageParam pageParam, List<Long> ids) {
|
|
|
MPJLambdaWrapperX<JobAdvertisedDO> query = new MPJLambdaWrapperX<>();
|
|
|
query.selectAssociation(JobAdvertisedDO.class, AppJobAdvertisedRespVO::getJob);
|
|
@@ -122,6 +129,16 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
|
|
|
return selectJoinPage(pageParam, AppJobAdvertisedRespVO.class, query);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ default List<JobAdvertisedDO> selectByEnterpriseIdList(List<Long> ids) {
|
|
|
+ LambdaQueryWrapper<JobAdvertisedDO> query = new LambdaQueryWrapperX<JobAdvertisedDO>();
|
|
|
+ query.in(JobAdvertisedDO::getEnterpriseId, ids);
|
|
|
+ query.eq(JobAdvertisedDO::getStatus, MendunerStatusEnum.ENABLE.getStatus());
|
|
|
+ notExpireTime(query);
|
|
|
+ return selectList(query);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
default PageResult<JobAdvertisedDO> selectPage(AppAdminJobPageReqVO reqVO) {
|
|
|
LambdaQueryWrapper<JobAdvertisedDO> query = new LambdaQueryWrapperX<JobAdvertisedDO>()
|
|
|
.eqIfPresent(JobAdvertisedDO::getAreaId, reqVO.getAreaId())
|
|
@@ -140,11 +157,7 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
|
|
|
// 获取过期的数据 当前时间小于过期时间
|
|
|
query.le(JobAdvertisedDO::getExpireTime, LocalDateTime.now());
|
|
|
} else {
|
|
|
- query.and(wrapper -> wrapper
|
|
|
- .ge(JobAdvertisedDO::getExpireTime, LocalDateTime.now())
|
|
|
- .or()
|
|
|
- .isNull(JobAdvertisedDO::getExpireTime)
|
|
|
- );
|
|
|
+ notExpireTime(query);
|
|
|
}
|
|
|
return selectPage(reqVO, query);
|
|
|
}
|
|
@@ -158,4 +171,21 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ default void notExpireTime(LambdaQueryWrapper<JobAdvertisedDO> query) {
|
|
|
+ query.and(wrapper -> wrapper
|
|
|
+ .ge(JobAdvertisedDO::getExpireTime, LocalDateTime.now())
|
|
|
+ .or()
|
|
|
+ .isNull(JobAdvertisedDO::getExpireTime)
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ default void notExpireTime(MPJLambdaWrapperX<JobAdvertisedDO> query) {
|
|
|
+ query.and(wrapper -> wrapper
|
|
|
+ .ge(JobAdvertisedDO::getExpireTime, LocalDateTime.now())
|
|
|
+ .or()
|
|
|
+ .isNull(JobAdvertisedDO::getExpireTime)
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|