From 65342a7bdf0aebc581ce51dc08c65d1c3b6d33dd Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Thu, 15 Jul 2021 10:06:00 +0800
Subject: [PATCH] 1.机构树数据

---
 src/main/java/org/springblade/common/config/BladeConfiguration.java             |    1 
 src/main/java/org/springblade/modules/system/mapper/DeptMapper.java             |    5 ++
 src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml              |   26 ++++++++++++
 src/main/java/org/springblade/modules/punish/controller/PunishController.java   |    4 +-
 src/main/java/org/springblade/modules/system/controller/DeptController.java     |    9 ++++
 src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java  |   10 +++++
 src/main/java/org/springblade/modules/revoke/controller/RevokeController.java   |    7 ++-
 src/main/java/org/springblade/modules/permit/controller/PermitController.java   |    7 ++-
 src/main/java/org/springblade/modules/system/service/IDeptService.java          |    1 
 src/main/java/org/springblade/modules/recordk/controller/RecordkController.java |    7 ++-
 src/main/java/org/springblade/modules/record/controller/RecordController.java   |    7 ++-
 11 files changed, 72 insertions(+), 12 deletions(-)

diff --git a/src/main/java/org/springblade/common/config/BladeConfiguration.java b/src/main/java/org/springblade/common/config/BladeConfiguration.java
index cdd4e03..23e1ff3 100644
--- a/src/main/java/org/springblade/common/config/BladeConfiguration.java
+++ b/src/main/java/org/springblade/common/config/BladeConfiguration.java
@@ -67,6 +67,7 @@
 		secureRegistry.excludePathPatterns("/record/**");
 		secureRegistry.excludePathPatterns("/revoke/**");
 		secureRegistry.excludePathPatterns("/recordk/**");
+		secureRegistry.excludePathPatterns("/punish/**");
 		secureRegistry.excludePathPatterns("/blade-resource/attach/**");
 		return secureRegistry;
 	}
diff --git a/src/main/java/org/springblade/modules/permit/controller/PermitController.java b/src/main/java/org/springblade/modules/permit/controller/PermitController.java
index cb7cae7..252d559 100644
--- a/src/main/java/org/springblade/modules/permit/controller/PermitController.java
+++ b/src/main/java/org/springblade/modules/permit/controller/PermitController.java
@@ -30,10 +30,13 @@
 import org.springblade.modules.permit.entity.Permit;
 import org.springblade.modules.permit.service.IPermitService;
 import org.springblade.modules.permit.vo.PermitVO;
+import org.springblade.modules.punish.entity.Punish;
 import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
 
 import javax.validation.Valid;
 import java.util.Date;
+import java.util.Map;
 
 /**
  *  控制器
@@ -66,8 +69,8 @@
 	@GetMapping("/list")
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入permit")
-	public R<IPage<Permit>> list(Permit permit, Query query) {
-		IPage<Permit> pages = permitService.page(Condition.getPage(query), Condition.getQueryWrapper(permit));
+	public R<IPage<Permit>> list(@ApiIgnore @RequestParam Map<String, Object> permit, Query query) {
+		IPage<Permit> pages = permitService.page(Condition.getPage(query), Condition.getQueryWrapper(permit, Permit.class));
 		return R.data(pages);
 	}
 
diff --git a/src/main/java/org/springblade/modules/punish/controller/PunishController.java b/src/main/java/org/springblade/modules/punish/controller/PunishController.java
index f7f4047..8c90526 100644
--- a/src/main/java/org/springblade/modules/punish/controller/PunishController.java
+++ b/src/main/java/org/springblade/modules/punish/controller/PunishController.java
@@ -46,7 +46,7 @@
  */
 @RestController
 @AllArgsConstructor
-@RequestMapping("blade-punish/punish")
+@RequestMapping("/punish")
 @Api(value = "", tags = "接口")
 public class PunishController extends BladeController {
 
@@ -91,7 +91,7 @@
 	@PostMapping("/save")
 	@ApiOperationSupport(order = 4)
 	@ApiOperation(value = "新增", notes = "传入punish")
-	public R save(@Valid @RequestBody Punish punish) {
+	public R save(@Valid @RequestBody Punish punish)  {
 		return R.status(punishService.save(punish));
 	}
 
diff --git a/src/main/java/org/springblade/modules/record/controller/RecordController.java b/src/main/java/org/springblade/modules/record/controller/RecordController.java
index f87f167..79b7ee3 100644
--- a/src/main/java/org/springblade/modules/record/controller/RecordController.java
+++ b/src/main/java/org/springblade/modules/record/controller/RecordController.java
@@ -27,12 +27,15 @@
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.permit.entity.Permit;
 import org.springblade.modules.record.entity.Record;
 import org.springblade.modules.record.service.IRecordService;
 import org.springblade.modules.record.vo.RecordVO;
 import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
 
 import javax.validation.Valid;
+import java.util.Map;
 
 /**
  *  控制器
@@ -65,8 +68,8 @@
 	@GetMapping("/list")
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入record")
-	public R<IPage<Record>> list(Record record, Query query) {
-		IPage<Record> pages = recordService.page(Condition.getPage(query), Condition.getQueryWrapper(record));
+	public R<IPage<Record>> list(@ApiIgnore @RequestParam Map<String, Object> record, Query query) {
+		IPage<Record> pages = recordService.page(Condition.getPage(query), Condition.getQueryWrapper(record, Record.class));
 		return R.data(pages);
 	}
 
diff --git a/src/main/java/org/springblade/modules/recordk/controller/RecordkController.java b/src/main/java/org/springblade/modules/recordk/controller/RecordkController.java
index 47e88aa..10e72cd 100644
--- a/src/main/java/org/springblade/modules/recordk/controller/RecordkController.java
+++ b/src/main/java/org/springblade/modules/recordk/controller/RecordkController.java
@@ -27,12 +27,15 @@
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.record.entity.Record;
 import org.springblade.modules.recordk.entity.Recordk;
 import org.springblade.modules.recordk.service.IRecordkService;
 import org.springblade.modules.recordk.vo.RecordkVO;
 import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
 
 import javax.validation.Valid;
+import java.util.Map;
 
 /**
  *  控制器
@@ -65,8 +68,8 @@
 	@GetMapping("/list")
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入recordk")
-	public R<IPage<Recordk>> list(Recordk recordk, Query query) {
-		IPage<Recordk> pages = recordkService.page(Condition.getPage(query), Condition.getQueryWrapper(recordk));
+	public R<IPage<Recordk>> list(@ApiIgnore @RequestParam Map<String, Object> recordk, Query query) {
+		IPage<Recordk> pages = recordkService.page(Condition.getPage(query), Condition.getQueryWrapper(recordk, Recordk.class));
 		return R.data(pages);
 	}
 
diff --git a/src/main/java/org/springblade/modules/revoke/controller/RevokeController.java b/src/main/java/org/springblade/modules/revoke/controller/RevokeController.java
index 6867fd4..a7ed2ae 100644
--- a/src/main/java/org/springblade/modules/revoke/controller/RevokeController.java
+++ b/src/main/java/org/springblade/modules/revoke/controller/RevokeController.java
@@ -27,13 +27,16 @@
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.recordk.entity.Recordk;
 import org.springblade.modules.revoke.entity.Revoke;
 import org.springblade.modules.revoke.service.IRevokeService;
 import org.springblade.modules.revoke.vo.RevokeVO;
 import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
 
 import javax.validation.Valid;
 import java.util.Date;
+import java.util.Map;
 
 /**
  *  控制器
@@ -66,8 +69,8 @@
 	@GetMapping("/list")
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入revoke")
-	public R<IPage<Revoke>> list(Revoke revoke, Query query) {
-		IPage<Revoke> pages = revokeService.page(Condition.getPage(query), Condition.getQueryWrapper(revoke));
+	public R<IPage<Revoke>> list(@ApiIgnore @RequestParam Map<String, Object> revoke, Query query) {
+		IPage<Revoke> pages = revokeService.page(Condition.getPage(query), Condition.getQueryWrapper(revoke, Revoke.class));
 		return R.data(pages);
 	}
 
diff --git a/src/main/java/org/springblade/modules/system/controller/DeptController.java b/src/main/java/org/springblade/modules/system/controller/DeptController.java
index 707d433..0e3dbca 100644
--- a/src/main/java/org/springblade/modules/system/controller/DeptController.java
+++ b/src/main/java/org/springblade/modules/system/controller/DeptController.java
@@ -168,4 +168,13 @@
 		return R.data(deptService.selectIn());
 	}
 
+	/**
+	 * 懒加载获取部门树形结构,不包含顶级管理员公安局
+	 */
+	@GetMapping("/security_lazy-tree")
+	@ApiOperation(value = "懒加载树形结构", notes = "树形结构")
+	public R<List<DeptVO>> securityLazyTree(String tenantId, Long parentId, BladeUser bladeUser) {
+		List<DeptVO> tree = deptService.securityLazyTree(Func.toStrWithEmpty(tenantId, bladeUser.getTenantId()), parentId);
+		return R.data(tree);
+	}
 }
diff --git a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
index 1ef0781..ac445d3 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
@@ -80,5 +80,8 @@
 	List<Map<Object,String>> selectCount();
 	List<Map<Object,String>> selectId(String id);
 	Map<Object,Integer> selectHold(String deptid);
-
+	/**
+	 * 懒加载获取部门树形结构,不包含顶级管理员公安局
+	 */
+	List<DeptVO> securityLazyTree(String tenantId, Long parentId);
 }
diff --git a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
index d1b1420..0d3801a 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -176,5 +176,29 @@
     <select id="selectId" resultType="java.util.HashMap">
         SELECT id FROM blade_dept WHERE parent_id =#{id} and is_deleted = 0
     </select>
-
+    <select id="securityLazyTree" resultMap="treeNodeResultMap" >
+        SELECT
+        dept.id,
+        dept.parent_id,
+        dept.dept_name AS title,
+        dept.id AS "value",
+        dept.id AS "key",
+        (
+        SELECT
+        CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
+        FROM
+        blade_dept
+        WHERE
+        parent_id = dept.id and is_deleted = 0
+        ) AS "has_children"
+        FROM
+        blade_dept dept
+        WHERE
+        dept.parent_id = #{param2} AND dept.is_deleted = 0
+        and dept_category = 1
+        <if test="param1!=null and param1!=''">
+            and dept.tenant_id = #{param1}
+        </if>
+        ORDER BY dept.sort
+    </select>
 </mapper>
diff --git a/src/main/java/org/springblade/modules/system/service/IDeptService.java b/src/main/java/org/springblade/modules/system/service/IDeptService.java
index befad2f..fdfd14a 100644
--- a/src/main/java/org/springblade/modules/system/service/IDeptService.java
+++ b/src/main/java/org/springblade/modules/system/service/IDeptService.java
@@ -126,4 +126,5 @@
 	List<Map<Object,String>> selectId(String id);
 	Map<Object,Integer> selectHold(String deptid);
 	List<String> selectIn();
+	List<DeptVO> securityLazyTree(String tenantId, Long parentId);
 }
diff --git a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
index c019588..a655954 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -168,6 +168,16 @@
 		List<Dept> deptList = baseMapper.selectList(queryWrapper);
 		return DeptWrapper.build().listNodeVO(deptList);
 	}
+	/**
+	 * 懒加载获取部门树形结构,不包含顶级管理员公安局
+	 */
+	@Override
+	public List<DeptVO> securityLazyTree(String tenantId, Long parentId) {
+		if (AuthUtil.isAdministrator()) {
+			tenantId = StringPool.EMPTY;
+		}
+		return ForestNodeMerger.merge(baseMapper.securityLazyTree(tenantId, parentId));
+	}
 
 	@Override
 	public List<Map<Object,String>> selectCount() {

--
Gitblit v1.9.3