liurunyu
2024-01-12 d86a4a8cd8cf271514e892e992290b4d533a24e5
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/role/RoleCtrl.java
@@ -25,10 +25,7 @@
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 = "角色增删改查等操作")
@@ -76,112 +73,6 @@
            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) ;
    //    }
    //}
    /**
     * 添加角色及权限列表,添加前判断角色名是否已存在
@@ -312,114 +203,90 @@
    }
    /**
     * 编辑修改角色
     * 修改角色
     * @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()) ;
        }
    }
}