| | |
| | | import org.springframework.validation.BindingResult; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.Optional; |
| | | import java.util.*; |
| | | |
| | | @Slf4j |
| | | @Tag(name = "角色管理", description = "角色增删改查等操作") |
| | |
| | | return BaseResponseUtils.buildException(e.getMessage()) ; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 客户端请求得到所有角色数据 |
| | | * @return 所有角色数据 |
| | | */ |
| | | //@Operation(summary = "获得全部角色", description = "返回全部角色数据") |
| | | //@ApiResponses(value = { |
| | | // @ApiResponse( |
| | | // responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, |
| | | // description = "返回全部角色数据(BaseResponse.content:QueryResultVo[{}])", |
| | | // content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, |
| | | // schema = @Schema(implementation = BaRole.class))} |
| | | // ) |
| | | //}) |
| | | //@GetMapping(path = "all") |
| | | //@SsoAop() |
| | | //public BaseResponse<QueryResultVo<List<BaRole>>> all(){ |
| | | // try { |
| | | // QueryResultVo<List<BaRole>> res = this.sv.selectAll() ; |
| | | // return BaseResponseUtils.buildSuccess(res); |
| | | // } catch (Exception e) { |
| | | // log.error("查询角色异常", e); |
| | | // return BaseResponseUtils.buildException(e.getMessage()) ; |
| | | // } |
| | | //} |
| | | |
| | | /** |
| | | * 客户端请求得到一页角色数据 |
| | | * @return 所有角色数据 |
| | | */ |
| | | //@Operation(summary = "获得一页角色", description = "返回一页角色数据") |
| | | //@ApiResponses(value = { |
| | | // @ApiResponse( |
| | | // responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, |
| | | // description = "返回一页角色数据(BaseResponse.content:QueryResultVo[{}])", |
| | | // content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, |
| | | // schema = @Schema(implementation = BaRole.class))} |
| | | // ) |
| | | //}) |
| | | //@PostMapping(path = "some", consumes = MediaType.APPLICATION_JSON_VALUE) |
| | | //@SsoAop() |
| | | //public BaseResponse<QueryResultVo<List<BaRole>>> some(@RequestBody @Valid QueryVo vo){ |
| | | // try { |
| | | // QueryResultVo<List<BaRole>> res = this.sv.selectSome(vo) ; |
| | | // return BaseResponseUtils.buildSuccess(res); |
| | | // } catch (Exception e) { |
| | | // log.error("查询角色异常", e); |
| | | // return BaseResponseUtils.buildException(e.getMessage()) ; |
| | | // } |
| | | //} |
| | | |
| | | /** |
| | | * 得到一个角色数据 |
| | | * @return 一个角色数据 |
| | | */ |
| | | //@Operation(summary = "一个角色", description = "得到一个角色数据") |
| | | //@ApiResponses(value = { |
| | | // @ApiResponse( |
| | | // responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, |
| | | // description = "返回一个角色数据(BaseResponse.content:{})", |
| | | // content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, |
| | | // schema = @Schema(implementation = BaRole.class))} |
| | | // ) |
| | | //}) |
| | | ////@GetMapping(path = "one", consumes = MediaType.TEXT_PLAIN_VALUE) |
| | | //@GetMapping(path = "one") |
| | | //@SsoAop() |
| | | //public BaseResponse<BaRole> one(Long id){ |
| | | // return BaseResponseUtils.buildSuccess(this.sv.selectById(id)); |
| | | //} |
| | | |
| | | /** |
| | | * 保存角色 |
| | | * @param po 保存角色form表单对象 |
| | | * @return 是否成功 |
| | | */ |
| | | //@Operation(summary = "保存角色", description = "提交角色数据(form表单),进行保存") |
| | | //@ApiResponses(value = { |
| | | // @ApiResponse( |
| | | // responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, |
| | | // description = "操作结果:true:成功,false:失败(BaseResponse.content)", |
| | | // content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, |
| | | // schema = @Schema(implementation = Boolean.class))} |
| | | // ) |
| | | //}) |
| | | //@PostMapping(path = "save", consumes = MediaType.APPLICATION_JSON_VALUE) |
| | | //@SsoAop() |
| | | //public BaseResponse<Boolean> save(@RequestBody @Valid BaRole po, BindingResult bindingResult){ |
| | | // if(bindingResult != null && bindingResult.hasErrors()){ |
| | | // return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); |
| | | // } |
| | | // po.id = null ; |
| | | // Long count; |
| | | // try { |
| | | // po.deleted = Deleted.NO ;//默认不删除 |
| | | // count = this.sv.save(po); |
| | | // } catch (Exception e) { |
| | | // log.error("保存角色异常", e); |
| | | // return BaseResponseUtils.buildException(e.getMessage()) ; |
| | | // } |
| | | // if(count <= 0){ |
| | | // return BaseResponseUtils.buildFail("数据库存储失败") ; |
| | | // }else{ |
| | | // return BaseResponseUtils.buildSuccess(true) ; |
| | | // } |
| | | //} |
| | | |
| | | /** |
| | | * 添加角色及权限列表,添加前判断角色名是否已存在 |
| | |
| | | } |
| | | |
| | | /** |
| | | * 编辑修改角色 |
| | | * 修改角色 |
| | | * @param po 保存角色form表单对象 |
| | | * @return 是否成功 |
| | | */ |
| | | //@Operation(summary = "编辑修改角色", description = "提交角色数据(form表单),进行修改") |
| | | //@ApiResponses(value = { |
| | | // @ApiResponse( |
| | | // responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, |
| | | // description = "操作结果:true:成功,false:失败(BaseResponse.content)", |
| | | // content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, |
| | | // schema = @Schema(implementation = Boolean.class))} |
| | | // ) |
| | | //}) |
| | | //@PostMapping(path = "update", consumes = MediaType.APPLICATION_JSON_VALUE) |
| | | //@SsoAop() |
| | | //public BaseResponse<Boolean> update(@RequestBody @Valid BaRole po, BindingResult bindingResult){ |
| | | // if(bindingResult != null && bindingResult.hasErrors()){ |
| | | // return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); |
| | | // } |
| | | // if(po.id == null){ |
| | | // return BaseResponseUtils.buildFail("无数据实体ID") ; |
| | | // } |
| | | // int count; |
| | | // try { |
| | | // po.deleted = null ;//设置为null,不做更新 |
| | | // count = this.sv.update(po); |
| | | // } catch (Exception e) { |
| | | // log.error("保存角色异常", e); |
| | | // return BaseResponseUtils.buildException(e.getMessage()) ; |
| | | // } |
| | | // if(count <= 0){ |
| | | // return BaseResponseUtils.buildFail("数据库存储失败") ; |
| | | // }else{ |
| | | // return BaseResponseUtils.buildSuccess(true) ; |
| | | // } |
| | | //} |
| | | @Operation(summary = "修改角色", description = "提交角色数据,进行修改") |
| | | @ApiResponses(value = { |
| | | @ApiResponse( |
| | | responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, |
| | | description = "操作结果:true:成功,false:失败(BaseResponse.content)", |
| | | content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, |
| | | schema = @Schema(implementation = Boolean.class))} |
| | | ) |
| | | }) |
| | | @PostMapping(path = "update", consumes = MediaType.APPLICATION_JSON_VALUE) |
| | | @SsoAop() |
| | | public BaseResponse<Boolean> update(@RequestBody @Valid BaRole po, BindingResult bindingResult){ |
| | | if(bindingResult != null && bindingResult.hasErrors()){ |
| | | return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); |
| | | } |
| | | |
| | | // 接收角色编号、角色名称、操作人编号 |
| | | Long roleId = Optional.ofNullable(po.getId()).orElse(0L); |
| | | String roleName = Optional.ofNullable(po.getName()).orElse(""); |
| | | Long operator = Optional.ofNullable(po.getOperator()).orElse(0L); |
| | | |
| | | // 判断主键是否为空 |
| | | if(roleId == 0) |
| | | return BaseResponseUtils.buildFail(SystemResultCode.PLEASE_INPUT_ROLE_ID.getMessage()) ; |
| | | |
| | | ///** |
| | | // * 设置角色权限 |
| | | // * @param id 角色ID |
| | | // * @return 是否成功 |
| | | // */ |
| | | //@Operation(summary = "设置角色权限", description = "提交角色ID,及所选择的权限ID集合(数组)") |
| | | //@ApiResponses(value = { |
| | | // @ApiResponse( |
| | | // responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, |
| | | // description = "操作结果:true:成功,false:失败(BaseResponse.content)", |
| | | // content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, |
| | | // schema = @Schema(implementation = Boolean.class))} |
| | | // ) |
| | | //}) |
| | | ////@GetMapping(path = "setPrivs", consumes = MediaType.APPLICATION_JSON_VALUE) |
| | | //@PostMapping(path = "setPrivs", consumes = MediaType.APPLICATION_JSON_VALUE) |
| | | //@SsoAop() |
| | | //public BaseResponse<Boolean> setPrivileges(Long id, Long[] privIds){ |
| | | // Long[] privIds_lg = null ; |
| | | // if(privIds != null && privIds.length > 0){ |
| | | // privIds_lg = new Long[privIds.length] ; |
| | | // int index = 0 ; |
| | | // for(Long privId : privIds){ |
| | | // privIds_lg[index++] = privId ; |
| | | // } |
| | | // } |
| | | // try { |
| | | // this.sv.setRoles(id, privIds_lg); |
| | | // } catch (Exception e) { |
| | | // log.error("保存用户异常", e); |
| | | // return BaseResponseUtils.buildException(e.getMessage()) ; |
| | | // } |
| | | // return BaseResponseUtils.buildSuccess(true) ; |
| | | //} |
| | | ///** |
| | | // * 删除角色 |
| | | // * @param id 角色ID |
| | | // * @return 是否成功 |
| | | // */ |
| | | //@Operation(summary = "删除角色", description = "提交角色ID,进行逻辑删除") |
| | | //@ApiResponses(value = { |
| | | // @ApiResponse( |
| | | // responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, |
| | | // description = "操作结果:true:成功,false:失败(BaseResponse.content)", |
| | | // content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, |
| | | // schema = @Schema(implementation = Boolean.class))} |
| | | // ) |
| | | //}) |
| | | ////@GetMapping(path = "delete", consumes = MediaType.TEXT_PLAIN_VALUE) |
| | | //@GetMapping(path = "delete") |
| | | //@SsoAop() |
| | | //public BaseResponse<Boolean> delete(Long id){ |
| | | // if(id == null){ |
| | | // return BaseResponseUtils.buildFail("id不能为空") ; |
| | | // } |
| | | // int count; |
| | | // try { |
| | | // count = this.sv.delete(id); |
| | | // } catch (Exception e) { |
| | | // log.error("保存角色异常", e); |
| | | // return BaseResponseUtils.buildException(e.getMessage()) ; |
| | | // } |
| | | // if(count <= 0){ |
| | | // return BaseResponseUtils.buildFail("数据库存储失败") ; |
| | | // }else{ |
| | | // return BaseResponseUtils.buildSuccess(true) ; |
| | | // } |
| | | //} |
| | | Integer recordCount = 0; |
| | | try { |
| | | po.setName(roleName); |
| | | po.setOperator(operator); |
| | | Date operateTime = new Date(); |
| | | po.setOperateDt(operateTime); |
| | | |
| | | //po.deleted = null ;//设置为null,不做更新 |
| | | recordCount = roleSv.updateRole(po); |
| | | } catch (Exception e) { |
| | | return BaseResponseUtils.buildException(e.getMessage()) ; |
| | | } |
| | | |
| | | if(recordCount <= 0) |
| | | return BaseResponseUtils.buildFail("数据库存储失败") ; |
| | | |
| | | return BaseResponseUtils.buildSuccess(true) ; |
| | | } |
| | | |
| | | /** |
| | | * 删除角色 |
| | | * 逻辑删除角色记录,物理删除角色授权记录 |
| | | * @param map |
| | | * @return 是否成功 |
| | | */ |
| | | @Operation(summary = "删除角色", description = "提交角色ID,进行逻辑删除") |
| | | @ApiResponses(value = { |
| | | @ApiResponse( |
| | | responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, |
| | | description = "操作结果:true:成功,false:失败(BaseResponse.content)", |
| | | content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, |
| | | schema = @Schema(implementation = Boolean.class))} |
| | | ) |
| | | }) |
| | | //@GetMapping(path = "delete", consumes = MediaType.TEXT_PLAIN_VALUE) |
| | | @PostMapping(path = "delete", consumes = MediaType.APPLICATION_JSON_VALUE) |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @SsoAop() |
| | | public BaseResponse<Boolean> delete(@RequestBody Map map){ |
| | | Long id = Optional.ofNullable(Long.parseLong(map.get("id").toString())).orElse(0L); |
| | | |
| | | if(id == 0) |
| | | return BaseResponseUtils.buildException(SystemResultCode.PLEASE_INPUT_ROLE_ID.getMessage()); |
| | | |
| | | try { |
| | | // 逻辑删除角色记录,物理删除角色授权记录 |
| | | Integer res_role = Optional.ofNullable(roleSv.deleteRoleById(id)).orElse(0); |
| | | Integer res_per = Optional.ofNullable(roleSv.delPermissionsByRoleId(id)).orElse(0); |
| | | if(res_role == 0 || res_per == 0) |
| | | return BaseResponseUtils.buildFail(SystemResultCode.DELETE_ROLE_FAIL.getMessage()); |
| | | |
| | | return BaseResponseUtils.buildSuccess(true); |
| | | } catch (Exception e) { |
| | | return BaseResponseUtils.buildException(e.getMessage()) ; |
| | | } |
| | | } |
| | | |
| | | } |