Administrator
2024-01-10 f715601d0c0bdcba41e63c8063f8641c4838e438
2024-01-10 朱宝民 重构角色5个接口
5个文件已修改
333 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoBa/BaRoleMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaRoleMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/result/SystemResultCode.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/role/RoleCtrl.java 289 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/role/RoleSv.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoBa/BaRoleMapper.java
@@ -1,7 +1,9 @@
package com.dy.pipIrrGlobal.daoBa;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoBa.BaRole;
import com.dy.pipIrrGlobal.voBa.VoRole;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -13,7 +15,9 @@
 * @LastEditTime 2024-01-10 11:00
 * @Description
 */
public interface BaRoleMapper {
@Mapper
public interface BaRoleMapper extends BaseMapper<BaRole> {
    int deleteByPrimaryKey(Long id);
    int insert(BaRole record);
@@ -46,4 +50,11 @@
     * @return
     */
    List<VoRole> getRoles(Map<?, ?> params);
    /**
     * 根据roleId逻辑删除角色对象
     * @param roleId
     * @return
     */
    Integer deleteRoleById(@Param("roleId") Long roleId);
}
pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaRoleMapper.xml
@@ -161,4 +161,9 @@
      ) t
    , (SELECT @i:=0) AS itable
  </select>
  <!--根据roleId逻辑删除角色对象-->
  <update id="deleteRoleById">
    UPDATE ba_role SET deleted = 1 WHERE id = ${roleId}
  </update>
</mapper>
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/result/SystemResultCode.java
@@ -19,7 +19,9 @@
    PERMISSION_ERROR(10001, "授权错误"),
    ADD_ROLE_FAIL(10002, "角色添加失败"),
    ROLE_NAME_EXIST(10003, "角色名称已存在"),
    NO_ROLES(10004, "没有符合条件的角色记录");
    NO_ROLES(10004, "没有符合条件的角色记录"),
    PLEASE_INPUT_ROLE_ID(10005, "角色编号不能为空"),
    DELETE_ROLE_FAIL(10006, "删除角色失败");
    private final Integer code;
    private final String message;
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()) ;
        }
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/role/RoleSv.java
@@ -133,14 +133,22 @@
    }
    /**
     * 保存修改实体
     * @param po 实体
     * @return 影响记录数量
     * 修改角色
     * @param record
     * @return
     */
    //@Transactional
    //public int update(BaRole po){
    //    return this.dao.updateByPrimaryKeySelective(po) ;
    //}
    public int updateRole(BaRole record) {
        return baRoleMapper.updateByPrimaryKeySelective(record);
    }
    /**
     * 根据roleId逻辑删除角色对象
     * @param roleId 角色编号
     * @return
     */
    public Integer deleteRoleById(Long roleId) {
        return baRoleMapper.deleteRoleById(roleId);
    }
    /**
     * 设置角色权限