From 76e6eaff3a5be5f73ddb90b9169381dc46503ccd Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期一, 13 一月 2025 17:01:05 +0800
Subject: [PATCH] DNC平移航宇救生

---
 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ObjectServiceImpl.java  |  158 ++++++++++++++
 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IButtonService.java          |    2 
 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/entity/ObjectBase.java               |   36 +++
 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DepartmentController.java |  147 +++++++++++++
 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/ObjectController.java     |   76 ++++++
 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/mapper/DncObjectMapper.java          |    7 
 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/request/ObjectBaseRequest.java       |   14 +
 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/ButtonController.java     |  131 +++++++++++
 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IObjectService.java          |   57 +++++
 9 files changed, 627 insertions(+), 1 deletions(-)

diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/ButtonController.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/ButtonController.java
new file mode 100644
index 0000000..fab5254
--- /dev/null
+++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/ButtonController.java
@@ -0,0 +1,131 @@
+package org.jeecg.modules.dnc.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.modules.dnc.entity.Button;
+import org.jeecg.modules.dnc.request.ButtonRequest;
+import org.jeecg.modules.dnc.response.CommonCode;
+import org.jeecg.modules.dnc.response.QueryListResponseResult;
+import org.jeecg.modules.dnc.response.QueryPageResponseResult;
+import org.jeecg.modules.dnc.response.ResponseResult;
+import org.jeecg.modules.dnc.service.IButtonService;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Collections;
+import java.util.List;
+
+@Slf4j
+@Api(tags = "鎸夐挳绠$悊")
+@RestController
+@RequestMapping("/ucenter/btn")
+public class ButtonController  {
+    @Autowired
+    private IButtonService buttonService;
+
+    @AutoLog(value = "鎸夐挳绠$悊-鏂板鎸夐挳瀵硅薄")
+    @ApiOperation(value = "鎸夐挳绠$悊-鏂板鎸夐挳瀵硅薄", notes = "鎸夐挳绠$悊-鏂板鎸夐挳瀵硅薄")
+    @PostMapping("/add")
+    public ResponseResult addButton(@RequestBody Button button) {
+        boolean b = buttonService.addButton(button);
+        if(b) {
+            return new ResponseResult(CommonCode.SUCCESS);
+        }
+        return new ResponseResult(CommonCode.FAIL);
+    }
+
+    @AutoLog(value = "鎸夐挳绠$悊-鏍规嵁鎸夐挳绫诲瀷鏌ヨ鎸夐挳鍒楄〃")
+    @ApiOperation(value = "鎸夐挳绠$悊-鏍规嵁鎸夐挳绫诲瀷鏌ヨ鎸夐挳鍒楄〃", notes = "鎸夐挳绠$悊-鏍规嵁鎸夐挳绫诲瀷鏌ヨ鎸夐挳鍒楄〃")
+    @GetMapping("/find/list")
+    public QueryListResponseResult<Button> findByButtonType(@RequestParam("buttonType") Integer buttonType) {
+        List<Button> list = buttonService.findByButtonType(buttonType);
+        if(list == null)
+            list = Collections.emptyList();
+        return new QueryListResponseResult<>(CommonCode.SUCCESS, list);
+    }
+
+    @AutoLog(value = "鎸夐挳绠$悊-鍒嗛〉鍒楄〃鏌ヨ")
+    @ApiOperation(value = "鎸夐挳绠$悊-鍒嗛〉鍒楄〃鏌ヨ", notes = "鎸夐挳绠$悊-鍒嗛〉鍒楄〃鏌ヨ")
+    @GetMapping("/find/page/{page}/{size}")
+    public QueryPageResponseResult<Button> findByPageList(@PathVariable("page") int page, @PathVariable("size") int size, ButtonRequest buttonRequest) {
+        return buttonService.findByPageList(page, size, buttonRequest);
+    }
+
+    @AutoLog(value = "鎸夐挳绠$悊-缂栬緫鎸夐挳")
+    @ApiOperation(value = "鎸夐挳绠$悊-缂栬緫鎸夐挳", notes = "鎸夐挳绠$悊-缂栬緫鎸夐挳")
+    @PutMapping("/edit/{id}")
+    public ResponseResult editButton(@PathVariable("id") String id,@RequestBody Button button) {
+        boolean b = buttonService.editButton(id,button);
+        if(b) {
+            return new ResponseResult(CommonCode.SUCCESS);
+        }
+        return new ResponseResult(CommonCode.FAIL);
+    }
+
+    @AutoLog(value = "鎸夐挳绠$悊-鍒犻櫎鎸夐挳")
+    @ApiOperation(value = "鎸夐挳绠$悊-鍒犻櫎鎸夐挳", notes = "鎸夐挳绠$悊-鍒犻櫎鎸夐挳")
+    @DeleteMapping("/delete")
+    public ResponseResult deleteButton(@RequestParam("id") String id) {
+        boolean b = buttonService.deleteButtonById(id);
+        if(b) {
+            return new ResponseResult(CommonCode.SUCCESS);
+        }
+        return new ResponseResult(CommonCode.FAIL);
+    }
+
+    @AutoLog(value = "鎸夐挳绠$悊-鏌ヨ瑙掕壊鍒嗛厤鍜屾湭鍒嗛厤鐨勭郴缁熸寜閽�")
+    @ApiOperation(value = "鎸夐挳绠$悊-鏌ヨ瑙掕壊鍒嗛厤鍜屾湭鍒嗛厤鐨勭郴缁熸寜閽�", notes = "鎸夐挳绠$悊-鏌ヨ瑙掕壊鍒嗛厤鍜屾湭鍒嗛厤鐨勭郴缁熸寜閽�")
+    @GetMapping("/get/role")
+    public QueryListResponseResult<Button> findPermsByRoleId(@RequestParam("roleId") String roleId) {
+        List<Button> list = buttonService.findPermsByRoleId(roleId);
+        if(list == null)
+            list = Collections.emptyList();
+        return new QueryListResponseResult<>(CommonCode.SUCCESS, list);
+    }
+
+    @AutoLog(value = "鎸夐挳绠$悊-鑾峰彇鑿滃崟鍒嗛厤鐨勬寜閽垪琛� 鍖呭惈鏈垎閰嶆寜閽�")
+    @ApiOperation(value = "鎸夐挳绠$悊-鑾峰彇鑿滃崟鍒嗛厤鐨勬寜閽垪琛� 鍖呭惈鏈垎閰嶆寜閽�", notes = "鎸夐挳绠$悊-鑾峰彇鑿滃崟鍒嗛厤鐨勬寜閽垪琛� 鍖呭惈鏈垎閰嶆寜閽�")
+    @GetMapping("/get/menu")
+    public QueryListResponseResult<Button> findByMenuId(@RequestParam("menuId") String menuId) {
+        List<Button> list = buttonService.findByMenuId(menuId);
+        if(list == null)
+            list = Collections.emptyList();
+        return new QueryListResponseResult<>(CommonCode.SUCCESS, list);
+    }
+
+    @AutoLog(value = "鎸夐挳绠$悊-鑾峰彇瀵硅薄鍒嗛厤鐨勬寜閽垪琛� 鍖呭惈鏈垎閰嶆寜閽�")
+    @ApiOperation(value = "鎸夐挳绠$悊-鑾峰彇瀵硅薄鍒嗛厤鐨勬寜閽垪琛� 鍖呭惈鏈垎閰嶆寜閽�", notes = "鎸夐挳绠$悊-鑾峰彇瀵硅薄鍒嗛厤鐨勬寜閽垪琛� 鍖呭惈鏈垎閰嶆寜閽�")
+    @GetMapping("/get/object")
+    public QueryListResponseResult<Button> findByObjectId(@RequestParam("objectId") String objectId) {
+        List<Button> list = buttonService.findByObjectId(objectId);
+        if(list == null)
+            list = Collections.emptyList();
+        return new QueryListResponseResult<>(CommonCode.SUCCESS, list);
+    }
+
+    @AutoLog(value = "鎸夐挳绠$悊-瀵煎嚭鑷畾涔�")
+    @ApiOperation(value = "鎸夐挳绠$悊-瀵煎嚭鑷畾涔�", notes = "鎸夐挳绠$悊-瀵煎嚭鑷畾涔�")
+    @GetMapping("/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) {
+        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+        List<Button> list = buttonService.list();
+        //mv.addObject(NormalExcelConstants.FILE_NAME,"瀵煎嚭Excel鏂囦欢鍚嶅瓧");
+        //娉ㄨВ瀵硅薄Class
+        mv.addObject(NormalExcelConstants.CLASS,Button.class);
+        //鑷畾涔夊鍑哄瓧娈�
+        //mv.addObject(NormalExcelConstants.EXPORT_FIELDS,"name,keyWord,punchTime");
+        //鑷畾涔夎〃鏍煎弬鏁�
+        mv.addObject(NormalExcelConstants.PARAMS,new ExportParams("鑷畾涔夊鍑篍xcel妯℃澘鍐呭鏍囬", "鑷畾涔塖heet鍚嶅瓧"));
+        //瀵煎嚭鏁版嵁鍒楄〃
+        mv.addObject(NormalExcelConstants.DATA_LIST,list);
+        return mv;
+    }
+}
diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DepartmentController.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DepartmentController.java
new file mode 100644
index 0000000..b2db9da
--- /dev/null
+++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DepartmentController.java
@@ -0,0 +1,147 @@
+package org.jeecg.modules.dnc.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.modules.dnc.request.DepartmentRequest;
+import org.jeecg.modules.dnc.response.*;
+import org.jeecg.modules.dnc.service.IDepartmentService;
+import org.jeecg.modules.dnc.ucenter.Department;
+import org.jeecg.modules.system.entity.SysUser;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Collections;
+import java.util.List;
+
+@Slf4j
+@Api(tags = "DNC閮ㄩ棬绠$悊")
+@RestController
+@RequestMapping("/ucenter/depart")
+public class DepartmentController  {
+    @Autowired
+    private IDepartmentService departmentService;
+
+    @AutoLog(value = "DNC閮ㄩ棬绠$悊-娣诲姞閮ㄩ棬淇℃伅")
+    @ApiOperation(value = "DNC閮ㄩ棬绠$悊-娣诲姞閮ㄩ棬淇℃伅", notes = "DNC閮ㄩ棬绠$悊-娣诲姞閮ㄩ棬淇℃伅")
+    @PostMapping("/add")
+    public ResponseResult addDepartment(@RequestBody Department department) {
+        boolean b = departmentService.addDepartment(department);
+        if(b) {
+            return new ResponseResult(CommonCode.SUCCESS);
+        }
+        return new ResponseResult(CommonCode.FAIL);
+    }
+
+    @AutoLog(value = "DNC閮ㄩ棬绠$悊-淇敼閮ㄩ棬")
+    @ApiOperation(value = "DNC閮ㄩ棬绠$悊-淇敼閮ㄩ棬", notes = "DNC閮ㄩ棬绠$悊-淇敼閮ㄩ棬")
+    @PutMapping("/edit/{id}")
+    public ResponseResult editDepartment(@PathVariable("id") String id,@RequestBody Department department) {
+        boolean b = departmentService.editDepartment(id,department);
+        if(b) {
+            return new ResponseResult(CommonCode.SUCCESS);
+        }
+        return new ResponseResult(CommonCode.FAIL);
+    }
+
+    @AutoLog(value = "DNC閮ㄩ棬绠$悊-鍒嗛〉鏌ヨ")
+    @ApiOperation(value = "DNC閮ㄩ棬绠$悊-鍒嗛〉鏌ヨ", notes = "DNC閮ㄩ棬绠$悊-鍒嗛〉鏌ヨ")
+    @GetMapping("/find/page/{page}/{size}")
+    public QueryPageResponseResult<Department> findPageList(@PathVariable("page") int page, @PathVariable("size") int size, DepartmentRequest departmentRequest) {
+        return departmentService.findPageList(page,size,departmentRequest);
+    }
+
+    @AutoLog(value = "DNC閮ㄩ棬绠$悊-鑾峰彇鎵�鏈夊垪琛紝鎸夊眰绾�")
+    @ApiOperation(value = "DNC閮ㄩ棬绠$悊-鑾峰彇鎵�鏈夊垪琛紝鎸夊眰绾�", notes = "DNC閮ㄩ棬绠$悊-鑾峰彇鎵�鏈夊垪琛紝鎸夊眰绾�")
+    @GetMapping("/load/tree")
+    public QueryListResponseResult<CommonJsonTree> loadTree() {
+        List<CommonJsonTree> tree = departmentService.loadTree();
+        if(tree == null)
+            tree = Collections.emptyList();
+        return new QueryListResponseResult(CommonCode.SUCCESS, tree);
+    }
+
+    @AutoLog(value = "DNC閮ㄩ棬绠$悊-鍒犻櫎 閮ㄩ棬")
+    @ApiOperation(value = "DNC閮ㄩ棬绠$悊-鍒犻櫎 閮ㄩ棬", notes = "DNC閮ㄩ棬绠$悊-鍒犻櫎 閮ㄩ棬")
+    @DeleteMapping("/delete")
+    public ResponseResult deleteDepartment(@RequestParam("id") String id) {
+        boolean b = departmentService.deleteDepartmentById(id);
+        if(b) {
+            return new ResponseResult(CommonCode.SUCCESS);
+        }
+        return new ResponseResult(CommonCode.FAIL);
+    }
+
+    @AutoLog(value = "DNC閮ㄩ棬绠$悊-鑾峰彇鐢ㄦ埛鏈垎閰嶇殑閮ㄩ棬鍒楄〃")
+    @ApiOperation(value = "DNC閮ㄩ棬绠$悊-鑾峰彇鐢ㄦ埛鏈垎閰嶇殑閮ㄩ棬鍒楄〃", notes = "DNC閮ㄩ棬绠$悊-鑾峰彇鐢ㄦ埛鏈垎閰嶇殑閮ㄩ棬鍒楄〃")
+    @GetMapping("/perm/select/non/{userId}")
+    public QueryListResponseResult<Department> getUserNonPermDepart(@PathVariable("userId") String userId) {
+        List<Department> list = departmentService.getUserNonPermDepart(userId);
+        if(list == null)
+            list = Collections.emptyList();
+        return new QueryListResponseResult<>(CommonCode.SUCCESS, list);
+    }
+
+    @AutoLog(value = "DNC閮ㄩ棬绠$悊-鑾峰彇鐢ㄦ埛宸插垎閰嶇殑閮ㄩ棬鍒楄〃")
+    @ApiOperation(value = "DNC閮ㄩ棬绠$悊-鑾峰彇鐢ㄦ埛宸插垎閰嶇殑閮ㄩ棬鍒楄〃", notes = "DNC閮ㄩ棬绠$悊-鑾峰彇鐢ㄦ埛宸插垎閰嶇殑閮ㄩ棬鍒楄〃")
+    @GetMapping("/perm/select/{userId}")
+    public QueryListResponseResult<Department> getUserPermDepart(@PathVariable("userId") String userId) {
+        List<Department> list = departmentService.getUserPermDepart(userId);
+        if(list == null)
+            list = Collections.emptyList();
+        return new QueryListResponseResult<>(CommonCode.SUCCESS, list);
+    }
+
+    @AutoLog(value = "DNC閮ㄩ棬绠$悊-鑾峰彇閮ㄩ棬鏈寚瀹氱殑瀹℃壒浜�")
+    @ApiOperation(value = "DNC閮ㄩ棬绠$悊-鑾峰彇閮ㄩ棬鏈寚瀹氱殑瀹℃壒浜�", notes = "DNC閮ㄩ棬绠$悊-鑾峰彇閮ㄩ棬鏈寚瀹氱殑瀹℃壒浜�")
+    @GetMapping("/approve/select/non/{departId}")
+    public QueryListResponseResult<SysUser> getUserNonApproveDepart(@PathVariable("departId") String departId) {
+        List<SysUser> list = departmentService.getUserNonApproveDepart(departId);
+        if(list == null)
+            list = Collections.emptyList();
+        return new QueryListResponseResult<>(CommonCode.SUCCESS, list);
+    }
+
+    @AutoLog(value = "DNC閮ㄩ棬绠$悊-鑾峰彇閮ㄩ棬宸叉寚瀹氱殑瀹℃壒浜�")
+    @ApiOperation(value = "DNC閮ㄩ棬绠$悊-鑾峰彇閮ㄩ棬宸叉寚瀹氱殑瀹℃壒浜�", notes = "DNC閮ㄩ棬绠$悊-鑾峰彇閮ㄩ棬宸叉寚瀹氱殑瀹℃壒浜�")
+    @GetMapping("/approve/select/{departId}")
+    public QueryListResponseResult<SysUser> getUserApproveDepart(@PathVariable("departId") String departId) {
+        List<SysUser> list = departmentService.getUserApproveDepart(departId);
+        if(list == null)
+            list = Collections.emptyList();
+        return new QueryListResponseResult<>(CommonCode.SUCCESS, list);
+    }
+
+    @AutoLog(value = "DNC閮ㄩ棬绠$悊-澧炲姞閮ㄩ棬瀹℃壒浜�")
+    @ApiOperation(value = "DNC閮ㄩ棬绠$悊-澧炲姞閮ㄩ棬瀹℃壒浜�", notes = "DNC閮ㄩ棬绠$悊-澧炲姞閮ㄩ棬瀹℃壒浜�")
+    @PostMapping("/assign/add/approve/user/{departId}/{relativeFlag}")
+    public ResponseResult assignAddApproveUser(@PathVariable("departId") String departId, @PathVariable("relativeFlag") Integer relativeFlag, @RequestBody String[] userIds) {
+        boolean b = departmentService.assignAddApproveUser(departId, relativeFlag, userIds);
+        if(b) {
+            return new ResponseResult(CommonCode.SUCCESS);
+        }
+        return new ResponseResult(CommonCode.FAIL);
+    }
+
+    @AutoLog(value = "DNC閮ㄩ棬绠$悊-绉婚櫎閮ㄩ棬瀹℃壒浜�")
+    @ApiOperation(value = "DNC閮ㄩ棬绠$悊-绉婚櫎閮ㄩ棬瀹℃壒浜�", notes = "DNC閮ㄩ棬绠$悊-绉婚櫎閮ㄩ棬瀹℃壒浜�")
+    @PostMapping("/assign/remove/approve/user/{departId}/{relativeFlag}")
+    public ResponseResult assignRemoveApproveUser(@PathVariable("departId") String departId, @PathVariable("relativeFlag") Integer relativeFlag, @RequestBody String[] userIds) {
+        boolean b = departmentService.assignRemoveApproveUser(departId, relativeFlag, userIds);
+        if(b) {
+            return new ResponseResult(CommonCode.SUCCESS);
+        }
+        return new ResponseResult(CommonCode.FAIL);
+    }
+
+    @AutoLog(value = "DNC閮ㄩ棬绠$悊-鑾峰彇閮ㄩ棬List")
+    @ApiOperation(value = "DNC閮ㄩ棬绠$悊-鑾峰彇閮ㄩ棬List", notes = "DNC閮ㄩ棬绠$悊-鑾峰彇閮ㄩ棬List")
+    @GetMapping("/list/all")
+    public QueryListResponseResult<Department> getDepartList() {
+        List<Department> list = departmentService.list();
+        if(list == null)
+            list = Collections.emptyList();
+        return new QueryListResponseResult<>(CommonCode.SUCCESS, list);
+    }
+}
diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/ObjectController.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/ObjectController.java
new file mode 100644
index 0000000..ef38516
--- /dev/null
+++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/ObjectController.java
@@ -0,0 +1,76 @@
+package org.jeecg.modules.dnc.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.modules.dnc.entity.Button;
+import org.jeecg.modules.dnc.entity.ObjectBase;
+import org.jeecg.modules.dnc.request.ObjectBaseRequest;
+import org.jeecg.modules.dnc.response.CommonCode;
+import org.jeecg.modules.dnc.response.QueryPageResponseResult;
+import org.jeecg.modules.dnc.response.ResponseResult;
+import org.jeecg.modules.dnc.service.IObjectService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+@Slf4j
+@Api(tags = "Dnc瀵硅薄绠$悊")
+@RestController
+@RequestMapping("/ucenter/obj")
+public class ObjectController  {
+    @Autowired
+    private IObjectService objectService;
+
+    @AutoLog(value = "Dnc瀵硅薄绠$悊-鏂板绠$悊瀵硅薄淇℃伅")
+    @ApiOperation(value = "Dnc瀵硅薄绠$悊-鏂板绠$悊瀵硅薄淇℃伅", notes = "Dnc瀵硅薄绠$悊-鏂板绠$悊瀵硅薄淇℃伅")
+    @PostMapping("/add")
+    public ResponseResult addObject(@RequestBody ObjectBase objectBase) {
+        boolean b = objectService.addObject(objectBase);
+        if(b) {
+            return new ResponseResult(CommonCode.SUCCESS);
+        }
+        return new ResponseResult(CommonCode.FAIL);
+    }
+
+    @AutoLog(value = "Dnc瀵硅薄绠$悊-缂栬緫瀵硅薄")
+    @ApiOperation(value = "Dnc瀵硅薄绠$悊-缂栬緫瀵硅薄", notes = "Dnc瀵硅薄绠$悊-缂栬緫瀵硅薄")
+    @PutMapping("/edit/{id}")
+    public ResponseResult editObject(@PathVariable("id") String id,@RequestBody ObjectBase objectBase) {
+        boolean b = objectService.editObject(id,objectBase);
+        if(b) {
+            return new ResponseResult(CommonCode.SUCCESS);
+        }
+        return new ResponseResult(CommonCode.FAIL);
+    }
+
+    @AutoLog(value = "Dnc瀵硅薄绠$悊-鍒嗛〉鏌ヨ瀵硅薄")
+    @ApiOperation(value = "Dnc瀵硅薄绠$悊-鍒嗛〉鏌ヨ瀵硅薄", notes = "Dnc瀵硅薄绠$悊-鍒嗛〉鏌ヨ瀵硅薄")
+    @GetMapping("/find/page/{page}/{size}")
+    public QueryPageResponseResult<ObjectBase> findByPageList(@PathVariable("page") int page, @PathVariable("size") int size, ObjectBaseRequest objectRequest) {
+        return objectService.findPageList(page,size,objectRequest);
+    }
+
+    @AutoLog(value = "Dnc瀵硅薄绠$悊-鍒犻櫎瀵硅薄")
+    @ApiOperation(value = "Dnc瀵硅薄绠$悊-鍒犻櫎瀵硅薄", notes = "Dnc瀵硅薄绠$悊-鍒犻櫎瀵硅薄")
+    @DeleteMapping("/delete")
+    public ResponseResult deleteObjectById(@RequestParam("id") String id) {
+        boolean b = objectService.deleteObjectById(id);
+        if(b) {
+            return new ResponseResult(CommonCode.SUCCESS);
+        }
+        return new ResponseResult(CommonCode.FAIL);
+    }
+
+    @AutoLog(value = "Dnc瀵硅薄绠$悊-鎸囨淳瀵硅薄鐨勬搷浣滄寜閽�")
+    @ApiOperation(value = "Dnc瀵硅薄绠$悊-鎸囨淳瀵硅薄鐨勬搷浣滄寜閽�", notes = "Dnc瀵硅薄绠$悊-鎸囨淳瀵硅薄鐨勬搷浣滄寜閽�")
+    @PostMapping("/assign/button/{objectId}")
+    public ResponseResult assignButton(@PathVariable("objectId") String objectId, @RequestBody List<Button> buttonList) {
+        boolean b = objectService.assignButton(objectId, buttonList);
+        if(b) {
+            return new ResponseResult(CommonCode.SUCCESS);
+        }
+        return new ResponseResult(CommonCode.FAIL);
+    }
+}
diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/entity/ObjectBase.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/entity/ObjectBase.java
new file mode 100644
index 0000000..8da7cb3
--- /dev/null
+++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/entity/ObjectBase.java
@@ -0,0 +1,36 @@
+package org.jeecg.modules.dnc.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+@Data
+@NoArgsConstructor
+@TableName(value = "sys_object")
+public class ObjectBase {
+    @TableId
+    private String objectId;
+    private String objectPerm;
+    private String objectName;
+    private String objectIcon;
+    private Integer priority;
+    @JsonIgnore
+    @TableField(value = "create_time", select = false, fill = FieldFill.INSERT)
+    private Date createTime;
+    @JsonIgnore
+    @TableField(value = "update_time", select = false, fill = FieldFill.UPDATE)
+    private Date updateTime;
+    @JsonIgnore
+    @TableField(value = "create_user", select = false, fill = FieldFill.INSERT)
+    private String createUser;
+    @JsonIgnore
+    @TableField(value = "update_user", select = false, fill = FieldFill.UPDATE)
+    private String updateUser;
+    @JsonIgnore
+    @TableLogic
+    @TableField(value = "delete_flag", select = false)
+    private Integer deleteFlag = 0;
+}
diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/mapper/DncObjectMapper.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/mapper/DncObjectMapper.java
new file mode 100644
index 0000000..a3506b1
--- /dev/null
+++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/mapper/DncObjectMapper.java
@@ -0,0 +1,7 @@
+package org.jeecg.modules.dnc.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.dnc.entity.ObjectBase;
+
+public interface DncObjectMapper extends BaseMapper<ObjectBase> {
+}
diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/request/ObjectBaseRequest.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/request/ObjectBaseRequest.java
new file mode 100644
index 0000000..c53c7a1
--- /dev/null
+++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/request/ObjectBaseRequest.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.dnc.request;
+
+import lombok.Data;
+
+@Data
+public class ObjectBaseRequest {
+
+    private String objectPerm;
+    private String objectName;
+
+    //鎺掑簭瀛楁
+    private String descStr;
+    private String ascStr;
+}
diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IButtonService.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IButtonService.java
index 2c26484..494f206 100644
--- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IButtonService.java
+++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IButtonService.java
@@ -58,7 +58,7 @@
     List<Button> getObjectButtonPerms(String userId, String objectPerm);
 
     /**
-     * 缂栬緫 鎸夐挳
+     * 缂栬緫鎸夐挳
      * @param id
      * @param button
      * @return
diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IObjectService.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IObjectService.java
new file mode 100644
index 0000000..9563339
--- /dev/null
+++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IObjectService.java
@@ -0,0 +1,57 @@
+package org.jeecg.modules.dnc.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.dnc.entity.Button;
+import org.jeecg.modules.dnc.entity.ObjectBase;
+import org.jeecg.modules.dnc.request.ObjectBaseRequest;
+import org.jeecg.modules.dnc.response.QueryPageResponseResult;
+
+import java.util.List;
+
+public interface IObjectService extends IService<ObjectBase> {
+    /**
+     * 鏂板绠$悊瀵硅薄淇℃伅
+     * @param objectBase
+     * @return
+     */
+    boolean addObject(ObjectBase objectBase);
+
+    /**
+     * 鏍规嵁鏉冮檺鐮佹煡鎵惧璞�
+     * @param permCode
+     * @return
+     */
+    ObjectBase getByPermCode(String permCode);
+
+    /**
+     * 鎸囨淳瀵硅薄鐨勬搷浣滄寜閽�
+     * @param objectId
+     * @param buttonList
+     * @return
+     */
+    boolean assignButton(String objectId, List<Button> buttonList);
+
+    /**
+     * 缂栬緫瀵硅薄
+     * @param id
+     * @param objectBase
+     * @return
+     */
+    boolean editObject(String id, ObjectBase objectBase);
+
+    /**
+     * 鍒犻櫎瀵硅薄
+     * @param id
+     * @return
+     */
+    boolean deleteObjectById(String id);
+
+    /**
+     * 鍒嗛〉鏌ヨ瀵硅薄
+     * @param page
+     * @param size
+     * @param buttonRequest
+     * @return
+     */
+    QueryPageResponseResult<ObjectBase> findPageList(int page, int size, ObjectBaseRequest buttonRequest );
+}
diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ObjectServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ObjectServiceImpl.java
new file mode 100644
index 0000000..dfa4bf2
--- /dev/null
+++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ObjectServiceImpl.java
@@ -0,0 +1,158 @@
+package org.jeecg.modules.dnc.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.jeecg.modules.dnc.entity.Button;
+import org.jeecg.modules.dnc.entity.ObjectBase;
+import org.jeecg.modules.dnc.entity.ObjectButton;
+import org.jeecg.modules.dnc.entity.ObjectButtonPermission;
+import org.jeecg.modules.dnc.exception.ExceptionCast;
+import org.jeecg.modules.dnc.mapper.DncObjectMapper;
+import org.jeecg.modules.dnc.request.ObjectBaseRequest;
+import org.jeecg.modules.dnc.response.CommonCode;
+import org.jeecg.modules.dnc.response.ObjectCode;
+import org.jeecg.modules.dnc.response.QueryPageResponseResult;
+import org.jeecg.modules.dnc.service.IButtonService;
+import org.jeecg.modules.dnc.service.IObjectButtonPermissionService;
+import org.jeecg.modules.dnc.service.IObjectButtonService;
+import org.jeecg.modules.dnc.service.IObjectService;
+import org.jeecg.modules.dnc.utils.ValidateUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+@Service
+public class ObjectServiceImpl extends ServiceImpl<DncObjectMapper, ObjectBase> implements IObjectService {
+    @Autowired
+    private IObjectButtonService objectButtonService;
+    @Autowired
+    private IButtonService buttonService;
+    @Autowired
+    private IObjectButtonPermissionService objectButtonPermissionService;
+
+    @Override
+    @Transactional(rollbackFor = {Exception.class})
+    public boolean addObject(ObjectBase objectBase) {
+        if(objectBase == null)
+            ExceptionCast.cast(CommonCode.INVALID_PARAM);
+        if(!ValidateUtil.validateString(objectBase.getObjectPerm()))
+            ExceptionCast.cast(ObjectCode.OBJ_PERM_CODE_NONE);
+        if(!ValidateUtil.validateString(objectBase.getObjectName()))
+            ExceptionCast.cast(ObjectCode.OBJ_NAME_NONE);
+        ObjectBase en = getByPermCode(objectBase.getObjectPerm());
+        if(en != null)
+            ExceptionCast.cast(ObjectCode.OBJ_PERM_CODE_EXIST);
+        return super.save(objectBase);
+    }
+
+    @Override
+    public ObjectBase getByPermCode(String permCode) {
+        if(!ValidateUtil.validateString(permCode))
+            return null;
+        List<ObjectBase> list = super.lambdaQuery().eq(ObjectBase::getObjectPerm, permCode).list();
+        if(list == null || list.isEmpty())
+            return null;
+        return list.get(0);
+    }
+
+    @Override
+    @Transactional(rollbackFor = {Exception.class})
+    public boolean assignButton(String objectId, List<Button> buttonList) {
+        if(!ValidateUtil.validateString(objectId))
+            ExceptionCast.cast(ObjectCode.OBJ_ID_NONE);
+        ObjectBase objectBase = super.getById(objectId);
+        if(objectBase == null)
+            ExceptionCast.cast(ObjectCode.OBJ_NOT_EXIST);
+        boolean b = objectButtonService.deleteByObjectId(objectId);
+        if(!b)
+            ExceptionCast.cast(CommonCode.FAIL);
+        if(buttonList != null && !buttonList.isEmpty()) {
+            List<ObjectButton> objButtons = new ArrayList<>();
+            List<String> ids = new ArrayList<>();
+            buttonList.forEach(item -> {
+                final ObjectButton en = new ObjectButton();
+                en.setObjectId(objectBase.getObjectId());
+                en.setButtonId(item.getButtonId());
+                en.setButtonUrl(item.getButtonUrl());
+                if(ValidateUtil.validateString(item.getButtonAlias())) {
+                    en.setButtonAlias(item.getButtonAlias());
+                }else {
+                    en.setButtonAlias(item.getButtonName());
+                }
+                en.setPermCode(objectBase.getObjectPerm() + "_" + item.getButtonPerm());
+                objButtons.add(en);
+                ids.add(item.getButtonId());
+            });
+            Collection<Button> buttons = buttonService.listByIds(ids);
+            if(buttons == null || buttons.isEmpty() || buttons.size() != buttonList.size())
+                ExceptionCast.cast(CommonCode.INVALID_PARAM);
+            if(!objButtons.isEmpty())
+                return objectButtonService.saveBatch(objButtons);
+        }
+        return b;
+    }
+
+    @Override
+    @Transactional(rollbackFor = {Exception.class})
+    public boolean editObject(String id, ObjectBase objectBase) {
+        if(!ValidateUtil.validateString(id) || objectBase == null)
+            ExceptionCast.cast(CommonCode.INVALID_PARAM);
+        ObjectBase en = super.getById(id);
+        if (en == null) {
+            ExceptionCast.cast(ObjectCode.OBJ_ID_NOT_EXIST);
+        }
+        objectBase.setObjectId(id);
+        objectBase.setObjectPerm(null);
+        return super.updateById(objectBase);
+    }
+
+    @Override
+    @Transactional(rollbackFor = {Exception.class})
+    public boolean deleteObjectById(String id) {
+        if(!ValidateUtil.validateString(id)) {
+            ExceptionCast.cast(CommonCode.INVALID_PARAM);
+        }
+        ObjectBase en = super.getById(id);
+        if (en == null)
+            ExceptionCast.cast(ObjectCode.OBJ_ID_NOT_EXIST);
+        List<ObjectButtonPermission> objectButtonPermissions = objectButtonPermissionService.findByObjectId(id);
+        if(objectButtonPermissions != null && !objectButtonPermissions.isEmpty())
+            ExceptionCast.cast(ObjectCode.OBJ_ROLE_EXIST);
+        boolean b = objectButtonService.deleteByObjectId(id);
+        if(!b)
+            ExceptionCast.cast(CommonCode.FAIL);
+        return super.removeById(id);
+    }
+
+    @Override
+    public QueryPageResponseResult<ObjectBase> findPageList(int page, int size, ObjectBaseRequest buttonRequest) {
+        if(page < 1 || size < 1) {
+            ExceptionCast.cast(CommonCode.INVALID_PAGE);
+        }
+        IPage<ObjectBase> pageData = new Page<>(page, size);
+        LambdaQueryChainWrapper<ObjectBase> lambdaQuery = super.lambdaQuery();
+        if(buttonRequest != null) {
+            if(ValidateUtil.validateString(buttonRequest.getObjectName())) {
+                lambdaQuery.eq(ObjectBase::getObjectName, buttonRequest.getObjectName());
+            }
+            if(ValidateUtil.validateString(buttonRequest.getObjectPerm())) {
+                lambdaQuery.like(ObjectBase::getObjectPerm, buttonRequest.getObjectPerm());
+            }
+            if(ValidateUtil.validateString(buttonRequest.getAscStr())) {
+                String[] ascArr = buttonRequest.getAscStr().split(",");
+//                ((Page<ObjectBase>) pageData).setAsc(ascArr);
+            }
+            if(ValidateUtil.validateString(buttonRequest.getDescStr())) {
+                String[] descStr = buttonRequest.getDescStr().split(",");
+//                ((Page<ObjectBase>) pageData).setDesc(descStr);
+            }
+        }
+        IPage<ObjectBase> userIPage = lambdaQuery.page(pageData);
+        return new QueryPageResponseResult<>(CommonCode.SUCCESS, userIPage);
+    }
+}

--
Gitblit v1.9.3