Browse Source

加入了权限管理

mcbaiyun 5 months ago
parent
commit
9da623f38b

+ 89 - 0
src/main/java/com/smart/reader/controller/SysRoleInfoController.java

@@ -0,0 +1,89 @@
+package com.smart.reader.controller;
+
+import com.smart.reader.common.Page;
+import com.smart.reader.common.R;
+import com.smart.reader.enums.SuccessResultCode;
+import com.smart.reader.exception.CustomException;
+import com.smart.reader.model.bo.SysRoleInfoAddBo;
+import com.smart.reader.model.bo.SysRoleInfoUpdateBo;
+import com.smart.reader.model.vo.SysRoleInfoVo;
+import com.smart.reader.service.SysRoleInfoService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+@RequestMapping("/api/v1/system/roleInfo")
+@RestController
+@Validated
+@Api(tags = "角色管理", description = "角色管理相关接口")
+public class SysRoleInfoController {
+    @Resource
+    private SysRoleInfoService sysRoleInfoService;
+
+    /**
+     * 新增数据
+     *
+     * @param sysRoleInfo 实例对象
+     * @return 实例对象
+     */
+    @ApiOperation("新增数据")
+    @PostMapping("/add")
+    public R add(@RequestBody @Valid SysRoleInfoAddBo sysRoleInfo) throws CustomException {
+        sysRoleInfoService.add(sysRoleInfo);
+        return R.success(SuccessResultCode.SUCCESS.getCode(), SuccessResultCode.SUCCESS.getMsg());
+    }
+
+    @ApiOperation("删除数据")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "角色ID", required = true)
+    })
+    @DeleteMapping("/delete/{id}")
+    public R delete(@NotNull(message = "角色ID不能为空") @PathVariable("id") Long id) throws CustomException {
+        sysRoleInfoService.delete(id);
+        return R.fail(SuccessResultCode.SUCCESS.getCode(), SuccessResultCode.SUCCESS.getMsg());
+    }
+
+    @ApiOperation("批量删除数据")
+    @DeleteMapping("/batchDelete")
+    public R batchDelete(@RequestBody List<Long> ids) throws CustomException {
+        sysRoleInfoService.batchDelete(ids);
+        return R.success(SuccessResultCode.SUCCESS.getCode(), "批量删除成功");
+    }
+
+    @ApiOperation("修改数据")
+    @PutMapping("/edit")
+    public R edit(@RequestBody @Valid SysRoleInfoUpdateBo sysRoleInfo) throws CustomException {
+        System.out.println(sysRoleInfo);
+        sysRoleInfoService.edit(sysRoleInfo);
+        return R.fail(SuccessResultCode.SUCCESS.getCode(), SuccessResultCode.SUCCESS.getMsg());
+    }
+
+    @GetMapping("queryInfo")
+    @ApiOperation("获取角色列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "当前页", required = true, dataType = "int", defaultValue = "1"),
+            @ApiImplicitParam(name = "pageSize", value = "页大小", required = true, dataType = "int", defaultValue = "10"),
+    })
+    public R<Page<SysRoleInfoVo>> queryInfo(int pageNum, int pageSize) {
+        Page<SysRoleInfoVo> result = sysRoleInfoService.queryInfo(pageNum, pageSize);
+        return R.success(SuccessResultCode.SUCCESS.getCode(), SuccessResultCode.SUCCESS.getMsg(), result);
+    }
+
+    @ApiOperation("根据角色ID查询角色详情")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "角色ID", required = true)
+    })
+    @GetMapping("/detail/{id}")
+    public R detail(@NotNull(message = "角色ID不能为空") @PathVariable("id") Long id) {
+        SysRoleInfoVo sysRoleInfoVo = sysRoleInfoService.detail(id);
+        return R.success(SuccessResultCode.SUCCESS.getCode(), SuccessResultCode.SUCCESS.getMsg(), sysRoleInfoVo);
+    }
+}

+ 14 - 0
src/main/java/com/smart/reader/dao/SysRoleInfoMapper.java

@@ -0,0 +1,14 @@
+package com.smart.reader.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.smart.reader.model.po.SysRoleInfo;
+import com.smart.reader.model.vo.SysRoleInfoVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import java.util.List;
+
+@Mapper
+public interface SysRoleInfoMapper extends BaseMapper<SysRoleInfo> {
+    List<SysRoleInfoVo> queryInfo();
+    SysRoleInfoVo detail(@Param("id") Long id);
+}

+ 32 - 0
src/main/java/com/smart/reader/model/bo/SysRoleInfoAddBo.java

@@ -0,0 +1,32 @@
+package com.smart.reader.model.bo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.smart.reader.model.po.BaseEntity;
+import com.smart.reader.model.po.SysRoleInfo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "角色信息新增参数")
+public class SysRoleInfoAddBo {
+    /** 角色代码;角色代码 */
+    @ApiModelProperty(name = "角色代码", notes = "角色代码")
+    @TableField("role_code")
+    private String roleCode;
+
+    /** 角色名称;角色名称 */
+    @ApiModelProperty(name = "角色名称", notes = "角色名称")
+    @TableField("role_name")
+    private String roleName;
+
+    /** 描述;描述 */
+    @ApiModelProperty(name = "描述", notes = "描述")
+    @TableField("description")
+    private String description;
+
+    /** 备注;备注 */
+    @ApiModelProperty(name = "备注", notes = "备注")
+    @TableField("remark")
+    private String remark;
+}

+ 39 - 0
src/main/java/com/smart/reader/model/bo/SysRoleInfoUpdateBo.java

@@ -0,0 +1,39 @@
+package com.smart.reader.model.bo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.smart.reader.model.po.BaseEntity;
+import com.smart.reader.model.po.SysRoleInfo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel(value = "角色信息更新参数")
+public class SysRoleInfoUpdateBo {
+    /** 角色ID;角色ID */
+    @ApiModelProperty(name="角色ID",notes="角色ID")
+    @NotNull(message="角色ID不能为空")
+    private Long id;
+
+    /** 角色代码;角色代码 */
+    @ApiModelProperty(name = "角色代码", notes = "角色代码")
+    @TableField("role_code")
+    private String roleCode;
+
+    /** 角色名称;角色名称 */
+    @ApiModelProperty(name = "角色名称", notes = "角色名称")
+    @TableField("role_name")
+    private String roleName;
+
+    /** 描述;描述 */
+    @ApiModelProperty(name = "描述", notes = "描述")
+    @TableField("description")
+    private String description;
+
+    /** 备注;备注 */
+    @ApiModelProperty(name = "备注", notes = "备注")
+    @TableField("remark")
+    private String remark;
+}

+ 27 - 0
src/main/java/com/smart/reader/model/po/SysRoleInfo.java

@@ -0,0 +1,27 @@
+package com.smart.reader.model.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@ApiModel(value = "角色信息表")
+@TableName("sys_role_info")
+@Data
+public class SysRoleInfo extends BaseEntity {
+    /** 角色代码;角色代码 */
+    @ApiModelProperty(name = "角色代码", notes = "角色代码")
+    private String roleCode;
+
+    /** 角色名称;角色名称 */
+    @ApiModelProperty(name = "角色名称", notes = "角色名称")
+    private String roleName;
+
+    /** 描述;描述 */
+    @ApiModelProperty(name = "描述", notes = "描述")
+    private String description;
+
+    /** 备注;备注 */
+    @ApiModelProperty(name = "备注", notes = "备注")
+    private String remark;
+}

+ 28 - 0
src/main/java/com/smart/reader/model/vo/SysRoleInfoVo.java

@@ -0,0 +1,28 @@
+package com.smart.reader.model.vo;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.smart.reader.model.po.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@ApiModel(value = "角色信息表")
+@TableName("sys_role_info")
+@Data
+public class SysRoleInfoVo extends BaseEntity {
+    /** 角色代码;角色代码 */
+    @ApiModelProperty(name = "角色代码", notes = "角色代码")
+    private String roleCode;
+
+    /** 角色名称;角色名称 */
+    @ApiModelProperty(name = "角色名称", notes = "角色名称")
+    private String roleName;
+
+    /** 描述;描述 */
+    @ApiModelProperty(name = "描述", notes = "描述")
+    private String description;
+
+    /** 备注;备注 */
+    @ApiModelProperty(name = "备注", notes = "备注")
+    private String remark;
+}

+ 65 - 0
src/main/java/com/smart/reader/service/SysRoleInfoService.java

@@ -0,0 +1,65 @@
+package com.smart.reader.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.smart.reader.common.Page;
+import com.smart.reader.exception.CustomException;
+import com.smart.reader.model.bo.SysRoleInfoAddBo;
+import com.smart.reader.model.bo.SysRoleInfoUpdateBo;
+import com.smart.reader.model.po.SysRoleInfo;
+import com.smart.reader.model.vo.SysRoleInfoVo;
+import java.util.List;
+
+public interface SysRoleInfoService extends IService<SysRoleInfo> {
+    /**
+     * 新增角色信息
+     *
+     * @param sysRoleInfo
+     * @return
+     * @throws CustomException
+     */
+    Boolean add(SysRoleInfoAddBo sysRoleInfo) throws CustomException;
+
+    /**
+     * 查询角色信息并分页
+     *
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    Page<SysRoleInfoVo> queryInfo(int pageNum, int pageSize);
+
+    /**
+     * 根据ID删除角色信息
+     *
+     * @param id
+     * @return
+     * @throws CustomException
+     */
+    Boolean delete(Long id) throws CustomException;
+
+    /**
+     * 批量删除角色信息
+     *
+     * @param ids 角色ID列表
+     * @return 操作结果
+     * @throws CustomException 删除失败时抛出异常
+     */
+    Boolean batchDelete(List<Long> ids) throws CustomException;
+
+    /**
+     * 修改角色数据
+     *
+     * @param sysRoleInfo
+     * @return
+     * @throws CustomException
+     */
+    Boolean edit(SysRoleInfoUpdateBo sysRoleInfo) throws CustomException;
+
+    /**
+     * 根据角色ID查询角色详情
+     *
+     * @param id
+     * @return
+     */
+    SysRoleInfoVo detail(Long id);
+}

+ 79 - 0
src/main/java/com/smart/reader/service/impl/SysRoleInfoServiceImpl.java

@@ -0,0 +1,79 @@
+package com.smart.reader.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.pagehelper.PageHelper;
+import com.smart.reader.common.Page;
+import com.smart.reader.dao.SysRoleInfoMapper;
+import com.smart.reader.exception.CustomException;
+import com.smart.reader.model.bo.SysRoleInfoAddBo;
+import com.smart.reader.model.bo.SysRoleInfoUpdateBo;
+import com.smart.reader.model.po.SysRoleInfo;
+import com.smart.reader.model.vo.SysRoleInfoVo;
+import com.smart.reader.service.SysRoleInfoService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import java.util.List;
+
+@Service
+public class SysRoleInfoServiceImpl extends ServiceImpl<SysRoleInfoMapper, SysRoleInfo> implements SysRoleInfoService {
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean add(SysRoleInfoAddBo sysRoleInfo) throws CustomException {
+        SysRoleInfo roleInfo = BeanUtil.copyProperties(sysRoleInfo, SysRoleInfo.class);
+        Boolean save = this.save(roleInfo);
+        if (!save) {
+            throw new CustomException("角色数据添加失败");
+        }
+        return Boolean.TRUE;
+    }
+
+    @Override
+    public Page<SysRoleInfoVo> queryInfo(int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        List<SysRoleInfoVo> tableInfoVos = this.baseMapper.queryInfo();
+        return new Page<>(pageNum, pageSize, tableInfoVos);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean delete(Long id) throws CustomException {
+        boolean remove = this.removeById(id);
+        if (!remove) {
+            throw new CustomException("角色数据删除失败");
+        }
+        return Boolean.TRUE;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean batchDelete(List<Long> ids) throws CustomException {
+        boolean result = this.removeByIds(ids);
+        if (!result) {
+            throw new CustomException("批量删除失败");
+        }
+        return true;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean edit(SysRoleInfoUpdateBo sysRoleInfo) throws CustomException {
+        SysRoleInfo roleInfo = this.getById(sysRoleInfo.getId());
+        if (ObjectUtil.isEmpty(roleInfo)) {
+            throw new CustomException("角色数据不存在");
+        }
+        BeanUtil.copyProperties(sysRoleInfo, roleInfo);
+        boolean update = this.updateById(roleInfo);
+        if (!update) {
+            throw new CustomException("角色数据修改失败");
+        }
+        return Boolean.TRUE;
+    }
+
+    @Override
+    public SysRoleInfoVo detail(Long id) {
+        return this.baseMapper.detail(id);
+    }
+}

+ 10 - 0
src/main/resources/mapper/SysRoleInfoMapper.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.smart.reader.dao.SysRoleInfoMapper">
+    <select id="queryInfo" resultType="com.smart.reader.model.vo.SysRoleInfoVo">
+        select ri.* from `sys_role_info` ri
+    </select>
+    <select id="detail" resultType="com.smart.reader.model.vo.SysRoleInfoVo">
+        select ri.* from `sys_role_info` ri where ri.id=#{id}
+    </select>
+</mapper>