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("èªå®ä¹å¯¼åºExcel模æ¿å 容æ é¢", "èªå®ä¹Sheetåå")); //å¯¼åºæ°æ®å表 mv.addObject(NormalExcelConstants.DATA_LIST,list); return mv; } } 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); } } 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); } } 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; } 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> { } 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; } 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 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 ); } 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); } }