Bläddra i källkod

1、增加企业招聘者浏览
2、增加企业关注
3、增加浏览记录
4、增加招聘职位收藏

rayson 1 år sedan
förälder
incheckning
6590762416
68 ändrade filer med 2573 tillägg och 56 borttagningar
  1. 12 0
      menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/ErrorCodeConstants.java
  2. 93 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/EnterpriseUserLookController.java
  3. 39 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/look/EnterpriseUserLookPageReqVO.java
  4. 43 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/look/EnterpriseUserLookRespVO.java
  5. 31 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/look/EnterpriseUserLookSaveReqVO.java
  6. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/vo/EnterprisePageReqVO.java
  7. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/vo/EnterpriseRespVO.java
  8. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/vo/EnterpriseSaveReqVO.java
  9. 93 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/PersonBrowseRecordController.java
  10. 4 4
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/PersonCertificateController.java
  11. 93 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/PersonEnterpriseAttentionController.java
  12. 4 4
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/PersonInfoController.java
  13. 93 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/PersonJobCollectionController.java
  14. 4 4
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/PersonSkillController.java
  15. 30 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/attention/PersonEnterpriseAttentionPageReqVO.java
  16. 31 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/attention/PersonEnterpriseAttentionRespVO.java
  17. 19 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/attention/PersonEnterpriseAttentionSaveReqVO.java
  18. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/certificate/PersonCertificatePageReqVO.java
  19. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/certificate/PersonCertificateRespVO.java
  20. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/certificate/PersonCertificateSaveReqVO.java
  21. 30 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/collection/PersonJobCollectionPageReqVO.java
  22. 31 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/collection/PersonJobCollectionRespVO.java
  23. 19 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/collection/PersonJobCollectionSaveReqVO.java
  24. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/info/PersonInfoPageReqVO.java
  25. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/info/PersonInfoRespVO.java
  26. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/info/PersonInfoSaveReqVO.java
  27. 88 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/record/PersonBrowseRecordPageReqVO.java
  28. 112 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/record/PersonBrowseRecordRespVO.java
  29. 86 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/record/PersonBrowseRecordSaveReqVO.java
  30. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/skill/PersonSkillPageReqVO.java
  31. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/skill/PersonSkillRespVO.java
  32. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/skill/PersonSkillSaveReqVO.java
  33. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/enterprise/EnterpriseDO.java
  34. 50 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/enterprise/EnterpriseUserLookDO.java
  35. 120 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/person/PersonBrowseRecordDO.java
  36. 38 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/person/PersonEnterpriseAttentionDO.java
  37. 38 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/person/PersonJobCollectionDO.java
  38. 29 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/enterprise/EnterpriseUserLookMapper.java
  39. 45 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonBrowseRecordMapper.java
  40. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonCertificateMapper.java
  41. 26 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonEnterpriseAttentionMapper.java
  42. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonInfoMapper.java
  43. 26 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonJobCollectionMapper.java
  44. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonSkillMapper.java
  45. 55 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/EnterpriseUserLookService.java
  46. 71 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/EnterpriseUserLookServiceImpl.java
  47. 55 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/attention/PersonEnterpriseAttentionService.java
  48. 71 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/attention/PersonEnterpriseAttentionServiceImpl.java
  49. 3 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/certificate/PersonCertificateService.java
  50. 3 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/certificate/PersonCertificateServiceImpl.java
  51. 55 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/collection/PersonJobCollectionService.java
  52. 71 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/collection/PersonJobCollectionServiceImpl.java
  53. 3 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/info/PersonInfoService.java
  54. 3 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/info/PersonInfoServiceImpl.java
  55. 55 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/record/PersonBrowseRecordService.java
  56. 71 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/record/PersonBrowseRecordServiceImpl.java
  57. 3 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/skill/PersonSkillService.java
  58. 3 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/skill/PersonSkillServiceImpl.java
  59. 1 1
      menduner/menduner-system-biz/src/test/java/com/citu/module/menduner/system/service/enterprise/EnterpriseServiceImplTest.java
  60. 143 0
      menduner/menduner-system-biz/src/test/java/com/citu/module/menduner/system/service/enterprise/EnterpriseUserLookServiceImplTest.java
  61. 208 0
      menduner/menduner-system-biz/src/test/java/com/citu/module/menduner/system/service/person/PersonBrowseRecordServiceImplTest.java
  62. 3 2
      menduner/menduner-system-biz/src/test/java/com/citu/module/menduner/system/service/person/PersonCertificateServiceImplTest.java
  63. 132 0
      menduner/menduner-system-biz/src/test/java/com/citu/module/menduner/system/service/person/PersonEnterpriseAttentionServiceImplTest.java
  64. 3 2
      menduner/menduner-system-biz/src/test/java/com/citu/module/menduner/system/service/person/PersonInfoServiceImplTest.java
  65. 132 0
      menduner/menduner-system-biz/src/test/java/com/citu/module/menduner/system/service/person/PersonJobCollectionServiceImplTest.java
  66. 3 2
      menduner/menduner-system-biz/src/test/java/com/citu/module/menduner/system/service/person/PersonSkillServiceImplTest.java
  67. 5 1
      menduner/menduner-system-biz/src/test/resources/sql/clean.sql
  68. 78 2
      menduner/menduner-system-biz/src/test/resources/sql/create_tables.sql

+ 12 - 0
menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/ErrorCodeConstants.java

@@ -107,4 +107,16 @@ public interface ErrorCodeConstants {
 
     // ========== 门墩儿-招聘职位 1_200_010_000 ==========
     ErrorCode MDE_JOB_ADVERTISED_NOT_EXISTS = new ErrorCode(1_200_010_001, "门墩儿-招聘职位不存在");
+
+    // ========== 门墩儿 - 企业招聘者浏览 1_200_011_000 ==========
+    ErrorCode ENTERPRISE_USER_LOOK_NOT_EXISTS = new ErrorCode(1_200_011_001, "门墩儿 - 企业招聘者浏览不存在");
+
+    // ========== 门墩儿-人才-企业关注 1_200_012_000 ==========
+    ErrorCode PERSON_ENTERPRISE_ATTENTION_NOT_EXISTS = new ErrorCode(1_200_012_001, "门墩儿-人才-企业关注不存在");
+
+    // ========== 门墩儿-人才-浏览记录 1_200_013_000 ==========
+    ErrorCode PERSON_BROWSE_RECORD_NOT_EXISTS = new ErrorCode(1_200_013_001, "门墩儿-人才-浏览记录不存在");
+
+    // ========== 门墩儿-人才-招聘职位收藏 1_200_014_000 ==========
+    ErrorCode PERSON_JOB_COLLECTION_NOT_EXISTS = new ErrorCode(1_200_014_001, "门墩儿-人才-招聘职位收藏不存在");
 }

+ 93 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/EnterpriseUserLookController.java

@@ -0,0 +1,93 @@
+package com.citu.module.menduner.system.controller.admin.enterprise;
+
+import com.citu.framework.apilog.core.annotation.ApiAccessLog;
+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.excel.core.util.ExcelUtils;
+import com.citu.module.menduner.system.controller.admin.enterprise.look.EnterpriseUserLookPageReqVO;
+import com.citu.module.menduner.system.controller.admin.enterprise.look.EnterpriseUserLookRespVO;
+import com.citu.module.menduner.system.controller.admin.enterprise.look.EnterpriseUserLookSaveReqVO;
+import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseUserLookDO;
+import com.citu.module.menduner.system.service.enterprise.EnterpriseUserLookService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.io.IOException;
+import java.util.List;
+
+import static com.citu.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
+import static com.citu.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "管理后台 - 门墩儿 - 企业招聘者浏览")
+@RestController
+@RequestMapping("/menduner/system/enterprise-user-look")
+@Validated
+public class EnterpriseUserLookController {
+
+    @Resource
+    private EnterpriseUserLookService enterpriseUserLookService;
+
+    @PostMapping("/create")
+    @Operation(summary = "创建门墩儿 - 企业招聘者浏览")
+    @PreAuthorize("@ss.hasPermission('menduner:system:enterprise-user-look:create')")
+    public CommonResult<Long> createEnterpriseUserLook(@Valid @RequestBody EnterpriseUserLookSaveReqVO createReqVO) {
+        return success(enterpriseUserLookService.createEnterpriseUserLook(createReqVO));
+    }
+
+    @PutMapping("/update")
+    @Operation(summary = "更新门墩儿 - 企业招聘者浏览")
+    @PreAuthorize("@ss.hasPermission('menduner:system:enterprise-user-look:update')")
+    public CommonResult<Boolean> updateEnterpriseUserLook(@Valid @RequestBody EnterpriseUserLookSaveReqVO updateReqVO) {
+        enterpriseUserLookService.updateEnterpriseUserLook(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "删除门墩儿 - 企业招聘者浏览")
+    @Parameter(name = "id", description = "编号", required = true)
+    @PreAuthorize("@ss.hasPermission('menduner:system:enterprise-user-look:delete')")
+    public CommonResult<Boolean> deleteEnterpriseUserLook(@RequestParam("id") Long id) {
+        enterpriseUserLookService.deleteEnterpriseUserLook(id);
+        return success(true);
+    }
+
+    @GetMapping("/get")
+    @Operation(summary = "获得门墩儿 - 企业招聘者浏览")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('menduner:system:enterprise-user-look:query')")
+    public CommonResult<EnterpriseUserLookRespVO> getEnterpriseUserLook(@RequestParam("id") Long id) {
+        EnterpriseUserLookDO enterpriseUserLook = enterpriseUserLookService.getEnterpriseUserLook(id);
+        return success(BeanUtils.toBean(enterpriseUserLook, EnterpriseUserLookRespVO.class));
+    }
+
+    @GetMapping("/page")
+    @Operation(summary = "获得门墩儿 - 企业招聘者浏览分页")
+    @PreAuthorize("@ss.hasPermission('menduner:system:enterprise-user-look:query')")
+    public CommonResult<PageResult<EnterpriseUserLookRespVO>> getEnterpriseUserLookPage(@Valid EnterpriseUserLookPageReqVO pageReqVO) {
+        PageResult<EnterpriseUserLookDO> pageResult = enterpriseUserLookService.getEnterpriseUserLookPage(pageReqVO);
+        return success(BeanUtils.toBean(pageResult, EnterpriseUserLookRespVO.class));
+    }
+
+    @GetMapping("/export-excel")
+    @Operation(summary = "导出门墩儿 - 企业招聘者浏览 Excel")
+    @PreAuthorize("@ss.hasPermission('menduner:system:enterprise-user-look:export')")
+    @ApiAccessLog(operateType = EXPORT)
+    public void exportEnterpriseUserLookExcel(@Valid EnterpriseUserLookPageReqVO pageReqVO,
+                                              HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<EnterpriseUserLookDO> list = enterpriseUserLookService.getEnterpriseUserLookPage(pageReqVO).getList();
+        // 导出 Excel
+        ExcelUtils.write(response, "门墩儿 - 企业招聘者浏览.xls", "数据", EnterpriseUserLookRespVO.class,
+                BeanUtils.toBean(list, EnterpriseUserLookRespVO.class));
+    }
+
+}

+ 39 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/look/EnterpriseUserLookPageReqVO.java

@@ -0,0 +1,39 @@
+package com.citu.module.menduner.system.controller.admin.enterprise.look;
+
+import com.citu.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 门墩儿 - 企业招聘者浏览分页 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class EnterpriseUserLookPageReqVO extends PageParam {
+
+    @Schema(description = "企业id", example = "89")
+    private Long enterpriseId;
+
+    @Schema(description = "用户id", example = "25074")
+    private Long userId;
+
+    @Schema(description = "用户职位", example = "李四")
+    private String userName;
+
+    @Schema(description = "所在企业部门名称", example = "李四")
+    private String userPostName;
+
+    @Schema(description = "看过的用户id", example = "2350")
+    private Long lookUserId;
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+}

+ 43 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/look/EnterpriseUserLookRespVO.java

@@ -0,0 +1,43 @@
+package com.citu.module.menduner.system.controller.admin.enterprise.look;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 门墩儿 - 企业招聘者浏览 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class EnterpriseUserLookRespVO {
+
+    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "21435")
+    @ExcelProperty("id")
+    private Long id;
+
+    @Schema(description = "企业id", example = "89")
+    @ExcelProperty("企业id")
+    private Long enterpriseId;
+
+    @Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "25074")
+    @ExcelProperty("用户id")
+    private Long userId;
+
+    @Schema(description = "用户职位", example = "李四")
+    @ExcelProperty("用户职位")
+    private String userName;
+
+    @Schema(description = "所在企业部门名称", example = "李四")
+    @ExcelProperty("所在企业部门名称")
+    private String userPostName;
+
+    @Schema(description = "看过的用户id", example = "2350")
+    @ExcelProperty("看过的用户id")
+    private Long lookUserId;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+}

+ 31 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/look/EnterpriseUserLookSaveReqVO.java

@@ -0,0 +1,31 @@
+package com.citu.module.menduner.system.controller.admin.enterprise.look;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Schema(description = "管理后台 - 门墩儿 - 企业招聘者浏览新增/修改 Request VO")
+@Data
+public class EnterpriseUserLookSaveReqVO {
+
+    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "21435")
+    private Long id;
+
+    @Schema(description = "企业id", example = "89")
+    private Long enterpriseId;
+
+    @Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "25074")
+    @NotNull(message = "用户id不能为空")
+    private Long userId;
+
+    @Schema(description = "用户职位", example = "李四")
+    private String userName;
+
+    @Schema(description = "所在企业部门名称", example = "李四")
+    private String userPostName;
+
+    @Schema(description = "看过的用户id", example = "2350")
+    private Long lookUserId;
+
+}

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/vo/EnterprisePageReqVO.java

@@ -29,7 +29,7 @@ public class EnterprisePageReqVO extends PageParam {
     private String anotherName;
 
     @Schema(description = "联系人")
-    private String contacts;
+    private String contact;
 
     @Schema(description = "联系电话")
     private String phone;

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/vo/EnterpriseRespVO.java

@@ -44,7 +44,7 @@ public class EnterpriseRespVO {
 
     @Schema(description = "联系人")
     @ExcelProperty("联系人")
-    private String contacts;
+    private String contact;
 
     @Schema(description = "联系电话")
     @ExcelProperty("联系电话")

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/vo/EnterpriseSaveReqVO.java

@@ -28,7 +28,7 @@ public class EnterpriseSaveReqVO {
     private String introduce;
 
     @Schema(description = "联系人")
-    private String contacts;
+    private String contact;
 
     @Schema(description = "联系电话")
     private String phone;

+ 93 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/PersonBrowseRecordController.java

@@ -0,0 +1,93 @@
+package com.citu.module.menduner.system.controller.admin.person;
+
+import com.citu.framework.apilog.core.annotation.ApiAccessLog;
+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.excel.core.util.ExcelUtils;
+import com.citu.module.menduner.system.controller.admin.person.vo.record.PersonBrowseRecordPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.record.PersonBrowseRecordRespVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.record.PersonBrowseRecordSaveReqVO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonBrowseRecordDO;
+import com.citu.module.menduner.system.service.person.record.PersonBrowseRecordService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.io.IOException;
+import java.util.List;
+
+import static com.citu.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
+import static com.citu.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "管理后台 - 门墩儿-人才-浏览记录")
+@RestController
+@RequestMapping("/menduner/system/person-browse-record")
+@Validated
+public class PersonBrowseRecordController {
+
+    @Resource
+    private PersonBrowseRecordService personBrowseRecordService;
+
+    @PostMapping("/create")
+    @Operation(summary = "创建门墩儿-人才-浏览记录")
+    @PreAuthorize("@ss.hasPermission('menduner:system:person-browse-record:create')")
+    public CommonResult<Long> createPersonBrowseRecord(@Valid @RequestBody PersonBrowseRecordSaveReqVO createReqVO) {
+        return success(personBrowseRecordService.createPersonBrowseRecord(createReqVO));
+    }
+
+    @PutMapping("/update")
+    @Operation(summary = "更新门墩儿-人才-浏览记录")
+    @PreAuthorize("@ss.hasPermission('menduner:system:person-browse-record:update')")
+    public CommonResult<Boolean> updatePersonBrowseRecord(@Valid @RequestBody PersonBrowseRecordSaveReqVO updateReqVO) {
+        personBrowseRecordService.updatePersonBrowseRecord(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "删除门墩儿-人才-浏览记录")
+    @Parameter(name = "id", description = "编号", required = true)
+    @PreAuthorize("@ss.hasPermission('menduner:system:person-browse-record:delete')")
+    public CommonResult<Boolean> deletePersonBrowseRecord(@RequestParam("id") Long id) {
+        personBrowseRecordService.deletePersonBrowseRecord(id);
+        return success(true);
+    }
+
+    @GetMapping("/get")
+    @Operation(summary = "获得门墩儿-人才-浏览记录")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('menduner:system:person-browse-record:query')")
+    public CommonResult<PersonBrowseRecordRespVO> getPersonBrowseRecord(@RequestParam("id") Long id) {
+        PersonBrowseRecordDO personBrowseRecord = personBrowseRecordService.getPersonBrowseRecord(id);
+        return success(BeanUtils.toBean(personBrowseRecord, PersonBrowseRecordRespVO.class));
+    }
+
+    @GetMapping("/page")
+    @Operation(summary = "获得门墩儿-人才-浏览记录分页")
+    @PreAuthorize("@ss.hasPermission('menduner:system:person-browse-record:query')")
+    public CommonResult<PageResult<PersonBrowseRecordRespVO>> getPersonBrowseRecordPage(@Valid PersonBrowseRecordPageReqVO pageReqVO) {
+        PageResult<PersonBrowseRecordDO> pageResult = personBrowseRecordService.getPersonBrowseRecordPage(pageReqVO);
+        return success(BeanUtils.toBean(pageResult, PersonBrowseRecordRespVO.class));
+    }
+
+    @GetMapping("/export-excel")
+    @Operation(summary = "导出门墩儿-人才-浏览记录 Excel")
+    @PreAuthorize("@ss.hasPermission('menduner:system:person-browse-record:export')")
+    @ApiAccessLog(operateType = EXPORT)
+    public void exportPersonBrowseRecordExcel(@Valid PersonBrowseRecordPageReqVO pageReqVO,
+                                              HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<PersonBrowseRecordDO> list = personBrowseRecordService.getPersonBrowseRecordPage(pageReqVO).getList();
+        // 导出 Excel
+        ExcelUtils.write(response, "门墩儿-人才-浏览记录.xls", "数据", PersonBrowseRecordRespVO.class,
+                BeanUtils.toBean(list, PersonBrowseRecordRespVO.class));
+    }
+
+}

+ 4 - 4
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/PersonCertificateController.java

@@ -1,8 +1,8 @@
 package com.citu.module.menduner.system.controller.admin.person;
 
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonCertificatePageReqVO;
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonCertificateRespVO;
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonCertificateSaveReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.certificate.PersonCertificatePageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.certificate.PersonCertificateRespVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.certificate.PersonCertificateSaveReqVO;
 import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
@@ -28,7 +28,7 @@ import com.citu.framework.apilog.core.annotation.ApiAccessLog;
 import static com.citu.framework.apilog.core.enums.OperateTypeEnum.*;
 
 import com.citu.module.menduner.system.dal.dataobject.person.PersonCertificateDO;
-import com.citu.module.menduner.system.service.person.PersonCertificateService;
+import com.citu.module.menduner.system.service.person.certificate.PersonCertificateService;
 
 @Tag(name = "管理后台 - 人才证书")
 @RestController

+ 93 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/PersonEnterpriseAttentionController.java

@@ -0,0 +1,93 @@
+package com.citu.module.menduner.system.controller.admin.person;
+
+import com.citu.framework.apilog.core.annotation.ApiAccessLog;
+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.excel.core.util.ExcelUtils;
+import com.citu.module.menduner.system.controller.admin.person.vo.attention.PersonEnterpriseAttentionPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.attention.PersonEnterpriseAttentionRespVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.attention.PersonEnterpriseAttentionSaveReqVO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonEnterpriseAttentionDO;
+import com.citu.module.menduner.system.service.person.attention.PersonEnterpriseAttentionService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.io.IOException;
+import java.util.List;
+
+import static com.citu.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
+import static com.citu.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "管理后台 - 门墩儿-人才-企业关注")
+@RestController
+@RequestMapping("/menduner.system/person-enterprise-attention")
+@Validated
+public class PersonEnterpriseAttentionController {
+
+    @Resource
+    private PersonEnterpriseAttentionService personEnterpriseAttentionService;
+
+    @PostMapping("/create")
+    @Operation(summary = "创建门墩儿-人才-企业关注")
+    @PreAuthorize("@ss.hasPermission('menduner.system:person-enterprise-attention:create')")
+    public CommonResult<Long> createPersonEnterpriseAttention(@Valid @RequestBody PersonEnterpriseAttentionSaveReqVO createReqVO) {
+        return success(personEnterpriseAttentionService.createPersonEnterpriseAttention(createReqVO));
+    }
+
+    @PutMapping("/update")
+    @Operation(summary = "更新门墩儿-人才-企业关注")
+    @PreAuthorize("@ss.hasPermission('menduner.system:person-enterprise-attention:update')")
+    public CommonResult<Boolean> updatePersonEnterpriseAttention(@Valid @RequestBody PersonEnterpriseAttentionSaveReqVO updateReqVO) {
+        personEnterpriseAttentionService.updatePersonEnterpriseAttention(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "删除门墩儿-人才-企业关注")
+    @Parameter(name = "id", description = "编号", required = true)
+    @PreAuthorize("@ss.hasPermission('menduner.system:person-enterprise-attention:delete')")
+    public CommonResult<Boolean> deletePersonEnterpriseAttention(@RequestParam("id") Long id) {
+        personEnterpriseAttentionService.deletePersonEnterpriseAttention(id);
+        return success(true);
+    }
+
+    @GetMapping("/get")
+    @Operation(summary = "获得门墩儿-人才-企业关注")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('menduner.system:person-enterprise-attention:query')")
+    public CommonResult<PersonEnterpriseAttentionRespVO> getPersonEnterpriseAttention(@RequestParam("id") Long id) {
+        PersonEnterpriseAttentionDO personEnterpriseAttention = personEnterpriseAttentionService.getPersonEnterpriseAttention(id);
+        return success(BeanUtils.toBean(personEnterpriseAttention, PersonEnterpriseAttentionRespVO.class));
+    }
+
+    @GetMapping("/page")
+    @Operation(summary = "获得门墩儿-人才-企业关注分页")
+    @PreAuthorize("@ss.hasPermission('menduner.system:person-enterprise-attention:query')")
+    public CommonResult<PageResult<PersonEnterpriseAttentionRespVO>> getPersonEnterpriseAttentionPage(@Valid PersonEnterpriseAttentionPageReqVO pageReqVO) {
+        PageResult<PersonEnterpriseAttentionDO> pageResult = personEnterpriseAttentionService.getPersonEnterpriseAttentionPage(pageReqVO);
+        return success(BeanUtils.toBean(pageResult, PersonEnterpriseAttentionRespVO.class));
+    }
+
+    @GetMapping("/export-excel")
+    @Operation(summary = "导出门墩儿-人才-企业关注 Excel")
+    @PreAuthorize("@ss.hasPermission('menduner.system:person-enterprise-attention:export')")
+    @ApiAccessLog(operateType = EXPORT)
+    public void exportPersonEnterpriseAttentionExcel(@Valid PersonEnterpriseAttentionPageReqVO pageReqVO,
+                                                     HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<PersonEnterpriseAttentionDO> list = personEnterpriseAttentionService.getPersonEnterpriseAttentionPage(pageReqVO).getList();
+        // 导出 Excel
+        ExcelUtils.write(response, "门墩儿-人才-企业关注.xls", "数据", PersonEnterpriseAttentionRespVO.class,
+                BeanUtils.toBean(list, PersonEnterpriseAttentionRespVO.class));
+    }
+
+}

+ 4 - 4
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/PersonInfoController.java

@@ -7,10 +7,10 @@ import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.framework.excel.core.util.ExcelUtils;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
-import com.citu.module.menduner.system.service.person.PersonInfoService;
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonInfoPageReqVO;
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonInfoRespVO;
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonInfoSaveReqVO;
+import com.citu.module.menduner.system.service.person.info.PersonInfoService;
+import com.citu.module.menduner.system.controller.admin.person.vo.info.PersonInfoPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.info.PersonInfoRespVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.info.PersonInfoSaveReqVO;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;

+ 93 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/PersonJobCollectionController.java

@@ -0,0 +1,93 @@
+package com.citu.module.menduner.system.controller.admin.person;
+
+import com.citu.framework.apilog.core.annotation.ApiAccessLog;
+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.excel.core.util.ExcelUtils;
+import com.citu.module.menduner.system.controller.admin.person.vo.collection.PersonJobCollectionPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.collection.PersonJobCollectionRespVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.collection.PersonJobCollectionSaveReqVO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonJobCollectionDO;
+import com.citu.module.menduner.system.service.person.collection.PersonJobCollectionService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.io.IOException;
+import java.util.List;
+
+import static com.citu.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
+import static com.citu.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "管理后台 - 门墩儿-人才-招聘职位收藏")
+@RestController
+@RequestMapping("/menduner/system/person-job-collection")
+@Validated
+public class PersonJobCollectionController {
+
+    @Resource
+    private PersonJobCollectionService personJobCollectionService;
+
+    @PostMapping("/create")
+    @Operation(summary = "创建门墩儿-人才-招聘职位收藏")
+    @PreAuthorize("@ss.hasPermission('menduner:system:person-job-collection:create')")
+    public CommonResult<Long> createPersonJobCollection(@Valid @RequestBody PersonJobCollectionSaveReqVO createReqVO) {
+        return success(personJobCollectionService.createPersonJobCollection(createReqVO));
+    }
+
+    @PutMapping("/update")
+    @Operation(summary = "更新门墩儿-人才-招聘职位收藏")
+    @PreAuthorize("@ss.hasPermission('menduner:system:person-job-collection:update')")
+    public CommonResult<Boolean> updatePersonJobCollection(@Valid @RequestBody PersonJobCollectionSaveReqVO updateReqVO) {
+        personJobCollectionService.updatePersonJobCollection(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "删除门墩儿-人才-招聘职位收藏")
+    @Parameter(name = "id", description = "编号", required = true)
+    @PreAuthorize("@ss.hasPermission('menduner:system:person-job-collection:delete')")
+    public CommonResult<Boolean> deletePersonJobCollection(@RequestParam("id") Long id) {
+        personJobCollectionService.deletePersonJobCollection(id);
+        return success(true);
+    }
+
+    @GetMapping("/get")
+    @Operation(summary = "获得门墩儿-人才-招聘职位收藏")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('menduner:system:person-job-collection:query')")
+    public CommonResult<PersonJobCollectionRespVO> getPersonJobCollection(@RequestParam("id") Long id) {
+        PersonJobCollectionDO personJobCollection = personJobCollectionService.getPersonJobCollection(id);
+        return success(BeanUtils.toBean(personJobCollection, PersonJobCollectionRespVO.class));
+    }
+
+    @GetMapping("/page")
+    @Operation(summary = "获得门墩儿-人才-招聘职位收藏分页")
+    @PreAuthorize("@ss.hasPermission('menduner:system:person-job-collection:query')")
+    public CommonResult<PageResult<PersonJobCollectionRespVO>> getPersonJobCollectionPage(@Valid PersonJobCollectionPageReqVO pageReqVO) {
+        PageResult<PersonJobCollectionDO> pageResult = personJobCollectionService.getPersonJobCollectionPage(pageReqVO);
+        return success(BeanUtils.toBean(pageResult, PersonJobCollectionRespVO.class));
+    }
+
+    @GetMapping("/export-excel")
+    @Operation(summary = "导出门墩儿-人才-招聘职位收藏 Excel")
+    @PreAuthorize("@ss.hasPermission('menduner:system:person-job-collection:export')")
+    @ApiAccessLog(operateType = EXPORT)
+    public void exportPersonJobCollectionExcel(@Valid PersonJobCollectionPageReqVO pageReqVO,
+                                               HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<PersonJobCollectionDO> list = personJobCollectionService.getPersonJobCollectionPage(pageReqVO).getList();
+        // 导出 Excel
+        ExcelUtils.write(response, "门墩儿-人才-招聘职位收藏.xls", "数据", PersonJobCollectionRespVO.class,
+                BeanUtils.toBean(list, PersonJobCollectionRespVO.class));
+    }
+
+}

+ 4 - 4
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/PersonSkillController.java

@@ -1,8 +1,8 @@
 package com.citu.module.menduner.system.controller.admin.person;
 
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonSkillPageReqVO;
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonSkillRespVO;
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonSkillSaveReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.skill.PersonSkillPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.skill.PersonSkillRespVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.skill.PersonSkillSaveReqVO;
 import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
@@ -28,7 +28,7 @@ import com.citu.framework.apilog.core.annotation.ApiAccessLog;
 import static com.citu.framework.apilog.core.enums.OperateTypeEnum.*;
 
 import com.citu.module.menduner.system.dal.dataobject.person.PersonSkillDO;
-import com.citu.module.menduner.system.service.person.PersonSkillService;
+import com.citu.module.menduner.system.service.person.skill.PersonSkillService;
 
 @Tag(name = "管理后台 - 人才技能")
 @RestController

+ 30 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/attention/PersonEnterpriseAttentionPageReqVO.java

@@ -0,0 +1,30 @@
+package com.citu.module.menduner.system.controller.admin.person.vo.attention;
+
+import com.citu.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 门墩儿-人才-企业关注分页 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class PersonEnterpriseAttentionPageReqVO extends PageParam {
+
+    @Schema(description = "用户id", example = "32466")
+    private Long userId;
+
+    @Schema(description = "企业id", example = "1839")
+    private Long enterpriseId;
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+}

+ 31 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/attention/PersonEnterpriseAttentionRespVO.java

@@ -0,0 +1,31 @@
+package com.citu.module.menduner.system.controller.admin.person.vo.attention;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 门墩儿-人才-企业关注 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class PersonEnterpriseAttentionRespVO {
+
+    @Schema(description = "岗位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9310")
+    @ExcelProperty("岗位ID")
+    private Long id;
+
+    @Schema(description = "用户id", example = "32466")
+    @ExcelProperty("用户id")
+    private Long userId;
+
+    @Schema(description = "企业id", example = "1839")
+    @ExcelProperty("企业id")
+    private Long enterpriseId;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+}

+ 19 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/attention/PersonEnterpriseAttentionSaveReqVO.java

@@ -0,0 +1,19 @@
+package com.citu.module.menduner.system.controller.admin.person.vo.attention;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Schema(description = "管理后台 - 门墩儿-人才-企业关注新增/修改 Request VO")
+@Data
+public class PersonEnterpriseAttentionSaveReqVO {
+
+    @Schema(description = "岗位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9310")
+    private Long id;
+
+    @Schema(description = "用户id", example = "32466")
+    private Long userId;
+
+    @Schema(description = "企业id", example = "1839")
+    private Long enterpriseId;
+
+}

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/PersonCertificatePageReqVO.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/certificate/PersonCertificatePageReqVO.java

@@ -1,4 +1,4 @@
-package com.citu.module.menduner.system.controller.admin.person.vo;
+package com.citu.module.menduner.system.controller.admin.person.vo.certificate;
 
 import lombok.*;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/PersonCertificateRespVO.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/certificate/PersonCertificateRespVO.java

@@ -1,4 +1,4 @@
-package com.citu.module.menduner.system.controller.admin.person.vo;
+package com.citu.module.menduner.system.controller.admin.person.vo.certificate;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/PersonCertificateSaveReqVO.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/certificate/PersonCertificateSaveReqVO.java

@@ -1,4 +1,4 @@
-package com.citu.module.menduner.system.controller.admin.person.vo;
+package com.citu.module.menduner.system.controller.admin.person.vo.certificate;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;

+ 30 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/collection/PersonJobCollectionPageReqVO.java

@@ -0,0 +1,30 @@
+package com.citu.module.menduner.system.controller.admin.person.vo.collection;
+
+import com.citu.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 门墩儿-人才-招聘职位收藏分页 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class PersonJobCollectionPageReqVO extends PageParam {
+
+    @Schema(description = "用户id", example = "18904")
+    private Long userId;
+
+    @Schema(description = "招聘职位id", example = "26575")
+    private Long jobId;
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+}

+ 31 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/collection/PersonJobCollectionRespVO.java

@@ -0,0 +1,31 @@
+package com.citu.module.menduner.system.controller.admin.person.vo.collection;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 门墩儿-人才-招聘职位收藏 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class PersonJobCollectionRespVO {
+
+    @Schema(description = "岗位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3367")
+    @ExcelProperty("岗位ID")
+    private Long id;
+
+    @Schema(description = "用户id", example = "18904")
+    @ExcelProperty("用户id")
+    private Long userId;
+
+    @Schema(description = "招聘职位id", example = "26575")
+    @ExcelProperty("招聘职位id")
+    private Long jobId;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+}

+ 19 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/collection/PersonJobCollectionSaveReqVO.java

@@ -0,0 +1,19 @@
+package com.citu.module.menduner.system.controller.admin.person.vo.collection;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Schema(description = "管理后台 - 门墩儿-人才-招聘职位收藏新增/修改 Request VO")
+@Data
+public class PersonJobCollectionSaveReqVO {
+
+    @Schema(description = "岗位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3367")
+    private Long id;
+
+    @Schema(description = "用户id", example = "18904")
+    private Long userId;
+
+    @Schema(description = "招聘职位id", example = "26575")
+    private Long jobId;
+
+}

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/PersonInfoPageReqVO.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/info/PersonInfoPageReqVO.java

@@ -1,4 +1,4 @@
-package com.citu.module.menduner.system.controller.admin.person.vo;
+package com.citu.module.menduner.system.controller.admin.person.vo.info;
 
 import com.citu.framework.common.pojo.PageParam;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/PersonInfoRespVO.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/info/PersonInfoRespVO.java

@@ -1,4 +1,4 @@
-package com.citu.module.menduner.system.controller.admin.person.vo;
+package com.citu.module.menduner.system.controller.admin.person.vo.info;
 
 import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import com.alibaba.excel.annotation.ExcelProperty;

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/PersonInfoSaveReqVO.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/info/PersonInfoSaveReqVO.java

@@ -1,4 +1,4 @@
-package com.citu.module.menduner.system.controller.admin.person.vo;
+package com.citu.module.menduner.system.controller.admin.person.vo.info;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;

+ 88 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/record/PersonBrowseRecordPageReqVO.java

@@ -0,0 +1,88 @@
+package com.citu.module.menduner.system.controller.admin.person.vo.record;
+
+import com.citu.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 门墩儿-人才-浏览记录分页 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class PersonBrowseRecordPageReqVO extends PageParam {
+
+    @Schema(description = "用户id", example = "19293")
+    private Long userId;
+
+    @Schema(description = "招聘职位id", example = "7028")
+    private Long jobId;
+
+    @Schema(description = "地区id", example = "3577")
+    private Long areaId;
+
+    @Schema(description = "职位类型id", example = "14119")
+    private Long positionId;
+
+    @Schema(description = "企业id", example = "8382")
+    private Long enterpriseId;
+
+    @Schema(description = "地区名称", example = "芋艿")
+    private String areaName;
+
+    @Schema(description = "招聘职位标题", example = "张三")
+    private String jobName;
+
+    @Schema(description = "招聘类型", example = "2")
+    private Integer type;
+
+    @Schema(description = "工作经验", example = "1")
+    private Integer expType;
+
+    @Schema(description = "学历要求", example = "2")
+    private Integer eduType;
+
+    @Schema(description = "薪酬from")
+    private BigDecimal payFrom;
+
+    @Schema(description = "薪酬to")
+    private BigDecimal payTo;
+
+    @Schema(description = "薪酬单位")
+    private Integer payUnit;
+
+    @Schema(description = "货币类型", example = "1")
+    private Integer currencyType;
+
+    @Schema(description = "联系用户id", example = "10787")
+    private Long contactUserId;
+
+    @Schema(description = "联系用户职位", example = "李四")
+    private String contactUserName;
+
+    @Schema(description = "联系用户所在企业部门名称", example = "芋艿")
+    private String contactUserPostName;
+
+    @Schema(description = "企业名称", example = "张三")
+    private String enterpriseName;
+
+    @Schema(description = "企业所在行业", example = "5762")
+    private Long industryId;
+
+    @Schema(description = "企业融资阶段(未融资,天使轮,A轮,B轮,C轮,D轮以上,已上市,不需要融资)", example = "2")
+    private Integer financingStatus;
+
+    @Schema(description = "企业人员规模(0-20人,20-99人,100-499人,500-999人,1000-9999人,9999人以上)")
+    private Integer scale;
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+}

+ 112 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/record/PersonBrowseRecordRespVO.java

@@ -0,0 +1,112 @@
+package com.citu.module.menduner.system.controller.admin.person.vo.record;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 门墩儿-人才-浏览记录 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class PersonBrowseRecordRespVO {
+
+    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "18568")
+    @ExcelProperty("id")
+    private Long id;
+
+    @Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "19293")
+    @ExcelProperty("用户id")
+    private Long userId;
+
+    @Schema(description = "招聘职位id", requiredMode = Schema.RequiredMode.REQUIRED, example = "7028")
+    @ExcelProperty("招聘职位id")
+    private Long jobId;
+
+    @Schema(description = "地区id", example = "3577")
+    @ExcelProperty("地区id")
+    private Long areaId;
+
+    @Schema(description = "职位类型id", example = "14119")
+    @ExcelProperty("职位类型id")
+    private Long positionId;
+
+    @Schema(description = "企业id", example = "8382")
+    @ExcelProperty("企业id")
+    private Long enterpriseId;
+
+    @Schema(description = "地区名称", example = "芋艿")
+    @ExcelProperty("地区名称")
+    private String areaName;
+
+    @Schema(description = "招聘职位标题", example = "张三")
+    @ExcelProperty("招聘职位标题")
+    private String jobName;
+
+    @Schema(description = "招聘类型", example = "2")
+    @ExcelProperty("招聘类型")
+    private Integer type;
+
+    @Schema(description = "工作经验", example = "1")
+    @ExcelProperty("工作经验")
+    private Integer expType;
+
+    @Schema(description = "学历要求", example = "2")
+    @ExcelProperty("学历要求")
+    private Integer eduType;
+
+    @Schema(description = "薪酬from")
+    @ExcelProperty("薪酬from")
+    private BigDecimal payFrom;
+
+    @Schema(description = "薪酬to")
+    @ExcelProperty("薪酬to")
+    private BigDecimal payTo;
+
+    @Schema(description = "薪酬单位")
+    @ExcelProperty("薪酬单位")
+    private Integer payUnit;
+
+    @Schema(description = "货币类型", example = "1")
+    @ExcelProperty("货币类型")
+    private Integer currencyType;
+
+    @Schema(description = "职位标签", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("职位标签")
+    private String tagList;
+
+    @Schema(description = "联系用户id", example = "10787")
+    @ExcelProperty("联系用户id")
+    private Long contactUserId;
+
+    @Schema(description = "联系用户职位", example = "李四")
+    @ExcelProperty("联系用户职位")
+    private String contactUserName;
+
+    @Schema(description = "联系用户所在企业部门名称", example = "芋艿")
+    @ExcelProperty("联系用户所在企业部门名称")
+    private String contactUserPostName;
+
+    @Schema(description = "企业名称", example = "张三")
+    @ExcelProperty("企业名称")
+    private String enterpriseName;
+
+    @Schema(description = "企业所在行业", example = "5762")
+    @ExcelProperty("企业所在行业")
+    private Long industryId;
+
+    @Schema(description = "企业融资阶段(未融资,天使轮,A轮,B轮,C轮,D轮以上,已上市,不需要融资)", example = "2")
+    @ExcelProperty("企业融资阶段(未融资,天使轮,A轮,B轮,C轮,D轮以上,已上市,不需要融资)")
+    private Integer financingStatus;
+
+    @Schema(description = "企业人员规模(0-20人,20-99人,100-499人,500-999人,1000-9999人,9999人以上)")
+    @ExcelProperty("企业人员规模(0-20人,20-99人,100-499人,500-999人,1000-9999人,9999人以上)")
+    private Integer scale;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+}

+ 86 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/record/PersonBrowseRecordSaveReqVO.java

@@ -0,0 +1,86 @@
+package com.citu.module.menduner.system.controller.admin.person.vo.record;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+
+@Schema(description = "管理后台 - 门墩儿-人才-浏览记录新增/修改 Request VO")
+@Data
+public class PersonBrowseRecordSaveReqVO {
+
+    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "18568")
+    private Long id;
+
+    @Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "19293")
+    @NotNull(message = "用户id不能为空")
+    private Long userId;
+
+    @Schema(description = "招聘职位id", requiredMode = Schema.RequiredMode.REQUIRED, example = "7028")
+    @NotNull(message = "招聘职位id不能为空")
+    private Long jobId;
+
+    @Schema(description = "地区id", example = "3577")
+    private Long areaId;
+
+    @Schema(description = "职位类型id", example = "14119")
+    private Long positionId;
+
+    @Schema(description = "企业id", example = "8382")
+    private Long enterpriseId;
+
+    @Schema(description = "地区名称", example = "芋艿")
+    private String areaName;
+
+    @Schema(description = "招聘职位标题", example = "张三")
+    private String jobName;
+
+    @Schema(description = "招聘类型", example = "2")
+    private Integer type;
+
+    @Schema(description = "工作经验", example = "1")
+    private Integer expType;
+
+    @Schema(description = "学历要求", example = "2")
+    private Integer eduType;
+
+    @Schema(description = "薪酬from")
+    private BigDecimal payFrom;
+
+    @Schema(description = "薪酬to")
+    private BigDecimal payTo;
+
+    @Schema(description = "薪酬单位")
+    private Integer payUnit;
+
+    @Schema(description = "货币类型", example = "1")
+    private Integer currencyType;
+
+    @Schema(description = "职位标签", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotEmpty(message = "职位标签不能为空")
+    private String tagList;
+
+    @Schema(description = "联系用户id", example = "10787")
+    private Long contactUserId;
+
+    @Schema(description = "联系用户职位", example = "李四")
+    private String contactUserName;
+
+    @Schema(description = "联系用户所在企业部门名称", example = "芋艿")
+    private String contactUserPostName;
+
+    @Schema(description = "企业名称", example = "张三")
+    private String enterpriseName;
+
+    @Schema(description = "企业所在行业", example = "5762")
+    private Long industryId;
+
+    @Schema(description = "企业融资阶段(未融资,天使轮,A轮,B轮,C轮,D轮以上,已上市,不需要融资)", example = "2")
+    private Integer financingStatus;
+
+    @Schema(description = "企业人员规模(0-20人,20-99人,100-499人,500-999人,1000-9999人,9999人以上)")
+    private Integer scale;
+
+}

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/PersonSkillPageReqVO.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/skill/PersonSkillPageReqVO.java

@@ -1,4 +1,4 @@
-package com.citu.module.menduner.system.controller.admin.person.vo;
+package com.citu.module.menduner.system.controller.admin.person.vo.skill;
 
 import lombok.*;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/PersonSkillRespVO.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/skill/PersonSkillRespVO.java

@@ -1,4 +1,4 @@
-package com.citu.module.menduner.system.controller.admin.person.vo;
+package com.citu.module.menduner.system.controller.admin.person.vo.skill;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/PersonSkillSaveReqVO.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/skill/PersonSkillSaveReqVO.java

@@ -1,4 +1,4 @@
-package com.citu.module.menduner.system.controller.admin.person.vo;
+package com.citu.module.menduner.system.controller.admin.person.vo.skill;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/enterprise/EnterpriseDO.java

@@ -53,7 +53,7 @@ public class EnterpriseDO extends BaseDO {
     /**
      * 联系人
      */
-    private String contacts;
+    private String contact;
     /**
      * 联系电话
      */

+ 50 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/enterprise/EnterpriseUserLookDO.java

@@ -0,0 +1,50 @@
+package com.citu.module.menduner.system.dal.dataobject.enterprise;
+
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.citu.framework.mybatis.core.dataobject.BaseDO;
+import lombok.*;
+
+/**
+ * 门墩儿 - 企业招聘者浏览 DO
+ *
+ * @author Rayson
+ */
+@TableName("mde_enterprise_user_look")
+@KeySequence("mde_enterprise_user_look_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class EnterpriseUserLookDO extends BaseDO {
+
+    /**
+     * id
+     */
+    @TableId
+    private Long id;
+    /**
+     * 企业id
+     */
+    private Long enterpriseId;
+    /**
+     * 用户id
+     */
+    private Long userId;
+    /**
+     * 用户职位
+     */
+    private String userName;
+    /**
+     * 所在企业部门名称
+     */
+    private String userPostName;
+    /**
+     * 看过的用户id
+     */
+    private Long lookUserId;
+
+}

+ 120 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/person/PersonBrowseRecordDO.java

@@ -0,0 +1,120 @@
+package com.citu.module.menduner.system.dal.dataobject.person;
+
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.citu.framework.mybatis.core.dataobject.BaseDO;
+import lombok.*;
+
+import java.math.BigDecimal;
+
+/**
+ * 门墩儿-人才-浏览记录 DO
+ *
+ * @author Rayson
+ */
+@TableName("mde_person_browse_record")
+@KeySequence("mde_person_browse_record_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class PersonBrowseRecordDO extends BaseDO {
+
+    /**
+     * id
+     */
+    @TableId
+    private Long id;
+    /**
+     * 用户id
+     */
+    private Long userId;
+    /**
+     * 招聘职位id
+     */
+    private Long jobId;
+    /**
+     * 地区id
+     */
+    private Long areaId;
+    /**
+     * 职位类型id
+     */
+    private Long positionId;
+    /**
+     * 企业id
+     */
+    private Long enterpriseId;
+    /**
+     * 地区名称
+     */
+    private String areaName;
+    /**
+     * 招聘职位标题
+     */
+    private String jobName;
+    /**
+     * 招聘类型
+     */
+    private Integer type;
+    /**
+     * 工作经验
+     */
+    private Integer expType;
+    /**
+     * 学历要求
+     */
+    private Integer eduType;
+    /**
+     * 薪酬from
+     */
+    private BigDecimal payFrom;
+    /**
+     * 薪酬to
+     */
+    private BigDecimal payTo;
+    /**
+     * 薪酬单位
+     */
+    private Integer payUnit;
+    /**
+     * 货币类型
+     */
+    private Integer currencyType;
+    /**
+     * 职位标签
+     */
+    private String tagList;
+    /**
+     * 联系用户id
+     */
+    private Long contactUserId;
+    /**
+     * 联系用户职位
+     */
+    private String contactUserName;
+    /**
+     * 联系用户所在企业部门名称
+     */
+    private String contactUserPostName;
+    /**
+     * 企业名称
+     */
+    private String enterpriseName;
+    /**
+     * 企业所在行业
+     */
+    private Long industryId;
+    /**
+     * 企业融资阶段(未融资,天使轮,A轮,B轮,C轮,D轮以上,已上市,不需要融资)
+     */
+    private Integer financingStatus;
+    /**
+     * 企业人员规模(0-20人,20-99人,100-499人,500-999人,1000-9999人,9999人以上)
+     */
+    private Integer scale;
+
+}

+ 38 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/person/PersonEnterpriseAttentionDO.java

@@ -0,0 +1,38 @@
+package com.citu.module.menduner.system.dal.dataobject.person;
+
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.citu.framework.mybatis.core.dataobject.BaseDO;
+import lombok.*;
+
+/**
+ * 门墩儿-人才-企业关注 DO
+ *
+ * @author Rayson
+ */
+@TableName("mde_person_enterprise_attention")
+@KeySequence("mde_person_enterprise_attention_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class PersonEnterpriseAttentionDO extends BaseDO {
+
+    /**
+     * 岗位ID
+     */
+    @TableId
+    private Long id;
+    /**
+     * 用户id
+     */
+    private Long userId;
+    /**
+     * 企业id
+     */
+    private Long enterpriseId;
+
+}

+ 38 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/person/PersonJobCollectionDO.java

@@ -0,0 +1,38 @@
+package com.citu.module.menduner.system.dal.dataobject.person;
+
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.citu.framework.mybatis.core.dataobject.BaseDO;
+import lombok.*;
+
+/**
+ * 门墩儿-人才-招聘职位收藏 DO
+ *
+ * @author Rayson
+ */
+@TableName("mde_person_job_collection")
+@KeySequence("mde_person_job_collection_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class PersonJobCollectionDO extends BaseDO {
+
+    /**
+     * 岗位ID
+     */
+    @TableId
+    private Long id;
+    /**
+     * 用户id
+     */
+    private Long userId;
+    /**
+     * 招聘职位id
+     */
+    private Long jobId;
+
+}

+ 29 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/enterprise/EnterpriseUserLookMapper.java

@@ -0,0 +1,29 @@
+package com.citu.module.menduner.system.dal.mysql.enterprise;
+
+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.module.menduner.system.controller.admin.enterprise.look.EnterpriseUserLookPageReqVO;
+import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseUserLookDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 门墩儿 - 企业招聘者浏览 Mapper
+ *
+ * @author Rayson
+ */
+@Mapper
+public interface EnterpriseUserLookMapper extends BaseMapperX<EnterpriseUserLookDO> {
+
+    default PageResult<EnterpriseUserLookDO> selectPage(EnterpriseUserLookPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<EnterpriseUserLookDO>()
+                .eqIfPresent(EnterpriseUserLookDO::getEnterpriseId, reqVO.getEnterpriseId())
+                .eqIfPresent(EnterpriseUserLookDO::getUserId, reqVO.getUserId())
+                .likeIfPresent(EnterpriseUserLookDO::getUserName, reqVO.getUserName())
+                .likeIfPresent(EnterpriseUserLookDO::getUserPostName, reqVO.getUserPostName())
+                .eqIfPresent(EnterpriseUserLookDO::getLookUserId, reqVO.getLookUserId())
+                .betweenIfPresent(EnterpriseUserLookDO::getCreateTime, reqVO.getCreateTime())
+                .orderByDesc(EnterpriseUserLookDO::getId));
+    }
+
+}

+ 45 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonBrowseRecordMapper.java

@@ -0,0 +1,45 @@
+package com.citu.module.menduner.system.dal.mysql.person;
+
+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.module.menduner.system.controller.admin.person.vo.record.PersonBrowseRecordPageReqVO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonBrowseRecordDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 门墩儿-人才-浏览记录 Mapper
+ *
+ * @author Rayson
+ */
+@Mapper
+public interface PersonBrowseRecordMapper extends BaseMapperX<PersonBrowseRecordDO> {
+
+    default PageResult<PersonBrowseRecordDO> selectPage(PersonBrowseRecordPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<PersonBrowseRecordDO>()
+                .eqIfPresent(PersonBrowseRecordDO::getUserId, reqVO.getUserId())
+                .eqIfPresent(PersonBrowseRecordDO::getJobId, reqVO.getJobId())
+                .eqIfPresent(PersonBrowseRecordDO::getAreaId, reqVO.getAreaId())
+                .eqIfPresent(PersonBrowseRecordDO::getPositionId, reqVO.getPositionId())
+                .eqIfPresent(PersonBrowseRecordDO::getEnterpriseId, reqVO.getEnterpriseId())
+                .likeIfPresent(PersonBrowseRecordDO::getAreaName, reqVO.getAreaName())
+                .likeIfPresent(PersonBrowseRecordDO::getJobName, reqVO.getJobName())
+                .eqIfPresent(PersonBrowseRecordDO::getType, reqVO.getType())
+                .eqIfPresent(PersonBrowseRecordDO::getExpType, reqVO.getExpType())
+                .eqIfPresent(PersonBrowseRecordDO::getEduType, reqVO.getEduType())
+                .eqIfPresent(PersonBrowseRecordDO::getPayFrom, reqVO.getPayFrom())
+                .eqIfPresent(PersonBrowseRecordDO::getPayTo, reqVO.getPayTo())
+                .eqIfPresent(PersonBrowseRecordDO::getPayUnit, reqVO.getPayUnit())
+                .eqIfPresent(PersonBrowseRecordDO::getCurrencyType, reqVO.getCurrencyType())
+                .eqIfPresent(PersonBrowseRecordDO::getContactUserId, reqVO.getContactUserId())
+                .likeIfPresent(PersonBrowseRecordDO::getContactUserName, reqVO.getContactUserName())
+                .likeIfPresent(PersonBrowseRecordDO::getContactUserPostName, reqVO.getContactUserPostName())
+                .likeIfPresent(PersonBrowseRecordDO::getEnterpriseName, reqVO.getEnterpriseName())
+                .eqIfPresent(PersonBrowseRecordDO::getIndustryId, reqVO.getIndustryId())
+                .eqIfPresent(PersonBrowseRecordDO::getFinancingStatus, reqVO.getFinancingStatus())
+                .eqIfPresent(PersonBrowseRecordDO::getScale, reqVO.getScale())
+                .betweenIfPresent(PersonBrowseRecordDO::getCreateTime, reqVO.getCreateTime())
+                .orderByDesc(PersonBrowseRecordDO::getId));
+    }
+
+}

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonCertificateMapper.java

@@ -3,7 +3,7 @@ package com.citu.module.menduner.system.dal.mysql.person;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.citu.framework.mybatis.core.mapper.BaseMapperX;
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonCertificatePageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.certificate.PersonCertificatePageReqVO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonCertificateDO;
 import org.apache.ibatis.annotations.Mapper;
 

+ 26 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonEnterpriseAttentionMapper.java

@@ -0,0 +1,26 @@
+package com.citu.module.menduner.system.dal.mysql.person;
+
+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.module.menduner.system.controller.admin.person.vo.attention.PersonEnterpriseAttentionPageReqVO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonEnterpriseAttentionDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 门墩儿-人才-企业关注 Mapper
+ *
+ * @author Rayson
+ */
+@Mapper
+public interface PersonEnterpriseAttentionMapper extends BaseMapperX<PersonEnterpriseAttentionDO> {
+
+    default PageResult<PersonEnterpriseAttentionDO> selectPage(PersonEnterpriseAttentionPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<PersonEnterpriseAttentionDO>()
+                .eqIfPresent(PersonEnterpriseAttentionDO::getUserId, reqVO.getUserId())
+                .eqIfPresent(PersonEnterpriseAttentionDO::getEnterpriseId, reqVO.getEnterpriseId())
+                .betweenIfPresent(PersonEnterpriseAttentionDO::getCreateTime, reqVO.getCreateTime())
+                .orderByDesc(PersonEnterpriseAttentionDO::getId));
+    }
+
+}

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonInfoMapper.java

@@ -4,7 +4,7 @@ import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.citu.framework.mybatis.core.mapper.BaseMapperX;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonInfoPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.info.PersonInfoPageReqVO;
 import org.apache.ibatis.annotations.Mapper;
 
 /**

+ 26 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonJobCollectionMapper.java

@@ -0,0 +1,26 @@
+package com.citu.module.menduner.system.dal.mysql.person;
+
+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.module.menduner.system.controller.admin.person.vo.collection.PersonJobCollectionPageReqVO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonJobCollectionDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 门墩儿-人才-招聘职位收藏 Mapper
+ *
+ * @author Rayson
+ */
+@Mapper
+public interface PersonJobCollectionMapper extends BaseMapperX<PersonJobCollectionDO> {
+
+    default PageResult<PersonJobCollectionDO> selectPage(PersonJobCollectionPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<PersonJobCollectionDO>()
+                .eqIfPresent(PersonJobCollectionDO::getUserId, reqVO.getUserId())
+                .eqIfPresent(PersonJobCollectionDO::getJobId, reqVO.getJobId())
+                .betweenIfPresent(PersonJobCollectionDO::getCreateTime, reqVO.getCreateTime())
+                .orderByDesc(PersonJobCollectionDO::getId));
+    }
+
+}

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonSkillMapper.java

@@ -3,7 +3,7 @@ package com.citu.module.menduner.system.dal.mysql.person;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.citu.framework.mybatis.core.mapper.BaseMapperX;
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonSkillPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.skill.PersonSkillPageReqVO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonSkillDO;
 import org.apache.ibatis.annotations.Mapper;
 

+ 55 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/EnterpriseUserLookService.java

@@ -0,0 +1,55 @@
+package com.citu.module.menduner.system.service.enterprise;
+
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.module.menduner.system.controller.admin.enterprise.look.EnterpriseUserLookPageReqVO;
+import com.citu.module.menduner.system.controller.admin.enterprise.look.EnterpriseUserLookSaveReqVO;
+import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseUserLookDO;
+
+import javax.validation.Valid;
+
+/**
+ * 门墩儿 - 企业招聘者浏览 Service 接口
+ *
+ * @author Rayson
+ */
+public interface EnterpriseUserLookService {
+
+    /**
+     * 创建门墩儿 - 企业招聘者浏览
+     *
+     * @param createReqVO 创建信息
+     * @return 编号
+     */
+    Long createEnterpriseUserLook(@Valid EnterpriseUserLookSaveReqVO createReqVO);
+
+    /**
+     * 更新门墩儿 - 企业招聘者浏览
+     *
+     * @param updateReqVO 更新信息
+     */
+    void updateEnterpriseUserLook(@Valid EnterpriseUserLookSaveReqVO updateReqVO);
+
+    /**
+     * 删除门墩儿 - 企业招聘者浏览
+     *
+     * @param id 编号
+     */
+    void deleteEnterpriseUserLook(Long id);
+
+    /**
+     * 获得门墩儿 - 企业招聘者浏览
+     *
+     * @param id 编号
+     * @return 门墩儿 - 企业招聘者浏览
+     */
+    EnterpriseUserLookDO getEnterpriseUserLook(Long id);
+
+    /**
+     * 获得门墩儿 - 企业招聘者浏览分页
+     *
+     * @param pageReqVO 分页查询
+     * @return 门墩儿 - 企业招聘者浏览分页
+     */
+    PageResult<EnterpriseUserLookDO> getEnterpriseUserLookPage(EnterpriseUserLookPageReqVO pageReqVO);
+
+}

+ 71 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/EnterpriseUserLookServiceImpl.java

@@ -0,0 +1,71 @@
+package com.citu.module.menduner.system.service.enterprise;
+
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.framework.common.util.object.BeanUtils;
+import com.citu.module.menduner.system.controller.admin.enterprise.look.EnterpriseUserLookPageReqVO;
+import com.citu.module.menduner.system.controller.admin.enterprise.look.EnterpriseUserLookSaveReqVO;
+import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseUserLookDO;
+import com.citu.module.menduner.system.dal.mysql.enterprise.EnterpriseUserLookMapper;
+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.module.menduner.system.enums.ErrorCodeConstants.ENTERPRISE_USER_LOOK_NOT_EXISTS;
+
+/**
+ * 门墩儿 - 企业招聘者浏览 Service 实现类
+ *
+ * @author Rayson
+ */
+@Service
+@Validated
+public class EnterpriseUserLookServiceImpl implements EnterpriseUserLookService {
+
+    @Resource
+    private EnterpriseUserLookMapper enterpriseUserLookMapper;
+
+    @Override
+    public Long createEnterpriseUserLook(EnterpriseUserLookSaveReqVO createReqVO) {
+        // 插入
+        EnterpriseUserLookDO enterpriseUserLook = BeanUtils.toBean(createReqVO, EnterpriseUserLookDO.class);
+        enterpriseUserLookMapper.insert(enterpriseUserLook);
+        // 返回
+        return enterpriseUserLook.getId();
+    }
+
+    @Override
+    public void updateEnterpriseUserLook(EnterpriseUserLookSaveReqVO updateReqVO) {
+        // 校验存在
+        validateEnterpriseUserLookExists(updateReqVO.getId());
+        // 更新
+        EnterpriseUserLookDO updateObj = BeanUtils.toBean(updateReqVO, EnterpriseUserLookDO.class);
+        enterpriseUserLookMapper.updateById(updateObj);
+    }
+
+    @Override
+    public void deleteEnterpriseUserLook(Long id) {
+        // 校验存在
+        validateEnterpriseUserLookExists(id);
+        // 删除
+        enterpriseUserLookMapper.deleteById(id);
+    }
+
+    private void validateEnterpriseUserLookExists(Long id) {
+        if (enterpriseUserLookMapper.selectById(id) == null) {
+            throw exception(ENTERPRISE_USER_LOOK_NOT_EXISTS);
+        }
+    }
+
+    @Override
+    public EnterpriseUserLookDO getEnterpriseUserLook(Long id) {
+        return enterpriseUserLookMapper.selectById(id);
+    }
+
+    @Override
+    public PageResult<EnterpriseUserLookDO> getEnterpriseUserLookPage(EnterpriseUserLookPageReqVO pageReqVO) {
+        return enterpriseUserLookMapper.selectPage(pageReqVO);
+    }
+
+}

+ 55 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/attention/PersonEnterpriseAttentionService.java

@@ -0,0 +1,55 @@
+package com.citu.module.menduner.system.service.person.attention;
+
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.module.menduner.system.controller.admin.person.vo.attention.PersonEnterpriseAttentionPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.attention.PersonEnterpriseAttentionSaveReqVO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonEnterpriseAttentionDO;
+
+import javax.validation.Valid;
+
+/**
+ * 门墩儿-人才-企业关注 Service 接口
+ *
+ * @author Rayson
+ */
+public interface PersonEnterpriseAttentionService {
+
+    /**
+     * 创建门墩儿-人才-企业关注
+     *
+     * @param createReqVO 创建信息
+     * @return 编号
+     */
+    Long createPersonEnterpriseAttention(@Valid PersonEnterpriseAttentionSaveReqVO createReqVO);
+
+    /**
+     * 更新门墩儿-人才-企业关注
+     *
+     * @param updateReqVO 更新信息
+     */
+    void updatePersonEnterpriseAttention(@Valid PersonEnterpriseAttentionSaveReqVO updateReqVO);
+
+    /**
+     * 删除门墩儿-人才-企业关注
+     *
+     * @param id 编号
+     */
+    void deletePersonEnterpriseAttention(Long id);
+
+    /**
+     * 获得门墩儿-人才-企业关注
+     *
+     * @param id 编号
+     * @return 门墩儿-人才-企业关注
+     */
+    PersonEnterpriseAttentionDO getPersonEnterpriseAttention(Long id);
+
+    /**
+     * 获得门墩儿-人才-企业关注分页
+     *
+     * @param pageReqVO 分页查询
+     * @return 门墩儿-人才-企业关注分页
+     */
+    PageResult<PersonEnterpriseAttentionDO> getPersonEnterpriseAttentionPage(PersonEnterpriseAttentionPageReqVO pageReqVO);
+
+}

+ 71 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/attention/PersonEnterpriseAttentionServiceImpl.java

@@ -0,0 +1,71 @@
+package com.citu.module.menduner.system.service.person.attention;
+
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.framework.common.util.object.BeanUtils;
+import com.citu.module.menduner.system.controller.admin.person.vo.attention.PersonEnterpriseAttentionPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.attention.PersonEnterpriseAttentionSaveReqVO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonEnterpriseAttentionDO;
+import com.citu.module.menduner.system.dal.mysql.person.PersonEnterpriseAttentionMapper;
+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.module.menduner.system.enums.ErrorCodeConstants.PERSON_ENTERPRISE_ATTENTION_NOT_EXISTS;
+
+/**
+ * 门墩儿-人才-企业关注 Service 实现类
+ *
+ * @author Rayson
+ */
+@Service
+@Validated
+public class PersonEnterpriseAttentionServiceImpl implements PersonEnterpriseAttentionService {
+
+    @Resource
+    private PersonEnterpriseAttentionMapper personEnterpriseAttentionMapper;
+
+    @Override
+    public Long createPersonEnterpriseAttention(PersonEnterpriseAttentionSaveReqVO createReqVO) {
+        // 插入
+        PersonEnterpriseAttentionDO personEnterpriseAttention = BeanUtils.toBean(createReqVO, PersonEnterpriseAttentionDO.class);
+        personEnterpriseAttentionMapper.insert(personEnterpriseAttention);
+        // 返回
+        return personEnterpriseAttention.getId();
+    }
+
+    @Override
+    public void updatePersonEnterpriseAttention(PersonEnterpriseAttentionSaveReqVO updateReqVO) {
+        // 校验存在
+        validatePersonEnterpriseAttentionExists(updateReqVO.getId());
+        // 更新
+        PersonEnterpriseAttentionDO updateObj = BeanUtils.toBean(updateReqVO, PersonEnterpriseAttentionDO.class);
+        personEnterpriseAttentionMapper.updateById(updateObj);
+    }
+
+    @Override
+    public void deletePersonEnterpriseAttention(Long id) {
+        // 校验存在
+        validatePersonEnterpriseAttentionExists(id);
+        // 删除
+        personEnterpriseAttentionMapper.deleteById(id);
+    }
+
+    private void validatePersonEnterpriseAttentionExists(Long id) {
+        if (personEnterpriseAttentionMapper.selectById(id) == null) {
+            throw exception(PERSON_ENTERPRISE_ATTENTION_NOT_EXISTS);
+        }
+    }
+
+    @Override
+    public PersonEnterpriseAttentionDO getPersonEnterpriseAttention(Long id) {
+        return personEnterpriseAttentionMapper.selectById(id);
+    }
+
+    @Override
+    public PageResult<PersonEnterpriseAttentionDO> getPersonEnterpriseAttentionPage(PersonEnterpriseAttentionPageReqVO pageReqVO) {
+        return personEnterpriseAttentionMapper.selectPage(pageReqVO);
+    }
+
+}

+ 3 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/PersonCertificateService.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/certificate/PersonCertificateService.java

@@ -1,9 +1,9 @@
-package com.citu.module.menduner.system.service.person;
+package com.citu.module.menduner.system.service.person.certificate;
 
 import javax.validation.*;
 
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonCertificatePageReqVO;
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonCertificateSaveReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.certificate.PersonCertificatePageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.certificate.PersonCertificateSaveReqVO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonCertificateDO;
 import com.citu.framework.common.pojo.PageResult;
 

+ 3 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/PersonCertificateServiceImpl.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/certificate/PersonCertificateServiceImpl.java

@@ -1,7 +1,7 @@
-package com.citu.module.menduner.system.service.person;
+package com.citu.module.menduner.system.service.person.certificate;
 
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonCertificatePageReqVO;
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonCertificateSaveReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.certificate.PersonCertificatePageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.certificate.PersonCertificateSaveReqVO;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import org.springframework.validation.annotation.Validated;

+ 55 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/collection/PersonJobCollectionService.java

@@ -0,0 +1,55 @@
+package com.citu.module.menduner.system.service.person.collection;
+
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.module.menduner.system.controller.admin.person.vo.collection.PersonJobCollectionPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.collection.PersonJobCollectionSaveReqVO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonJobCollectionDO;
+
+import javax.validation.Valid;
+
+/**
+ * 门墩儿-人才-招聘职位收藏 Service 接口
+ *
+ * @author Rayson
+ */
+public interface PersonJobCollectionService {
+
+    /**
+     * 创建门墩儿-人才-招聘职位收藏
+     *
+     * @param createReqVO 创建信息
+     * @return 编号
+     */
+    Long createPersonJobCollection(@Valid PersonJobCollectionSaveReqVO createReqVO);
+
+    /**
+     * 更新门墩儿-人才-招聘职位收藏
+     *
+     * @param updateReqVO 更新信息
+     */
+    void updatePersonJobCollection(@Valid PersonJobCollectionSaveReqVO updateReqVO);
+
+    /**
+     * 删除门墩儿-人才-招聘职位收藏
+     *
+     * @param id 编号
+     */
+    void deletePersonJobCollection(Long id);
+
+    /**
+     * 获得门墩儿-人才-招聘职位收藏
+     *
+     * @param id 编号
+     * @return 门墩儿-人才-招聘职位收藏
+     */
+    PersonJobCollectionDO getPersonJobCollection(Long id);
+
+    /**
+     * 获得门墩儿-人才-招聘职位收藏分页
+     *
+     * @param pageReqVO 分页查询
+     * @return 门墩儿-人才-招聘职位收藏分页
+     */
+    PageResult<PersonJobCollectionDO> getPersonJobCollectionPage(PersonJobCollectionPageReqVO pageReqVO);
+
+}

+ 71 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/collection/PersonJobCollectionServiceImpl.java

@@ -0,0 +1,71 @@
+package com.citu.module.menduner.system.service.person.collection;
+
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.framework.common.util.object.BeanUtils;
+import com.citu.module.menduner.system.controller.admin.person.vo.collection.PersonJobCollectionPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.collection.PersonJobCollectionSaveReqVO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonJobCollectionDO;
+import com.citu.module.menduner.system.dal.mysql.person.PersonJobCollectionMapper;
+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.module.menduner.system.enums.ErrorCodeConstants.PERSON_JOB_COLLECTION_NOT_EXISTS;
+
+/**
+ * 门墩儿-人才-招聘职位收藏 Service 实现类
+ *
+ * @author Rayson
+ */
+@Service
+@Validated
+public class PersonJobCollectionServiceImpl implements PersonJobCollectionService {
+
+    @Resource
+    private PersonJobCollectionMapper personJobCollectionMapper;
+
+    @Override
+    public Long createPersonJobCollection(PersonJobCollectionSaveReqVO createReqVO) {
+        // 插入
+        PersonJobCollectionDO personJobCollection = BeanUtils.toBean(createReqVO, PersonJobCollectionDO.class);
+        personJobCollectionMapper.insert(personJobCollection);
+        // 返回
+        return personJobCollection.getId();
+    }
+
+    @Override
+    public void updatePersonJobCollection(PersonJobCollectionSaveReqVO updateReqVO) {
+        // 校验存在
+        validatePersonJobCollectionExists(updateReqVO.getId());
+        // 更新
+        PersonJobCollectionDO updateObj = BeanUtils.toBean(updateReqVO, PersonJobCollectionDO.class);
+        personJobCollectionMapper.updateById(updateObj);
+    }
+
+    @Override
+    public void deletePersonJobCollection(Long id) {
+        // 校验存在
+        validatePersonJobCollectionExists(id);
+        // 删除
+        personJobCollectionMapper.deleteById(id);
+    }
+
+    private void validatePersonJobCollectionExists(Long id) {
+        if (personJobCollectionMapper.selectById(id) == null) {
+            throw exception(PERSON_JOB_COLLECTION_NOT_EXISTS);
+        }
+    }
+
+    @Override
+    public PersonJobCollectionDO getPersonJobCollection(Long id) {
+        return personJobCollectionMapper.selectById(id);
+    }
+
+    @Override
+    public PageResult<PersonJobCollectionDO> getPersonJobCollectionPage(PersonJobCollectionPageReqVO pageReqVO) {
+        return personJobCollectionMapper.selectPage(pageReqVO);
+    }
+
+}

+ 3 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/PersonInfoService.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/info/PersonInfoService.java

@@ -1,9 +1,9 @@
-package com.citu.module.menduner.system.service.person;
+package com.citu.module.menduner.system.service.person.info;
 
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonInfoPageReqVO;
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonInfoSaveReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.info.PersonInfoPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.info.PersonInfoSaveReqVO;
 
 import javax.validation.Valid;
 

+ 3 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/PersonInfoServiceImpl.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/info/PersonInfoServiceImpl.java

@@ -1,11 +1,11 @@
-package com.citu.module.menduner.system.service.person;
+package com.citu.module.menduner.system.service.person.info;
 
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
 import com.citu.module.menduner.system.dal.mysql.person.PersonInfoMapper;
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonInfoPageReqVO;
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonInfoSaveReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.info.PersonInfoPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.info.PersonInfoSaveReqVO;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 

+ 55 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/record/PersonBrowseRecordService.java

@@ -0,0 +1,55 @@
+package com.citu.module.menduner.system.service.person.record;
+
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.module.menduner.system.controller.admin.person.vo.record.PersonBrowseRecordPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.record.PersonBrowseRecordSaveReqVO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonBrowseRecordDO;
+
+import javax.validation.Valid;
+
+/**
+ * 门墩儿-人才-浏览记录 Service 接口
+ *
+ * @author Rayson
+ */
+public interface PersonBrowseRecordService {
+
+    /**
+     * 创建门墩儿-人才-浏览记录
+     *
+     * @param createReqVO 创建信息
+     * @return 编号
+     */
+    Long createPersonBrowseRecord(@Valid PersonBrowseRecordSaveReqVO createReqVO);
+
+    /**
+     * 更新门墩儿-人才-浏览记录
+     *
+     * @param updateReqVO 更新信息
+     */
+    void updatePersonBrowseRecord(@Valid PersonBrowseRecordSaveReqVO updateReqVO);
+
+    /**
+     * 删除门墩儿-人才-浏览记录
+     *
+     * @param id 编号
+     */
+    void deletePersonBrowseRecord(Long id);
+
+    /**
+     * 获得门墩儿-人才-浏览记录
+     *
+     * @param id 编号
+     * @return 门墩儿-人才-浏览记录
+     */
+    PersonBrowseRecordDO getPersonBrowseRecord(Long id);
+
+    /**
+     * 获得门墩儿-人才-浏览记录分页
+     *
+     * @param pageReqVO 分页查询
+     * @return 门墩儿-人才-浏览记录分页
+     */
+    PageResult<PersonBrowseRecordDO> getPersonBrowseRecordPage(PersonBrowseRecordPageReqVO pageReqVO);
+
+}

+ 71 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/record/PersonBrowseRecordServiceImpl.java

@@ -0,0 +1,71 @@
+package com.citu.module.menduner.system.service.person.record;
+
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.framework.common.util.object.BeanUtils;
+import com.citu.module.menduner.system.controller.admin.person.vo.record.PersonBrowseRecordPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.record.PersonBrowseRecordSaveReqVO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonBrowseRecordDO;
+import com.citu.module.menduner.system.dal.mysql.person.PersonBrowseRecordMapper;
+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.module.menduner.system.enums.ErrorCodeConstants.PERSON_BROWSE_RECORD_NOT_EXISTS;
+
+/**
+ * 门墩儿-人才-浏览记录 Service 实现类
+ *
+ * @author Rayson
+ */
+@Service
+@Validated
+public class PersonBrowseRecordServiceImpl implements PersonBrowseRecordService {
+
+    @Resource
+    private PersonBrowseRecordMapper personBrowseRecordMapper;
+
+    @Override
+    public Long createPersonBrowseRecord(PersonBrowseRecordSaveReqVO createReqVO) {
+        // 插入
+        PersonBrowseRecordDO personBrowseRecord = BeanUtils.toBean(createReqVO, PersonBrowseRecordDO.class);
+        personBrowseRecordMapper.insert(personBrowseRecord);
+        // 返回
+        return personBrowseRecord.getId();
+    }
+
+    @Override
+    public void updatePersonBrowseRecord(PersonBrowseRecordSaveReqVO updateReqVO) {
+        // 校验存在
+        validatePersonBrowseRecordExists(updateReqVO.getId());
+        // 更新
+        PersonBrowseRecordDO updateObj = BeanUtils.toBean(updateReqVO, PersonBrowseRecordDO.class);
+        personBrowseRecordMapper.updateById(updateObj);
+    }
+
+    @Override
+    public void deletePersonBrowseRecord(Long id) {
+        // 校验存在
+        validatePersonBrowseRecordExists(id);
+        // 删除
+        personBrowseRecordMapper.deleteById(id);
+    }
+
+    private void validatePersonBrowseRecordExists(Long id) {
+        if (personBrowseRecordMapper.selectById(id) == null) {
+            throw exception(PERSON_BROWSE_RECORD_NOT_EXISTS);
+        }
+    }
+
+    @Override
+    public PersonBrowseRecordDO getPersonBrowseRecord(Long id) {
+        return personBrowseRecordMapper.selectById(id);
+    }
+
+    @Override
+    public PageResult<PersonBrowseRecordDO> getPersonBrowseRecordPage(PersonBrowseRecordPageReqVO pageReqVO) {
+        return personBrowseRecordMapper.selectPage(pageReqVO);
+    }
+
+}

+ 3 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/PersonSkillService.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/skill/PersonSkillService.java

@@ -1,8 +1,8 @@
-package com.citu.module.menduner.system.service.person;
+package com.citu.module.menduner.system.service.person.skill;
 
 import com.citu.framework.common.pojo.PageResult;
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonSkillPageReqVO;
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonSkillSaveReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.skill.PersonSkillPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.skill.PersonSkillSaveReqVO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonSkillDO;
 
 import javax.validation.Valid;

+ 3 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/PersonSkillServiceImpl.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/skill/PersonSkillServiceImpl.java

@@ -1,7 +1,7 @@
-package com.citu.module.menduner.system.service.person;
+package com.citu.module.menduner.system.service.person.skill;
 
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonSkillPageReqVO;
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonSkillSaveReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.skill.PersonSkillPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.skill.PersonSkillSaveReqVO;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import org.springframework.validation.annotation.Validated;

+ 1 - 1
menduner/menduner-system-biz/src/test/java/com/citu/module/menduner/system/service/enterprise/EnterpriseServiceImplTest.java

@@ -118,7 +118,7 @@ public class EnterpriseServiceImplTest extends BaseDbUnitTest {
         enterpriseMapper.insert(cloneIgnoreId(dbEnterprise, o -> o.setName(null)));
         // 测试 anotherName 不匹配
         enterpriseMapper.insert(cloneIgnoreId(dbEnterprise, o -> o.setAnotherName(null)));
-        // 测试 contacts 不匹配
+        // 测试 contact 不匹配
         enterpriseMapper.insert(cloneIgnoreId(dbEnterprise, o -> o.setContacts(null)));
         // 测试 phone 不匹配
         enterpriseMapper.insert(cloneIgnoreId(dbEnterprise, o -> o.setPhone(null)));

+ 143 - 0
menduner/menduner-system-biz/src/test/java/com/citu/module/menduner/system/service/enterprise/EnterpriseUserLookServiceImplTest.java

@@ -0,0 +1,143 @@
+package com.citu.module.menduner.system.service.enterprise;
+
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.framework.test.core.ut.BaseDbUnitTest;
+import com.citu.module.menduner.system.controller.admin.enterprise.look.EnterpriseUserLookPageReqVO;
+import com.citu.module.menduner.system.controller.admin.enterprise.look.EnterpriseUserLookSaveReqVO;
+import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseUserLookDO;
+import com.citu.module.menduner.system.dal.mysql.enterprise.EnterpriseUserLookMapper;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+import org.springframework.context.annotation.Import;
+
+import javax.annotation.Resource;
+
+import static com.citu.framework.common.util.date.LocalDateTimeUtils.buildBetweenTime;
+import static com.citu.framework.common.util.object.ObjectUtils.cloneIgnoreId;
+import static com.citu.framework.test.core.util.AssertUtils.assertPojoEquals;
+import static com.citu.framework.test.core.util.AssertUtils.assertServiceException;
+import static com.citu.framework.test.core.util.RandomUtils.randomLongId;
+import static com.citu.framework.test.core.util.RandomUtils.randomPojo;
+import static com.citu.module.menduner.system.enums.ErrorCodeConstants.ENTERPRISE_USER_LOOK_NOT_EXISTS;
+import static org.junit.jupiter.api.Assertions.*;
+
+/**
+ * {@link EnterpriseUserLookServiceImpl} 的单元测试类
+ *
+ * @author Rayson
+ */
+@Import(EnterpriseUserLookServiceImpl.class)
+public class EnterpriseUserLookServiceImplTest extends BaseDbUnitTest {
+
+    @Resource
+    private EnterpriseUserLookServiceImpl enterpriseUserLookService;
+
+    @Resource
+    private EnterpriseUserLookMapper enterpriseUserLookMapper;
+
+    @Test
+    public void testCreateEnterpriseUserLook_success() {
+        // 准备参数
+        EnterpriseUserLookSaveReqVO createReqVO = randomPojo(EnterpriseUserLookSaveReqVO.class).setId(null);
+
+        // 调用
+        Long enterpriseUserLookId = enterpriseUserLookService.createEnterpriseUserLook(createReqVO);
+        // 断言
+        assertNotNull(enterpriseUserLookId);
+        // 校验记录的属性是否正确
+        EnterpriseUserLookDO enterpriseUserLook = enterpriseUserLookMapper.selectById(enterpriseUserLookId);
+        assertPojoEquals(createReqVO, enterpriseUserLook, "id");
+    }
+
+    @Test
+    public void testUpdateEnterpriseUserLook_success() {
+        // mock 数据
+        EnterpriseUserLookDO dbEnterpriseUserLook = randomPojo(EnterpriseUserLookDO.class);
+        enterpriseUserLookMapper.insert(dbEnterpriseUserLook);// @Sql: 先插入出一条存在的数据
+        // 准备参数
+        EnterpriseUserLookSaveReqVO updateReqVO = randomPojo(EnterpriseUserLookSaveReqVO.class, o -> {
+            o.setId(dbEnterpriseUserLook.getId()); // 设置更新的 ID
+        });
+
+        // 调用
+        enterpriseUserLookService.updateEnterpriseUserLook(updateReqVO);
+        // 校验是否更新正确
+        EnterpriseUserLookDO enterpriseUserLook = enterpriseUserLookMapper.selectById(updateReqVO.getId()); // 获取最新的
+        assertPojoEquals(updateReqVO, enterpriseUserLook);
+    }
+
+    @Test
+    public void testUpdateEnterpriseUserLook_notExists() {
+        // 准备参数
+        EnterpriseUserLookSaveReqVO updateReqVO = randomPojo(EnterpriseUserLookSaveReqVO.class);
+
+        // 调用, 并断言异常
+        assertServiceException(() -> enterpriseUserLookService.updateEnterpriseUserLook(updateReqVO), ENTERPRISE_USER_LOOK_NOT_EXISTS);
+    }
+
+    @Test
+    public void testDeleteEnterpriseUserLook_success() {
+        // mock 数据
+        EnterpriseUserLookDO dbEnterpriseUserLook = randomPojo(EnterpriseUserLookDO.class);
+        enterpriseUserLookMapper.insert(dbEnterpriseUserLook);// @Sql: 先插入出一条存在的数据
+        // 准备参数
+        Long id = dbEnterpriseUserLook.getId();
+
+        // 调用
+        enterpriseUserLookService.deleteEnterpriseUserLook(id);
+        // 校验数据不存在了
+        assertNull(enterpriseUserLookMapper.selectById(id));
+    }
+
+    @Test
+    public void testDeleteEnterpriseUserLook_notExists() {
+        // 准备参数
+        Long id = randomLongId();
+
+        // 调用, 并断言异常
+        assertServiceException(() -> enterpriseUserLookService.deleteEnterpriseUserLook(id), ENTERPRISE_USER_LOOK_NOT_EXISTS);
+    }
+
+    @Test
+    @Disabled  // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
+    public void testGetEnterpriseUserLookPage() {
+        // mock 数据
+        EnterpriseUserLookDO dbEnterpriseUserLook = randomPojo(EnterpriseUserLookDO.class, o -> { // 等会查询到
+            o.setEnterpriseId(null);
+            o.setUserId(null);
+            o.setUserName(null);
+            o.setUserPostName(null);
+            o.setLookUserId(null);
+            o.setCreateTime(null);
+        });
+        enterpriseUserLookMapper.insert(dbEnterpriseUserLook);
+        // 测试 enterpriseId 不匹配
+        enterpriseUserLookMapper.insert(cloneIgnoreId(dbEnterpriseUserLook, o -> o.setEnterpriseId(null)));
+        // 测试 userId 不匹配
+        enterpriseUserLookMapper.insert(cloneIgnoreId(dbEnterpriseUserLook, o -> o.setUserId(null)));
+        // 测试 userName 不匹配
+        enterpriseUserLookMapper.insert(cloneIgnoreId(dbEnterpriseUserLook, o -> o.setUserName(null)));
+        // 测试 userPostName 不匹配
+        enterpriseUserLookMapper.insert(cloneIgnoreId(dbEnterpriseUserLook, o -> o.setUserPostName(null)));
+        // 测试 lookUserId 不匹配
+        enterpriseUserLookMapper.insert(cloneIgnoreId(dbEnterpriseUserLook, o -> o.setLookUserId(null)));
+        // 测试 createTime 不匹配
+        enterpriseUserLookMapper.insert(cloneIgnoreId(dbEnterpriseUserLook, o -> o.setCreateTime(null)));
+        // 准备参数
+        EnterpriseUserLookPageReqVO reqVO = new EnterpriseUserLookPageReqVO();
+        reqVO.setEnterpriseId(null);
+        reqVO.setUserId(null);
+        reqVO.setUserName(null);
+        reqVO.setUserPostName(null);
+        reqVO.setLookUserId(null);
+        reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
+
+        // 调用
+        PageResult<EnterpriseUserLookDO> pageResult = enterpriseUserLookService.getEnterpriseUserLookPage(reqVO);
+        // 断言
+        assertEquals(1, pageResult.getTotal());
+        assertEquals(1, pageResult.getList().size());
+        assertPojoEquals(dbEnterpriseUserLook, pageResult.getList().get(0));
+    }
+
+}

+ 208 - 0
menduner/menduner-system-biz/src/test/java/com/citu/module/menduner/system/service/person/PersonBrowseRecordServiceImplTest.java

@@ -0,0 +1,208 @@
+package com.citu.module.menduner.system.service.person;
+
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.framework.test.core.ut.BaseDbUnitTest;
+import com.citu.module.menduner.system.controller.admin.person.vo.record.PersonBrowseRecordPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.record.PersonBrowseRecordSaveReqVO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonBrowseRecordDO;
+import com.citu.module.menduner.system.dal.mysql.person.PersonBrowseRecordMapper;
+import com.citu.module.menduner.system.service.person.record.PersonBrowseRecordServiceImpl;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+import org.springframework.context.annotation.Import;
+
+import javax.annotation.Resource;
+
+import static com.citu.framework.common.util.date.LocalDateTimeUtils.buildBetweenTime;
+import static com.citu.framework.common.util.object.ObjectUtils.cloneIgnoreId;
+import static com.citu.framework.test.core.util.AssertUtils.assertPojoEquals;
+import static com.citu.framework.test.core.util.AssertUtils.assertServiceException;
+import static com.citu.framework.test.core.util.RandomUtils.randomLongId;
+import static com.citu.framework.test.core.util.RandomUtils.randomPojo;
+import static com.citu.module.menduner.system.enums.ErrorCodeConstants.PERSON_BROWSE_RECORD_NOT_EXISTS;
+import static org.junit.jupiter.api.Assertions.*;
+
+/**
+ * {@link PersonBrowseRecordServiceImpl} 的单元测试类
+ *
+ * @author Rayson
+ */
+@Import(PersonBrowseRecordServiceImpl.class)
+public class PersonBrowseRecordServiceImplTest extends BaseDbUnitTest {
+
+    @Resource
+    private PersonBrowseRecordServiceImpl personBrowseRecordService;
+
+    @Resource
+    private PersonBrowseRecordMapper personBrowseRecordMapper;
+
+    @Test
+    public void testCreatePersonBrowseRecord_success() {
+        // 准备参数
+        PersonBrowseRecordSaveReqVO createReqVO = randomPojo(PersonBrowseRecordSaveReqVO.class).setId(null);
+
+        // 调用
+        Long personBrowseRecordId = personBrowseRecordService.createPersonBrowseRecord(createReqVO);
+        // 断言
+        assertNotNull(personBrowseRecordId);
+        // 校验记录的属性是否正确
+        PersonBrowseRecordDO personBrowseRecord = personBrowseRecordMapper.selectById(personBrowseRecordId);
+        assertPojoEquals(createReqVO, personBrowseRecord, "id");
+    }
+
+    @Test
+    public void testUpdatePersonBrowseRecord_success() {
+        // mock 数据
+        PersonBrowseRecordDO dbPersonBrowseRecord = randomPojo(PersonBrowseRecordDO.class);
+        personBrowseRecordMapper.insert(dbPersonBrowseRecord);// @Sql: 先插入出一条存在的数据
+        // 准备参数
+        PersonBrowseRecordSaveReqVO updateReqVO = randomPojo(PersonBrowseRecordSaveReqVO.class, o -> {
+            o.setId(dbPersonBrowseRecord.getId()); // 设置更新的 ID
+        });
+
+        // 调用
+        personBrowseRecordService.updatePersonBrowseRecord(updateReqVO);
+        // 校验是否更新正确
+        PersonBrowseRecordDO personBrowseRecord = personBrowseRecordMapper.selectById(updateReqVO.getId()); // 获取最新的
+        assertPojoEquals(updateReqVO, personBrowseRecord);
+    }
+
+    @Test
+    public void testUpdatePersonBrowseRecord_notExists() {
+        // 准备参数
+        PersonBrowseRecordSaveReqVO updateReqVO = randomPojo(PersonBrowseRecordSaveReqVO.class);
+
+        // 调用, 并断言异常
+        assertServiceException(() -> personBrowseRecordService.updatePersonBrowseRecord(updateReqVO), PERSON_BROWSE_RECORD_NOT_EXISTS);
+    }
+
+    @Test
+    public void testDeletePersonBrowseRecord_success() {
+        // mock 数据
+        PersonBrowseRecordDO dbPersonBrowseRecord = randomPojo(PersonBrowseRecordDO.class);
+        personBrowseRecordMapper.insert(dbPersonBrowseRecord);// @Sql: 先插入出一条存在的数据
+        // 准备参数
+        Long id = dbPersonBrowseRecord.getId();
+
+        // 调用
+        personBrowseRecordService.deletePersonBrowseRecord(id);
+        // 校验数据不存在了
+        assertNull(personBrowseRecordMapper.selectById(id));
+    }
+
+    @Test
+    public void testDeletePersonBrowseRecord_notExists() {
+        // 准备参数
+        Long id = randomLongId();
+
+        // 调用, 并断言异常
+        assertServiceException(() -> personBrowseRecordService.deletePersonBrowseRecord(id), PERSON_BROWSE_RECORD_NOT_EXISTS);
+    }
+
+    @Test
+    @Disabled  // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
+    public void testGetPersonBrowseRecordPage() {
+        // mock 数据
+        PersonBrowseRecordDO dbPersonBrowseRecord = randomPojo(PersonBrowseRecordDO.class, o -> { // 等会查询到
+            o.setUserId(null);
+            o.setJobId(null);
+            o.setAreaId(null);
+            o.setPositionId(null);
+            o.setEnterpriseId(null);
+            o.setAreaName(null);
+            o.setJobName(null);
+            o.setType(null);
+            o.setExpType(null);
+            o.setEduType(null);
+            o.setPayFrom(null);
+            o.setPayTo(null);
+            o.setPayUnit(null);
+            o.setCurrencyType(null);
+            o.setContactUserId(null);
+            o.setContactUserName(null);
+            o.setContactUserPostName(null);
+            o.setEnterpriseName(null);
+            o.setIndustryId(null);
+            o.setFinancingStatus(null);
+            o.setScale(null);
+            o.setCreateTime(null);
+        });
+        personBrowseRecordMapper.insert(dbPersonBrowseRecord);
+        // 测试 userId 不匹配
+        personBrowseRecordMapper.insert(cloneIgnoreId(dbPersonBrowseRecord, o -> o.setUserId(null)));
+        // 测试 jobId 不匹配
+        personBrowseRecordMapper.insert(cloneIgnoreId(dbPersonBrowseRecord, o -> o.setJobId(null)));
+        // 测试 areaId 不匹配
+        personBrowseRecordMapper.insert(cloneIgnoreId(dbPersonBrowseRecord, o -> o.setAreaId(null)));
+        // 测试 positionId 不匹配
+        personBrowseRecordMapper.insert(cloneIgnoreId(dbPersonBrowseRecord, o -> o.setPositionId(null)));
+        // 测试 enterpriseId 不匹配
+        personBrowseRecordMapper.insert(cloneIgnoreId(dbPersonBrowseRecord, o -> o.setEnterpriseId(null)));
+        // 测试 areaName 不匹配
+        personBrowseRecordMapper.insert(cloneIgnoreId(dbPersonBrowseRecord, o -> o.setAreaName(null)));
+        // 测试 jobName 不匹配
+        personBrowseRecordMapper.insert(cloneIgnoreId(dbPersonBrowseRecord, o -> o.setJobName(null)));
+        // 测试 type 不匹配
+        personBrowseRecordMapper.insert(cloneIgnoreId(dbPersonBrowseRecord, o -> o.setType(null)));
+        // 测试 expType 不匹配
+        personBrowseRecordMapper.insert(cloneIgnoreId(dbPersonBrowseRecord, o -> o.setExpType(null)));
+        // 测试 eduType 不匹配
+        personBrowseRecordMapper.insert(cloneIgnoreId(dbPersonBrowseRecord, o -> o.setEduType(null)));
+        // 测试 payFrom 不匹配
+        personBrowseRecordMapper.insert(cloneIgnoreId(dbPersonBrowseRecord, o -> o.setPayFrom(null)));
+        // 测试 payTo 不匹配
+        personBrowseRecordMapper.insert(cloneIgnoreId(dbPersonBrowseRecord, o -> o.setPayTo(null)));
+        // 测试 payUnit 不匹配
+        personBrowseRecordMapper.insert(cloneIgnoreId(dbPersonBrowseRecord, o -> o.setPayUnit(null)));
+        // 测试 currencyType 不匹配
+        personBrowseRecordMapper.insert(cloneIgnoreId(dbPersonBrowseRecord, o -> o.setCurrencyType(null)));
+        // 测试 contactUserId 不匹配
+        personBrowseRecordMapper.insert(cloneIgnoreId(dbPersonBrowseRecord, o -> o.setContactUserId(null)));
+        // 测试 contactUserName 不匹配
+        personBrowseRecordMapper.insert(cloneIgnoreId(dbPersonBrowseRecord, o -> o.setContactUserName(null)));
+        // 测试 contactUserPostName 不匹配
+        personBrowseRecordMapper.insert(cloneIgnoreId(dbPersonBrowseRecord, o -> o.setContactUserPostName(null)));
+        // 测试 enterpriseName 不匹配
+        personBrowseRecordMapper.insert(cloneIgnoreId(dbPersonBrowseRecord, o -> o.setEnterpriseName(null)));
+        // 测试 industryId 不匹配
+        personBrowseRecordMapper.insert(cloneIgnoreId(dbPersonBrowseRecord, o -> o.setIndustryId(null)));
+        // 测试 financingStatus 不匹配
+        personBrowseRecordMapper.insert(cloneIgnoreId(dbPersonBrowseRecord, o -> o.setFinancingStatus(null)));
+        // 测试 scale 不匹配
+        personBrowseRecordMapper.insert(cloneIgnoreId(dbPersonBrowseRecord, o -> o.setScale(null)));
+        // 测试 createTime 不匹配
+        personBrowseRecordMapper.insert(cloneIgnoreId(dbPersonBrowseRecord, o -> o.setCreateTime(null)));
+        // 准备参数
+        PersonBrowseRecordPageReqVO reqVO = new PersonBrowseRecordPageReqVO();
+        reqVO.setUserId(null);
+        reqVO.setJobId(null);
+        reqVO.setAreaId(null);
+        reqVO.setPositionId(null);
+        reqVO.setEnterpriseId(null);
+        reqVO.setAreaName(null);
+        reqVO.setJobName(null);
+        reqVO.setType(null);
+        reqVO.setExpType(null);
+        reqVO.setEduType(null);
+        reqVO.setPayFrom(null);
+        reqVO.setPayTo(null);
+        reqVO.setPayUnit(null);
+        reqVO.setCurrencyType(null);
+        reqVO.setContactUserId(null);
+        reqVO.setContactUserName(null);
+        reqVO.setContactUserPostName(null);
+        reqVO.setEnterpriseName(null);
+        reqVO.setIndustryId(null);
+        reqVO.setFinancingStatus(null);
+        reqVO.setScale(null);
+        reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
+
+        // 调用
+        PageResult<PersonBrowseRecordDO> pageResult = personBrowseRecordService.getPersonBrowseRecordPage(reqVO);
+        // 断言
+        assertEquals(1, pageResult.getTotal());
+        assertEquals(1, pageResult.getList().size());
+        assertPojoEquals(dbPersonBrowseRecord, pageResult.getList().get(0));
+    }
+
+}

+ 3 - 2
menduner/menduner-system-biz/src/test/java/com/citu/module/menduner/system/service/person/PersonCertificateServiceImplTest.java

@@ -1,7 +1,8 @@
 package com.citu.module.menduner.system.service.person;
 
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonCertificatePageReqVO;
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonCertificateSaveReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.certificate.PersonCertificatePageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.certificate.PersonCertificateSaveReqVO;
+import com.citu.module.menduner.system.service.person.certificate.PersonCertificateServiceImpl;
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 

+ 132 - 0
menduner/menduner-system-biz/src/test/java/com/citu/module/menduner/system/service/person/PersonEnterpriseAttentionServiceImplTest.java

@@ -0,0 +1,132 @@
+package com.citu.module.menduner.system.service.person;
+
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.framework.test.core.ut.BaseDbUnitTest;
+import com.citu.module.menduner.system.controller.admin.person.vo.attention.PersonEnterpriseAttentionPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.attention.PersonEnterpriseAttentionSaveReqVO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonEnterpriseAttentionDO;
+import com.citu.module.menduner.system.dal.mysql.person.PersonEnterpriseAttentionMapper;
+import com.citu.module.menduner.system.service.person.attention.PersonEnterpriseAttentionServiceImpl;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+import org.springframework.context.annotation.Import;
+
+import javax.annotation.Resource;
+
+import static com.citu.framework.common.util.date.LocalDateTimeUtils.buildBetweenTime;
+import static com.citu.framework.common.util.object.ObjectUtils.cloneIgnoreId;
+import static com.citu.framework.test.core.util.AssertUtils.assertPojoEquals;
+import static com.citu.framework.test.core.util.AssertUtils.assertServiceException;
+import static com.citu.framework.test.core.util.RandomUtils.randomLongId;
+import static com.citu.framework.test.core.util.RandomUtils.randomPojo;
+import static com.citu.module.menduner.system.enums.ErrorCodeConstants.PERSON_ENTERPRISE_ATTENTION_NOT_EXISTS;
+import static org.junit.jupiter.api.Assertions.*;
+
+/**
+ * {@link PersonEnterpriseAttentionServiceImpl} 的单元测试类
+ *
+ * @author Rayson
+ */
+@Import(PersonEnterpriseAttentionServiceImpl.class)
+public class PersonEnterpriseAttentionServiceImplTest extends BaseDbUnitTest {
+
+    @Resource
+    private PersonEnterpriseAttentionServiceImpl personEnterpriseAttentionService;
+
+    @Resource
+    private PersonEnterpriseAttentionMapper personEnterpriseAttentionMapper;
+
+    @Test
+    public void testCreatePersonEnterpriseAttention_success() {
+        // 准备参数
+        PersonEnterpriseAttentionSaveReqVO createReqVO = randomPojo(PersonEnterpriseAttentionSaveReqVO.class).setId(null);
+
+        // 调用
+        Long personEnterpriseAttentionId = personEnterpriseAttentionService.createPersonEnterpriseAttention(createReqVO);
+        // 断言
+        assertNotNull(personEnterpriseAttentionId);
+        // 校验记录的属性是否正确
+        PersonEnterpriseAttentionDO personEnterpriseAttention = personEnterpriseAttentionMapper.selectById(personEnterpriseAttentionId);
+        assertPojoEquals(createReqVO, personEnterpriseAttention, "id");
+    }
+
+    @Test
+    public void testUpdatePersonEnterpriseAttention_success() {
+        // mock 数据
+        PersonEnterpriseAttentionDO dbPersonEnterpriseAttention = randomPojo(PersonEnterpriseAttentionDO.class);
+        personEnterpriseAttentionMapper.insert(dbPersonEnterpriseAttention);// @Sql: 先插入出一条存在的数据
+        // 准备参数
+        PersonEnterpriseAttentionSaveReqVO updateReqVO = randomPojo(PersonEnterpriseAttentionSaveReqVO.class, o -> {
+            o.setId(dbPersonEnterpriseAttention.getId()); // 设置更新的 ID
+        });
+
+        // 调用
+        personEnterpriseAttentionService.updatePersonEnterpriseAttention(updateReqVO);
+        // 校验是否更新正确
+        PersonEnterpriseAttentionDO personEnterpriseAttention = personEnterpriseAttentionMapper.selectById(updateReqVO.getId()); // 获取最新的
+        assertPojoEquals(updateReqVO, personEnterpriseAttention);
+    }
+
+    @Test
+    public void testUpdatePersonEnterpriseAttention_notExists() {
+        // 准备参数
+        PersonEnterpriseAttentionSaveReqVO updateReqVO = randomPojo(PersonEnterpriseAttentionSaveReqVO.class);
+
+        // 调用, 并断言异常
+        assertServiceException(() -> personEnterpriseAttentionService.updatePersonEnterpriseAttention(updateReqVO), PERSON_ENTERPRISE_ATTENTION_NOT_EXISTS);
+    }
+
+    @Test
+    public void testDeletePersonEnterpriseAttention_success() {
+        // mock 数据
+        PersonEnterpriseAttentionDO dbPersonEnterpriseAttention = randomPojo(PersonEnterpriseAttentionDO.class);
+        personEnterpriseAttentionMapper.insert(dbPersonEnterpriseAttention);// @Sql: 先插入出一条存在的数据
+        // 准备参数
+        Long id = dbPersonEnterpriseAttention.getId();
+
+        // 调用
+        personEnterpriseAttentionService.deletePersonEnterpriseAttention(id);
+        // 校验数据不存在了
+        assertNull(personEnterpriseAttentionMapper.selectById(id));
+    }
+
+    @Test
+    public void testDeletePersonEnterpriseAttention_notExists() {
+        // 准备参数
+        Long id = randomLongId();
+
+        // 调用, 并断言异常
+        assertServiceException(() -> personEnterpriseAttentionService.deletePersonEnterpriseAttention(id), PERSON_ENTERPRISE_ATTENTION_NOT_EXISTS);
+    }
+
+    @Test
+    @Disabled  // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
+    public void testGetPersonEnterpriseAttentionPage() {
+        // mock 数据
+        PersonEnterpriseAttentionDO dbPersonEnterpriseAttention = randomPojo(PersonEnterpriseAttentionDO.class, o -> { // 等会查询到
+            o.setUserId(null);
+            o.setEnterpriseId(null);
+            o.setCreateTime(null);
+        });
+        personEnterpriseAttentionMapper.insert(dbPersonEnterpriseAttention);
+        // 测试 userId 不匹配
+        personEnterpriseAttentionMapper.insert(cloneIgnoreId(dbPersonEnterpriseAttention, o -> o.setUserId(null)));
+        // 测试 enterpriseId 不匹配
+        personEnterpriseAttentionMapper.insert(cloneIgnoreId(dbPersonEnterpriseAttention, o -> o.setEnterpriseId(null)));
+        // 测试 createTime 不匹配
+        personEnterpriseAttentionMapper.insert(cloneIgnoreId(dbPersonEnterpriseAttention, o -> o.setCreateTime(null)));
+        // 准备参数
+        PersonEnterpriseAttentionPageReqVO reqVO = new PersonEnterpriseAttentionPageReqVO();
+        reqVO.setUserId(null);
+        reqVO.setEnterpriseId(null);
+        reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
+
+        // 调用
+        PageResult<PersonEnterpriseAttentionDO> pageResult = personEnterpriseAttentionService.getPersonEnterpriseAttentionPage(reqVO);
+        // 断言
+        assertEquals(1, pageResult.getTotal());
+        assertEquals(1, pageResult.getList().size());
+        assertPojoEquals(dbPersonEnterpriseAttention, pageResult.getList().get(0));
+    }
+
+}

+ 3 - 2
menduner/menduner-system-biz/src/test/java/com/citu/module/menduner/system/service/person/PersonInfoServiceImplTest.java

@@ -1,7 +1,8 @@
 package com.citu.module.menduner.system.service.person;
 
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonInfoPageReqVO;
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonInfoSaveReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.info.PersonInfoPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.info.PersonInfoSaveReqVO;
+import com.citu.module.menduner.system.service.person.info.PersonInfoServiceImpl;
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 

+ 132 - 0
menduner/menduner-system-biz/src/test/java/com/citu/module/menduner/system/service/person/PersonJobCollectionServiceImplTest.java

@@ -0,0 +1,132 @@
+package com.citu.module.menduner.system.service.person;
+
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.framework.test.core.ut.BaseDbUnitTest;
+import com.citu.module.menduner.system.controller.admin.person.vo.collection.PersonJobCollectionPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.collection.PersonJobCollectionSaveReqVO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonJobCollectionDO;
+import com.citu.module.menduner.system.dal.mysql.person.PersonJobCollectionMapper;
+import com.citu.module.menduner.system.service.person.collection.PersonJobCollectionServiceImpl;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+import org.springframework.context.annotation.Import;
+
+import javax.annotation.Resource;
+
+import static com.citu.framework.common.util.date.LocalDateTimeUtils.buildBetweenTime;
+import static com.citu.framework.common.util.object.ObjectUtils.cloneIgnoreId;
+import static com.citu.framework.test.core.util.AssertUtils.assertPojoEquals;
+import static com.citu.framework.test.core.util.AssertUtils.assertServiceException;
+import static com.citu.framework.test.core.util.RandomUtils.randomLongId;
+import static com.citu.framework.test.core.util.RandomUtils.randomPojo;
+import static com.citu.module.menduner.system.enums.ErrorCodeConstants.PERSON_JOB_COLLECTION_NOT_EXISTS;
+import static org.junit.jupiter.api.Assertions.*;
+
+/**
+ * {@link PersonJobCollectionServiceImpl} 的单元测试类
+ *
+ * @author Rayson
+ */
+@Import(PersonJobCollectionServiceImpl.class)
+public class PersonJobCollectionServiceImplTest extends BaseDbUnitTest {
+
+    @Resource
+    private PersonJobCollectionServiceImpl personJobCollectionService;
+
+    @Resource
+    private PersonJobCollectionMapper personJobCollectionMapper;
+
+    @Test
+    public void testCreatePersonJobCollection_success() {
+        // 准备参数
+        PersonJobCollectionSaveReqVO createReqVO = randomPojo(PersonJobCollectionSaveReqVO.class).setId(null);
+
+        // 调用
+        Long personJobCollectionId = personJobCollectionService.createPersonJobCollection(createReqVO);
+        // 断言
+        assertNotNull(personJobCollectionId);
+        // 校验记录的属性是否正确
+        PersonJobCollectionDO personJobCollection = personJobCollectionMapper.selectById(personJobCollectionId);
+        assertPojoEquals(createReqVO, personJobCollection, "id");
+    }
+
+    @Test
+    public void testUpdatePersonJobCollection_success() {
+        // mock 数据
+        PersonJobCollectionDO dbPersonJobCollection = randomPojo(PersonJobCollectionDO.class);
+        personJobCollectionMapper.insert(dbPersonJobCollection);// @Sql: 先插入出一条存在的数据
+        // 准备参数
+        PersonJobCollectionSaveReqVO updateReqVO = randomPojo(PersonJobCollectionSaveReqVO.class, o -> {
+            o.setId(dbPersonJobCollection.getId()); // 设置更新的 ID
+        });
+
+        // 调用
+        personJobCollectionService.updatePersonJobCollection(updateReqVO);
+        // 校验是否更新正确
+        PersonJobCollectionDO personJobCollection = personJobCollectionMapper.selectById(updateReqVO.getId()); // 获取最新的
+        assertPojoEquals(updateReqVO, personJobCollection);
+    }
+
+    @Test
+    public void testUpdatePersonJobCollection_notExists() {
+        // 准备参数
+        PersonJobCollectionSaveReqVO updateReqVO = randomPojo(PersonJobCollectionSaveReqVO.class);
+
+        // 调用, 并断言异常
+        assertServiceException(() -> personJobCollectionService.updatePersonJobCollection(updateReqVO), PERSON_JOB_COLLECTION_NOT_EXISTS);
+    }
+
+    @Test
+    public void testDeletePersonJobCollection_success() {
+        // mock 数据
+        PersonJobCollectionDO dbPersonJobCollection = randomPojo(PersonJobCollectionDO.class);
+        personJobCollectionMapper.insert(dbPersonJobCollection);// @Sql: 先插入出一条存在的数据
+        // 准备参数
+        Long id = dbPersonJobCollection.getId();
+
+        // 调用
+        personJobCollectionService.deletePersonJobCollection(id);
+        // 校验数据不存在了
+        assertNull(personJobCollectionMapper.selectById(id));
+    }
+
+    @Test
+    public void testDeletePersonJobCollection_notExists() {
+        // 准备参数
+        Long id = randomLongId();
+
+        // 调用, 并断言异常
+        assertServiceException(() -> personJobCollectionService.deletePersonJobCollection(id), PERSON_JOB_COLLECTION_NOT_EXISTS);
+    }
+
+    @Test
+    @Disabled  // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
+    public void testGetPersonJobCollectionPage() {
+        // mock 数据
+        PersonJobCollectionDO dbPersonJobCollection = randomPojo(PersonJobCollectionDO.class, o -> { // 等会查询到
+            o.setUserId(null);
+            o.setJobId(null);
+            o.setCreateTime(null);
+        });
+        personJobCollectionMapper.insert(dbPersonJobCollection);
+        // 测试 userId 不匹配
+        personJobCollectionMapper.insert(cloneIgnoreId(dbPersonJobCollection, o -> o.setUserId(null)));
+        // 测试 jobId 不匹配
+        personJobCollectionMapper.insert(cloneIgnoreId(dbPersonJobCollection, o -> o.setJobId(null)));
+        // 测试 createTime 不匹配
+        personJobCollectionMapper.insert(cloneIgnoreId(dbPersonJobCollection, o -> o.setCreateTime(null)));
+        // 准备参数
+        PersonJobCollectionPageReqVO reqVO = new PersonJobCollectionPageReqVO();
+        reqVO.setUserId(null);
+        reqVO.setJobId(null);
+        reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
+
+        // 调用
+        PageResult<PersonJobCollectionDO> pageResult = personJobCollectionService.getPersonJobCollectionPage(reqVO);
+        // 断言
+        assertEquals(1, pageResult.getTotal());
+        assertEquals(1, pageResult.getList().size());
+        assertPojoEquals(dbPersonJobCollection, pageResult.getList().get(0));
+    }
+
+}

+ 3 - 2
menduner/menduner-system-biz/src/test/java/com/citu/module/menduner/system/service/person/PersonSkillServiceImplTest.java

@@ -1,7 +1,8 @@
 package com.citu.module.menduner.system.service.person;
 
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonSkillPageReqVO;
-import com.citu.module.menduner.system.controller.admin.person.vo.PersonSkillSaveReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.skill.PersonSkillPageReqVO;
+import com.citu.module.menduner.system.controller.admin.person.vo.skill.PersonSkillSaveReqVO;
+import com.citu.module.menduner.system.service.person.skill.PersonSkillServiceImpl;
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 

+ 5 - 1
menduner/menduner-system-biz/src/test/resources/sql/clean.sql

@@ -16,4 +16,8 @@ DELETE FROM "mde_enterprise";
 DELETE FROM "mde_enterprise_business";
 DELETE FROM "mde_enterprise_register";
 DELETE FROM "mde_enterprise_user_bind";
-DELETE FROM "mde_enterprise_post";
+DELETE FROM "mde_enterprise_post";
+DELETE FROM "mde_enterprise_user_look";
+DELETE FROM "mde_person_enterprise_attention";
+DELETE FROM "mde_person_browse_record";
+DELETE FROM "mde_person_job_collection";

+ 78 - 2
menduner/menduner-system-biz/src/test/resources/sql/create_tables.sql

@@ -233,7 +233,7 @@ CREATE TABLE IF NOT EXISTS "mde_enterprise" (
                                                 "another_name" varchar,
                                                 "website" varchar,
                                                 "introduce" varchar,
-                                                "contacts" varchar,
+                                                "contact" varchar,
                                                 "phone" varchar,
                                                 "logo_url" varchar,
                                                 "industry_id" bigint,
@@ -348,4 +348,80 @@ CREATE TABLE IF NOT EXISTS "mde_enterprise_post" (
     "deleted" bit NOT NULL DEFAULT FALSE,
     "tenant_id" bigint NOT NULL,
     PRIMARY KEY ("id")
-) COMMENT '门墩儿-企业岗位信息表';
+) COMMENT '门墩儿-企业岗位信息表';
+
+-- 将该建表 SQL 语句,添加到 citu-module-menduner.system-biz 模块的 test/resources/sql/create_tables.sql 文件里
+CREATE TABLE IF NOT EXISTS "mde_enterprise_user_look" (
+    "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
+    "enterprise_id" bigint,
+    "user_id" bigint NOT NULL,
+    "user_name" varchar,
+    "user_post_name" varchar,
+    "look_user_id" bigint,
+    "creator" varchar DEFAULT '',
+    "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    "updater" varchar DEFAULT '',
+    "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+    "deleted" bit NOT NULL DEFAULT FALSE,
+    "tenant_id" bigint NOT NULL,
+    PRIMARY KEY ("id")
+) COMMENT '门墩儿 - 企业招聘者浏览表';
+
+CREATE TABLE IF NOT EXISTS "mde_person_enterprise_attention" (
+    "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
+    "user_id" bigint,
+    "enterprise_id" bigint,
+    "creator" varchar DEFAULT '',
+    "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    "updater" varchar DEFAULT '',
+    "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+    "deleted" bit NOT NULL DEFAULT FALSE,
+    "tenant_id" bigint NOT NULL,
+    PRIMARY KEY ("id")
+) COMMENT '门墩儿-人才-企业关注表';
+
+CREATE TABLE IF NOT EXISTS "mde_person_browse_record" (
+    "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
+    "user_id" bigint NOT NULL,
+    "job_id" bigint NOT NULL,
+    "area_id" bigint,
+    "position_id" bigint,
+    "enterprise_id" bigint,
+    "area_name" varchar,
+    "job_name" varchar,
+    "type" int,
+    "exp_type" int,
+    "edu_type" int,
+    "pay_from" varchar,
+    "pay_to" varchar,
+    "pay_unit" int,
+    "currency_type" int,
+    "tag_list" varchar NOT NULL,
+    "contact_user_id" bigint,
+    "contact_user_name" varchar,
+    "contact_user_post_name" varchar,
+    "enterprise_name" varchar,
+    "industry_id" bigint,
+    "financing_status" int,
+    "scale" int,
+    "creator" varchar DEFAULT '',
+    "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    "updater" varchar DEFAULT '',
+    "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+    "deleted" bit NOT NULL DEFAULT FALSE,
+    "tenant_id" bigint NOT NULL,
+    PRIMARY KEY ("id")
+) COMMENT '门墩儿-人才-浏览记录';
+
+CREATE TABLE IF NOT EXISTS "mde_person_job_collection" (
+    "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
+    "user_id" bigint,
+    "job_id" bigint,
+    "creator" varchar DEFAULT '',
+    "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    "updater" varchar DEFAULT '',
+    "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+    "deleted" bit NOT NULL DEFAULT FALSE,
+    "tenant_id" bigint NOT NULL,
+    PRIMARY KEY ("id")
+) COMMENT '门墩儿-人才-招聘职位收藏表';