智慧保安后台管理-外网项目备份
钟日健
2026-06-01 62eb499b0c969f246d3245d1429a97da4de1ce28
src/main/java/org/springblade/modules/system/controller/DeptController.java
@@ -25,23 +25,30 @@
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.launch.constant.AppConstant;
import org.springblade.core.log.annotation.ApiLog;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.annotation.PreAuth;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.constant.RoleConstant;
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.information.entity.Information;
import org.springblade.modules.information.service.IInformationService;
import org.springblade.modules.system.entity.Dept;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.node.TreeNodes;
import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.system.service.IUserService;
import org.springblade.modules.system.service.MyAsyncService;
import org.springblade.modules.system.vo.DeptVO;
import org.springblade.modules.system.wrapper.DeptWrapper;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.validation.Valid;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -57,10 +64,14 @@
@AllArgsConstructor
@RequestMapping(AppConstant.APPLICATION_SYSTEM_NAME + "/dept")
@Api(value = "部门", tags = "部门")
@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
//@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
public class DeptController extends BladeController {
   private final IDeptService deptService;
   private final IUserService userService;
   private final IInformationService informationService;
   private final MyAsyncService myAsyncService;
   /**
    * 详情
@@ -121,8 +132,103 @@
   @GetMapping("/lazy-tree")
   @ApiOperationSupport(order = 5)
   @ApiOperation(value = "懒加载树形结构", notes = "树形结构")
   public R<List<DeptVO>> lazyTree(String tenantId, Long parentId, BladeUser bladeUser) {
      List<DeptVO> tree = deptService.lazyTree(Func.toStrWithEmpty(tenantId, bladeUser.getTenantId()), parentId);
   public R<List<DeptVO>> lazyTree(String tenantId, Long parentId, BladeUser bladeUser,String userId) {
      List<DeptVO> tree = deptService.lazyTree(Func.toStrWithEmpty(tenantId, bladeUser.getTenantId()), parentId,userId);
      return R.data(tree);
   }
   /**
    * 懒加载获取部门树形结构,根据辖区查询
    */
   @GetMapping("/lazy-tree-jurisdiction")
   @ApiOperationSupport(order = 5)
   @ApiOperation(value = "懒加载树形结构", notes = "树形结构")
   public R<List<DeptVO>> lazyTreeJurisdiction(String jurisdiction, Long parentId) {
      List<DeptVO> tree = deptService.lazyTreeJurisdiction(jurisdiction,parentId);
      return R.data(tree);
   }
   /**
    * 懒加载获取部门树形结构(包含用户数据)
    * @return
    */
   @GetMapping("/lazy-tree-user")
   public R<List<DeptVO>> lazyTreeUser(String tenantId, Long parentId, BladeUser bladeUser) {
      List<DeptVO> tree = deptService.lazyTreeUser(Func.toStrWithEmpty(tenantId, bladeUser.getTenantId()), parentId);
      return R.data(tree);
   }
   /**
    * 懒加载获取部门树形结构(包含用户数据),只查下一级的数据
    * @return
    */
   @GetMapping("/lazy-tree-users")
   public R<List<TreeNodes>> lazyTreeUsers(Integer type,Long deptId) {
      List<TreeNodes> tree = deptService.lazyTreeUsers(type,deptId);
      return R.data(tree);
   }
   /**
    * 懒加载获取单位树,电子围栏用
    * @param type 1:本单位  2:分公司  3:服务单位
    * @param deptId
    * @return
    */
   @GetMapping("/lazy-tree-rail")
   public R<List<DeptVO>> lazyTreeRail(Integer type,Long deptId) {
      List<DeptVO> tree = deptService.lazyTreeRail(type,deptId);
      return R.data(tree);
   }
   /**
    * 懒加载获取部门树形结构(包含用户数据)app
    * @param type 1:保安对保安  2:保安向民警   3:民警向民警
    * @return
    */
   @GetMapping("/lazy-tree-user-app")
   public List<DeptVO> lazyTreeUser(Integer type,String userId) {
      if (null!=userId && userId!=""){
         //查询用户信息
         User user = userService.getById(userId);
         type = 4;
         if (null!=user.getJurisdiction() && user.getJurisdiction()!="") {
            return deptService.lazyTreeUserApp(type, user.getJurisdiction());
         }
         return deptService.lazyTreeUserApp(type,null);
      }
      return deptService.lazyTreeUserApp(type,null);
   }
   /**
    * 懒加载获取部门树形结构,不包含顶级管理员公安局
    */
   @GetMapping("/security_lazy-tree")
   @ApiOperation(value = "懒加载树形结构", notes = "树形结构")
   public R<List<DeptVO>> securityLazyTree(String jurisdiction, Long parentId,Long deptId) {
      List<DeptVO> tree = deptService.securityLazyTree(jurisdiction, parentId,deptId);
      return R.data(tree);
   }
   /**
    * 懒加载获取部门树形结构(按分类查询)
    */
   @GetMapping("/lazy-tree-type")
   @ApiOperation(value = "懒加载树形结构", notes = "树形结构")
   public R<List<DeptVO>> LazyTreeType(String deptCategory, Long parentId) {
      List<DeptVO> tree = deptService.lazyTreeType(deptCategory, parentId);
      return R.data(tree);
   }
   /**
    * 懒加载获取部门树形结构
    */
   @GetMapping("/lazy-trees")
   @ApiOperation(value = "懒加载树形结构", notes = "树形结构")
   public R<List<DeptVO>> lazyTrees() {
      List<DeptVO> tree = deptService.lazyTrees();
      return R.data(tree);
   }
@@ -154,5 +260,19 @@
      return R.status(deptService.removeDept(ids));
   }
   @ApiLog("Blog详情")
   @GetMapping("/selectInfo")
   public R<List<DeptVO>> selectInfo() {
      List<DeptVO> tree =deptService.selectInfo();
      return R.data(tree);
   }
   @GetMapping("/selectInfos")
   public R<List<DeptVO>> selectInfos() {
      List<DeptVO> tree =deptService.selectInfos();
      return R.data(tree);
   }
}