Browse Source

1、更改树形返回格式

rayson 1 year ago
parent
commit
bcd9a9a1d8
11 changed files with 98 additions and 57 deletions
  1. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/area/vo/AppAreaChildrenRespVO.java
  2. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/industry/vo/AppIndustryChildrenRespVO.java
  3. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/position/vo/AppPositionChildrenRespVO.java
  4. 11 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/job/AppAdminJobAdvertisedController.java
  5. 0 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/job/vo/AppAdminJobSimpleRespVO.java
  6. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/convert/JobAdvertisedConvert.java
  7. 2 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/job/JobAdvertisedMapper.java
  8. 23 17
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/area/AreaServiceImpl.java
  9. 22 17
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/industry/IndustryServiceImpl.java
  10. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobAdvertisedServiceImpl.java
  11. 26 21
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/position/PositionServiceImpl.java

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/area/vo/AppAreaChildrenRespVO.java

@@ -1,5 +1,6 @@
 package com.citu.module.menduner.system.controller.app.area.vo;
 
+import com.citu.module.menduner.system.controller.app.industry.vo.AppIndustryChildrenRespVO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -25,6 +26,9 @@ public class AppAreaChildrenRespVO {
     @Schema(description = "上级区域", example = "9103")
     private Long parentId;
 
+    @Schema(description = "路径")
+    private String path;
+
     /**
      * 子节点
      */

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/industry/vo/AppIndustryChildrenRespVO.java

@@ -29,6 +29,9 @@ public class AppIndustryChildrenRespVO {
     @Schema(description = "层级")
     private Integer level;
 
+    @Schema(description = "路径")
+    private String path;
+
     /**
      * 子节点
      */

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/position/vo/AppPositionChildrenRespVO.java

@@ -29,6 +29,9 @@ public class AppPositionChildrenRespVO {
     @Schema(description = "层级")
     private Integer level;
 
+    @Schema(description = "路径")
+    private String path;
+
     /**
      * 子节点
      */

+ 11 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/job/AppAdminJobAdvertisedController.java

@@ -4,9 +4,12 @@ package com.citu.module.menduner.system.controller.appadmin.job;
 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.app.job.vo.AppJobAdvertisedDetailRespVO;
+import com.citu.module.menduner.system.controller.appadmin.job.vo.AppAdminJobDetailRespVO;
 import com.citu.module.menduner.system.controller.appadmin.job.vo.AppAdminJobPageReqVO;
 import com.citu.module.menduner.system.controller.appadmin.job.vo.AppAdminJobReqVO;
 import com.citu.module.menduner.system.controller.appadmin.job.vo.AppAdminJobSimpleRespVO;
+import com.citu.module.menduner.system.convert.JobAdvertisedConvert;
 import com.citu.module.menduner.system.service.job.JobAdvertisedService;
 import com.citu.module.menduner.system.service.job.JobIntegrationService;
 import io.swagger.v3.oas.annotations.Operation;
@@ -38,6 +41,14 @@ public class AppAdminJobAdvertisedController {
         return success(jobIntegrationService.page(pageReqVO));
     }
 
+    @PreAuthenticated
+    @GetMapping("/detail")
+    @Operation(summary = "获得招聘职位详情")
+    public CommonResult<AppAdminJobDetailRespVO> page(@RequestParam("id") Long id) {
+        return success(JobAdvertisedConvert.INSTANCE.convert5(jobAdvertisedService.detail(id)));
+    }
+
+
     @PreAuthenticated
     @PostMapping("/save")
     @Operation(summary = "保存职位(发布/编辑)")

+ 0 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/job/vo/AppAdminJobSimpleRespVO.java

@@ -1,7 +1,6 @@
 package com.citu.module.menduner.system.controller.appadmin.job.vo;
 
 
-import com.alibaba.excel.annotation.ExcelProperty;
 import com.citu.module.menduner.system.controller.app.job.vo.AppJobAdvertisedSimpleRespVO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/convert/JobAdvertisedConvert.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.job.vo.AppJobAdvertisedSimpleRespVO;
+import com.citu.module.menduner.system.controller.appadmin.job.vo.AppAdminJobDetailRespVO;
 import com.citu.module.menduner.system.controller.appadmin.job.vo.AppAdminJobReqVO;
 import com.citu.module.menduner.system.controller.appadmin.job.vo.AppAdminJobSimpleRespVO;
 import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
@@ -35,4 +36,6 @@ public interface JobAdvertisedConvert {
 
     @Named("convert4")
     AppAdminJobSimpleRespVO convert4(JobAdvertisedDO bean);
+
+    AppAdminJobDetailRespVO convert5(AppJobAdvertisedDetailRespVO resp);
 }

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

@@ -92,6 +92,8 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
 
         if(reqVO.isHasExpiredData()) {
             query.le(JobAdvertisedDO::getExpireTime, LocalDateTime.now());
+        }else {
+            query.ge(JobAdvertisedDO::getExpireTime, LocalDateTime.now());
         }
         return selectPage(reqVO,query );
     }

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

@@ -7,6 +7,7 @@ import com.citu.module.menduner.system.controller.app.area.vo.AppAreaChildrenRes
 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.controller.app.area.vo.AppAreaHotRespVO;
+import com.citu.module.menduner.system.controller.app.position.vo.AppPositionChildrenRespVO;
 import com.citu.module.menduner.system.controller.base.area.*;
 import com.citu.module.menduner.system.convert.AreaConvert;
 import com.citu.module.menduner.system.dal.dataobject.area.AreaDO;
@@ -126,14 +127,20 @@ public class AreaServiceImpl implements AreaService {
             return null;
         }
         List<AppAreaChildrenRespVO> convertList = AreaConvert.INSTANCE.convertList(areaList);
-        //获取父节点
-        List<AppAreaChildrenRespVO> collect = convertList.stream().filter(m -> m.getParentId() == 0).map(
-                (m) -> {
-                    m.setChildren(getChildren(m, convertList));
-                    return m;
-                }
-        ).collect(Collectors.toList());
-        return collect;
+
+        List<AppAreaChildrenRespVO> convertListSort = convertList.stream()
+                .sorted(Comparator.comparing(AppAreaChildrenRespVO::getType))
+                .collect(Collectors.toList());
+        // 获取父节点并设置path
+        List<AppAreaChildrenRespVO> result = convertListSort.stream()
+                .filter(root -> root.getParentId() == 0)
+                .map(root -> {
+                    root.setPath(String.valueOf(root.getId()));
+                    root.setChildren(getChildren(root, convertListSort));
+                    return root;
+                })
+                .collect(Collectors.toList());
+        return result;
     }
 
     /**
@@ -144,15 +151,14 @@ public class AreaServiceImpl implements AreaService {
      * @return 根节点信息
      */
     private List<AppAreaChildrenRespVO> getChildren(AppAreaChildrenRespVO root, List<AppAreaChildrenRespVO> all) {
-        List<AppAreaChildrenRespVO> children = all.stream().filter(m -> {
-            return Objects.equals(m.getParentId(), root.getId());
-        }).map(
-                (m) -> {
-                    m.setChildren(getChildren(m, all));
-                    return m;
-                }
-        ).collect(Collectors.toList());
-        return children;
+        return all.stream()
+                .filter(child -> Objects.equals(child.getParentId(), root.getId()))
+                .map(child -> {
+                    child.setPath(root.getPath() + "," + child.getId());
+                    child.setChildren(getChildren(child, all));
+                    return child;
+                })
+                .collect(Collectors.toList());
     }
 
     @Override

+ 22 - 17
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/industry/IndustryServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.util.object.BeanUtils;
+import com.citu.module.menduner.system.controller.app.position.vo.AppPositionChildrenRespVO;
 import com.citu.module.menduner.system.controller.base.industry.IndustryListReqVO;
 import com.citu.module.menduner.system.controller.base.industry.IndustryPageReqVO;
 import com.citu.module.menduner.system.controller.base.industry.IndustrySaveReqVO;
@@ -161,14 +162,19 @@ public class IndustryServiceImpl implements IndustryService {
             return null;
         }
         List<AppIndustryChildrenRespVO> convertList = IndustryConvert.INSTANCE.convertList(areaList);
-        //获取父节点
-        List<AppIndustryChildrenRespVO> collect = convertList.stream().filter(m -> m.getParentId() == 0).map(
-                (m) -> {
-                    m.setChildren(getChildren(m, convertList));
-                    return m;
-                }
-        ).collect(Collectors.toList());
-        return collect;
+        List<AppIndustryChildrenRespVO> convertListSort = convertList.stream()
+                .sorted(Comparator.comparing(AppIndustryChildrenRespVO::getLevel))
+                .collect(Collectors.toList());
+        // 获取父节点并设置path
+        List<AppIndustryChildrenRespVO> result = convertListSort.stream()
+                .filter(root -> root.getParentId() == 0)
+                .map(root -> {
+                    root.setPath(String.valueOf(root.getId()));
+                    root.setChildren(getChildren(root, convertListSort));
+                    return root;
+                })
+                .collect(Collectors.toList());
+        return result;
     }
 
     @Override
@@ -199,15 +205,14 @@ public class IndustryServiceImpl implements IndustryService {
      * @return 根节点信息
      */
     private List<AppIndustryChildrenRespVO> getChildren(AppIndustryChildrenRespVO root, List<AppIndustryChildrenRespVO> all) {
-        List<AppIndustryChildrenRespVO> children = all.stream().filter(m -> {
-            return Objects.equals(m.getParentId(), root.getId());
-        }).map(
-                (m) -> {
-                    m.setChildren(getChildren(m, all));
-                    return m;
-                }
-        ).collect(Collectors.toList());
-        return children;
+        return all.stream()
+                .filter(child -> Objects.equals(child.getParentId(), root.getId()))
+                .map(child -> {
+                    child.setPath(root.getPath() + "," + child.getId());
+                    child.setChildren(getChildren(child, all));
+                    return child;
+                })
+                .collect(Collectors.toList());
     }
 
     @Override

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

@@ -464,7 +464,7 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
     @DSTransactional
     public boolean save(AppAdminJobReqVO reqVO) {
         LoginUser loginUser = getLoginUser();
-        if (null != loginUser
+        if (null == loginUser
                 || null == loginUser.getInfo()) {
             // 没权限
             throw exception(FORBIDDEN);

+ 26 - 21
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/position/PositionServiceImpl.java

@@ -4,14 +4,14 @@ import cn.hutool.core.collection.CollUtil;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.util.object.BeanUtils;
-import com.citu.module.menduner.system.controller.base.position.PositionListReqVO;
-import com.citu.module.menduner.system.controller.base.position.PositionPageReqVO;
-import com.citu.module.menduner.system.controller.base.position.PositionSaveReqVO;
-import com.citu.module.menduner.system.controller.base.visits.MdeVisitsListReqVO;
 import com.citu.module.menduner.system.controller.app.position.vo.AppPositionChildrenRespVO;
 import com.citu.module.menduner.system.controller.app.position.vo.AppPositionClickReqVO;
 import com.citu.module.menduner.system.controller.app.position.vo.AppPositionListReqVO;
 import com.citu.module.menduner.system.controller.app.position.vo.AppPositionSimpleRespVO;
+import com.citu.module.menduner.system.controller.base.position.PositionListReqVO;
+import com.citu.module.menduner.system.controller.base.position.PositionPageReqVO;
+import com.citu.module.menduner.system.controller.base.position.PositionSaveReqVO;
+import com.citu.module.menduner.system.controller.base.visits.MdeVisitsListReqVO;
 import com.citu.module.menduner.system.convert.PositionConvert;
 import com.citu.module.menduner.system.dal.dataobject.position.PositionDO;
 import com.citu.module.menduner.system.dal.mysql.position.PositionMapper;
@@ -178,14 +178,20 @@ public class PositionServiceImpl implements PositionService {
             return null;
         }
         List<AppPositionChildrenRespVO> convertList = PositionConvert.INSTANCE.convertList(areaList);
-        //获取父节点
-        List<AppPositionChildrenRespVO> collect = convertList.stream().filter(m -> m.getParentId() == 0).map(
-                (m) -> {
-                    m.setChildren(getChildren(m, convertList));
-                    return m;
-                }
-        ).collect(Collectors.toList());
-        return collect;
+
+        List<AppPositionChildrenRespVO> convertListSort = convertList.stream()
+                .sorted(Comparator.comparing(AppPositionChildrenRespVO::getLevel))
+                .collect(Collectors.toList());
+        // 获取父节点并设置path
+        List<AppPositionChildrenRespVO> result = convertListSort.stream()
+                .filter(root -> root.getParentId() == 0)
+                .map(root -> {
+                    root.setPath(String.valueOf(root.getId()));
+                    root.setChildren(getChildren(root, convertListSort));
+                    return root;
+                })
+                .collect(Collectors.toList());
+        return result;
     }
 
     @Override
@@ -216,15 +222,14 @@ public class PositionServiceImpl implements PositionService {
      * @return 根节点信息
      */
     private List<AppPositionChildrenRespVO> getChildren(AppPositionChildrenRespVO root, List<AppPositionChildrenRespVO> all) {
-        List<AppPositionChildrenRespVO> children = all.stream().filter(m -> {
-            return Objects.equals(m.getParentId(), root.getId());
-        }).map(
-                (m) -> {
-                    m.setChildren(getChildren(m, all));
-                    return m;
-                }
-        ).collect(Collectors.toList());
-        return children;
+        return all.stream()
+                .filter(child -> Objects.equals(child.getParentId(), root.getId()))
+                .map(child -> {
+                    child.setPath(root.getPath() + "," + child.getId());
+                    child.setChildren(getChildren(child, all));
+                    return child;
+                })
+                .collect(Collectors.toList());
     }
 
     @Override