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