ソースを参照

1、增加获取人才信息接口
2、企业地区表增加areaId字段

rayson 1 年間 前
コミット
3d3c428326
11 ファイル変更189 行追加8 行削除
  1. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/address/EnterpriseAddressPageReqVO.java
  2. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/address/EnterpriseAddressRespVO.java
  3. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/address/EnterpriseAddressSaveReqVO.java
  4. 29 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/enterprise/vo/AppEnterpriseSearchReqVO.java
  5. 40 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/AppPersonController.java
  6. 79 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/vo/AppPersonInfoRespVO.java
  7. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/enterprise/EnterpriseAddressDO.java
  8. 8 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/redis/RedisKeyConstants.java
  9. 9 8
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/area/AreaServiceImpl.java
  10. 7 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/info/PersonInfoService.java
  11. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/info/PersonInfoServiceImpl.java

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/address/EnterpriseAddressPageReqVO.java

@@ -21,6 +21,9 @@ public class EnterpriseAddressPageReqVO extends PageParam {
     @Schema(description = "企业id", example = "27902")
     private Long enterpriseId;
 
+    @Schema(description = "地区id", example = "3577")
+    private Long areaId;
+
     @Schema(description = "公司地址")
     private String address;
 

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/address/EnterpriseAddressRespVO.java

@@ -20,6 +20,9 @@ public class EnterpriseAddressRespVO {
     @ExcelProperty("企业id")
     private Long enterpriseId;
 
+    @Schema(description = "地区id", example = "3577")
+    private Long areaId;
+
     @Schema(description = "公司地址")
     @ExcelProperty("公司地址")
     private String address;

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/address/EnterpriseAddressSaveReqVO.java

@@ -14,6 +14,9 @@ public class EnterpriseAddressSaveReqVO {
     @Schema(description = "企业id", example = "27902")
     private Long enterpriseId;
 
+    @Schema(description = "地区id", example = "3577")
+    private Long areaId;
+
     @Schema(description = "公司地址")
     private String address;
 

+ 29 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/enterprise/vo/AppEnterpriseSearchReqVO.java

@@ -0,0 +1,29 @@
+package com.citu.module.menduner.system.controller.app.enterprise.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@Schema(description = "menduner - 首页-企业搜索 Response VO")
+public class AppEnterpriseSearchReqVO {
+
+    @Schema(description = "企业全称", example = "xx科技有限公司")
+    private String name;
+
+    @Schema(description = "公司地点", example = "[]")
+    private List<Long> areaIds;
+
+    @Schema(description = "企业类型(menduner_enterprise_type)", example = "[]")
+    private Integer enterpriseType;
+
+    @Schema(description = "行业信息id集合", example = "[]")
+    private List<Long> industryIds;
+
+    @Schema(description = "人员规模(0-20人,20-99人,100-499人,500-999人,1000-9999人,9999人以上)", example = "1")
+    private Integer scale;
+
+    @Schema(description = "融资阶段(未融资,天使轮,A轮,B轮,C轮,D轮以上,已上市,不需要融资)",  example = "1")
+    private Integer financingStatus;
+}

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

@@ -0,0 +1,40 @@
+package com.citu.module.menduner.system.controller.app.person;
+
+import com.citu.framework.common.pojo.CommonResult;
+import com.citu.framework.common.util.object.BeanUtils;
+import com.citu.module.menduner.system.controller.admin.person.vo.info.PersonInfoRespVO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
+import com.citu.module.menduner.system.service.person.info.PersonInfoService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.slf4j.Slf4j;
+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;
+
+import static com.citu.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "用户端 - 人才信息")
+@RestController
+@RequestMapping("/menduner/system/person")
+@Validated
+@Slf4j
+public class AppPersonController {
+
+    @Resource
+    private PersonInfoService personInfoService;
+
+    @GetMapping("/get")
+    @Operation(summary = "获得人才信息")
+    @Parameter(name = "userId", description = "用户id", required = true, example = "1024")
+    public CommonResult<PersonInfoRespVO> getUserInfo(@RequestParam("userId") Long userId) {
+        PersonInfoDO userInfo = personInfoService.getUserInfo(userId);
+        return success(BeanUtils.toBean(userInfo, PersonInfoRespVO.class));
+    }
+
+}

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

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

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

@@ -30,6 +30,10 @@ public class EnterpriseAddressDO extends BaseDO {
      * 企业id
      */
     private Long enterpriseId;
+    /**
+     * 地区id
+     */
+    private Long areaId;
     /**
      * 公司地址
      */

+ 8 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/redis/RedisKeyConstants.java

@@ -40,6 +40,14 @@ public interface RedisKeyConstants {
      */
     String MDE_AREA_CHILDREN_id_LIST ="mde_area_children";
 
+    /**
+     * 所有区域信息的缓存
+     * <p>
+     * KEY 格式:mde_area_list:{id}
+     * VALUE 数据类型:String 区域编号集合
+     */
+    String MDE_AREA_LIST ="mde_area_list";
+
     /**
      * 指定职位的所有子区域信息的缓存
      * <p>

+ 9 - 8
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/area/AreaServiceImpl.java

@@ -3,10 +3,10 @@ package com.citu.module.menduner.system.service.area;
 import cn.hutool.core.collection.CollUtil;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.util.object.BeanUtils;
-import com.citu.module.menduner.system.controller.app.area.vo.AppAreaChildrenRespVO;
 import com.citu.module.menduner.system.controller.admin.area.vo.AreaListReqVO;
 import com.citu.module.menduner.system.controller.admin.area.vo.AreaPageReqVO;
 import com.citu.module.menduner.system.controller.admin.area.vo.AreaSaveReqVO;
+import com.citu.module.menduner.system.controller.app.area.vo.AppAreaChildrenRespVO;
 import com.citu.module.menduner.system.controller.app.area.vo.AppAreaListReqVO;
 import com.citu.module.menduner.system.controller.app.area.vo.AppAreaSimpleRespVO;
 import com.citu.module.menduner.system.convert.AreaConvert;
@@ -38,8 +38,7 @@ public class AreaServiceImpl implements AreaService {
 
     @Resource
     private AreaMapper areaMapper;
-    @Resource
-    private  RedisTemplate<String, AppAreaChildrenRespVO> redisTemplate;
+
     @Override
     public Long createArea(AreaSaveReqVO createReqVO) {
         // 插入
@@ -50,7 +49,7 @@ public class AreaServiceImpl implements AreaService {
     }
 
     @Override
-    @CacheEvict(cacheNames = RedisKeyConstants.MDE_AREA_CHILDREN_id_LIST,
+    @CacheEvict(cacheNames = {RedisKeyConstants.MDE_AREA_CHILDREN_id_LIST, RedisKeyConstants.MDE_AREA_LIST},
             allEntries = true) // allEntries 清空所有缓存,因为操作一个区域,涉及到多个缓存
     public void updateArea(AreaSaveReqVO updateReqVO) {
         // 校验存在
@@ -61,7 +60,7 @@ public class AreaServiceImpl implements AreaService {
     }
 
     @Override
-    @CacheEvict(cacheNames = RedisKeyConstants.MDE_AREA_CHILDREN_id_LIST,
+    @CacheEvict(cacheNames = {RedisKeyConstants.MDE_AREA_CHILDREN_id_LIST, RedisKeyConstants.MDE_AREA_LIST},
             allEntries = true) // allEntries 清空所有缓存,因为操作一个区域,涉及到多个缓存
     public void deleteArea(Long id) {
         // 校验存在
@@ -117,7 +116,7 @@ public class AreaServiceImpl implements AreaService {
     }
 
     @Override
-    public List<AppAreaChildrenRespVO> getArea(AreaListReqVO reqVO){
+    public List<AppAreaChildrenRespVO> getArea(AreaListReqVO reqVO) {
         List<AreaDO> areaList = areaMapper.selectList(reqVO);
         if (null == areaList) {
             return null;
@@ -135,8 +134,9 @@ public class AreaServiceImpl implements AreaService {
 
     /**
      * 递归查询子节点
-     * @param root  根节点
-     * @param all   所有节点
+     *
+     * @param root 根节点
+     * @param all  所有节点
      * @return 根节点信息
      */
     private List<AppAreaChildrenRespVO> getChildren(AppAreaChildrenRespVO root, List<AppAreaChildrenRespVO> all) {
@@ -152,6 +152,7 @@ public class AreaServiceImpl implements AreaService {
     }
 
     @Override
+    @Cacheable(cacheNames = RedisKeyConstants.MDE_AREA_LIST, key = "#reqVO", unless = "#result.size==0")
     public List<AppAreaSimpleRespVO> getAreaList(AppAreaListReqVO reqVO) {
         return AreaConvert.INSTANCE.convertList2(areaMapper.selectList(reqVO));
     }

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

@@ -52,4 +52,11 @@ public interface PersonInfoService {
      */
     PageResult<PersonInfoDO> getUserInfoPage(PersonInfoPageReqVO pageReqVO);
 
+    /**
+     * 获得人才信息-个人档案
+     *
+     * @param userId 用户id
+     * @return 人才信息-个人档案
+     */
+    PersonInfoDO getUserInfoByUserId(Long userId);
 }

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

@@ -68,4 +68,8 @@ public class PersonInfoServiceImpl implements PersonInfoService {
         return personInfoMapper.selectPage(pageReqVO);
     }
 
+    @Override
+    public PersonInfoDO getUserInfoByUserId(Long userId) {
+        return personInfoMapper.selectOne(PersonInfoDO::getUserId,userId);
+    }
 }