Преглед на файлове

1、增加关注职位列表接口
2、增加订阅企业列表接口
3、增加职位投递接口

rayson преди 1 година
родител
ревизия
16eddbaae1
променени са 16 файла, в които са добавени 371 реда и са изтрити 154 реда
  1. 10 10
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/job/AppJobAdvertisedController.java
  2. 15 4
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/job/AppJobCvRelController.java
  3. 27 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/job/vo/AppJobAdvertisedHomeRespVO.java
  4. 3 4
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/job/vo/AppJobAdvertisedPageReqVO.java
  5. 10 17
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/job/vo/AppJobAdvertisedRespVO.java
  6. 0 20
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/job/vo/AppJobAdvertisedSearchRespVO.java
  7. 6 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/job/vo/AppJobAdvertisedSimpleRespVO.java
  8. 25 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/AppPersonController.java
  9. 7 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/enterprise/EnterpriseMapper.java
  10. 23 8
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/job/JobAdvertisedMapper.java
  11. 6 5
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobAdvertisedService.java
  12. 40 28
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobAdvertisedServiceImpl.java
  13. 0 11
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobCvRelService.java
  14. 1 45
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobCvRelServiceImpl.java
  15. 45 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobIntegrationService.java
  16. 153 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobIntegrationServiceImpl.java

+ 10 - 10
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/job/AppJobAdvertisedController.java

@@ -34,22 +34,22 @@ public class AppJobAdvertisedController {
 
     @GetMapping("/get/recommended")
     @Operation(summary = "获取推荐招聘职位分页")
-    public CommonResult<PageResult<AppJobAdvertisedRespVO>> getRecommendedJobPage(@Valid PageParam pageParam) {
-        PageResult<AppJobAdvertisedRespVO> result = jobAdvertisedService.getRecommendedJobPage(pageParam);
+    public CommonResult<PageResult<AppJobAdvertisedHomeRespVO>> getRecommendedJobPage(@Valid PageParam pageParam) {
+        PageResult<AppJobAdvertisedHomeRespVO> result = jobAdvertisedService.getRecommendedJobPage(pageParam);
         return success(result);
     }
 
     @GetMapping("/get/latest")
     @Operation(summary = "获取最新招聘职位分页")
-    public CommonResult<PageResult<AppJobAdvertisedRespVO>> getLatestJobPage(@Valid PageParam pageParam) {
-        PageResult<AppJobAdvertisedRespVO> result = jobAdvertisedService.getLatestJobPage(pageParam);
+    public CommonResult<PageResult<AppJobAdvertisedHomeRespVO>> getLatestJobPage(@Valid PageParam pageParam) {
+        PageResult<AppJobAdvertisedHomeRespVO> result = jobAdvertisedService.getLatestJobPage(pageParam);
         return success(result);
     }
 
     @GetMapping("/get/urgent")
     @Operation(summary = "获取急聘招聘职位分页")
-    public CommonResult<PageResult<AppJobAdvertisedRespVO>> getUrgentJobPage(@Valid PageParam pageParam) {
-        PageResult<AppJobAdvertisedRespVO> result = jobAdvertisedService.getUrgentJobPage(pageParam);
+    public CommonResult<PageResult<AppJobAdvertisedHomeRespVO>> getUrgentJobPage(@Valid PageParam pageParam) {
+        PageResult<AppJobAdvertisedHomeRespVO> result = jobAdvertisedService.getUrgentJobPage(pageParam);
         return success(result);
     }
 
@@ -69,15 +69,15 @@ public class AppJobAdvertisedController {
 
     @GetMapping("/get/acquainted")
     @Operation(summary = "获取相识职位信息分页")
-    public CommonResult<PageResult<AppJobAdvertisedRespVO>> getJobAdvertisedDetail(@Valid AppJobAdvertisedPageReqVO pageReqVO) {
-        PageResult<AppJobAdvertisedRespVO> respVO = jobAdvertisedService.getAcquaintedJobAdvertised(pageReqVO);
+    public CommonResult<PageResult<AppJobAdvertisedHomeRespVO>> getJobAdvertisedDetail(@Valid AppJobAdvertisedPageReqVO pageReqVO) {
+        PageResult<AppJobAdvertisedHomeRespVO> respVO = jobAdvertisedService.getAcquaintedJobAdvertised(pageReqVO);
         return success(respVO);
     }
 
     @GetMapping("/search")
     @Operation(summary = "根据条件搜索招聘职位")
-    public CommonResult<PageResult<AppJobAdvertisedSearchRespVO>> search(@Valid AppJobAdvertisedSearchPageReqVO pageReqVO) {
-        PageResult<AppJobAdvertisedSearchRespVO> respVO = jobAdvertisedService.search(pageReqVO);
+    public CommonResult<PageResult<AppJobAdvertisedRespVO>> search(@Valid AppJobAdvertisedSearchPageReqVO pageReqVO) {
+        PageResult<AppJobAdvertisedRespVO> respVO = jobAdvertisedService.search(pageReqVO);
         return success(respVO);
     }
 

+ 15 - 4
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/job/AppJobCvRelController.java

@@ -1,9 +1,13 @@
 package com.citu.module.menduner.system.controller.app.job;
 
 import com.citu.framework.common.pojo.CommonResult;
+import com.citu.framework.common.pojo.PageParam;
+import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.security.core.annotations.PreAuthenticated;
+import com.citu.module.menduner.system.controller.app.job.vo.AppJobAdvertisedHomeRespVO;
+import com.citu.module.menduner.system.controller.app.job.vo.AppJobAdvertisedRespVO;
 import com.citu.module.menduner.system.controller.app.job.vo.AppJobCvRelReqVO;
-import com.citu.module.menduner.system.service.job.JobCvRelService;
+import com.citu.module.menduner.system.service.job.JobIntegrationService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.validation.annotation.Validated;
@@ -21,13 +25,13 @@ import static com.citu.framework.common.pojo.CommonResult.success;
 public class AppJobCvRelController {
 
     @Resource
-    private JobCvRelService jobCvRelService;
+    private JobIntegrationService jobIntegrationService;
 
     @PostMapping("/send")
     @PreAuthenticated
     @Operation(summary = "投递简历")
     public CommonResult<Boolean> send(@Valid @RequestBody AppJobCvRelReqVO reqVO) {
-        jobCvRelService.send(reqVO);
+        jobIntegrationService.send(reqVO);
         return success(true);
     }
 
@@ -35,9 +39,16 @@ public class AppJobCvRelController {
     @PreAuthenticated
     @Operation(summary = "效验招聘职位是否投递")
     public CommonResult<Boolean> checkSend(@RequestParam("jobId") Long jobId) {
-        return success(jobCvRelService.checkSend(jobId));
+        return success(jobIntegrationService.checkSend(jobId));
     }
 
 
+    @GetMapping("/get/job/cv/page")
+    @PreAuthenticated
+    @Operation(summary = "获取投递的职位分页")
+    public CommonResult<PageResult<AppJobAdvertisedRespVO>> getJobCvPage(@Valid PageParam page) {
+        return success(jobIntegrationService.getJobCvPage(page));
+    }
+
 
 }

+ 27 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/job/vo/AppJobAdvertisedHomeRespVO.java

@@ -0,0 +1,27 @@
+package com.citu.module.menduner.system.controller.app.job.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Schema(description = "menduner - 首页-招聘职位 Response VO")
+@Data
+public class AppJobAdvertisedHomeRespVO extends AppJobAdvertisedSimpleRespVO {
+
+
+    @Schema(description = "企业id", example = "123")
+    private Long enterpriseId;
+
+    @Schema(description = "企业别称", example = "xx科技")
+    private String anotherName;
+
+    @Schema(description = "所在行业", example = "123")
+    private Long industryId;
+
+    @Schema(description = "人员规模(menduner_scale)", example = "1")
+    private String scale;
+
+    @Schema(description = "企业logo地址", example = "https://www.menduner.com/static/img/loginlogo2.7924c12.png")
+    private String logoUrl;
+
+
+}

+ 3 - 4
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/job/vo/AppJobAdvertisedPageReqVO.java

@@ -19,6 +19,9 @@ import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DA
 @ToString(callSuper = true)
 public class AppJobAdvertisedPageReqVO extends PageParam {
 
+    @Schema(description = "职位id集合", example = "29465")
+    private List<Long> idList;
+
     @Schema(description = "企业id", example = "29465")
     private Long enterpriseId;
 
@@ -55,8 +58,4 @@ public class AppJobAdvertisedPageReqVO extends PageParam {
     @Schema(description = "职位状态", example = "2")
     private String status;
 
-    @Schema(description = "创建时间")
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    private LocalDateTime createTime;
-
 }

+ 10 - 17
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/job/vo/AppJobAdvertisedRespVO.java

@@ -1,27 +1,20 @@
 package com.citu.module.menduner.system.controller.app.job.vo;
 
+import com.citu.module.menduner.system.controller.app.contact.AppEnterpriseUserContactRespVO;
+import com.citu.module.menduner.system.controller.app.enterprise.vo.AppEnterpriseSimpleRespVO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
-@Schema(description = "menduner - 首页-招聘职位 Response VO")
+@Schema(description = "menduner - 职位 Response VO")
 @Data
-public class AppJobAdvertisedRespVO extends AppJobAdvertisedSimpleRespVO {
+public class AppJobAdvertisedRespVO {
 
+    @Schema(description = "招聘职位信息")
+    private AppJobAdvertisedSimpleRespVO job;
 
-    @Schema(description = "企业id", example = "123")
-    private Long enterpriseId;
-
-    @Schema(description = "企业别称", example = "xx科技")
-    private String anotherName;
-
-    @Schema(description = "所在行业", example = "123")
-    private Long industryId;
-
-    @Schema(description = "人员规模(menduner_scale)", example = "1")
-    private String scale;
-
-    @Schema(description = "企业logo地址", example = "https://www.menduner.com/static/img/loginlogo2.7924c12.png")
-    private String logoUrl;
-
+    @Schema(description = "招聘企业信息")
+    private AppEnterpriseSimpleRespVO enterprise;
 
+    @Schema(description = "招聘联系人信息")
+    private AppEnterpriseUserContactRespVO contact;
 }

+ 0 - 20
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/job/vo/AppJobAdvertisedSearchRespVO.java

@@ -1,20 +0,0 @@
-package com.citu.module.menduner.system.controller.app.job.vo;
-
-import com.citu.module.menduner.system.controller.app.contact.AppEnterpriseUserContactRespVO;
-import com.citu.module.menduner.system.controller.app.enterprise.vo.AppEnterpriseSimpleRespVO;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-@Schema(description = "menduner - 职位-检索 Response VO")
-@Data
-public class AppJobAdvertisedSearchRespVO {
-
-    @Schema(description = "招聘职位信息")
-    private AppJobAdvertisedSimpleRespVO job;
-
-    @Schema(description = "招聘企业信息")
-    private AppEnterpriseSimpleRespVO enterprise;
-
-    @Schema(description = "招聘联系人信息")
-    private AppEnterpriseUserContactRespVO contact;
-}

+ 6 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/job/vo/AppJobAdvertisedSimpleRespVO.java

@@ -14,6 +14,9 @@ public class AppJobAdvertisedSimpleRespVO {
     @Schema(description = "职位id", example = "123")
     private Long id;
 
+    @Schema(description = "发布用户id", example = "9592")
+    private Long userId;
+
     @Schema(description = "招聘职位标题", example = "项目经理")
     private String name;
 
@@ -41,6 +44,9 @@ public class AppJobAdvertisedSimpleRespVO {
     @Schema(description = "职位标签", example = "[xx,xx]")
     private List<String> tagList;
 
+    @Schema(description = "状态", example = "1")
+    private String status;
+
     @Schema(description = "更新时间")
     private LocalDateTime updateTime;
 }

+ 25 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/AppPersonController.java

@@ -1,12 +1,17 @@
 package com.citu.module.menduner.system.controller.app.person;
 
 import com.citu.framework.common.pojo.CommonResult;
+import com.citu.framework.common.pojo.PageParam;
+import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.framework.security.core.annotations.PreAuthenticated;
 import com.citu.module.menduner.system.controller.admin.person.vo.info.PersonInfoRespVO;
+import com.citu.module.menduner.system.controller.app.enterprise.vo.AppEnterpriseSimpleRespVO;
+import com.citu.module.menduner.system.controller.app.job.vo.AppJobAdvertisedRespVO;
 import com.citu.module.menduner.system.controller.app.person.enterprise.PersonEnterpriseSubscribeReqVO;
 import com.citu.module.menduner.system.controller.app.person.job.AppPersonJobFavoriteReqVO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
+import com.citu.module.menduner.system.service.job.JobIntegrationService;
 import com.citu.module.menduner.system.service.person.favorite.PersonJobFavoriteService;
 import com.citu.module.menduner.system.service.person.info.PersonInfoService;
 import com.citu.module.menduner.system.service.person.subscribe.PersonEnterpriseSubscribeService;
@@ -38,6 +43,9 @@ public class AppPersonController {
     @Resource
     private PersonEnterpriseSubscribeService enterpriseSubscribeService;
 
+    @Resource
+    private JobIntegrationService jobIntegrationService;
+
     @PreAuthenticated
     @GetMapping("/get")
     @Operation(summary = "获得人才信息")
@@ -55,6 +63,7 @@ public class AppPersonController {
         return success(result);
     }
 
+
     @PreAuthenticated
     @PostMapping("/enterprise/subscribe")
     @Operation(summary = "用户关注订阅企业")
@@ -63,6 +72,22 @@ public class AppPersonController {
         return success(result);
     }
 
+    @PreAuthenticated
+    @PostMapping("/get/job/favorite/page")
+    @Operation(summary = "获取收藏的招聘职位分页")
+    public CommonResult<PageResult<AppJobAdvertisedRespVO>> getJobFavoritePage
+            (@Valid @RequestBody PageParam reqVO) {
+        return success(jobIntegrationService.getJobFavoritePage(reqVO));
+    }
+
+    @PreAuthenticated
+    @PostMapping("/get/enterprise/subscribe/page")
+    @Operation(summary = "获取关注的企业分页")
+    public CommonResult<PageResult<AppEnterpriseSimpleRespVO>> getEnterpriseSubscribePage
+            (@Valid @RequestBody PageParam reqVO) {
+        return success(jobIntegrationService.getEnterpriseSubscribePage(reqVO));
+    }
+
     @PreAuthenticated
     @DeleteMapping("/job/unfavorite")
     @Operation(summary = "用户取消收藏职位")

+ 7 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/enterprise/EnterpriseMapper.java

@@ -10,10 +10,8 @@ import com.citu.module.menduner.system.controller.admin.enterprise.vo.Enterprise
 import com.citu.module.menduner.system.controller.app.appbase.AppCommonRespVO;
 import com.citu.module.menduner.system.controller.app.enterprise.vo.AppEnterpriseSearchPageReqVO;
 import com.citu.module.menduner.system.controller.app.enterprise.vo.AppEnterpriseSimpleRespVO;
-import com.citu.module.menduner.system.controller.app.job.vo.AppJobAdvertisedRespVO;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseBusinessDO;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
-import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.Collection;
@@ -46,6 +44,13 @@ public interface EnterpriseMapper extends BaseMapperX<EnterpriseDO> {
         return selectJoinPage(pageParam, AppEnterpriseSimpleRespVO.class, query);
     }
 
+    default PageResult<AppEnterpriseSimpleRespVO> selectByIdListPage(PageParam pageParam,List<Long> idList){
+        MPJLambdaWrapperX<EnterpriseDO> query = new MPJLambdaWrapperX<>();
+        query.selectAll(EnterpriseDO.class);
+        query.in(EnterpriseDO::getId, idList);
+        return selectJoinPage(pageParam, AppEnterpriseSimpleRespVO.class, query);
+    }
+
     default PageResult<AppEnterpriseSimpleRespVO> search(AppEnterpriseSearchPageReqVO reqVO){
         MPJLambdaWrapperX<EnterpriseDO> query = new MPJLambdaWrapperX<>();
         query.selectAll(EnterpriseDO.class);

+ 23 - 8
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/job/JobAdvertisedMapper.java

@@ -8,11 +8,11 @@ import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.citu.framework.mybatis.core.query.MPJLambdaWrapperX;
 import com.citu.module.menduner.system.controller.admin.job.vo.JobAdvertisedPageReqVO;
 import com.citu.module.menduner.system.controller.app.enterprise.vo.AppEnterpriseSimpleRespVO;
-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.AppJobAdvertisedRespVO;
 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.mysql.enterprise.EnterpriseMapper;
+import com.citu.module.menduner.system.enums.MendunerStatusEnum;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
@@ -27,7 +27,7 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
 
     default PageResult<JobAdvertisedDO> selectPage(JobAdvertisedPageReqVO reqVO) {
         return selectPage(reqVO, new LambdaQueryWrapperX<JobAdvertisedDO>()
-                .inIfPresent(JobAdvertisedDO::getId,reqVO.getId())
+                .inIfPresent(JobAdvertisedDO::getId, reqVO.getId())
                 .eqIfPresent(JobAdvertisedDO::getEnterpriseId, reqVO.getEnterpriseId())
                 .eqIfPresent(JobAdvertisedDO::getUserId, reqVO.getUserId())
                 .eqIfPresent(JobAdvertisedDO::getAreaId, reqVO.getAreaId())
@@ -44,18 +44,33 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
     }
 
     default Long countByEnterpriseId(Long enterpriseId) {
-        return selectCount(JobAdvertisedDO::getEnterpriseId, enterpriseId);
+        return selectCount(new LambdaQueryWrapperX<JobAdvertisedDO>()
+                .eq(JobAdvertisedDO::getEnterpriseId, enterpriseId)
+                .eq(JobAdvertisedDO::getStatus, MendunerStatusEnum.ENABLE.getStatus()));
     }
 
     default List<JobAdvertisedDO> selectByEnterpriseId(Long enterpriseId) {
-        return selectList(JobAdvertisedDO::getEnterpriseId, enterpriseId);
+        return selectList(new LambdaQueryWrapperX<JobAdvertisedDO>()
+                .eq(JobAdvertisedDO::getEnterpriseId, enterpriseId)
+                .eq(JobAdvertisedDO::getStatus, MendunerStatusEnum.ENABLE.getStatus()));
     }
 
-    default PageResult<AppJobAdvertisedRespVO> selectPage(PageParam pageParam) {
+    default PageResult<AppJobAdvertisedHomeRespVO> selectPage(PageParam pageParam) {
         MPJLambdaWrapperX<JobAdvertisedDO> query = new MPJLambdaWrapperX<>();
         query.selectAll(JobAdvertisedDO.class);
-        query.selectAll(EnterpriseDO.class );
-        query.innerJoin(EnterpriseDO.class,  EnterpriseDO::getId,JobAdvertisedDO::getEnterpriseId);
+        query.selectAll(EnterpriseDO.class);
+        query.innerJoin(EnterpriseDO.class, EnterpriseDO::getId, JobAdvertisedDO::getEnterpriseId);
+        query.eq(JobAdvertisedDO::getStatus, MendunerStatusEnum.ENABLE.getStatus());
+        return selectJoinPage(pageParam, AppJobAdvertisedHomeRespVO.class, query);
+    }
+
+    default PageResult<AppJobAdvertisedRespVO> selectByIdListPage(PageParam pageParam, List<Long> idList) {
+        MPJLambdaWrapperX<JobAdvertisedDO> query = new MPJLambdaWrapperX<>();
+        query.selectAssociation(JobAdvertisedDO.class, AppJobAdvertisedRespVO::getJob);
+        query.selectAssociation(EnterpriseDO.class, AppJobAdvertisedRespVO::getEnterprise);
+        query.innerJoin(EnterpriseDO.class, EnterpriseDO::getId, JobAdvertisedDO::getEnterpriseId);
+        query.in(JobAdvertisedDO::getId, idList);
+        query.orderByDesc(JobAdvertisedDO::getUpdateTime);
         return selectJoinPage(pageParam, AppJobAdvertisedRespVO.class, query);
     }
 

+ 6 - 5
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobAdvertisedService.java

@@ -63,7 +63,7 @@ public interface JobAdvertisedService {
      * @param pageParam 分页
      * @return 门墩儿-招聘职位分页
      **/
-    PageResult<AppJobAdvertisedRespVO> getRecommendedJobPage(PageParam pageParam);
+    PageResult<AppJobAdvertisedHomeRespVO> getRecommendedJobPage(PageParam pageParam);
 
     /**
      * 获取最新招聘职位分页
@@ -71,7 +71,7 @@ public interface JobAdvertisedService {
      * @param pageParam 分页
      * @return 门墩儿-招聘职位分页
      **/
-    PageResult<AppJobAdvertisedRespVO> getLatestJobPage(PageParam pageParam);
+    PageResult<AppJobAdvertisedHomeRespVO> getLatestJobPage(PageParam pageParam);
 
     /**
      * 获取急聘招聘职位分页
@@ -79,7 +79,7 @@ public interface JobAdvertisedService {
      * @param pageParam 分页
      * @return 门墩儿-招聘职位分页
      **/
-    PageResult<AppJobAdvertisedRespVO> getUrgentJobPage(PageParam pageParam);
+    PageResult<AppJobAdvertisedHomeRespVO> getUrgentJobPage(PageParam pageParam);
 
     /**
      * 获取热门企业的职位分页
@@ -102,13 +102,13 @@ public interface JobAdvertisedService {
      *
      * @return 门墩儿-招聘职位简易列表
      **/
-    PageResult<AppJobAdvertisedRespVO> getAcquaintedJobAdvertised(AppJobAdvertisedPageReqVO pageReqVO);
+    PageResult<AppJobAdvertisedHomeRespVO> getAcquaintedJobAdvertised(AppJobAdvertisedPageReqVO pageReqVO);
 
     /**
      * 根据条件搜索职位
      * @return 门墩儿-招聘职位列表
      **/
-    PageResult<AppJobAdvertisedSearchRespVO> search(AppJobAdvertisedSearchPageReqVO reqVO);
+    PageResult<AppJobAdvertisedRespVO> search(AppJobAdvertisedSearchPageReqVO reqVO);
 
     /**
      * 根据企业id统计职位类型的数量
@@ -121,4 +121,5 @@ public interface JobAdvertisedService {
      * @return 公共 Response
      **/
     List<AppCommonRespVO> getJobAreaCountByEnterpriseId(Long enterpriseId);
+
 }

+ 40 - 28
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobAdvertisedServiceImpl.java

@@ -106,11 +106,11 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
         return jobAdvertisedMapper.selectPage(pageReqVO);
     }
 
-    public PageResult<AppJobAdvertisedRespVO> generate() {
-        PageResult<AppJobAdvertisedRespVO> result = new PageResult<>();
-        List<AppJobAdvertisedRespVO> list = new ArrayList<>();
+    public PageResult<AppJobAdvertisedHomeRespVO> generate() {
+        PageResult<AppJobAdvertisedHomeRespVO> result = new PageResult<>();
+        List<AppJobAdvertisedHomeRespVO> list = new ArrayList<>();
 
-        AppJobAdvertisedRespVO respVO1 = new AppJobAdvertisedRespVO();
+        AppJobAdvertisedHomeRespVO respVO1 = new AppJobAdvertisedHomeRespVO();
         respVO1.setId(1L);
         respVO1.setAreaId(110000L);
         respVO1.setPositionId(1L);
@@ -128,7 +128,7 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
         respVO1.setLogoUrl("https://www.menduner.com/static/img/loginlogo2.7924c12.png");
         list.add(respVO1);
 
-        AppJobAdvertisedRespVO respVO2 = new AppJobAdvertisedRespVO();
+        AppJobAdvertisedHomeRespVO respVO2 = new AppJobAdvertisedHomeRespVO();
         respVO2.setId(2L);
         respVO2.setAreaId(440100L);
         respVO2.setPositionId(2L);
@@ -147,7 +147,7 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
         list.add(respVO2);
 
 
-        AppJobAdvertisedRespVO respVO3 = new AppJobAdvertisedRespVO();
+        AppJobAdvertisedHomeRespVO respVO3 = new AppJobAdvertisedHomeRespVO();
         respVO3.setId(3L);
         respVO3.setAreaId(440300L);
         respVO3.setPositionId(3L);
@@ -165,7 +165,7 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
         respVO3.setLogoUrl("https://www.menduner.com/static/img/loginlogo2.7924c12.png");
         list.add(respVO3);
 
-        AppJobAdvertisedRespVO respVO4 = new AppJobAdvertisedRespVO();
+        AppJobAdvertisedHomeRespVO respVO4 = new AppJobAdvertisedHomeRespVO();
         respVO4.setId(4L);
         respVO4.setAreaId(440600L);
         respVO4.setPositionId(4L);
@@ -183,7 +183,7 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
         respVO4.setLogoUrl("https://www.menduner.com/static/img/loginlogo2.7924c12.png");
         list.add(respVO4);
 
-        AppJobAdvertisedRespVO respVO5 = new AppJobAdvertisedRespVO();
+        AppJobAdvertisedHomeRespVO respVO5 = new AppJobAdvertisedHomeRespVO();
         respVO5.setId(5L);
         respVO5.setAreaId(441200L);
         respVO5.setPositionId(5L);
@@ -201,7 +201,7 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
         respVO5.setLogoUrl("https://www.menduner.com/static/img/loginlogo2.7924c12.png");
         list.add(respVO5);
 
-        AppJobAdvertisedRespVO respVO6 = new AppJobAdvertisedRespVO();
+        AppJobAdvertisedHomeRespVO respVO6 = new AppJobAdvertisedHomeRespVO();
         respVO6.setId(6L);
         respVO6.setAreaId(440800L);
         respVO6.setPositionId(6L);
@@ -220,7 +220,7 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
         list.add(respVO6);
 
 
-        AppJobAdvertisedRespVO respVO7 = new AppJobAdvertisedRespVO();
+        AppJobAdvertisedHomeRespVO respVO7 = new AppJobAdvertisedHomeRespVO();
         respVO7.setId(7L);
         respVO7.setAreaId(441900L);
         respVO7.setPositionId(7L);
@@ -239,7 +239,7 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
         list.add(respVO7);
 
 
-        AppJobAdvertisedRespVO respVO8 = new AppJobAdvertisedRespVO();
+        AppJobAdvertisedHomeRespVO respVO8 = new AppJobAdvertisedHomeRespVO();
         respVO8.setId(8L);
         respVO8.setAreaId(441700L);
         respVO8.setPositionId(8L);
@@ -257,7 +257,7 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
         respVO8.setLogoUrl("https://www.menduner.com/static/img/loginlogo2.7924c12.png");
         list.add(respVO8);
 
-        AppJobAdvertisedRespVO respVO9 = new AppJobAdvertisedRespVO();
+        AppJobAdvertisedHomeRespVO respVO9 = new AppJobAdvertisedHomeRespVO();
         respVO9.setId(9L);
         respVO9.setAreaId(445300L);
         respVO9.setPositionId(9L);
@@ -282,22 +282,22 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
     }
 
     @Override
-    public PageResult<AppJobAdvertisedRespVO> getRecommendedJobPage(PageParam pageParam) {
+    public PageResult<AppJobAdvertisedHomeRespVO> getRecommendedJobPage(PageParam pageParam) {
         return jobAdvertisedMapper.selectPage(pageParam);
     }
 
     @Override
-    public PageResult<AppJobAdvertisedRespVO> getLatestJobPage(PageParam pageParam) {
+    public PageResult<AppJobAdvertisedHomeRespVO> getLatestJobPage(PageParam pageParam) {
         return jobAdvertisedMapper.selectPage(pageParam);
     }
 
     @Override
-    public PageResult<AppJobAdvertisedRespVO> getUrgentJobPage(PageParam pageParam) {
+    public PageResult<AppJobAdvertisedHomeRespVO> getUrgentJobPage(PageParam pageParam) {
         return jobAdvertisedMapper.selectPage(pageParam);
     }
 
     @Override
-    public PageResult<AppJobAdvertisedRespVO> getAcquaintedJobAdvertised(AppJobAdvertisedPageReqVO pageReqVO) {
+    public PageResult<AppJobAdvertisedHomeRespVO> getAcquaintedJobAdvertised(AppJobAdvertisedPageReqVO pageReqVO) {
         return jobAdvertisedMapper.selectPage(pageReqVO);
     }
 
@@ -344,10 +344,10 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
 
 
     @Override
-    public PageResult<AppJobAdvertisedSearchRespVO> search(AppJobAdvertisedSearchPageReqVO reqVO) {
+    public PageResult<AppJobAdvertisedRespVO> search(AppJobAdvertisedSearchPageReqVO reqVO) {
 
-        PageResult<AppJobAdvertisedSearchRespVO> result = new PageResult<>();
-        List<AppJobAdvertisedSearchRespVO> list = new ArrayList<>();
+        PageResult<AppJobAdvertisedRespVO> result = new PageResult<>();
+        List<AppJobAdvertisedRespVO> list = new ArrayList<>();
 
         // 构建分页
         Pageable pageable = PageRequest.of(reqVO.getPageNo() - 1, reqVO.getPageSize());
@@ -360,23 +360,38 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
                 //                        .preTags("<span style='color:red'>")
                 //                        .postTags("</span>").requireFieldMatch(false))
                 .withHighlightBuilder(new HighlightBuilder().field("name").field("enterpriseName")
-                                .field("enterpriseAnotherName").requireFieldMatch(Boolean.TRUE)
-                                .preTags("<span style='color:red'>")
+                        .field("enterpriseAnotherName").requireFieldMatch(Boolean.TRUE)
+                        .preTags("<span style='color:red'>")
                         .postTags("</span>")
-                                .numOfFragments(10000)
+                        .numOfFragments(10000)
                 )
                 .withPageable(pageable)
                 .build();
         SearchHits<ESJobAdvertisedMergeDO> search = elasticsearchTemplate.search(searchQuery, ESJobAdvertisedMergeDO.class);
         log.info("NativeSearchQuery json : " + searchQuery.getQuery().toString());
 
+        fill(list, search);
+        result.setList(list);
+        result.setTotal(list.stream().count());
+        return result;
+    }
+
+    /**
+     * @description 填充搜索结果
+     * @author rayson
+     * @param list 目标对象
+     * @param search 搜索结果
+     * @date 2024/6/4 下午2:40
+     * @return void
+     **/
+    private void fill(List<AppJobAdvertisedRespVO> list, SearchHits<ESJobAdvertisedMergeDO> search) {
         search.getSearchHits().stream()
                 .forEach(searchHit -> {
                     Map<String, List<String>> highlightFields = searchHit.getHighlightFields();
 
-                    AppJobAdvertisedSearchRespVO respVO = new AppJobAdvertisedSearchRespVO();
+                    AppJobAdvertisedRespVO respVO = new AppJobAdvertisedRespVO();
                     respVO.setJob(JobAdvertisedConvert.INSTANCE.convert(searchHit.getContent()));
-                    if (null != highlightFields.get("name")){
+                    if (null != highlightFields.get("name")) {
                         respVO.getJob()
                                 .setName(highlightFields.get("name").get(0));
                     }
@@ -395,10 +410,6 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
                     list.add(respVO);
 
                 });
-
-        result.setList(list);
-        result.setTotal(list.stream().count());
-        return result;
     }
 
     @Override
@@ -441,4 +452,5 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
         return list;
     }
 
+
 }

+ 0 - 11
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobCvRelService.java

@@ -53,15 +53,4 @@ public interface JobCvRelService {
      */
     PageResult<JobCvRelDO> getJobCvRelPage(JobCvRelPageReqVO pageReqVO);
 
-    /**
-     * 简历投递
-     * @param reqVO
-     */
-    void send(AppJobCvRelReqVO reqVO);
-
-    /**
-     * 效验是否投递了该职位
-     * @param jobId 职位id
-     */
-    boolean checkSend(Long jobId);
 }

+ 1 - 45
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobCvRelServiceImpl.java

@@ -1,24 +1,18 @@
 package com.citu.module.menduner.system.service.job;
 
-import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.module.menduner.system.controller.admin.job.vo.JobCvRelPageReqVO;
 import com.citu.module.menduner.system.controller.admin.job.vo.JobCvRelSaveReqVO;
-import com.citu.module.menduner.system.controller.app.job.vo.AppJobCvRelReqVO;
-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.mysql.job.JobAdvertisedMapper;
 import com.citu.module.menduner.system.dal.mysql.job.JobCvRelMapper;
-import com.citu.module.menduner.system.enums.MendunerStatusEnum;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
 import javax.annotation.Resource;
 
 import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
-import static com.citu.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
-import static com.citu.module.menduner.system.enums.ErrorCodeConstants.*;
+import static com.citu.module.menduner.system.enums.ErrorCodeConstants.JOB_CV_REL_NOT_EXISTS;
 
 /**
  * 门墩儿-招聘职位简历投递 Service 实现类
@@ -32,9 +26,6 @@ public class JobCvRelServiceImpl implements JobCvRelService {
     @Resource
     private JobCvRelMapper jobCvRelMapper;
 
-    @Resource
-    private JobAdvertisedMapper jobAdvertisedMapper;
-
     @Override
     public Long createJobCvRel(JobCvRelSaveReqVO createReqVO) {
         // 插入
@@ -76,39 +67,4 @@ public class JobCvRelServiceImpl implements JobCvRelService {
     public PageResult<JobCvRelDO> getJobCvRelPage(JobCvRelPageReqVO pageReqVO) {
         return jobCvRelMapper.selectPage(pageReqVO);
     }
-
-    @Override
-    @DSTransactional
-    public void send(AppJobCvRelReqVO reqVO) {
-        // 效验职位是否关闭
-        JobAdvertisedDO job = jobAdvertisedMapper.selectById(reqVO.getJobId());
-        if (MendunerStatusEnum.DISABLE.getStatus().equals(job.getStatus())) {
-            throw exception(JOB_CV_REL_JOB_STOP_DELIVERY);
-        }
-        Long userId = getLoginUserId();
-        // 效验某段时间是否投递过
-        if (jobCvRelMapper.checkDataWithin15Day(userId, reqVO.getJobId())) {
-            throw exception(JOB_CV_REL_EXISTS);
-        }
-        // 赋值
-        JobCvRelDO jobCvRel = BeanUtils.toBean(reqVO, JobCvRelDO.class);
-        jobCvRel.setUserId(userId);
-        jobCvRel.setPublishUserId(job.getUserId());
-        jobCvRel.setEnterpriseId(job.getEnterpriseId());
-        // 暂时不知道有什么状态
-        jobCvRel.setStatus(MendunerStatusEnum.ENABLE.getStatus());
-        // 保存
-        jobCvRelMapper.insert(jobCvRel);
-    }
-
-    @Override
-    public boolean checkSend(Long jobId) {
-        Long userId = getLoginUserId();
-        if(null == userId) {
-            // 没登录
-            return false;
-        }
-        // 效验某段时间是否投递过
-        return jobCvRelMapper.checkDataWithin15Day(userId, jobId);
-    }
 }

+ 45 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobIntegrationService.java

@@ -0,0 +1,45 @@
+package com.citu.module.menduner.system.service.job;
+
+import com.citu.framework.common.pojo.PageParam;
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.module.menduner.system.controller.app.enterprise.vo.AppEnterpriseSimpleRespVO;
+import com.citu.module.menduner.system.controller.app.job.vo.AppJobAdvertisedRespVO;
+import com.citu.module.menduner.system.controller.app.job.vo.AppJobCvRelReqVO;
+
+/**
+ * 招聘职位相关的整合层
+ * 解决三层架构带来的业务循环依赖设计
+ * @author rayson
+ **/
+public interface JobIntegrationService {
+
+    /**
+     * 简历投递
+     * @param reqVO
+     */
+    void send(AppJobCvRelReqVO reqVO);
+
+    /**
+     * 效验是否投递了该职位
+     * @param jobId 职位id
+     */
+    boolean checkSend(Long jobId);
+
+    /**
+     * 获取已投递的招聘职位信息分页
+     * @param page 分页
+     */
+    PageResult<AppJobAdvertisedRespVO> getJobCvPage(PageParam page);
+
+    /**
+     * 获取收藏的招聘职位分页
+     * @param page 分页
+     */
+    PageResult<AppJobAdvertisedRespVO> getJobFavoritePage(PageParam page);
+
+    /**
+     * 获取关注的企业分页
+     * @param page 分页
+     */
+    PageResult<AppEnterpriseSimpleRespVO> getEnterpriseSubscribePage(PageParam page);
+}

+ 153 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobIntegrationServiceImpl.java

@@ -0,0 +1,153 @@
+package com.citu.module.menduner.system.service.job;
+
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.citu.framework.common.pojo.PageParam;
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.framework.common.util.object.BeanUtils;
+import com.citu.module.menduner.system.controller.admin.job.vo.JobCvRelPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.favorite.PersonJobFavoritePageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.subscribe.PersonEnterpriseSubscribePageReqVO;
+import com.citu.module.menduner.system.controller.app.contact.AppEnterpriseUserContactRespVO;
+import com.citu.module.menduner.system.controller.app.enterprise.vo.AppEnterpriseSimpleRespVO;
+import com.citu.module.menduner.system.controller.app.job.vo.AppJobAdvertisedRespVO;
+import com.citu.module.menduner.system.controller.app.job.vo.AppJobCvRelReqVO;
+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.person.PersonEnterpriseSubscribeDO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonJobFavoriteDO;
+import com.citu.module.menduner.system.dal.mysql.enterprise.EnterpriseMapper;
+import com.citu.module.menduner.system.dal.mysql.job.JobAdvertisedMapper;
+import com.citu.module.menduner.system.dal.mysql.job.JobCvRelMapper;
+import com.citu.module.menduner.system.enums.MendunerStatusEnum;
+import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
+import com.citu.module.menduner.system.service.person.favorite.PersonJobFavoriteService;
+import com.citu.module.menduner.system.service.person.subscribe.PersonEnterpriseSubscribeService;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static com.citu.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
+import static com.citu.module.menduner.system.enums.ErrorCodeConstants.JOB_CV_REL_EXISTS;
+import static com.citu.module.menduner.system.enums.ErrorCodeConstants.JOB_CV_REL_JOB_STOP_DELIVERY;
+
+@Service
+@Validated
+public class JobIntegrationServiceImpl implements JobIntegrationService {
+
+    @Resource
+    private JobCvRelMapper jobCvRelMapper;
+
+    @Resource
+    private JobAdvertisedMapper jobAdvertisedMapper;
+
+    @Resource
+    private EnterpriseUserBindService userBindService;
+
+    @Resource
+    private PersonJobFavoriteService personJobFavoriteService;
+
+    @Resource
+    private PersonEnterpriseSubscribeService personEnterpriseSubscribeService;
+
+    @Resource
+    private EnterpriseMapper enterpriseMapper;
+
+    @Override
+    @DSTransactional
+    public void send(AppJobCvRelReqVO reqVO) {
+        // 效验职位是否关闭
+        JobAdvertisedDO job = jobAdvertisedMapper.selectById(reqVO.getJobId());
+        if (MendunerStatusEnum.DISABLE.getStatus().equals(job.getStatus())) {
+            throw exception(JOB_CV_REL_JOB_STOP_DELIVERY);
+        }
+        Long userId = getLoginUserId();
+        // 效验某段时间是否投递过
+        if (jobCvRelMapper.checkDataWithin15Day(userId, reqVO.getJobId())) {
+            throw exception(JOB_CV_REL_EXISTS);
+        }
+        // 赋值
+        JobCvRelDO jobCvRel = BeanUtils.toBean(reqVO, JobCvRelDO.class);
+        jobCvRel.setUserId(userId);
+        jobCvRel.setPublishUserId(job.getUserId());
+        jobCvRel.setEnterpriseId(job.getEnterpriseId());
+        // 暂时不知道有什么状态
+        jobCvRel.setStatus(MendunerStatusEnum.ENABLE.getStatus());
+        // 保存
+        jobCvRelMapper.insert(jobCvRel);
+    }
+
+    @Override
+    public boolean checkSend(Long jobId) {
+        Long userId = getLoginUserId();
+        if (null == userId) {
+            // 没登录
+            return false;
+        }
+        // 效验某段时间是否投递过
+        return jobCvRelMapper.checkDataWithin15Day(userId, jobId);
+    }
+
+    public PageResult<AppJobAdvertisedRespVO> gteJobByIdList(PageParam page, List<Long> idList) {
+        PageResult<AppJobAdvertisedRespVO> result = jobAdvertisedMapper.selectByIdListPage(page, idList);
+        for (AppJobAdvertisedRespVO respVO : result.getList()) {
+            // 获取职位发布人
+            AppEnterpriseUserContactRespVO contactRespVO = userBindService
+                    .getEnterpriseUserContact(respVO.getEnterprise().getId(), respVO.getJob().getUserId());
+            // 设置联系人
+            respVO.setContact(contactRespVO);
+        }
+        return result;
+    }
+
+    @Override
+    public PageResult<AppJobAdvertisedRespVO> getJobCvPage(PageParam page) {
+        // 获取已投递的职位
+        Long userId = getLoginUserId();
+
+        // 查询投递的简历
+        JobCvRelPageReqVO relPageReqVO = new JobCvRelPageReqVO();
+        relPageReqVO.setPageNo(page.getPageNo());
+        relPageReqVO.setPageSize(page.getPageSize());
+        relPageReqVO.setUserId(userId);
+        PageResult<JobCvRelDO> jobCvRelDOPageResult = jobCvRelMapper.selectPage(relPageReqVO);
+        // 查询招聘职位等信息
+        List<Long> idList = jobCvRelDOPageResult.getList().stream().map(JobCvRelDO::getJobId).collect(Collectors.toList());
+        return gteJobByIdList(page, idList);
+    }
+
+    @Override
+    public PageResult<AppJobAdvertisedRespVO> getJobFavoritePage(PageParam page) {
+        Long userId = getLoginUserId();
+        PersonJobFavoritePageReqVO pageReqVO = new PersonJobFavoritePageReqVO();
+        pageReqVO.setPageNo(page.getPageNo());
+        pageReqVO.setPageSize(page.getPageSize());
+        pageReqVO.setUserId(userId);
+        PageResult<PersonJobFavoriteDO> personJobFavoritePageResult =
+                personJobFavoriteService.getPersonJobFavoritePage(pageReqVO);
+
+        // 查询招聘职位等信息
+        List<Long> idList = personJobFavoritePageResult.getList()
+                .stream().map(PersonJobFavoriteDO::getJobId).collect(Collectors.toList());
+
+        return gteJobByIdList(page, idList);
+    }
+
+    @Override
+    public PageResult<AppEnterpriseSimpleRespVO> getEnterpriseSubscribePage(PageParam page) {
+        Long userId = getLoginUserId();
+        PersonEnterpriseSubscribePageReqVO pageReqVO = new PersonEnterpriseSubscribePageReqVO();
+        pageReqVO.setPageNo(page.getPageNo());
+        pageReqVO.setPageSize(page.getPageSize());
+        pageReqVO.setUserId(userId);
+        PageResult<PersonEnterpriseSubscribeDO> personJobFavoritePageResult =
+                personEnterpriseSubscribeService.getPersonEnterpriseSubscribePage(pageReqVO);
+        // 查询招聘职位等信息
+        List<Long> idList = personJobFavoritePageResult.getList()
+                .stream().map(PersonEnterpriseSubscribeDO::getEnterpriseId).collect(Collectors.toList());
+        return enterpriseMapper.selectByIdListPage(page, idList);
+    }
+}