Commit 1701fd6ac2d1e624fe51d346e0dfd72065d47572
Merge branch 'master' into dev
Showing
7 changed files
with
59 additions
and
53 deletions
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/inspectionplan/InspectionPlanController.java
| @@ -5,6 +5,7 @@ import com.zteits.urbanops.framework.common.pojo.CommonResult; | @@ -5,6 +5,7 @@ import com.zteits.urbanops.framework.common.pojo.CommonResult; | ||
| 5 | import com.zteits.urbanops.framework.common.pojo.PageParam; | 5 | import com.zteits.urbanops.framework.common.pojo.PageParam; |
| 6 | import com.zteits.urbanops.framework.common.pojo.PageResult; | 6 | import com.zteits.urbanops.framework.common.pojo.PageResult; |
| 7 | import com.zteits.urbanops.framework.common.util.object.BeanUtils; | 7 | import com.zteits.urbanops.framework.common.util.object.BeanUtils; |
| 8 | +import com.zteits.urbanops.framework.datapermission.core.annotation.DataPermission; | ||
| 8 | import com.zteits.urbanops.framework.datapermission.core.util.DataPermissionUtils; | 9 | import com.zteits.urbanops.framework.datapermission.core.util.DataPermissionUtils; |
| 9 | import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; | 10 | import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; |
| 10 | import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; | 11 | import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; |
| @@ -40,6 +41,7 @@ import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.PLAN_RA | @@ -40,6 +41,7 @@ import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.PLAN_RA | ||
| 40 | @RequestMapping("/garden/inspection-plan") | 41 | @RequestMapping("/garden/inspection-plan") |
| 41 | @Validated | 42 | @Validated |
| 42 | @Slf4j | 43 | @Slf4j |
| 44 | +@DataPermission(enable = false) | ||
| 43 | public class InspectionPlanController { | 45 | public class InspectionPlanController { |
| 44 | 46 | ||
| 45 | @Resource | 47 | @Resource |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/MaintainPlanController.java
| @@ -5,6 +5,7 @@ import com.zteits.urbanops.framework.common.pojo.CommonResult; | @@ -5,6 +5,7 @@ import com.zteits.urbanops.framework.common.pojo.CommonResult; | ||
| 5 | import com.zteits.urbanops.framework.common.pojo.PageParam; | 5 | import com.zteits.urbanops.framework.common.pojo.PageParam; |
| 6 | import com.zteits.urbanops.framework.common.pojo.PageResult; | 6 | import com.zteits.urbanops.framework.common.pojo.PageResult; |
| 7 | import com.zteits.urbanops.framework.common.util.object.BeanUtils; | 7 | import com.zteits.urbanops.framework.common.util.object.BeanUtils; |
| 8 | +import com.zteits.urbanops.framework.datapermission.core.annotation.DataPermission; | ||
| 8 | import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; | 9 | import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; |
| 9 | import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; | 10 | import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; |
| 10 | import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.MaintainPlanPageReqVO; | 11 | import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.MaintainPlanPageReqVO; |
| @@ -39,6 +40,7 @@ import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.PLAN_RA | @@ -39,6 +40,7 @@ import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.PLAN_RA | ||
| 39 | @RequestMapping("/garden/maintain-plan") | 40 | @RequestMapping("/garden/maintain-plan") |
| 40 | @Validated | 41 | @Validated |
| 41 | @Slf4j | 42 | @Slf4j |
| 43 | +@DataPermission(enable = false) | ||
| 42 | public class MaintainPlanController { | 44 | public class MaintainPlanController { |
| 43 | 45 | ||
| 44 | @Resource | 46 | @Resource |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanServiceImpl.java
| @@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; | @@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; | ||
| 9 | import com.zteits.urbanops.framework.common.pojo.CommonResult; | 9 | import com.zteits.urbanops.framework.common.pojo.CommonResult; |
| 10 | import com.zteits.urbanops.framework.common.pojo.PageResult; | 10 | import com.zteits.urbanops.framework.common.pojo.PageResult; |
| 11 | import com.zteits.urbanops.framework.common.util.object.BeanUtils; | 11 | import com.zteits.urbanops.framework.common.util.object.BeanUtils; |
| 12 | +import com.zteits.urbanops.framework.datapermission.core.annotation.DataPermission; | ||
| 12 | import com.zteits.urbanops.framework.dict.core.DictFrameworkUtils; | 13 | import com.zteits.urbanops.framework.dict.core.DictFrameworkUtils; |
| 13 | import com.zteits.urbanops.framework.mybatis.core.util.MyBatisUtils; | 14 | import com.zteits.urbanops.framework.mybatis.core.util.MyBatisUtils; |
| 14 | import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; | 15 | import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; |
| @@ -296,6 +297,7 @@ public class InspectionPlanServiceImpl implements InspectionPlanService { | @@ -296,6 +297,7 @@ public class InspectionPlanServiceImpl implements InspectionPlanService { | ||
| 296 | * | 297 | * |
| 297 | * @param list 分页对象 | 298 | * @param list 分页对象 |
| 298 | */ | 299 | */ |
| 300 | + | ||
| 299 | private void addDataInspectionPlan(List<InspectionPlanRespVO> list) { | 301 | private void addDataInspectionPlan(List<InspectionPlanRespVO> list) { |
| 300 | if (CollectionUtils.isEmpty(list)) { | 302 | if (CollectionUtils.isEmpty(list)) { |
| 301 | return; | 303 | return; |
urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/dept/DeptService.java
| @@ -152,4 +152,10 @@ public interface DeptService { | @@ -152,4 +152,10 @@ public interface DeptService { | ||
| 152 | * @return 部门树 | 152 | * @return 部门树 |
| 153 | */ | 153 | */ |
| 154 | List<Dept> getDeptAndUserTree(); | 154 | List<Dept> getDeptAndUserTree(); |
| 155 | + | ||
| 156 | + /** | ||
| 157 | + * 查询所有部门信息 | ||
| 158 | + * @return | ||
| 159 | + */ | ||
| 160 | + List<DeptDO> getDeptAllList(); | ||
| 155 | } | 161 | } |
urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/dept/DeptServiceImpl.java
| @@ -329,4 +329,11 @@ public class DeptServiceImpl implements DeptService { | @@ -329,4 +329,11 @@ public class DeptServiceImpl implements DeptService { | ||
| 329 | } | 329 | } |
| 330 | return TreeUtils.getTreeList(deptListT); | 330 | return TreeUtils.getTreeList(deptListT); |
| 331 | } | 331 | } |
| 332 | + | ||
| 333 | + @Override | ||
| 334 | + public List<DeptDO> getDeptAllList() { | ||
| 335 | + QueryWrapper<DeptDO> sql = new QueryWrapper<>(); | ||
| 336 | + sql.lambda().eq(DeptDO::getDeleted, 0); | ||
| 337 | + return deptMapper.selectList(sql); | ||
| 338 | + } | ||
| 332 | } | 339 | } |
urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/user/AdminUserServiceImpl.java
| @@ -668,72 +668,59 @@ public class AdminUserServiceImpl implements AdminUserService { | @@ -668,72 +668,59 @@ public class AdminUserServiceImpl implements AdminUserService { | ||
| 668 | } | 668 | } |
| 669 | 669 | ||
| 670 | private Long getParentDeptId(Long deptId) { | 670 | private Long getParentDeptId(Long deptId) { |
| 671 | + if (deptId == null) { | ||
| 672 | + return null; | ||
| 673 | + } | ||
| 674 | + | ||
| 671 | DeptDO dept = deptService.getDept(deptId); | 675 | DeptDO dept = deptService.getDept(deptId); |
| 672 | if (dept == null) { | 676 | if (dept == null) { |
| 673 | return null; | 677 | return null; |
| 674 | } | 678 | } |
| 675 | - //顶级部门ID | ||
| 676 | - if(dept.getParentId().equals(0L)) { | 679 | + |
| 680 | + // 顶级部门ID (parentId=0) | ||
| 681 | + if (dept.getParentId().equals(0L)) { | ||
| 677 | return dept.getId(); | 682 | return dept.getId(); |
| 678 | } | 683 | } |
| 679 | - //二级部门 | ||
| 680 | - if(dept.getParentId().equals(100L)) { | 684 | + |
| 685 | + // 直接是二级部门 (parentId=100) | ||
| 686 | + if (dept.getParentId().equals(100L)) { | ||
| 681 | return dept.getId(); | 687 | return dept.getId(); |
| 682 | } | 688 | } |
| 683 | - //一级以下查二级 | ||
| 684 | - List<DeptDO> allDeptList = deptService.getSubDeptAllList(); | ||
| 685 | - if (CollectionUtil.isEmpty(allDeptList)) { | ||
| 686 | - return null; | ||
| 687 | - } | ||
| 688 | - // 构建部门ID → 部门对象的Map(核心:快速根据ID查部门) | ||
| 689 | - Map<Long, DeptDO> deptMap = allDeptList.stream() | ||
| 690 | - // 第一个参数:Map 的 Key(取 deptId) | ||
| 691 | - // 第二个参数:Map 的 Value(取 Dept 对象本身) | ||
| 692 | - .collect(Collectors.toMap(DeptDO::getId, DeptDO -> DeptDO)); | ||
| 693 | - | ||
| 694 | - DeptDO findDept = findDeptByTargetParentIdLoop(dept.getParentId(), 100L, deptMap); | ||
| 695 | - return findDept == null ? null : findDept.getId(); | 689 | + |
| 690 | + // 递归查找父部门链中parentId=100的部门 | ||
| 691 | + Long result = findParentDeptWithParentId(dept.getParentId(), 100L); | ||
| 692 | + // 如果找不到parentId=100的部门,返回当前部门的id作为默认值 | ||
| 693 | + return result != null ? result : dept.getParentId(); | ||
| 696 | } | 694 | } |
| 697 | - | 695 | + |
| 698 | /** | 696 | /** |
| 699 | - * 循环向上追溯,查找父部门ID等于目标值的部门对象(避免栈溢出) | ||
| 700 | - * @param startDeptId 起始部门ID(指定deptId) | ||
| 701 | - * @param targetParentId 目标parentId(要匹配的父部门ID) | ||
| 702 | - * @param deptIdMap 部门ID映射Map | ||
| 703 | - * @return 匹配的部门对象(无则返回null) | 697 | + * 递归查找父部门链中parentId等于目标值的部门ID |
| 698 | + * @param currentDeptId 当前部门ID | ||
| 699 | + * @param targetParentId 目标parentId | ||
| 700 | + * @return 匹配的部门ID,无则返回null | ||
| 704 | */ | 701 | */ |
| 705 | - public static DeptDO findDeptByTargetParentIdLoop(Long startDeptId, Long targetParentId, Map<Long, DeptDO> deptIdMap) { | ||
| 706 | - // 1. 入参校验 | ||
| 707 | - if (startDeptId == null || targetParentId == null || deptIdMap == null || targetParentId == 0) { | 702 | + private Long findParentDeptWithParentId(Long currentDeptId, Long targetParentId) { |
| 703 | + if (currentDeptId == null) { | ||
| 708 | return null; | 704 | return null; |
| 709 | } | 705 | } |
| 710 | - | ||
| 711 | - Long currentDeptId = startDeptId; | ||
| 712 | - while (true) { | ||
| 713 | - // 2. 获取当前部门对象 | ||
| 714 | - DeptDO currentDept = deptIdMap.get(currentDeptId); | ||
| 715 | - if (currentDept == null) { | ||
| 716 | - break; | ||
| 717 | - } | ||
| 718 | - | ||
| 719 | - // 3. 获取当前部门的父ID(父部门的deptId) | ||
| 720 | - Long parentDeptId = currentDept.getParentId(); | ||
| 721 | - // 终止条件:追溯到顶级部门(parentId=0) | ||
| 722 | - if (parentDeptId == 0L) { | ||
| 723 | - break; | ||
| 724 | - } | ||
| 725 | - | ||
| 726 | - // 4. 校验是否匹配目标parentId | ||
| 727 | - if (parentDeptId.equals(targetParentId)) { | ||
| 728 | - return currentDept; // 匹配,返回对象 | ||
| 729 | - } | ||
| 730 | - | ||
| 731 | - // 5. 未匹配,继续追溯父部门 | ||
| 732 | - currentDeptId = currentDept.getParentId(); | 706 | + |
| 707 | + DeptDO dept = deptService.getDept(currentDeptId); | ||
| 708 | + if (dept == null) { | ||
| 709 | + return null; | ||
| 733 | } | 710 | } |
| 734 | - | ||
| 735 | - // 遍历结束未匹配 | ||
| 736 | - return null; | 711 | + |
| 712 | + // 找到目标父部门 | ||
| 713 | + if (dept.getParentId().equals(targetParentId)) { | ||
| 714 | + return dept.getId(); | ||
| 715 | + } | ||
| 716 | + | ||
| 717 | + // 达到顶级部门,停止递归 | ||
| 718 | + if (dept.getParentId().equals(0L)) { | ||
| 719 | + return dept.getId(); // 改为返回顶级部门ID,而不是null | ||
| 720 | + } | ||
| 721 | + | ||
| 722 | + // 继续向上查找 | ||
| 723 | + return findParentDeptWithParentId(dept.getParentId(), targetParentId); | ||
| 737 | } | 724 | } |
| 738 | 725 | ||
| 739 | } | 726 | } |
urbanops-server/src/main/resources/application.yaml
| @@ -3,7 +3,7 @@ spring: | @@ -3,7 +3,7 @@ spring: | ||
| 3 | name: urbanops-server | 3 | name: urbanops-server |
| 4 | 4 | ||
| 5 | profiles: | 5 | profiles: |
| 6 | - active: dev | 6 | + active: prod |
| 7 | 7 | ||
| 8 | main: | 8 | main: |
| 9 | allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。 | 9 | allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。 |