Jelajahi Sumber

1、增加人才在线简历

rayson 1 tahun lalu
induk
melakukan
baa55dcc78
74 mengubah file dengan 649 tambahan dan 468 penghapusan
  1. 9 4
      citu-framework/citu-spring-boot-starter-security/src/main/java/com/citu/framework/security/core/filter/TokenAuthenticationFilter.java
  2. 8 8
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/PersonInfoController.java
  3. 19 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/auth/AppMdeAuthController.java
  4. 0 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/enterprise/AppEnterpriseUserBindController.java
  5. 4 4
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/AppPersonController.java
  6. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/AppPersonRecordController.java
  7. 4 4
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/AppPersonResumeController.java
  8. 2 37
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/eduexp/AppEduExpRespVO.java
  9. 2 32
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/job/AppJobInterestedRespVO.java
  10. 3 21
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/projectexp/AppProjectExpRespVO.java
  11. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/record/AppPersonBrowseRecordPageReqVO.java
  12. 2 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/record/AppPersonBrowseRecordPageRespVO.java
  13. 2 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/resume/AppPersonAdvantageSaveReqVO.java
  14. 17 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/skill/AppPersonSkillRespVO.java
  15. 1 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/skill/AppPersonSkillSaveReqVO.java
  16. 2 23
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/trainexp/AppTrainExpRespVO.java
  17. 3 56
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/vo/AppPersonInfoRespVO.java
  18. 0 28
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/vo/AppPersonSkillRespVO.java
  19. 2 50
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/workexp/AppWorkExpRespVO.java
  20. 0 37
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/enterprise/AppAdminEnterpriseUserBindController.java
  21. 17 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/AppAdminPersonCvController.java
  22. 2 25
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/eduexp/AppAdminEduExpRespVO.java
  23. 16 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/job/AppAdminJobInterestedRespVO.java
  24. 15 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/projectexp/AppAdminProjectExpRespVO.java
  25. 17 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/skill/AppAdminPersonSkillRespVO.java
  26. 16 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/trainexp/AppAdminTrainExpRespVO.java
  27. 40 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/vo/AppAdminPersonDetailRespVO.java
  28. 16 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/vo/AppAdminPersonInfoRespVO.java
  29. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/vo/AppAdminPersonSimpleRespVO.java
  30. 2 41
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/workexp/AppAdminWorkExpRespVO.java
  31. 11 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/user/AppAdminUserController.java
  32. 12 4
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/user/vo/AppAdminUserRespVO.java
  33. 2 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/person/info/PersonInfoPageReqVO.java
  34. 3 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/person/info/PersonInfoRespVO.java
  35. 2 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/person/info/PersonInfoSaveReqVO.java
  36. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/convert/EduExpConvert.java
  37. 2 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/convert/EnterpriseConvert.java
  38. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/convert/JobInterestedConvert.java
  39. 11 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/convert/PersonConvert.java
  40. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/convert/ProjectExpConvert.java
  41. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/convert/TrainExpConvert.java
  42. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/convert/WorkExpConvert.java
  43. 2 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/person/PersonInfoDO.java
  44. 11 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/es/job/ESJobAdvertisedMergeDO.java
  45. 8 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/eduexp/EduExpMapper.java
  46. 6 8
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/enterprise/EnterpriseUserBindMapper.java
  47. 0 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/job/JobCvRelMapper.java
  48. 8 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/job/JobInterestedMapper.java
  49. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonBrowseRecordMapper.java
  50. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonInfoMapper.java
  51. 8 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonSkillMapper.java
  52. 8 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/projectexp/ProjectExpMapper.java
  53. 8 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/trainexp/TrainExpMapper.java
  54. 2 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/workexp/WorkExpMapper.java
  55. 94 6
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/consumer/ESConsumer.java
  56. 13 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/message/ESJobAdvertisedMergeSendMessage.java
  57. 29 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/producer/ESProducer.java
  58. 4 4
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/bind/EnterpriseUserBindService.java
  59. 4 4
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/bind/EnterpriseUserBindServiceImpl.java
  60. 11 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobAdvertisedServiceImpl.java
  61. 0 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobIntegrationService.java
  62. 11 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobIntegrationServiceImpl.java
  63. 9 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/PersonIntegrationService.java
  64. 77 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/PersonIntegrationServiceImpl.java
  65. 12 12
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/info/PersonInfoService.java
  66. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/info/PersonInfoServiceImpl.java
  67. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/record/PersonBrowseRecordService.java
  68. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/record/PersonBrowseRecordServiceImpl.java
  69. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/skill/PersonSkillService.java
  70. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/skill/PersonSkillServiceImpl.java
  71. 21 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/util/ESOperateEnum.java
  72. 2 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/util/ESQueryBuildUtils.java
  73. 3 3
      menduner/menduner-system-biz/src/main/resources/i18n/messages_en_US.properties
  74. 9 9
      menduner/menduner-system-biz/src/main/resources/i18n/messages_zh_CN.properties

+ 9 - 4
citu-framework/citu-spring-boot-starter-security/src/main/java/com/citu/framework/security/core/filter/TokenAuthenticationFilter.java

@@ -107,11 +107,11 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter {
 
     /**
      * 模拟登录用户,方便日常开发调试
-     *
+     * <p>
      * 注意,在线上环境下,一定要关闭该功能!!!
      *
-     * @param request 请求
-     * @param token 模拟的 token,格式为 {@link SecurityProperties#getMockSecret()} + 用户编号
+     * @param request  请求
+     * @param token    模拟的 token,格式为 {@link SecurityProperties#getMockSecret()} + 用户编号
      * @param userType 用户类型
      * @return 模拟的 LoginUser
      */
@@ -123,6 +123,10 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter {
         if (!token.startsWith(securityProperties.getMockSecret())) {
             return null;
         }
+        if (securityProperties.getMockSecret().length()
+                == token.length()) {
+            return null;
+        }
         // 构建模拟用户
         Long userId = Long.valueOf(token.substring(securityProperties.getMockSecret().length()));
         return new LoginUser().setId(userId).setUserType(userType)
@@ -140,7 +144,8 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter {
             loginUserStr = URLDecoder.decode(loginUserStr, StandardCharsets.UTF_8.name()); // 解码,解决中文乱码问题
             return JsonUtils.parseObject(loginUserStr, LoginUser.class);
         } catch (Exception ex) {
-            log.error("[buildLoginUserByHeader][解析 LoginUser({}) 发生异常]", loginUserStr, ex);  ;
+            log.error("[buildLoginUserByHeader][解析 LoginUser({}) 发生异常]", loginUserStr, ex);
+            ;
             throw ex;
         }
     }

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

@@ -27,7 +27,7 @@ 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 = "管理后台 - 人才信息-人档案")
+@Tag(name = "管理后台 - 人才信息-人档案")
 @RestController
 @RequestMapping("/menduner/system/person-info")
 @Validated
@@ -37,14 +37,14 @@ public class PersonInfoController {
     private PersonInfoService personInfoService;
 
     @PostMapping("/create")
-    @Operation(summary = "创建人才信息-人档案")
+    @Operation(summary = "创建人才信息-人档案")
     @PreAuthorize("@ss.hasPermission('menduner:system:person-info:create')")
     public CommonResult<Long> createUserInfo(@Valid @RequestBody PersonInfoSaveReqVO createReqVO) {
         return success(personInfoService.createUserInfo(createReqVO));
     }
 
     @PutMapping("/update")
-    @Operation(summary = "更新人才信息-人档案")
+    @Operation(summary = "更新人才信息-人档案")
     @PreAuthorize("@ss.hasPermission('menduner:system:person-info:update')")
     public CommonResult<Boolean> updateUserInfo(@Valid @RequestBody PersonInfoSaveReqVO updateReqVO) {
         personInfoService.updateUserInfo(updateReqVO);
@@ -52,7 +52,7 @@ public class PersonInfoController {
     }
 
     @DeleteMapping("/delete")
-    @Operation(summary = "删除人才信息-人档案")
+    @Operation(summary = "删除人才信息-人档案")
     @Parameter(name = "id", description = "编号", required = true)
     @PreAuthorize("@ss.hasPermission('menduner:system:person-info:delete')")
     public CommonResult<Boolean> deleteUserInfo(@RequestParam("id") Long id) {
@@ -61,7 +61,7 @@ public class PersonInfoController {
     }
 
     @GetMapping("/get")
-    @Operation(summary = "获得人才信息-人档案")
+    @Operation(summary = "获得人才信息-人档案")
     @Parameter(name = "id", description = "编号", required = true, example = "1024")
     @PreAuthorize("@ss.hasPermission('menduner:system:person-info:query')")
     public CommonResult<PersonInfoRespVO> getUserInfo(@RequestParam("id") Long id) {
@@ -70,7 +70,7 @@ public class PersonInfoController {
     }
 
     @GetMapping("/page")
-    @Operation(summary = "获得人才信息-人档案分页")
+    @Operation(summary = "获得人才信息-人档案分页")
     @PreAuthorize("@ss.hasPermission('menduner:system:person-info:query')")
     public CommonResult<PageResult<PersonInfoRespVO>> getUserInfoPage(@Valid PersonInfoPageReqVO pageReqVO) {
         PageResult<PersonInfoDO> pageResult = personInfoService.getUserInfoPage(pageReqVO);
@@ -78,7 +78,7 @@ public class PersonInfoController {
     }
 
     @GetMapping("/export-excel")
-    @Operation(summary = "导出人才信息-人档案 Excel")
+    @Operation(summary = "导出人才信息-人档案 Excel")
     @PreAuthorize("@ss.hasPermission('menduner:system:person-info:export')")
     @ApiAccessLog(operateType = EXPORT)
     public void exportUserInfoExcel(@Valid PersonInfoPageReqVO pageReqVO,
@@ -86,7 +86,7 @@ public class PersonInfoController {
         pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
         List<PersonInfoDO> list = personInfoService.getUserInfoPage(pageReqVO).getList();
         // 导出 Excel
-        ExcelUtils.write(response, "人才信息-人档案.xls", "数据", PersonInfoRespVO.class,
+        ExcelUtils.write(response, "人才信息-人档案.xls", "数据", PersonInfoRespVO.class,
                 BeanUtils.toBean(list, PersonInfoRespVO.class));
     }
 

+ 19 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/auth/AppMdeAuthController.java

@@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil;
 import com.citu.framework.common.enums.UserTypeEnum;
 import com.citu.framework.common.pojo.CommonResult;
 import com.citu.framework.security.config.SecurityProperties;
+import com.citu.framework.security.core.annotations.PreAuthenticated;
 import com.citu.framework.security.core.util.SecurityFrameworkUtils;
 import com.citu.module.menduner.system.controller.app.auth.vo.*;
 import com.citu.module.menduner.system.convert.MdeAuthConvert;
@@ -22,6 +23,8 @@ import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
 
+import java.util.Objects;
+
 import static com.citu.framework.common.pojo.CommonResult.success;
 import static com.citu.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
 
@@ -59,6 +62,22 @@ public class AppMdeAuthController {
         return success(true);
     }
 
+    @PreAuthenticated
+    @PostMapping("/logout-token")
+    @Operation(summary = "根据令牌登出系统")
+    public CommonResult<Boolean> logout(HttpServletRequest request, @RequestParam("token") String token) {
+        String currentToken = SecurityFrameworkUtils.obtainAuthorization(request,
+                securityProperties.getTokenHeader(), securityProperties.getTokenParameter());
+        if(!Objects.equals(currentToken, token)) {
+            // 无法登出不是自己的令牌
+            return success(false);
+        }
+        if (StrUtil.isNotBlank(token)) {
+            authService.logout(token);
+        }
+        return success(true);
+    }
+
     @PostMapping("/refresh-token")
     @Operation(summary = "刷新令牌")
     @Parameter(name = "refreshToken", description = "刷新令牌", required = true)

+ 0 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/enterprise/AppEnterpriseUserBindController.java

@@ -2,7 +2,6 @@ package com.citu.module.menduner.system.controller.app.enterprise;
 
 import com.citu.framework.common.pojo.CommonResult;
 import com.citu.module.menduner.system.controller.app.enterprise.vo.AppEnterpriseUserBindRespVO;
-import com.citu.module.menduner.system.controller.appadmin.enterprise.vo.AppAdminEnterpriseUserBindRespVO;
 import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;

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

@@ -3,13 +3,13 @@ package com.citu.module.menduner.system.controller.app.person;
 import com.citu.framework.common.pojo.CommonResult;
 import com.citu.framework.common.pojo.PageParam;
 import com.citu.framework.common.pojo.PageResult;
-import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.framework.security.core.annotations.PreAuthenticated;
-import com.citu.module.menduner.system.controller.base.person.info.PersonInfoRespVO;
 import com.citu.module.menduner.system.controller.app.enterprise.vo.AppEnterpriseSimpleRespVO;
 import com.citu.module.menduner.system.controller.app.job.vo.AppJobAdvertisedRespVO;
 import com.citu.module.menduner.system.controller.app.person.enterprise.PersonEnterpriseSubscribeReqVO;
 import com.citu.module.menduner.system.controller.app.person.job.AppPersonJobFavoriteReqVO;
+import com.citu.module.menduner.system.controller.app.person.vo.AppPersonInfoRespVO;
+import com.citu.module.menduner.system.convert.PersonConvert;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
 import com.citu.module.menduner.system.service.job.JobIntegrationService;
 import com.citu.module.menduner.system.service.person.favorite.PersonJobFavoriteService;
@@ -50,9 +50,9 @@ public class AppPersonController {
     @GetMapping("/get")
     @Operation(summary = "获得人才信息")
     @Parameter(name = "userId", description = "用户id", required = true, example = "1024")
-    public CommonResult<PersonInfoRespVO> getUserInfo(@RequestParam("userId") Long userId) {
+    public CommonResult<AppPersonInfoRespVO> getUserInfo(@RequestParam("userId") Long userId) {
         PersonInfoDO userInfo = personInfoService.getUserInfoByUserId(userId);
-        return success(BeanUtils.toBean(userInfo, PersonInfoRespVO.class));
+        return success(PersonConvert.INSTANCE.convert(userInfo));
     }
 
     @PreAuthenticated

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/AppPersonRecordController.java

@@ -6,7 +6,7 @@ import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.framework.security.core.annotations.PreAuthenticated;
 import com.citu.module.menduner.system.controller.base.person.record.PersonBrowseRecordRespVO;
 import com.citu.module.menduner.system.controller.app.enterprise.vo.look.AppEnterpriseUserLookPageReqVO;
-import com.citu.module.menduner.system.controller.app.person.vo.AppPersonBrowseRecordPageReqVO;
+import com.citu.module.menduner.system.controller.app.person.record.AppPersonBrowseRecordPageReqVO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonBrowseRecordDO;
 import com.citu.module.menduner.system.service.enterprise.look.EnterpriseUserLookService;
 import com.citu.module.menduner.system.service.person.record.PersonBrowseRecordService;

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

@@ -14,8 +14,8 @@ import com.citu.module.menduner.system.controller.app.person.resume.AppPersonAdv
 import com.citu.module.menduner.system.controller.app.person.resume.AppPersonInfoSaveReqVO;
 import com.citu.module.menduner.system.controller.app.person.trainexp.AppTrainExpRespVO;
 import com.citu.module.menduner.system.controller.app.person.trainexp.AppTrainExpSaveReqVO;
-import com.citu.module.menduner.system.controller.app.person.vo.AppPersonSkillRespVO;
-import com.citu.module.menduner.system.controller.app.person.vo.AppPersonSkillSaveReqVO;
+import com.citu.module.menduner.system.controller.app.person.skill.AppPersonSkillRespVO;
+import com.citu.module.menduner.system.controller.app.person.skill.AppPersonSkillSaveReqVO;
 import com.citu.module.menduner.system.controller.app.person.workexp.AppWorkExpRespVO;
 import com.citu.module.menduner.system.controller.app.person.workexp.AppWorkExpSaveReqVO;
 import com.citu.module.menduner.system.convert.*;
@@ -92,11 +92,11 @@ public class AppPersonResumeController {
     }
 
 
-    // ========== 人优势 ==========
+    // ========== 人优势 ==========
 
     @PreAuthenticated
     @PostMapping("/advantage/save")
-    @Operation(summary = "保存人优势")
+    @Operation(summary = "保存人优势")
     public CommonResult<Boolean> saveAdvantage(@Valid @RequestBody AppPersonAdvantageSaveReqVO reqVO) {
         return success(personInfoService.saveAdvantage(reqVO));
     }

+ 2 - 37
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/eduexp/AppEduExpRespVO.java

@@ -1,5 +1,6 @@
 package com.citu.module.menduner.system.controller.app.person.eduexp;
 
+import com.citu.module.menduner.system.controller.base.eduexp.EduExpRespVO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -8,43 +9,7 @@ import java.time.LocalDateTime;
 
 @Data
 @Schema(description = "menduner - 教育经历 Response VO")
-public class AppEduExpRespVO {
-
-    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "24831")
-    private Long id;
-
-    @Schema(description = "用户id", example = "30034")
-    private Long userId;
-
-    @Schema(description = "学校id", example = "926")
-    private Long schoolId;
-
-    @Schema(description = "学校名称(没有选择系统企业可自定义)", example = "李四")
-    private String schoolName;
-
-    @Schema(description = "学历(0初中及以下 | 1中专/中技 | 2高中 | 3大专 | 4 本科 5 硕士 6 博士 99 其他)", example = "2")
-    private String educationType;
-
-    @Schema(description = "学制类型(0 全日制 | 1 非全日制)", example = "1")
-    private String educationSystemType;
-
-    @Schema(description = "专业id", example = "30649")
-    private Long majorId;
-
-    @Schema(description = "专业名称(没有选择系统企业可自定义)")
-    private String major;
-
-    @Schema(description = "在校开始日期")
-    private LocalDateTime startTime;
-
-    @Schema(description = "在校结束时间")
-    private LocalDateTime endTime;
-
-    @Schema(description = "在校经历")
-    private String content;
-
-    @Schema(description = "创建时间")
-    private LocalDateTime createTime;
+public class AppEduExpRespVO extends EduExpRespVO {
 
     @Schema(description = "更新时间")
     private LocalDateTime updateTime;

+ 2 - 32
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/job/AppJobInterestedRespVO.java

@@ -1,44 +1,14 @@
 package com.citu.module.menduner.system.controller.app.person.job;
 
-import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.citu.module.menduner.system.controller.base.job.JobInterestedRespVO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
-import java.math.BigDecimal;
 import java.time.LocalDateTime;
-import java.util.List;
 
 @Schema(description = "menduner - 求职意向 Response VO")
 @Data
-@ExcelIgnoreUnannotated
-public class AppJobInterestedRespVO {
-
-    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "19777")
-    private Long id;
-
-    @Schema(description = "求职类型(0全职 1兼职 2临时 3实习)", example = "2")
-    private String jobType;
-
-    @Schema(description = "期望职位", example = "20359")
-    private Long positionId;
-
-    @Schema(description = "期望行业")
-    private List<String> industryIdList;
-
-    @Schema(description = "薪酬最低要求")
-    private BigDecimal payFrom;
-
-    @Schema(description = "薪酬最高要求")
-    private BigDecimal payTo;
-
-    @Schema(description = "工作城市", example = "15253")
-    private Long workAreaId;
-
-    @Schema(description = "感兴趣城市")
-    private List<String> interestedAreaIdList;
-
-    @Schema(description = "创建时间")
-    private LocalDateTime createTime;
+public class AppJobInterestedRespVO extends JobInterestedRespVO {
 
     @Schema(description = "更新时间")
     private LocalDateTime updateTime;

+ 3 - 21
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/projectexp/AppProjectExpRespVO.java

@@ -1,32 +1,14 @@
 package com.citu.module.menduner.system.controller.app.person.projectexp;
 
+import com.citu.module.menduner.system.controller.base.projectexp.ProjectExpRespVO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
-import java.time.LocalDate;
 import java.time.LocalDateTime;
 
 @Data
-@Schema(description = "menduner - 个人简历-项目经历 Response VO")
-public class AppProjectExpRespVO {
-
-    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "6114")
-    private Long id;
-
-    @Schema(description = "项目名称", example = "王五")
-    private String name;
-
-    @Schema(description = "项目开始时间")
-    private LocalDateTime startTime;
-
-    @Schema(description = "项目结束时间")
-    private LocalDateTime endTime;
-
-    @Schema(description = "描述内容")
-    private String content;
-
-    @Schema(description = "创建时间")
-    private LocalDateTime createTime;
+@Schema(description = "menduner - 人才简历-项目经历 Response VO")
+public class AppProjectExpRespVO extends ProjectExpRespVO {
 
     @Schema(description = "更新时间")
     private LocalDateTime updateTime;

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/vo/AppPersonBrowseRecordPageReqVO.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/record/AppPersonBrowseRecordPageReqVO.java

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

+ 2 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/vo/AppPersonBrowseRecordPageRespVO.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/record/AppPersonBrowseRecordPageRespVO.java

@@ -1,4 +1,4 @@
-package com.citu.module.menduner.system.controller.app.person.vo;
+package com.citu.module.menduner.system.controller.app.person.record;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
@@ -6,7 +6,7 @@ import lombok.Data;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
-@Schema(description = "menduner - 人才信息-个人档案 Response VO")
+@Schema(description = "menduner - 浏览记录分页 Response VO")
 @Data
 public class AppPersonBrowseRecordPageRespVO {
 

+ 2 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/resume/AppPersonAdvantageSaveReqVO.java

@@ -6,10 +6,10 @@ import lombok.Data;
 import javax.validation.constraints.NotBlank;
 
 @Data
-@Schema(description = "menduner 人才简历-人优势 Request VO")
+@Schema(description = "menduner 人才简历-人优势 Request VO")
 public class AppPersonAdvantageSaveReqVO {
 
     @NotBlank(message = "{1_100_001_002}")
-    @Schema(description = "人优势", example = "我是人优势")
+    @Schema(description = "人优势", example = "我是人优势")
     private String content;
 }

+ 17 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/skill/AppPersonSkillRespVO.java

@@ -0,0 +1,17 @@
+package com.citu.module.menduner.system.controller.app.person.skill;
+
+import com.citu.module.menduner.system.controller.base.person.skill.PersonSkillRespVO;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+
+@Data
+@Schema(description = "menduner - 人才技能 Response VO")
+public class AppPersonSkillRespVO extends PersonSkillRespVO {
+
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+
+}

+ 1 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/vo/AppPersonSkillSaveReqVO.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/skill/AppPersonSkillSaveReqVO.java

@@ -1,10 +1,9 @@
-package com.citu.module.menduner.system.controller.app.person.vo;
+package com.citu.module.menduner.system.controller.app.person.skill;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
 
 @Schema(description = "menduner - 人才技能保存 Request VO")
 @Data

+ 2 - 23
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/trainexp/AppTrainExpRespVO.java

@@ -1,35 +1,14 @@
 package com.citu.module.menduner.system.controller.app.person.trainexp;
 
+import com.citu.module.menduner.system.controller.base.trainexp.TrainExpRespVO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
-import java.time.LocalDate;
 import java.time.LocalDateTime;
 
 @Data
 @Schema(description = "menduner - 培训经历 Response VO")
-public class AppTrainExpRespVO {
-
-    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "27649")
-    private Long id;
-
-    @Schema(description = "培训开始时间")
-    private LocalDateTime startTime;
-
-    @Schema(description = "培训结束时间")
-    private LocalDateTime endTime;
-
-    @Schema(description = "培训机构名称", example = "芋艿")
-    private String orgName;
-
-    @Schema(description = "培训课程")
-    private String course;
-
-    @Schema(description = "描述说明")
-    private String content;
-
-    @Schema(description = "创建时间")
-    private LocalDateTime createTime;
+public class AppTrainExpRespVO extends TrainExpRespVO {
 
     @Schema(description = "更新时间")
     private LocalDateTime updateTime;

+ 3 - 56
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/vo/AppPersonInfoRespVO.java

@@ -1,67 +1,14 @@
 package com.citu.module.menduner.system.controller.app.person.vo;
 
+import com.citu.module.menduner.system.controller.base.person.info.PersonInfoRespVO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import java.time.LocalDateTime;
 
-@Schema(description = "menduner - 人才信息-人档案 Response VO")
+@Schema(description = "menduner - 人才信息-人档案 Response VO")
 @Data
-public class AppPersonInfoRespVO {
-
-    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "25036")
-    private Long id;
-
-    @Schema(description = "用户id", example = "18804")
-    private Long userId;
-
-    @Schema(description = "真实姓名", example = "王五")
-    private String name;
-
-    @Schema(description = "用户性别")
-    private String sex;
-
-    @Schema(description = "头像地址")
-    private String avatar;
-
-    @Schema(description = "联系手机号")
-    private String phone;
-
-    @Schema(description = "用户邮箱")
-    private String email;
-
-    @Schema(description = "微信号")
-    private String wxCode;
-
-    @Schema(description = "出生日期")
-    private LocalDateTime birthday;
-
-    @Schema(description = "婚姻状况(0未婚 1已婚 2离异 3保密)", example = "1")
-    private String maritalStatus;
-
-    @Schema(description = "现居住地", example = "8366")
-    private Long areaId;
-
-    @Schema(description = "求职类型(0全职 1兼职 2临时 3实习)", example = "1")
-    private String jobType;
-
-    @Schema(description = "求职状态(0离职-随时到岗 1在职-月内到岗 2在职-考虑机会 3在职-暂不考虑)", example = "1")
-    private String jobStatus;
-
-    @Schema(description = "首次工作时间")
-    private LocalDateTime firstWorkTime;
-
-    @Schema(description = "个人优势")
-    private String advantage;
-
-    @Schema(description = "工作经验", example = "1")
-    private String expType;
-
-    @Schema(description = "学历", example = "2")
-    private String eduType;
-
-    @Schema(description = "创建时间")
-    private LocalDateTime createTime;
+public class AppPersonInfoRespVO extends PersonInfoRespVO {
 
     @Schema(description = "更新时间")
     private LocalDateTime updateTime;

+ 0 - 28
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/vo/AppPersonSkillRespVO.java

@@ -1,28 +0,0 @@
-package com.citu.module.menduner.system.controller.app.person.vo;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-
-@Data
-@Schema(description = "menduner - 人才技能 Response VO")
-public class AppPersonSkillRespVO {
-
-    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "24591")
-    private Long id;
-
-    @Schema(description = "技能id", example = "1")
-    private Long skillId;
-
-    @Schema(description = "技能等级(0一般 1良好 2熟练 3 精通)")
-    private String level;
-
-    @Schema(description = "创建时间")
-    private LocalDateTime createTime;
-
-    @Schema(description = "更新时间")
-    private LocalDateTime updateTime;
-
-}

+ 2 - 50
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/workexp/AppWorkExpRespVO.java

@@ -1,62 +1,14 @@
 package com.citu.module.menduner.system.controller.app.person.workexp;
 
+import com.citu.module.menduner.system.controller.base.workexp.WorkExpRespVO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
-import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 @Data
 @Schema(description = "menduner - 工作经历 Response VO")
-public class AppWorkExpRespVO {
-
-    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "2363")
-    private Long id;
-
-    @Schema(description = "企业id", example = "2118")
-    private Long enterpriseId;
-
-    @Schema(description = "企业名称(没有选择系统企业时可自定义)", example = "张三")
-    private String enterpriseName;
-
-    @Schema(description = "所属行业", example = "21570")
-    private Long industryId;
-
-    @Schema(description = "所属部门", example = "李四")
-    private String deptName;
-
-    @Schema(description = "所属职位", example = "11706")
-    private Long positionId;
-
-    @Schema(description = "职位名称(没有选择系统职位时可自定义)", example = "赵六")
-    private String positionName;
-
-    @Schema(description = "在职开始日期")
-    private LocalDateTime startTime;
-
-    @Schema(description = "在职结束时间")
-    private LocalDateTime endTime;
-
-    @Schema(description = "工作内容")
-    private String content;
-
-    @Schema(description = "业绩")
-    private String achievement;
-
-    @Schema(description = "薪酬")
-    private BigDecimal pay;
-
-    @Schema(description = "薪酬类型(0月薪 1年薪)", example = "1")
-    private String payUnit;
-
-    @Schema(description = "货币类型", example = "2")
-    private String currencyType;
-
-    @Schema(description = "技能")
-    private String skillList;
-
-    @Schema(description = "创建时间")
-    private LocalDateTime createTime;
+public class AppWorkExpRespVO extends WorkExpRespVO {
 
     @Schema(description = "更新时间")
     private LocalDateTime updateTime;

+ 0 - 37
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/enterprise/AppAdminEnterpriseUserBindController.java

@@ -1,37 +0,0 @@
-package com.citu.module.menduner.system.controller.appadmin.enterprise;
-
-import com.citu.framework.common.pojo.CommonResult;
-import com.citu.framework.security.core.annotations.PreAuthenticated;
-import com.citu.module.menduner.system.controller.appadmin.enterprise.vo.AppAdminEnterpriseUserBindRespVO;
-import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-
-import static com.citu.framework.common.pojo.CommonResult.success;
-
-@Tag(name = "招聘端 - 企业用户")
-@RestController
-@RequestMapping("/menduner/system/enterprise-user-bind")
-@Validated
-public class AppAdminEnterpriseUserBindController {
-
-    @Resource
-    private EnterpriseUserBindService enterpriseUserBindService;
-
-
-    @PreAuthenticated
-    @GetMapping("/get/user")
-    @Operation(summary = "获取当前登录的企业用户信息")
-    public CommonResult<AppAdminEnterpriseUserBindRespVO> getEnterpriseUserBind() {
-        return success(enterpriseUserBindService.getBindEnterprise());
-    }
-
-
-
-}

+ 17 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/AppAdminPersonCvController.java

@@ -5,12 +5,15 @@ import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.security.core.annotations.PreAuthenticated;
 import com.citu.module.menduner.system.controller.appadmin.cv.AppAdminJobCvRelPageReqVO;
 import com.citu.module.menduner.system.controller.appadmin.cv.AppAdminJobCvRelRespVO;
+import com.citu.module.menduner.system.controller.appadmin.person.vo.AppAdminPersonDetailRespVO;
 import com.citu.module.menduner.system.service.job.JobIntegrationService;
+import com.citu.module.menduner.system.service.person.PersonIntegrationService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
@@ -18,7 +21,7 @@ import javax.validation.Valid;
 
 import static com.citu.framework.common.pojo.CommonResult.success;
 
-@Tag(name = "招聘端 - 人才投递")
+@Tag(name = "招聘端 - 人才简历")
 @RestController
 @RequestMapping("/menduner/system/person-cv")
 @Validated
@@ -27,6 +30,10 @@ public class AppAdminPersonCvController {
     @Resource
     private JobIntegrationService jobIntegrationService;
 
+    @Resource
+    private PersonIntegrationService personIntegrationService;
+
+
     @PreAuthenticated
     @GetMapping("/page")
     @Operation(summary = "获得投递职位分页")
@@ -34,4 +41,13 @@ public class AppAdminPersonCvController {
         return success(jobIntegrationService.page(pageReqVO));
     }
 
+    @PreAuthenticated
+    @GetMapping("/detail")
+    @Operation(summary = "根据userId获取人才在线简历详情")
+    public CommonResult<AppAdminPersonDetailRespVO> detail(@RequestParam("userId") Long userId) {
+        return success(personIntegrationService.detail(userId));
+    }
+
+
+
 }

+ 2 - 25
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/eduexp/AppAdminEduExpRespVO.java

@@ -1,5 +1,6 @@
 package com.citu.module.menduner.system.controller.appadmin.person.eduexp;
 
+import com.citu.module.menduner.system.controller.base.eduexp.EduExpRespVO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -8,31 +9,7 @@ import java.time.LocalDateTime;
 
 @Data
 @Schema(description = "menduner - 教育经历 Response VO")
-public class AppAdminEduExpRespVO {
-
-    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "24831")
-    private Long id;
-
-    @Schema(description = "学校名称(没有选择系统企业可自定义)", example = "李四")
-    private String schoolName;
-
-    @Schema(description = "学历(0初中及以下 | 1中专/中技 | 2高中 | 3大专 | 4 本科 5 硕士 6 博士 99 其他)", example = "2")
-    private String educationType;
-
-    @Schema(description = "学制类型(0 全日制 | 1 非全日制)", example = "1")
-    private String educationSystemType;
-
-    @Schema(description = "专业名称(没有选择系统企业可自定义)")
-    private String major;
-
-    @Schema(description = "在校开始日期")
-    private LocalDateTime startTime;
-
-    @Schema(description = "在校结束时间")
-    private LocalDateTime endTime;
-
-    @Schema(description = "在校经历")
-    private String content;
+public class AppAdminEduExpRespVO extends EduExpRespVO {
 
     @Schema(description = "更新时间")
     private LocalDateTime updateTime;

+ 16 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/job/AppAdminJobInterestedRespVO.java

@@ -0,0 +1,16 @@
+package com.citu.module.menduner.system.controller.appadmin.person.job;
+
+import com.citu.module.menduner.system.controller.base.job.JobInterestedRespVO;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Schema(description = "menduner - 求职意向 Response VO")
+@Data
+public class AppAdminJobInterestedRespVO extends JobInterestedRespVO {
+
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+
+}

+ 15 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/projectexp/AppAdminProjectExpRespVO.java

@@ -0,0 +1,15 @@
+package com.citu.module.menduner.system.controller.appadmin.person.projectexp;
+
+import com.citu.module.menduner.system.controller.base.projectexp.ProjectExpRespVO;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+@Schema(description = "menduner - 项目经历 Response VO")
+public class AppAdminProjectExpRespVO extends ProjectExpRespVO {
+
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+}

+ 17 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/skill/AppAdminPersonSkillRespVO.java

@@ -0,0 +1,17 @@
+package com.citu.module.menduner.system.controller.appadmin.person.skill;
+
+import com.citu.module.menduner.system.controller.base.person.skill.PersonSkillRespVO;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+
+@Data
+@Schema(description = "menduner - 人才技能 Response VO")
+public class AppAdminPersonSkillRespVO extends PersonSkillRespVO {
+
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+
+}

+ 16 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/trainexp/AppAdminTrainExpRespVO.java

@@ -0,0 +1,16 @@
+package com.citu.module.menduner.system.controller.appadmin.person.trainexp;
+
+import com.citu.module.menduner.system.controller.base.trainexp.TrainExpRespVO;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+@Schema(description = "menduner - 培训经历 Response VO")
+public class AppAdminTrainExpRespVO extends TrainExpRespVO {
+
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+
+}

+ 40 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/vo/AppAdminPersonDetailRespVO.java

@@ -0,0 +1,40 @@
+package com.citu.module.menduner.system.controller.appadmin.person.vo;
+
+import com.citu.module.menduner.system.controller.appadmin.person.eduexp.AppAdminEduExpRespVO;
+import com.citu.module.menduner.system.controller.appadmin.person.job.AppAdminJobInterestedRespVO;
+import com.citu.module.menduner.system.controller.appadmin.person.projectexp.AppAdminProjectExpRespVO;
+import com.citu.module.menduner.system.controller.appadmin.person.skill.AppAdminPersonSkillRespVO;
+import com.citu.module.menduner.system.controller.appadmin.person.trainexp.AppAdminTrainExpRespVO;
+import com.citu.module.menduner.system.controller.appadmin.person.workexp.AppAdminWorkExpRespVO;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+@Schema(description = "menduner - 人才详情信息 Response VO")
+@Data
+public class AppAdminPersonDetailRespVO {
+
+    @Schema(description = "人才信息")
+    private AppAdminPersonInfoRespVO person;
+
+    @Schema(description = "求职意向")
+    private List<AppAdminJobInterestedRespVO> interestedList;
+
+    @Schema(description = "人才技能")
+    private List<AppAdminPersonSkillRespVO> skillList;
+
+    @Schema(description = "人才教育经历")
+    private List<AppAdminEduExpRespVO> eduList;
+
+    @Schema(description = "人才工作经历")
+    private List<AppAdminWorkExpRespVO> workList;
+
+    @Schema(description = "人才项目经历")
+    private List<AppAdminProjectExpRespVO> projectList;
+
+    @Schema(description = "人才培训经历")
+    private List<AppAdminTrainExpRespVO> trainList;
+
+
+}

+ 16 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/vo/AppAdminPersonInfoRespVO.java

@@ -0,0 +1,16 @@
+package com.citu.module.menduner.system.controller.appadmin.person.vo;
+
+import com.citu.module.menduner.system.controller.base.person.info.PersonInfoRespVO;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Schema(description = "menduner - 人才信息-人才档案 Response VO")
+@Data
+public class AppAdminPersonInfoRespVO extends PersonInfoRespVO {
+
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+
+}

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/vo/AppAdminPersonSimpleRespVO.java

@@ -8,7 +8,7 @@ import lombok.Data;
 import java.time.LocalDateTime;
 import java.util.List;
 
-@Schema(description = "menduner - 人简易信息 Response VO")
+@Schema(description = "menduner - 人简易信息 Response VO")
 @Data
 public class AppAdminPersonSimpleRespVO {
 

+ 2 - 41
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/workexp/AppAdminWorkExpRespVO.java

@@ -1,53 +1,14 @@
 package com.citu.module.menduner.system.controller.appadmin.person.workexp;
 
+import com.citu.module.menduner.system.controller.base.workexp.WorkExpRespVO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
-import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 @Data
 @Schema(description = "menduner - 工作经历 Response VO")
-public class AppAdminWorkExpRespVO {
-
-    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "2363")
-    private Long id;
-
-    @Schema(description = "企业名称(没有选择系统企业时可自定义)", example = "张三")
-    private String enterpriseName;
-
-    @Schema(description = "所属行业", example = "21570")
-    private Long industryId;
-
-    @Schema(description = "所属部门", example = "李四")
-    private String deptName;
-
-    @Schema(description = "职位名称(没有选择系统职位时可自定义)", example = "赵六")
-    private String positionName;
-
-    @Schema(description = "在职开始日期")
-    private LocalDateTime startTime;
-
-    @Schema(description = "在职结束时间")
-    private LocalDateTime endTime;
-
-    @Schema(description = "工作内容")
-    private String content;
-
-    @Schema(description = "业绩")
-    private String achievement;
-
-    @Schema(description = "薪酬")
-    private BigDecimal pay;
-
-    @Schema(description = "薪酬类型(0月薪 1年薪)", example = "1")
-    private String payUnit;
-
-    @Schema(description = "货币类型", example = "2")
-    private String currencyType;
-
-    @Schema(description = "技能")
-    private String skillList;
+public class AppAdminWorkExpRespVO extends WorkExpRespVO {
 
     @Schema(description = "更新时间")
     private LocalDateTime updateTime;

+ 11 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/user/AppAdminUserController.java

@@ -3,7 +3,7 @@ package com.citu.module.menduner.system.controller.appadmin.user;
 import com.citu.framework.common.pojo.CommonResult;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.security.core.annotations.PreAuthenticated;
-import com.citu.module.menduner.system.controller.appadmin.enterprise.vo.AppAdminEnterpriseUserBindRespVO;
+import com.citu.module.menduner.system.controller.appadmin.user.vo.AppAdminUserRespVO;
 import com.citu.module.menduner.system.controller.appadmin.user.vo.AppAdminUserPageReqVO;
 import com.citu.module.menduner.system.controller.appadmin.user.vo.AppAdminUserSaveReqVO;
 import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
@@ -26,6 +26,14 @@ public class AppAdminUserController {
     @Resource
     private EnterpriseUserBindService service;
 
+
+    @PreAuthenticated
+    @GetMapping("/get")
+    @Operation(summary = "获取当前登录的企业用户信息")
+    public CommonResult<AppAdminUserRespVO> getEnterpriseUserBind() {
+        return success(service.getBindEnterprise());
+    }
+
     @PreAuthenticated
     @PostMapping("/save")
     @Operation(summary = "保存用户信息")
@@ -42,7 +50,7 @@ public class AppAdminUserController {
 
     @PreAuthenticated
     @PostMapping("/enable")
-    @Operation(summary = "启账户")
+    @Operation(summary = "启账户")
     public CommonResult<Boolean> enable(@RequestParam("id") Long id) {
         return success(service.enable(id));
     }
@@ -51,7 +59,7 @@ public class AppAdminUserController {
     @PreAuthenticated
     @GetMapping("/page")
     @Operation(summary = "获取用户列表分页数据")
-    public CommonResult<PageResult<AppAdminEnterpriseUserBindRespVO>> selectPage(
+    public CommonResult<PageResult<AppAdminUserRespVO>> selectPage(
             @Valid AppAdminUserPageReqVO reqVO) {
         return success(service.selectPage(reqVO));
     }

+ 12 - 4
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/enterprise/vo/AppAdminEnterpriseUserBindRespVO.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/user/vo/AppAdminUserRespVO.java

@@ -1,4 +1,4 @@
-package com.citu.module.menduner.system.controller.appadmin.enterprise.vo;
+package com.citu.module.menduner.system.controller.appadmin.user.vo;
 
 import com.citu.module.menduner.system.controller.base.enterprise.bind.EnterpriseUserBindSimpleRespVO;
 import io.swagger.v3.oas.annotations.media.Schema;
@@ -8,14 +8,22 @@ import java.time.LocalDateTime;
 
 @Schema(description = "menduner - 企业用户 Response VO")
 @Data
-public class AppAdminEnterpriseUserBindRespVO extends EnterpriseUserBindSimpleRespVO {
+public class AppAdminUserRespVO extends EnterpriseUserBindSimpleRespVO {
+
+
+    @Schema(description = "联系手机号")
+    private String phone;
+
+    @Schema(description = "用户邮箱")
+    private String email;
 
     @Schema(description = "企业logo地址", example = "https://www.menduner.com/static/img/loginlogo2.7924c12.png")
     private String logoUrl;
 
+    @Schema(description = "用户类型(0普通企业用户 1 企业管理员)", example = "2")
+    private String userType;
+
     @Schema(description = "更新时间")
     private LocalDateTime updateTime;
 
-    @Schema(description = "用户类型(0普通企业用户 1 企业管理员)", example = "2")
-    private String userType;
 }

+ 2 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/person/info/PersonInfoPageReqVO.java

@@ -12,7 +12,7 @@ import java.time.LocalDateTime;
 import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
 import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
 
-@Schema(description = "人才信息-人档案分页 Request VO")
+@Schema(description = "人才信息-人档案分页 Request VO")
 @Data
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
@@ -59,7 +59,7 @@ public class PersonInfoPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     private LocalDateTime firstWorkTime;
 
-    @Schema(description = "人优势")
+    @Schema(description = "人优势")
     private String advantage;
 
     @Schema(description = "工作经验", example = "1")

+ 3 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/person/info/PersonInfoRespVO.java

@@ -7,7 +7,7 @@ import lombok.Data;
 
 import java.time.LocalDateTime;
 
-@Schema(description = "人才信息-人档案 Response VO")
+@Schema(description = "人才信息-人档案 Response VO")
 @Data
 @ExcelIgnoreUnannotated
 public class PersonInfoRespVO {
@@ -68,8 +68,8 @@ public class PersonInfoRespVO {
     @ExcelProperty("首次工作时间")
     private LocalDateTime firstWorkTime;
 
-    @Schema(description = "人优势")
-    @ExcelProperty("人优势")
+    @Schema(description = "人优势")
+    @ExcelProperty("人优势")
     private String advantage;
 
     @Schema(description = "工作经验", example = "1")

+ 2 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/person/info/PersonInfoSaveReqVO.java

@@ -8,7 +8,7 @@ import java.time.LocalDateTime;
 
 import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
 
-@Schema(description = "人才信息-人档案新增/修改 Request VO")
+@Schema(description = "人才信息-人档案新增/修改 Request VO")
 @Data
 public class PersonInfoSaveReqVO {
 
@@ -56,7 +56,7 @@ public class PersonInfoSaveReqVO {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     private LocalDateTime firstWorkTime;
 
-    @Schema(description = "人优势")
+    @Schema(description = "人优势")
     private String advantage;
 
     @Schema(description = "工作经验", example = "1")

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/convert/EduExpConvert.java

@@ -1,6 +1,7 @@
 package com.citu.module.menduner.system.convert;
 
 import com.citu.module.menduner.system.controller.app.person.eduexp.AppEduExpRespVO;
+import com.citu.module.menduner.system.controller.appadmin.person.eduexp.AppAdminEduExpRespVO;
 import com.citu.module.menduner.system.dal.dataobject.eduexp.EduExpDO;
 import org.mapstruct.Mapper;
 import org.mapstruct.factory.Mappers;
@@ -13,4 +14,6 @@ public interface EduExpConvert {
     EduExpConvert INSTANCE = Mappers.getMapper(EduExpConvert.class);
 
     List<AppEduExpRespVO> convertList(List<EduExpDO> list);
+
+    List<AppAdminEduExpRespVO> convertList2(List<EduExpDO> list);
 }

+ 2 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/convert/EnterpriseConvert.java

@@ -6,7 +6,7 @@ import com.citu.module.menduner.system.controller.app.enterprise.vo.apply.AppEnt
 import com.citu.module.menduner.system.controller.app.enterprise.vo.apply.AppEnterpriseUserApplyRespVO;
 import com.citu.module.menduner.system.controller.app.enterprise.vo.register.AppEnterpriseRegisterReqVO;
 import com.citu.module.menduner.system.controller.app.enterprise.vo.register.AppEnterpriseRegisterRespVO;
-import com.citu.module.menduner.system.controller.appadmin.enterprise.vo.AppAdminEnterpriseUserBindRespVO;
+import com.citu.module.menduner.system.controller.appadmin.user.vo.AppAdminUserRespVO;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.*;
 import com.citu.module.menduner.system.dal.es.job.ESJobAdvertisedMergeDO;
 import org.mapstruct.Mapper;
@@ -33,7 +33,7 @@ public interface EnterpriseConvert {
 
     EnterpriseRegisterDO convert6(AppEnterpriseRegisterReqVO bean);
 
-    AppAdminEnterpriseUserBindRespVO convert7(EnterpriseUserBindDO bean);
+    AppAdminUserRespVO convert7(EnterpriseUserBindDO bean);
 
     AppEnterpriseRegisterRespVO convert8(EnterpriseRegisterDO bean);
 

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/convert/JobInterestedConvert.java

@@ -2,6 +2,7 @@ package com.citu.module.menduner.system.convert;
 
 import com.citu.module.menduner.system.controller.app.job.vo.AppJobAdvertisedDetailRespVO;
 import com.citu.module.menduner.system.controller.app.person.job.AppJobInterestedRespVO;
+import com.citu.module.menduner.system.controller.appadmin.person.job.AppAdminJobInterestedRespVO;
 import com.citu.module.menduner.system.dal.dataobject.job.JobInterestedDO;
 import org.mapstruct.Mapper;
 import org.mapstruct.factory.Mappers;
@@ -16,4 +17,6 @@ public interface JobInterestedConvert  {
     List<AppJobInterestedRespVO> convertList(List<JobInterestedDO> list);
 
     AppJobAdvertisedDetailRespVO convert(JobInterestedDO bean);
+
+    List<AppAdminJobInterestedRespVO> convertList2(List<JobInterestedDO> list);
 }

+ 11 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/convert/PersonConvert.java

@@ -1,6 +1,10 @@
 package com.citu.module.menduner.system.convert;
 
-import com.citu.module.menduner.system.controller.app.person.vo.AppPersonSkillRespVO;
+import com.citu.module.menduner.system.controller.app.person.skill.AppPersonSkillRespVO;
+import com.citu.module.menduner.system.controller.app.person.vo.AppPersonInfoRespVO;
+import com.citu.module.menduner.system.controller.appadmin.person.skill.AppAdminPersonSkillRespVO;
+import com.citu.module.menduner.system.controller.appadmin.person.vo.AppAdminPersonInfoRespVO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonSkillDO;
 import org.mapstruct.Mapper;
 import org.mapstruct.factory.Mappers;
@@ -14,4 +18,10 @@ public interface PersonConvert {
 
     List<AppPersonSkillRespVO> convertList(List<PersonSkillDO> list);
 
+    List<AppAdminPersonSkillRespVO> convertList2(List<PersonSkillDO> list);
+
+    AppPersonInfoRespVO convert(PersonInfoDO bean);
+
+    AppAdminPersonInfoRespVO convert2(PersonInfoDO bean);
+
 }

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/convert/ProjectExpConvert.java

@@ -1,6 +1,7 @@
 package com.citu.module.menduner.system.convert;
 
 import com.citu.module.menduner.system.controller.app.person.projectexp.AppProjectExpRespVO;
+import com.citu.module.menduner.system.controller.appadmin.person.projectexp.AppAdminProjectExpRespVO;
 import com.citu.module.menduner.system.dal.dataobject.projectexp.ProjectExpDO;
 import org.mapstruct.Mapper;
 import org.mapstruct.factory.Mappers;
@@ -13,4 +14,6 @@ public interface ProjectExpConvert {
     ProjectExpConvert INSTANCE = Mappers.getMapper(ProjectExpConvert.class);
 
     List<AppProjectExpRespVO> convertList(List<ProjectExpDO> list);
+
+    List<AppAdminProjectExpRespVO> convertList2(List<ProjectExpDO> list);
 }

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/convert/TrainExpConvert.java

@@ -1,6 +1,7 @@
 package com.citu.module.menduner.system.convert;
 
 import com.citu.module.menduner.system.controller.app.person.trainexp.AppTrainExpRespVO;
+import com.citu.module.menduner.system.controller.appadmin.person.trainexp.AppAdminTrainExpRespVO;
 import com.citu.module.menduner.system.dal.dataobject.trainexp.TrainExpDO;
 import org.mapstruct.Mapper;
 import org.mapstruct.factory.Mappers;
@@ -13,4 +14,6 @@ public interface TrainExpConvert {
     TrainExpConvert INSTANCE = Mappers.getMapper(TrainExpConvert.class);
 
     List<AppTrainExpRespVO> convertList(List<TrainExpDO> list);
+
+    List<AppAdminTrainExpRespVO> convertList2(List<TrainExpDO> list);
 }

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/convert/WorkExpConvert.java

@@ -1,6 +1,7 @@
 package com.citu.module.menduner.system.convert;
 
 import com.citu.module.menduner.system.controller.app.person.workexp.AppWorkExpRespVO;
+import com.citu.module.menduner.system.controller.appadmin.person.workexp.AppAdminWorkExpRespVO;
 import com.citu.module.menduner.system.dal.dataobject.workexp.WorkExpDO;
 import org.mapstruct.Mapper;
 import org.mapstruct.factory.Mappers;
@@ -13,4 +14,6 @@ public interface WorkExpConvert {
     WorkExpConvert INSTANCE = Mappers.getMapper(WorkExpConvert.class);
 
     List<AppWorkExpRespVO> convertList(List<WorkExpDO> list);
+
+    List<AppAdminWorkExpRespVO> convertList2(List<WorkExpDO> list);
 }

+ 2 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/person/PersonInfoDO.java

@@ -9,7 +9,7 @@ import lombok.*;
 import java.time.LocalDateTime;
 
 /**
- * 人才信息-人档案 DO
+ * 人才信息-人档案 DO
  *
  * @author Rayson
  */
@@ -81,7 +81,7 @@ public class PersonInfoDO extends TenantBaseDO {
      */
     private LocalDateTime firstWorkTime;
     /**
-     * 人优势
+     * 人优势
      */
     private String advantage;
     /**

+ 11 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/es/job/ESJobAdvertisedMergeDO.java

@@ -4,11 +4,13 @@ package com.citu.module.menduner.system.dal.es.job;
 import com.citu.framework.es.core.dataobject.ESBaseDO;
 import com.citu.module.menduner.system.enums.FieldAnalyzer;
 import lombok.Data;
+import org.springframework.data.elasticsearch.annotations.DateFormat;
 import org.springframework.data.elasticsearch.annotations.Document;
 import org.springframework.data.elasticsearch.annotations.Field;
 import org.springframework.data.elasticsearch.annotations.FieldType;
 
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -87,6 +89,15 @@ public class ESJobAdvertisedMergeDO extends ESBaseDO {
      */
     @Field(analyzer = FieldAnalyzer.IK_MAX_WORD, type = FieldType.Text)
     private String requirement;
+    /**
+     * 过期时间
+     */
+    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime expireTime;
+    /**
+     * 是否置顶
+     */
+    private Boolean top;
     /**
      * 工作地址
      */

+ 8 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/eduexp/EduExpMapper.java

@@ -5,8 +5,11 @@ import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.citu.framework.mybatis.core.mapper.BaseMapperX;
 import com.citu.module.menduner.system.controller.base.eduexp.EduExpPageReqVO;
 import com.citu.module.menduner.system.dal.dataobject.eduexp.EduExpDO;
+import com.citu.module.menduner.system.dal.dataobject.job.JobInterestedDO;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 /**
  * 教育经历 Mapper
  *
@@ -41,4 +44,9 @@ public interface EduExpMapper extends BaseMapperX<EduExpDO> {
                 .eqIfPresent(EduExpDO::getId, id)
                 .eqIfPresent(EduExpDO::getUserId, userId));
     }
+
+    default List<EduExpDO> selectByUserIdList(Long userId) {
+        return selectList(new LambdaQueryWrapperX<EduExpDO>()
+                .eqIfPresent(EduExpDO::getUserId, userId));
+    }
 }

+ 6 - 8
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/enterprise/EnterpriseUserBindMapper.java

@@ -5,11 +5,9 @@ import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.mybatis.core.mapper.BaseMapperX;
 import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.citu.framework.mybatis.core.query.MPJLambdaWrapperX;
-import com.citu.module.menduner.system.controller.app.enterprise.vo.AppEnterpriseSimpleRespVO;
-import com.citu.module.menduner.system.controller.appadmin.enterprise.vo.AppAdminEnterpriseUserBindRespVO;
+import com.citu.module.menduner.system.controller.appadmin.user.vo.AppAdminUserRespVO;
 import com.citu.module.menduner.system.controller.appadmin.user.vo.AppAdminUserPageReqVO;
 import com.citu.module.menduner.system.controller.base.enterprise.bind.EnterpriseUserBindPageReqVO;
-import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseBusinessDO;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseUserBindDO;
 import com.citu.module.menduner.system.enums.MendunerStatusEnum;
@@ -64,12 +62,12 @@ public interface EnterpriseUserBindMapper extends BaseMapperX<EnterpriseUserBind
     }
 
 
-    default PageResult<AppAdminEnterpriseUserBindRespVO> selectPage(AppAdminUserPageReqVO reqVO, Long enterpriseId) {
+    default PageResult<AppAdminUserRespVO> selectPage(AppAdminUserPageReqVO reqVO, Long enterpriseId) {
         MPJLambdaWrapperX<EnterpriseUserBindDO> wrapper = new MPJLambdaWrapperX<>();
         wrapper.selectAll(EnterpriseUserBindDO.class);
-        wrapper.selectAs(EnterpriseDO::getId,AppAdminEnterpriseUserBindRespVO::getEnterpriseId);
-        wrapper.selectAs(EnterpriseDO::getName,AppAdminEnterpriseUserBindRespVO::getEnterpriseName);
-        wrapper.selectAs(EnterpriseDO::getLogoUrl,AppAdminEnterpriseUserBindRespVO::getLogoUrl);
+        wrapper.selectAs(EnterpriseDO::getId, AppAdminUserRespVO::getEnterpriseId);
+        wrapper.selectAs(EnterpriseDO::getName, AppAdminUserRespVO::getEnterpriseName);
+        wrapper.selectAs(EnterpriseDO::getLogoUrl, AppAdminUserRespVO::getLogoUrl);
         wrapper.innerJoin(EnterpriseDO.class, EnterpriseDO::getId, EnterpriseUserBindDO::getEnterpriseId);
         wrapper.eq(EnterpriseDO::getId, enterpriseId);
         wrapper.eq(EnterpriseUserBindDO::getEnterpriseId, enterpriseId);
@@ -79,7 +77,7 @@ public interface EnterpriseUserBindMapper extends BaseMapperX<EnterpriseUserBind
         wrapper.eqIfPresent(EnterpriseUserBindDO::getSex, reqVO.getSex());
         wrapper.eqIfPresent(EnterpriseUserBindDO::getStatus, reqVO.getStatus());
         wrapper.orderByDesc(EnterpriseUserBindDO::getUserType, EnterpriseUserBindDO::getUpdateTime);
-        return selectJoinPage(reqVO, AppAdminEnterpriseUserBindRespVO.class, wrapper);
+        return selectJoinPage(reqVO, AppAdminUserRespVO.class, wrapper);
     }
 
 }

+ 0 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/job/JobCvRelMapper.java

@@ -6,12 +6,9 @@ import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.citu.framework.mybatis.core.query.MPJLambdaWrapperX;
 import com.citu.module.menduner.system.controller.appadmin.cv.AppAdminJobCvRelPageReqVO;
 import com.citu.module.menduner.system.controller.appadmin.cv.AppAdminJobCvRelRespVO;
-import com.citu.module.menduner.system.controller.appadmin.person.vo.AppAdminPersonSimpleRespVO;
 import com.citu.module.menduner.system.controller.base.job.JobCvRelPageReqVO;
 import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
 import com.citu.module.menduner.system.dal.dataobject.job.JobCvRelDO;
-import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
-import com.citu.module.menduner.system.dal.dataobject.workexp.WorkExpDO;
 import com.citu.module.menduner.system.enums.MendunerStatusEnum;
 import org.apache.ibatis.annotations.Mapper;
 

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

@@ -1,12 +1,14 @@
 package com.citu.module.menduner.system.dal.mysql.job;
 
 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.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.citu.module.menduner.system.controller.base.job.JobInterestedPageReqVO;
 import com.citu.module.menduner.system.dal.dataobject.job.JobInterestedDO;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 /**
  * 求职意向 Mapper
  *
@@ -35,10 +37,14 @@ public interface JobInterestedMapper extends BaseMapperX<JobInterestedDO> {
                 .eqIfPresent(JobInterestedDO::getUserId, userId));
     }
 
-    default int deleteByIdAndUserId(Long id, Long userId){
+    default int deleteByIdAndUserId(Long id, Long userId) {
         return delete(new LambdaQueryWrapperX<JobInterestedDO>()
                 .eqIfPresent(JobInterestedDO::getId, id)
                 .eqIfPresent(JobInterestedDO::getUserId, userId));
     }
 
+    default List<JobInterestedDO> selectByUserIdList(Long userId) {
+        return selectList(new LambdaQueryWrapperX<JobInterestedDO>()
+                .eqIfPresent(JobInterestedDO::getUserId, userId));
+    }
 }

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

@@ -4,7 +4,7 @@ import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.mybatis.core.mapper.BaseMapperX;
 import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.citu.module.menduner.system.controller.base.person.record.PersonBrowseRecordPageReqVO;
-import com.citu.module.menduner.system.controller.app.person.vo.AppPersonBrowseRecordPageReqVO;
+import com.citu.module.menduner.system.controller.app.person.record.AppPersonBrowseRecordPageReqVO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonBrowseRecordDO;
 import org.apache.ibatis.annotations.Mapper;
 

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

@@ -13,7 +13,7 @@ import com.citu.module.menduner.system.dal.dataobject.workexp.WorkExpDO;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
- * 人才信息-人档案 Mapper
+ * 人才信息-人档案 Mapper
  *
  * @author Rayson
  */

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

@@ -5,8 +5,11 @@ import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.citu.framework.mybatis.core.mapper.BaseMapperX;
 import com.citu.module.menduner.system.controller.base.person.skill.PersonSkillPageReqVO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonSkillDO;
+import com.citu.module.menduner.system.dal.dataobject.trainexp.TrainExpDO;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 /**
  * 人才技能 Mapper
  *
@@ -49,4 +52,9 @@ public interface PersonSkillMapper extends BaseMapperX<PersonSkillDO> {
                 .eqIfPresent(PersonSkillDO::getSkillId, skillId)) > 0;
     }
 
+    default List<PersonSkillDO> selectByUserIdList(Long userId) {
+        return selectList(new LambdaQueryWrapperX<PersonSkillDO>()
+                .eqIfPresent(PersonSkillDO::getUserId, userId));
+    }
+
 }

+ 8 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/projectexp/ProjectExpMapper.java

@@ -5,8 +5,11 @@ import com.citu.framework.mybatis.core.mapper.BaseMapperX;
 import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.citu.module.menduner.system.controller.base.projectexp.ProjectExpPageReqVO;
 import com.citu.module.menduner.system.dal.dataobject.projectexp.ProjectExpDO;
+import com.citu.module.menduner.system.dal.dataobject.workexp.WorkExpDO;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 /**
  * 门墩儿-项目经历 Mapper
  *
@@ -38,4 +41,9 @@ public interface ProjectExpMapper extends BaseMapperX<ProjectExpDO> {
                 .eqIfPresent(ProjectExpDO::getUserId, userId));
     }
 
+    default List<ProjectExpDO> selectByUserIdList(Long userId) {
+        return selectList(new LambdaQueryWrapperX<ProjectExpDO>()
+                .eqIfPresent(ProjectExpDO::getUserId, userId));
+    }
+
 }

+ 8 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/trainexp/TrainExpMapper.java

@@ -4,9 +4,12 @@ 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.base.trainexp.TrainExpPageReqVO;
+import com.citu.module.menduner.system.dal.dataobject.projectexp.ProjectExpDO;
 import com.citu.module.menduner.system.dal.dataobject.trainexp.TrainExpDO;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 /**
  * 门墩儿-培训经历 Mapper
  *
@@ -39,4 +42,9 @@ public interface TrainExpMapper extends BaseMapperX<TrainExpDO> {
                 .eqIfPresent(TrainExpDO::getUserId, userId));
     }
 
+    default List<TrainExpDO> selectByUserIdList(Long userId) {
+        return selectList(new LambdaQueryWrapperX<TrainExpDO>()
+                .eqIfPresent(TrainExpDO::getUserId, userId));
+    }
+
 }

+ 2 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/workexp/WorkExpMapper.java

@@ -4,6 +4,7 @@ import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.mybatis.core.mapper.BaseMapperX;
 import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.citu.module.menduner.system.controller.base.workexp.WorkExpPageReqVO;
+import com.citu.module.menduner.system.dal.dataobject.eduexp.EduExpDO;
 import com.citu.module.menduner.system.dal.dataobject.workexp.WorkExpDO;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -49,4 +50,5 @@ public interface WorkExpMapper extends BaseMapperX<WorkExpDO> {
                 .eqIfPresent(WorkExpDO::getId, id)
                 .eqIfPresent(WorkExpDO::getUserId, userId));
     }
+
 }

+ 94 - 6
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/consumer/ESConsumer.java

@@ -1,23 +1,111 @@
 package com.citu.module.menduner.system.mq.consumer;
 
-import com.citu.module.menduner.system.mq.message.*;
+import com.citu.module.menduner.system.convert.JobAdvertisedConvert;
+import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
+import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
+import com.citu.module.menduner.system.dal.es.job.ESJobAdvertisedMergeDO;
+import com.citu.module.menduner.system.dal.mysql.enterprise.EnterpriseMapper;
+import com.citu.module.menduner.system.dal.mysql.job.JobAdvertisedMapper;
+import com.citu.module.menduner.system.dal.repository.ESJobAdvertisedMergeRepository;
+import com.citu.module.menduner.system.mq.message.ESJobAdvertisedMergeSendMessage;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.context.event.EventListener;
 import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.Optional;
 
 /**
- * @author Rayson
- * @description ESConsumer
- * @create 2024/5/29 下午5:12
+ * es 消费
  **/
+@Slf4j
+@Component
 public class ESConsumer {
 
+    @Resource
+    private ESJobAdvertisedMergeRepository repository;
+
+    @Resource
+    private EnterpriseMapper enterpriseMapper;
+
+    @Resource
+    private JobAdvertisedMapper jobAdvertisedMapper;
+
 
     @Async
     @EventListener
-    public void onMessage(ESJobAdvertisedMergeSendMessage message) {
-        // 更新es数据
+    public synchronized void onMessage(ESJobAdvertisedMergeSendMessage message) {
+
+        switch (message.getOperate()) {
+            case SYNC_ALL:
+                break;
+            case ADD:
+//                repository.save(message.getData());
+                break;
+            case UPDATE:
+//                repository.save(message.getData());
+                jobUpdate(message.getId());
+                break;
+            case DELETE:
+//                repository.deleteById(message.getId());
+                break;
+            case ENTERPRISE_ADD:
+//                repository.save(message.getData());
+                break;
+            case ENTERPRISE_UPDATE:
+//                repository.save(message.getData());
+                break;
+            case ENTERPRISE_DELETE:
+//                repository.deleteById(message.getId());
+                break;
+            default:
+                break;
+        }
         // 删除
+        Optional<ESJobAdvertisedMergeDO> mergeDO = repository.findById(message.getId());
+
+    }
+
+    public void jobUpdate(Long id) {
+        Optional<ESJobAdvertisedMergeDO> mergeOptional = repository.findById(id);
+        if (!mergeOptional.isPresent()) {
+            log.error("ES找不到招聘职位信息 {} ", id);
+            return;
+        }
+        ESJobAdvertisedMergeDO merge = mergeOptional.get();
+        JobAdvertisedDO job = jobAdvertisedMapper.selectById(id);
+        if (null == job) {
+            log.error("找不到招聘职位信息 {} ", id);
+            return;
+        }
+        EnterpriseDO enterpriseDO = enterpriseMapper.selectById(job.getEnterpriseId());
+
+        repository.save(build(job, enterpriseDO));
+
+    }
+
+    public ESJobAdvertisedMergeDO build(JobAdvertisedDO job, EnterpriseDO enterpriseDO) {
+
+        ESJobAdvertisedMergeDO mergeDO = JobAdvertisedConvert.INSTANCE.convert2(job);
+
+        mergeDO.setEnterpriseName(enterpriseDO.getName());
+        mergeDO.setEnterpriseAnotherName(enterpriseDO.getAnotherName());
+        mergeDO.setIndustryId(enterpriseDO.getIndustryId());
+        mergeDO.setLogoUrl(enterpriseDO.getLogoUrl());
+        mergeDO.setScale(enterpriseDO.getScale());
+        mergeDO.setWebsite(enterpriseDO.getWebsite());
+        mergeDO.setFinancingStatus(enterpriseDO.getFinancingStatus());
+        mergeDO.setPhone(enterpriseDO.getPhone());
+        mergeDO.setDevelopHistory(enterpriseDO.getDevelopHistory());
+        mergeDO.setContact(enterpriseDO.getContact());
+        mergeDO.setWelfareList(enterpriseDO.getWelfareList());
+        mergeDO.setAlbumList(enterpriseDO.getAlbumList());
+        mergeDO.setWorkTime(enterpriseDO.getWorkTime());
+        mergeDO.setReceivedHonors(enterpriseDO.getReceivedHonors());
+        mergeDO.setIntroduce(enterpriseDO.getIntroduce());
 
+        return mergeDO;
     }
 
 }

+ 13 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/message/ESJobAdvertisedMergeSendMessage.java

@@ -1,12 +1,23 @@
 package com.citu.module.menduner.system.mq.message;
 
 
-import com.citu.module.menduner.system.dal.es.job.ESJobAdvertisedMergeDO;
+import com.citu.module.menduner.system.util.ESOperateEnum;
 import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 
 @Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
 @Schema(description = "ES 招聘职位")
-public class ESJobAdvertisedMergeSendMessage extends ESJobAdvertisedMergeDO {
+public class ESJobAdvertisedMergeSendMessage {
+
+    private Long id;
+
+    private ESOperateEnum operate;
+
 }

+ 29 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/producer/ESProducer.java

@@ -0,0 +1,29 @@
+package com.citu.module.menduner.system.mq.producer;
+
+import com.citu.module.menduner.system.mq.message.ESJobAdvertisedMergeSendMessage;
+import com.citu.module.menduner.system.util.ESOperateEnum;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.ApplicationContext;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+
+/**
+ * es 数据同步 Producer
+ *
+ * @author Rayson
+ */
+@Slf4j
+@Component
+public class ESProducer {
+
+    @Resource
+    private ApplicationContext applicationContext;
+
+    public void send(Long id, ESOperateEnum operateEnum) {
+        applicationContext.publishEvent(ESJobAdvertisedMergeSendMessage.builder()
+                .id(id)
+                .operate(operateEnum)
+                .build());
+    }
+}

+ 4 - 4
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/bind/EnterpriseUserBindService.java

@@ -2,7 +2,7 @@ package com.citu.module.menduner.system.service.enterprise.bind;
 
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.module.menduner.system.controller.app.enterprise.vo.AppEnterpriseUserBindRespVO;
-import com.citu.module.menduner.system.controller.appadmin.enterprise.vo.AppAdminEnterpriseUserBindRespVO;
+import com.citu.module.menduner.system.controller.appadmin.user.vo.AppAdminUserRespVO;
 import com.citu.module.menduner.system.controller.appadmin.user.vo.AppAdminUserPageReqVO;
 import com.citu.module.menduner.system.controller.appadmin.user.vo.AppAdminUserSaveReqVO;
 import com.citu.module.menduner.system.controller.base.contact.AppEnterpriseUserContactRespVO;
@@ -109,7 +109,7 @@ public interface EnterpriseUserBindService {
     /**
      * 获取当前登录用户绑定的企业
      **/
-    AppAdminEnterpriseUserBindRespVO getBindEnterprise();
+    AppAdminUserRespVO getBindEnterprise();
 
     /**
      * 保存企业用户信息
@@ -124,7 +124,7 @@ public interface EnterpriseUserBindService {
     boolean disable(Long id);
 
     /**
-     * 开启账号
+     * 启用账户
      * @return id
      **/
     boolean enable(Long id);
@@ -133,6 +133,6 @@ public interface EnterpriseUserBindService {
      * 获取用户列表分页数据
      * @return 分页数据
      **/
-    PageResult<AppAdminEnterpriseUserBindRespVO> selectPage(AppAdminUserPageReqVO reqVO);
+    PageResult<AppAdminUserRespVO> selectPage(AppAdminUserPageReqVO reqVO);
 
 }

+ 4 - 4
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/bind/EnterpriseUserBindServiceImpl.java

@@ -7,7 +7,7 @@ import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.framework.security.core.LoginUser;
 import com.citu.module.menduner.system.controller.app.enterprise.vo.AppEnterpriseUserBindRespVO;
-import com.citu.module.menduner.system.controller.appadmin.enterprise.vo.AppAdminEnterpriseUserBindRespVO;
+import com.citu.module.menduner.system.controller.appadmin.user.vo.AppAdminUserRespVO;
 import com.citu.module.menduner.system.controller.appadmin.user.vo.AppAdminUserPageReqVO;
 import com.citu.module.menduner.system.controller.appadmin.user.vo.AppAdminUserSaveReqVO;
 import com.citu.module.menduner.system.controller.base.contact.AppEnterpriseUserContactRespVO;
@@ -184,7 +184,7 @@ public class EnterpriseUserBindServiceImpl implements EnterpriseUserBindService
     }
 
     @Override
-    public AppAdminEnterpriseUserBindRespVO getBindEnterprise() {
+    public AppAdminUserRespVO getBindEnterprise() {
         LoginUser loginUser = validAppAdmin();
 
         EnterpriseUserBindDO userBindDO = enterpriseUserBindMapper
@@ -195,7 +195,7 @@ public class EnterpriseUserBindServiceImpl implements EnterpriseUserBindService
         }
 
         // 设置企业的信息
-        AppAdminEnterpriseUserBindRespVO resp = EnterpriseConvert.INSTANCE.convert7(userBindDO);
+        AppAdminUserRespVO resp = EnterpriseConvert.INSTANCE.convert7(userBindDO);
         EnterpriseDO enterprise = enterpriseMapper.selectById(userBindDO.getEnterpriseId());
         if (null != enterprise) {
             resp.setEnterpriseId(enterprise.getId());
@@ -274,7 +274,7 @@ public class EnterpriseUserBindServiceImpl implements EnterpriseUserBindService
     }
 
     @Override
-    public PageResult<AppAdminEnterpriseUserBindRespVO> selectPage(AppAdminUserPageReqVO reqVO) {
+    public PageResult<AppAdminUserRespVO> selectPage(AppAdminUserPageReqVO reqVO) {
         LoginUser loginUser = validAppAdmin();
         Long enterpriseId = Long.valueOf(loginUser.getInfo().get(LoginUser.INFO_KEY_DATA_ID));
         return enterpriseUserBindMapper.selectPage(reqVO, enterpriseId);

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

@@ -22,8 +22,10 @@ import com.citu.module.menduner.system.convert.JobAdvertisedConvert;
 import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
 import com.citu.module.menduner.system.dal.mysql.job.JobAdvertisedMapper;
 import com.citu.module.menduner.system.enums.MendunerStatusEnum;
+import com.citu.module.menduner.system.mq.producer.ESProducer;
 import com.citu.module.menduner.system.service.enterprise.EnterpriseService;
 import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
+import com.citu.module.menduner.system.util.ESOperateEnum;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
@@ -31,7 +33,10 @@ import org.springframework.validation.annotation.Validated;
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 import static com.citu.framework.common.exception.enums.GlobalErrorCodeConstants.FORBIDDEN;
@@ -60,6 +65,9 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
     @Resource
     private EnterpriseUserBindService userBindService;
 
+    @Resource
+    private ESProducer esProducer;
+
 
     @Override
     public Long createJobAdvertised(JobAdvertisedSaveReqVO createReqVO) {
@@ -400,6 +408,7 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
             job.setStatus(MendunerStatusEnum.ENABLE.getStatus());
 
             jobAdvertisedMapper.insert(job);
+            esProducer.send(job.getId(), ESOperateEnum.ADD);
 
         } else {
             // 修改
@@ -412,8 +421,7 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
             }
             job.setId(entity.getId());
             jobAdvertisedMapper.updateById(job);
-
-
+            esProducer.send(job.getId(), ESOperateEnum.UPDATE);
         }
         return true;
     }

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

@@ -9,7 +9,6 @@ import com.citu.module.menduner.system.controller.appadmin.cv.AppAdminJobCvRelPa
 import com.citu.module.menduner.system.controller.appadmin.cv.AppAdminJobCvRelRespVO;
 import com.citu.module.menduner.system.controller.appadmin.job.vo.AppAdminJobPageReqVO;
 import com.citu.module.menduner.system.controller.appadmin.job.vo.AppAdminJobRespVO;
-import com.citu.module.menduner.system.controller.appadmin.person.vo.AppAdminPersonSimpleRespVO;
 
 /**
  * 招聘职位相关的整合层

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

@@ -30,10 +30,13 @@ import com.citu.module.menduner.system.service.area.AreaService;
 import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
 import com.citu.module.menduner.system.service.person.favorite.PersonJobFavoriteService;
 import com.citu.module.menduner.system.service.person.subscribe.PersonEnterpriseSubscribeService;
-import com.citu.module.menduner.system.util.EsQueryBuildUtils;
+import com.citu.module.menduner.system.util.ESQueryBuildUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.elasticsearch.index.query.BoolQueryBuilder;
 import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder;
+import org.elasticsearch.search.sort.SortBuilder;
+import org.elasticsearch.search.sort.SortBuilders;
+import org.elasticsearch.search.sort.SortOrder;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
@@ -174,8 +177,7 @@ public class JobIntegrationServiceImpl implements JobIntegrationService {
                 reqVO.setAreaIds(areaIdList);
             }
         }
-        BoolQueryBuilder queryBuilder = EsQueryBuildUtils.jobSearch(reqVO);
-
+        BoolQueryBuilder queryBuilder = ESQueryBuildUtils.jobSearch(reqVO);
         NativeSearchQuery searchQuery = new NativeSearchQueryBuilder()
                 .withQuery(queryBuilder)
                 // 高亮
@@ -189,6 +191,12 @@ public class JobIntegrationServiceImpl implements JobIntegrationService {
                         .postTags("</span>")
                         .numOfFragments(10000)
                 )
+                .withSorts(
+                        new SortBuilder[]{
+                                SortBuilders.fieldSort("top").order(SortOrder.DESC),
+                                SortBuilders.fieldSort("updateTime").order(SortOrder.DESC)
+                        }
+                )
                 .withPageable(pageable)
                 .build();
         SearchHits<ESJobAdvertisedMergeDO> search = elasticsearchTemplate.search(searchQuery, ESJobAdvertisedMergeDO.class);

+ 9 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/PersonIntegrationService.java

@@ -1,9 +1,18 @@
 package com.citu.module.menduner.system.service.person;
 
+import com.citu.module.menduner.system.controller.appadmin.person.vo.AppAdminPersonDetailRespVO;
+
 /**
  * 人才信息相关的整合层
  * 解决三层架构带来的业务循环依赖设计
  * 人才信息相关业务涉及三种及以上关系的在该处统一处理
  **/
 public interface PersonIntegrationService {
+
+    /**
+     * 根据id获取人才在线简历详情
+     * @param userId 用户id
+     * @return AppAdminPersonDetailRespVO
+     **/
+    AppAdminPersonDetailRespVO detail(Long userId);
 }

+ 77 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/PersonIntegrationServiceImpl.java

@@ -0,0 +1,77 @@
+package com.citu.module.menduner.system.service.person;
+
+import com.citu.module.menduner.system.controller.appadmin.person.vo.AppAdminPersonDetailRespVO;
+import com.citu.module.menduner.system.convert.*;
+import com.citu.module.menduner.system.dal.mysql.eduexp.EduExpMapper;
+import com.citu.module.menduner.system.dal.mysql.job.JobInterestedMapper;
+import com.citu.module.menduner.system.dal.mysql.person.PersonSkillMapper;
+import com.citu.module.menduner.system.dal.mysql.projectexp.ProjectExpMapper;
+import com.citu.module.menduner.system.dal.mysql.trainexp.TrainExpMapper;
+import com.citu.module.menduner.system.dal.mysql.workexp.WorkExpMapper;
+import com.citu.module.menduner.system.service.person.info.PersonInfoService;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+import javax.annotation.Resource;
+
+@Service
+@Validated
+public class PersonIntegrationServiceImpl implements PersonIntegrationService {
+
+    @Resource
+    private PersonInfoService personInfoService;
+
+    @Resource
+    private JobInterestedMapper jobInterestedMapper;
+
+    @Resource
+    private EduExpMapper eduExpMapper;
+
+    @Resource
+    private WorkExpMapper workExpMapper;
+
+    @Resource
+    private ProjectExpMapper projectExpMapper;
+
+    @Resource
+    private TrainExpMapper trainExpMapper;
+
+    @Resource
+    private PersonSkillMapper personSkillMapper;
+
+
+    @Override
+    public AppAdminPersonDetailRespVO detail(Long userId) {
+        AppAdminPersonDetailRespVO respVO = new AppAdminPersonDetailRespVO();
+
+        respVO.setPerson(
+                PersonConvert.INSTANCE.convert2(personInfoService.getUserInfoByUserId(userId))
+        );
+
+        respVO.setInterestedList(
+                JobInterestedConvert.INSTANCE.convertList2(jobInterestedMapper.selectByUserIdList(userId))
+        );
+
+        respVO.setEduList(
+                EduExpConvert.INSTANCE.convertList2(eduExpMapper.selectByUserIdList(userId))
+        );
+
+        respVO.setWorkList(
+                WorkExpConvert.INSTANCE.convertList2(workExpMapper.selectByUserIdList(userId))
+        );
+
+        respVO.setProjectList(
+                ProjectExpConvert.INSTANCE.convertList2(projectExpMapper.selectByUserIdList(userId))
+        );
+
+        respVO.setTrainList(
+                TrainExpConvert.INSTANCE.convertList2(trainExpMapper.selectByUserIdList(userId))
+        );
+
+        respVO.setSkillList(
+                PersonConvert.INSTANCE.convertList2(personSkillMapper.selectByUserIdList(userId))
+        );
+
+        return respVO;
+    }
+}

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

@@ -11,14 +11,14 @@ import org.springframework.web.bind.annotation.RequestBody;
 import javax.validation.Valid;
 
 /**
- * 人才信息-人档案 Service 接口
+ * 人才信息-人档案 Service 接口
  *
  * @author Rayson
  */
 public interface PersonInfoService {
 
     /**
-     * 创建人才信息-人档案
+     * 创建人才信息-人档案
      *
      * @param createReqVO 创建信息
      * @return 编号
@@ -26,40 +26,40 @@ public interface PersonInfoService {
     Long createUserInfo(@Valid PersonInfoSaveReqVO createReqVO);
 
     /**
-     * 更新人才信息-人档案
+     * 更新人才信息-人档案
      *
      * @param updateReqVO 更新信息
      */
     void updateUserInfo(@Valid PersonInfoSaveReqVO updateReqVO);
 
     /**
-     * 删除人才信息-人档案
+     * 删除人才信息-人档案
      *
      * @param id 编号
      */
     void deleteUserInfo(Long id);
 
     /**
-     * 获得人才信息-人档案
+     * 获得人才信息-人档案
      *
      * @param id 编号
-     * @return 人才信息-人档案
+     * @return 人才信息-人档案
      */
     PersonInfoDO getUserInfo(Long id);
 
     /**
-     * 获得人才信息-人档案分页
+     * 获得人才信息-人档案分页
      *
      * @param pageReqVO 分页查询
-     * @return 人才信息-人档案分页
+     * @return 人才信息-人档案分页
      */
     PageResult<PersonInfoDO> getUserInfoPage(PersonInfoPageReqVO pageReqVO);
 
     /**
-     * 获得人才信息-人档案
+     * 获得人才信息-人档案
      *
      * @param userId 用户id
-     * @return 人才信息-人档案
+     * @return 人才信息-人档案
      */
     PersonInfoDO getUserInfoByUserId(Long userId);
 
@@ -72,9 +72,9 @@ public interface PersonInfoService {
     boolean saveInfo(@Valid @RequestBody AppPersonInfoSaveReqVO reqVO);
 
     /**
-     * 保存简历人优势
+     * 保存简历人优势
      *
-     * @param reqVO 人优势
+     * @param reqVO 人优势
      * @return 保存|成功|失败
      */
     boolean saveAdvantage(@Valid @RequestBody AppPersonAdvantageSaveReqVO reqVO);

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

@@ -20,7 +20,7 @@ import static com.citu.module.menduner.system.enums.ErrorCodeConstants.MDE_PERSO
 import static com.citu.module.menduner.system.enums.ErrorCodeConstants.MDE_USER_INFO_NOT_EXISTS;
 
 /**
- * 人才信息-人档案 Service 实现类
+ * 人才信息-人档案 Service 实现类
  *
  * @author Rayson
  */

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

@@ -3,7 +3,7 @@ package com.citu.module.menduner.system.service.person.record;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.module.menduner.system.controller.base.person.record.PersonBrowseRecordPageReqVO;
 import com.citu.module.menduner.system.controller.base.person.record.PersonBrowseRecordSaveReqVO;
-import com.citu.module.menduner.system.controller.app.person.vo.AppPersonBrowseRecordPageReqVO;
+import com.citu.module.menduner.system.controller.app.person.record.AppPersonBrowseRecordPageReqVO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonBrowseRecordDO;
 
 import javax.validation.Valid;

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

@@ -6,7 +6,7 @@ import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.citu.module.menduner.system.controller.base.person.record.PersonBrowseRecordPageReqVO;
 import com.citu.module.menduner.system.controller.base.person.record.PersonBrowseRecordSaveReqVO;
-import com.citu.module.menduner.system.controller.app.person.vo.AppPersonBrowseRecordPageReqVO;
+import com.citu.module.menduner.system.controller.app.person.record.AppPersonBrowseRecordPageReqVO;
 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;

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

@@ -3,7 +3,7 @@ package com.citu.module.menduner.system.service.person.skill;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.module.menduner.system.controller.base.person.skill.PersonSkillPageReqVO;
 import com.citu.module.menduner.system.controller.base.person.skill.PersonSkillSaveReqVO;
-import com.citu.module.menduner.system.controller.app.person.vo.AppPersonSkillSaveReqVO;
+import com.citu.module.menduner.system.controller.app.person.skill.AppPersonSkillSaveReqVO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonSkillDO;
 import org.springframework.web.bind.annotation.RequestBody;
 

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

@@ -5,7 +5,7 @@ import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.module.menduner.system.controller.base.person.skill.PersonSkillPageReqVO;
 import com.citu.module.menduner.system.controller.base.person.skill.PersonSkillSaveReqVO;
-import com.citu.module.menduner.system.controller.app.person.vo.AppPersonSkillSaveReqVO;
+import com.citu.module.menduner.system.controller.app.person.skill.AppPersonSkillSaveReqVO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonSkillDO;
 import com.citu.module.menduner.system.dal.mysql.person.PersonSkillMapper;
 import org.springframework.stereotype.Service;

+ 21 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/util/ESOperateEnum.java

@@ -0,0 +1,21 @@
+package com.citu.module.menduner.system.util;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/** es 操作枚举 新增 修改 删除 | 企业新增 企业修改 删除企业 **/
+@Getter
+@AllArgsConstructor
+public enum ESOperateEnum {
+    SYNC_ALL("sync_all","同步所有"),
+    ADD("add", "新增"),
+    UPDATE("update", "修改"),
+    DELETE("delete", "删除"),
+    ENTERPRISE_ADD("enterprise_add", "企业新增"),
+    ENTERPRISE_UPDATE("enterprise_update", "企业修改"),
+    ENTERPRISE_DELETE("enterprise_delete", "企业删除");
+
+    final String type;
+    final String name;
+
+}

+ 2 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/util/EsQueryBuildUtils.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/util/ESQueryBuildUtils.java

@@ -10,7 +10,7 @@ import org.springframework.util.StringUtils;
 /**
  * es 查询条件构造工具
  **/
-public class EsQueryBuildUtils {
+public class ESQueryBuildUtils {
 
 
     /**
@@ -89,6 +89,7 @@ public class EsQueryBuildUtils {
         boolQuery.must(QueryBuilders.termQuery("status", MendunerStatusEnum.ENABLE.getStatus()));
         boolQuery.must(QueryBuilders.termQuery("tenantId", TenantContextHolder.getTenantId()));
 
+
         return boolQuery;
     }
 }

+ 3 - 3
menduner/menduner-system-biz/src/main/resources/i18n/messages_en_US.properties

@@ -25,7 +25,7 @@
 1_200_000_005=id cannot be empty
 1_200_000_006=User ID cannot be empty
 1_200_000_007=Enterprise ID cannot be empty
-# ========== 人员信息-个人档案 1_100_001_000 ==========
+# ========== 人才信息-人才档案 1_100_001_000 ==========
 1_100_001_001=Personal Profile Does Not Exist
 1_100_001_002=Personal advantage cannot be empty
 1_100_001_003=Real name cannot be empty
@@ -71,7 +71,7 @@
 1_100_009_002=Position tag cannot be empty
 # ========== 学校 1_100_010_000 ==========
 1_100_010_001=School does not exist
-# ========== 人证书 1_100_011_000 ==========
+# ========== 人证书 1_100_011_000 ==========
 1_100_011_001=Personnel certificate does not exist
 1_100_011_002=Certificate Chinese name cannot be empty
 1_100_011_003=Certificate English name cannot be empty
@@ -79,7 +79,7 @@
 1_100_012_001=Work experience does not exist
 1_100_012_002=No start date selected for employment
 1_200_012_003=No end time selected for employment
-# ========== 人技能 1_100_013_000 ==========
+# ========== 人技能 1_100_013_000 ==========
 1_100_013_001=Personnel skill does not exist
 1_100_013_002=The skill already exists
 # ========== 证书 1_100_014_000 ==========

+ 9 - 9
menduner/menduner-system-biz/src/main/resources/i18n/messages_zh_CN.properties

@@ -25,9 +25,9 @@
 1_200_000_005=id不能为空
 1_200_000_006=用户id不能为空
 1_200_000_007=企业id不能为空
-# ========== 人员信息-个人档案 1_100_001_000 ==========
-1_100_001_001=人档案不存在
-1_100_001_002=人优势不能为空
+# ========== 人才信息-人才档案 1_100_001_000 ==========
+1_100_001_001=人档案不存在
+1_100_001_002=人优势不能为空
 1_100_001_003=真实姓名不能为空
 1_100_001_004=联系手机号不能为空
 1_100_001_005=出生日期不能为空
@@ -36,7 +36,7 @@
 1_100_001_008=求职状态不能为空
 1_100_001_009=所在城市不能为空
 1_100_001_010=常用邮箱不能为空
-1_100_001_011=请先填写人基本信息
+1_100_001_011=请先填写人基本信息
 # ========== 行业信息 1_100_002_000 ==========
 1_100_002_001=行业信息不存在
 # ========== 职位信息 1_100_003_000 ==========
@@ -71,16 +71,16 @@
 1_100_009_002=职位标签不能为空
 # ========== 学校 1_100_010_000 ==========
 1_100_010_001=学校不存在
-# ========== 人证书 1_100_011_000 ==========
-1_100_011_001=人证书不存在
+# ========== 人证书 1_100_011_000 ==========
+1_100_011_001=人证书不存在
 1_100_011_002=证书中文名称不能为空
 1_100_011_003=证书英文名称不能为空
 # ========== 工作经历 1_100_012_000 ==========
 1_100_012_001=工作经历不存在
 1_100_012_002=未选择在职开始日期
 1_200_012_003=未选择在职结束时间
-# ========== 人技能 1_100_013_000 ==========
-1_100_013_001=人技能不存在
+# ========== 人技能 1_100_013_000 ==========
+1_100_013_001=人技能不存在
 1_100_013_002=该技能已存在
 # ========== 证书 1_100_014_000 ==========
 1_100_014_001=证书不存在
@@ -127,7 +127,7 @@
 1_200_002_014=社交平台的类型不能为空
 1_200_002_015=验证码不能为空
 1_200_002_016=未选择企业
-1_200_002_017=未注册用户,请先注册人用户再申请企业用户
+1_200_002_017=未注册用户,请先注册人用户再申请企业用户
 1_200_002_018=访问令牌不能为空
 # ========== 角色模块 1_200_003_000 ==========
 1_200_003_001=角色不存在