Jelajahi Sumber

代码上传

于继渤 2 tahun lalu
induk
melakukan
2a65fdeaf9

+ 15 - 0
src/main/java/com/dk/mdm/controller/mst/RoleController.java

@@ -50,6 +50,21 @@ public class RoleController{
         return roleService.saveRole(roleVO);
     }
 
+    /**
+     * @desc : 编辑角色权限
+     * @author : 于继渤
+     * @date : 2023/1/5 9:39
+     */
+    @ApiOperation( value = "编辑角色权限(编辑角色权限)", notes = "编辑角色权限" )
+    @PostMapping({"update"})
+    public ResponseResultVO<?> update(@RequestBody RoleVo roleVO) {
+        return roleService.updateRole(roleVO);
+    }
+    /**
+     * @desc : 查询
+     * @author : 于继渤
+     * @date : 2023/1/5 9:39
+     */
     @PostMapping({"/{id}"})
     public ResponseResultVO selectById(@PathVariable String id) {
         return roleService.selectById(id);

+ 1 - 5
src/main/java/com/dk/mdm/controller/mst/RoleFunController.java

@@ -52,10 +52,6 @@ public class RoleFunController {
         return roleFunService.saveRoleFun(roleFun);
     }
 
-    @ApiOperation(value = "删除", notes = "停用")
-    @PostMapping("disable/{id}")
-    public ResponseResultVO<Boolean> disable(@PathVariable String id) {
-        return roleFunService.delete(id);
-    }
+
 
 }

+ 44 - 0
src/main/java/com/dk/mdm/controller/mst/RoleSensitiveController.java

@@ -0,0 +1,44 @@
+package com.dk.mdm.controller.mst;
+
+import com.dk.common.response.ResponseResultVO;
+import com.dk.mdm.model.pojo.mst.RoleSensitive;
+import com.dk.common.controller.BaseController;
+import com.dk.common.service.BaseService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.Api;
+import com.dk.mdm.service.mst.RoleSensitiveService;
+
+import java.util.Map;
+
+@Api(tags = "角色敏感信息权限API接口")
+@RestController
+@RequestMapping("/mst/roleSensitive")
+public class RoleSensitiveController{
+
+    public BaseService<RoleSensitive> getService() {
+        return roleSensitiveService;
+    }
+
+    @Autowired
+    private RoleSensitiveService roleSensitiveService;
+
+    /**
+     * @desc : 获取角色敏感信息权限
+     * @author : 于继渤
+     * @date : 2024/2/26 10:36
+     */
+    @ApiOperation(
+            value = "角色敏感信息权限",
+            notes = "角色敏感信息权限"
+    )
+    @PostMapping("get_role_sensitive")
+    public ResponseResultVO<Map<String, Object>> getRoleSensitive(@RequestBody Map<String, Object> param) {
+        return roleSensitiveService.getRoleSensitive(param);
+    }
+
+}

+ 2 - 0
src/main/java/com/dk/mdm/mapper/mst/RoleFunMapper.java

@@ -18,5 +18,7 @@ public interface RoleFunMapper extends BaseMapper<RoleFun>{
      * @date : 2024/2/26 10:36
      */
     List<Map<String, Object>> getRoleFun(Map param);
+
+    int deleteRoleId(RoleFun roleFun);
 }
 

+ 4 - 0
src/main/java/com/dk/mdm/mapper/mst/RoleFunMapper.xml

@@ -103,6 +103,10 @@
         <include refid="Condition"/>
     </select>
 
+    <delete id="deleteRoleId" >
+        DELETE FROM dkic_b.t_mst_role_fun tmrf WHERE tmrf.role_id = #{roleId}::uuid;
+    </delete>
+
     <!-- 获取功能权限 -->
     <select id="getRoleFun" resultType="java.util.Map">
         SELECT menu.menu_uuid    AS "menuUuid",

+ 1 - 0
src/main/java/com/dk/mdm/mapper/mst/RoleMapper.java

@@ -35,5 +35,6 @@ public interface RoleMapper extends BaseMapper<Role>{
      * @date : 2024/2/26 10:36
      */
     Integer selectDisplayNo(RoleQuery roleQuery);
+
 }
 

+ 37 - 1
src/main/java/com/dk/mdm/mapper/mst/RoleMapper.xml

@@ -5,13 +5,14 @@
     <!-- 通用设置 -->
     <!-- 通用查询列 -->
     <sql id="Base_Column_List">
-        role_id, role_name, display_no, remarks, flg_valid, cp_id, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user, sys_code, flg_nolimit_fun, flg_nolimit_pvw, flg_nolimit_sen
+        role_id, role_name, role_code,display_no, remarks, flg_valid, cp_id, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user, sys_code, flg_nolimit_fun, flg_nolimit_pvw, flg_nolimit_sen
     </sql>
 
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.mst.Role">
         <id column="role_id" property="roleId"/>
                 <result column="role_name" property="roleName"/>
+                <result column="role_code" property="roleCode"/>
                 <result column="display_no" property="displayNo"/>
                 <result column="remarks" property="remarks"/>
                 <result column="flg_valid" property="flgValid"/>
@@ -33,6 +34,7 @@
     <resultMap id="BaseResultMapResponse" type="com.dk.mdm.model.response.mst.RoleResponse">
         <id column="role_id" property="roleId"/>
         <result column="role_name" property="roleName"/>
+        <result column="role_code" property="roleCode"/>
         <result column="display_no" property="displayNo"/>
         <result column="remarks" property="remarks"/>
         <result column="flg_valid" property="flgValid"/>
@@ -50,6 +52,9 @@
             <if test="roleName != null and roleName != ''">
                 AND role_name = #{roleName}
             </if>
+            <if test="roleCode != null and roleCode != ''">
+                AND role_code = #{roleCode}
+            </if>
             <if test="displayNo != null">
                 AND display_no = #{displayNo}
             </if>
@@ -165,6 +170,7 @@
         (
         <trim suffixOverrides=",">
             role_name,
+            role_code,
             display_no,
             remarks,
             cp_id,
@@ -180,6 +186,7 @@
             (
             <trim suffixOverrides=",">
                 #{item.roleName},
+                #{item.roleCode},
                 #{item.displayNo},
                 #{item.remarks},
                 #{item.cpId},
@@ -192,4 +199,33 @@
             )
         </foreach>
     </insert>
+
+
+    <update id="updateById" parameterType="com.dk.mdm.model.pojo.mst.Role">
+        update
+        dkic_b.t_mst_role
+        <set>
+            <if test="et.roleName != null and et.roleName != ''">
+                role_name = #{et.roleName},
+            </if>
+            <if test="et.displayNo != null">
+                display_no = #{et.displayNo},
+            </if>
+            <if test="et.remarks != null and et.remarks != ''">
+                remarks = #{et.remarks},
+            </if>
+            <if test="et.flgNolimitFun != null and et.flgNolimitFun != ''">
+                flg_nolimit_fun = #{et.flgNolimitFun},
+            </if>
+            <if test="et.flgNolimitPvw != null and et.flgNolimitPvw != ''">
+                flg_nolimit_pvw = #{et.flgNolimitPvw},
+            </if>
+            <if test="et.flgNolimitSen != null and et.flgNolimitSen != ''">
+                flg_nolimit_sen = #{et.flgNolimitSen},
+            </if>
+
+        </set>
+        where role_id = #{et.roleId}::uuid
+    </update>
+
 </mapper>

+ 22 - 0
src/main/java/com/dk/mdm/mapper/mst/RoleSensitiveMapper.java

@@ -0,0 +1,22 @@
+package com.dk.mdm.mapper.mst;
+
+import com.dk.mdm.model.pojo.mst.RoleFun;
+import com.dk.mdm.model.pojo.mst.RoleSensitive;
+import com.dk.common.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+*  角色敏感信息权限 Mapper
+*/
+@Repository
+public interface RoleSensitiveMapper extends BaseMapper<RoleSensitive>{
+
+
+    List<Map<String, Object>> getRoleSensitive(Map param);
+
+    int deleteRoleId(RoleSensitive roleSensitive);
+}
+

+ 170 - 0
src/main/java/com/dk/mdm/mapper/mst/RoleSensitiveMapper.xml

@@ -0,0 +1,170 @@
+<?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.dk.mdm.mapper.mst.RoleSensitiveMapper">
+
+    <!-- 通用设置 -->
+    <!-- 通用查询列 -->
+    <sql id="Base_Column_List">
+        role_id, sen_item_code, flg_show, cp_id, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user
+    </sql>
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.mst.RoleSensitive">
+        <id column="role_id" property="roleId"/>
+                <result column="sen_item_code" property="senItemCode"/>
+                <result column="flg_show" property="flgShow"/>
+                <result column="cp_id" property="cpId"/>
+            <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_create_user_id" property="opCreateUserId" typeHandler="UuidTypeHandler"/>
+            <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_update_user_id" property="opUpdateUserId" typeHandler="UuidTypeHandler"/>
+                <result column="op_app_code" property="opAppCode"/>
+            <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
+                <result column="op_db_user" property="opDbUser"/>
+    </resultMap>
+
+    <!-- 通用条件列 -->
+    <sql id="Condition">
+        <where>
+            <if test="senItemCode != null and senItemCode != ''">
+                AND sen_item_code = #{senItemCode}
+            </if>
+            <if test="flgShow != null">
+                AND flg_show = #{flgShow}
+            </if>
+            <if test="cpId != null">
+                AND cp_id = #{cpId}
+            </if>
+            <if test="opCreateTime != null">
+                AND op_create_time = #{opCreateTime}
+            </if>
+            <if test="opCreateUserId != null and opCreateUserId != ''">
+                AND op_create_user_id = #{opCreateUserId}
+            </if>
+            <if test="opUpdateTime != null">
+                AND op_update_time = #{opUpdateTime}
+            </if>
+            <if test="opUpdateUserId != null and opUpdateUserId != ''">
+                AND op_update_user_id = #{opUpdateUserId}
+            </if>
+            <if test="opAppCode != null and opAppCode != ''">
+                AND op_app_code = #{opAppCode}
+            </if>
+            <if test="opTimestamp != null">
+                AND op_timestamp = #{opTimestamp}
+            </if>
+            <if test="opDbUser != null and opDbUser != ''">
+                AND op_db_user = #{opDbUser}
+            </if>
+        </where>
+    </sql>
+
+    <sql id="idsForeach">
+        <!-- 根据主键roleId批量操作 -->
+        WHERE role_id in
+        <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </sql>
+
+    <!-- 查询表t_mst_role_sensitive,(条件查询+分页)列表 -->
+    <select id="selectByCond" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM dkic_b.t_mst_role_sensitive
+        <include refid="Condition"/>
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
+    <!-- 查询表t_mst_role_sensitive,(条件查询)个数 -->
+    <select id="countByCond" resultType="Long">
+        SELECT
+        count(1)
+        FROM dkic_b.t_mst_role_sensitive
+        <include refid="Condition"/>
+    </select>
+
+
+
+    <!-- 获取角色敏感信息权限 -->
+    <select id="getRoleSensitive" resultType="java.util.Map">
+        SELECT
+                tsi.item_code     AS "itemCode",
+                tsi.item_name_i18n ->> 'zh_CN'     AS "itemName",
+
+            CASE
+            WHEN tsi.parent_code = '0' THEN NULL
+            ELSE tsi.parent_code END    AS "parentCode",
+               tsi.display_no    AS "displayNo",
+               tsi.level_no      AS "levelNo",
+               tsi.level_code    AS "levelCode",
+               tmrs.role_id      AS "roleId",
+               CASE
+                   WHEN tmrs.role_id IS NULL THEN FALSE
+                   ELSE TRUE END AS "checked"
+
+        FROM sys.t_sensitive_item tsi
+                 LEFT JOIN dkic_b.t_mst_role_sensitive tmrs
+                           ON tsi.item_code = tmrs.sen_item_code and tmrs.role_id = #{roleId}::uuid
+        WHERE tsi.flg_valid
+
+        ORDER BY tsi.level_code;
+    </select>
+
+    <delete id="deleteRoleId" >
+        DELETE FROM dkic_b.t_mst_role_sensitive tmrs WHERE tmrs.role_id = #{roleId}::uuid;
+    </delete>
+
+    <!-- 根据主键查询表t_mst_role_sensitive的一行数据 -->
+    <select id="selectById" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM dkic_b.t_mst_role_sensitive
+        WHERE role_id = #{roleId}::uuid
+    </select>
+
+    <!-- 根据主键锁定表t_mst_role_sensitive的一行数据 -->
+    <select id="selectByIdForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM dkic_b.t_mst_role_sensitive
+        WHERE role_id = #{roleId}
+        for update
+    </select>
+
+    <!-- 根据主键锁定表t_mst_role_sensitive的多行数据 -->
+    <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM dkic_b.t_mst_role_sensitive
+        <include refid="idsForeach"/>
+        for update
+    </select>
+
+    <insert id="insertBatch">
+        insert into dkic_b.t_mst_role_sensitive
+        (
+        <trim suffixOverrides=",">
+            role_id,
+            sen_item_code,
+            flg_show,
+            cp_id,
+            op_app_code,
+        </trim>
+        )
+        values
+        <foreach collection="list" index="index" item="item" separator=",">
+            (
+            <trim suffixOverrides=",">
+                #{item.roleId}::uuid,
+                #{item.senItemCode},
+                #{item.flgShow},
+                #{item.cpId},
+                #{item.opAppCode},
+            </trim>
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 4 - 0
src/main/java/com/dk/mdm/model/pojo/mst/Role.java

@@ -53,6 +53,10 @@ public class Role extends PageInfo<Role> implements Serializable {
     @ApiModelProperty(value = "角色名称")
     private String roleName;
 
+    @Excel(name = "角色编码")
+    @ApiModelProperty(value = "角色编码")
+    private String roleCode;
+
 
     /**
      * 显示顺序 (【1 ~ 46655】)

+ 150 - 0
src/main/java/com/dk/mdm/model/pojo/mst/RoleSensitive.java

@@ -0,0 +1,150 @@
+package com.dk.mdm.model.pojo.mst;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.*;
+import java.io.Serializable;
+
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.*;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.AllArgsConstructor;
+import lombok.NoArgsConstructor;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.alibaba.fastjson.JSONObject;
+
+import java.util.List;
+import java.time.LocalDateTime;
+
+/**
+ *  角色敏感信息权限
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("角色敏感信息权限")
+@TableName(value = "t_mst_role_sensitive", autoResultMap = true ,schema = "dkic_b")
+@ApiModel(value="实体类:角色敏感信息权限", description="表名:t_mst_role_sensitive")
+public class RoleSensitive extends PageInfo<RoleSensitive> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 角色ID
+     */
+    @TableId(value = "role_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "角色ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String roleId;
+
+
+    /**
+     * 敏感项目编码
+     */
+    @Excel(name = "敏感项目编码")
+    @ApiModelProperty(value = "敏感项目编码")
+    private String senItemCode;
+
+
+    /**
+     * 敏感权限标识 (未设置时,取敏感项目默认值)
+     */
+    @Excel(name = "敏感权限标识 (未设置时,取敏感项目默认值)")
+    @ApiModelProperty(value = "敏感权限标识 (未设置时,取敏感项目默认值)")
+    private Boolean flgShow;
+
+
+    /**
+     * 企业ID
+     */
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 3 - 1
src/main/java/com/dk/mdm/model/query/mst/RoleQuery.java

@@ -53,7 +53,9 @@ public class RoleQuery implements Serializable {
     @ApiModelProperty(value = "角色名称")
     private String roleName;
 
-
+    @Excel(name = "角色编码")
+    @ApiModelProperty(value = "角色编码")
+    private String roleCode;
     /**
      * 显示顺序 (【1 ~ 46655】)
      */

+ 3 - 1
src/main/java/com/dk/mdm/model/response/mst/RoleResponse.java

@@ -53,7 +53,9 @@ public class RoleResponse implements Serializable {
     @ApiModelProperty(value = "角色名称")
     private String roleName;
 
-
+    @Excel(name = "角色编码")
+    @ApiModelProperty(value = "角色编码")
+    private String roleCode;
     /**
      * 显示顺序 (【1 ~ 46655】)
      */

+ 6 - 1
src/main/java/com/dk/mdm/model/vo/mst/RoleVo.java

@@ -10,6 +10,7 @@ import com.dk.common.infrastructure.handler.TimestampTypeHandler;
 import com.dk.common.infrastructure.handler.UuidTypeHandler;
 import com.dk.common.model.pojo.PageInfo;
 import com.dk.mdm.model.pojo.mst.RoleFun;
+import com.dk.mdm.model.pojo.mst.RoleSensitive;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -56,7 +57,9 @@ public class RoleVo extends PageInfo<RoleVo> implements Serializable {
     @ApiModelProperty(value = "角色名称")
     private String roleName;
 
-
+    @Excel(name = "角色编码")
+    @ApiModelProperty(value = "角色编码")
+    private String roleCode;
     /**
      * 显示顺序 (【1 ~ 46655】)
      */
@@ -174,6 +177,8 @@ public class RoleVo extends PageInfo<RoleVo> implements Serializable {
 
     private List<RoleFun> roleFunList;
 
+    private List<RoleSensitive> roleSensitiveList;
+
 
     /*
      * 相关属性

+ 12 - 3
src/main/java/com/dk/mdm/service/mst/RoleFunService.java

@@ -43,7 +43,11 @@ public class RoleFunService extends BaseService<RoleFun> {
         return ResponseResultUtil.success(objectObjectHashMap);
     }
 
-
+    /**
+     * @desc : 保存功能权限
+     * @author : 于继渤
+     * @date : 2023/1/5 9:39
+     */
     @Transactional(
             rollbackFor = {Exception.class}
     )
@@ -52,7 +56,12 @@ public class RoleFunService extends BaseService<RoleFun> {
         return ResponseResultUtil.success();
     }
 
-    public ResponseResultVO<Boolean> delete(String id) {
-        return  ResponseResultUtil.success(roleFunMapper.deleteById(new RoleFun().setRoleId(id)) > 0) ;
+    /**
+     * @desc : 删除功能权限
+     * @author : 于继渤
+     * @date : 2023/1/5 9:39
+     */
+    public ResponseResultVO<Boolean> deleteRoleId(String id) {
+        return ResponseResultUtil.success(roleFunMapper.deleteRoleId(new RoleFun().setRoleId(id)) > 0);
     }
 }

+ 65 - 0
src/main/java/com/dk/mdm/service/mst/RoleSensitiveService.java

@@ -0,0 +1,65 @@
+package com.dk.mdm.service.mst;
+
+import com.dk.common.response.ResponseResultUtil;
+import com.dk.common.response.ResponseResultVO;
+import com.dk.mdm.model.pojo.mst.RoleFun;
+import com.dk.mdm.model.pojo.mst.RoleSensitive;
+import com.dk.mdm.mapper.mst.RoleSensitiveMapper;
+import com.dk.common.service.BaseService;
+import com.dk.common.mapper.BaseMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+@Transactional
+public class RoleSensitiveService extends BaseService<RoleSensitive> {
+
+    @Override
+    public BaseMapper<RoleSensitive> getRepository() {
+        return roleSensitiveMapper;
+    }
+
+    @Autowired
+    private RoleSensitiveMapper roleSensitiveMapper;
+
+    /**
+     * @desc : 获取角色敏感信息权限
+     * @author : 于继渤
+     * @date : 2024/2/26 10:36
+     */
+    public ResponseResultVO<Map<String, Object>> getRoleSensitive(Map<String, Object> param) {
+        // 获取系统基础数据
+        List<Map<String, Object>> list = roleSensitiveMapper.getRoleSensitive(param);
+        Map<String, Object> objectObjectHashMap = new HashMap<>();
+        objectObjectHashMap.put("list", list);
+        return ResponseResultUtil.success(objectObjectHashMap);
+    }
+
+    /**
+     * @desc : 保存敏感信息
+     * @author : 于继渤
+     * @date : 2023/1/5 9:39
+     */
+    @Transactional(
+            rollbackFor = {Exception.class}
+    )
+    public ResponseResultVO<?> saveRoleSensitive(List<RoleSensitive> roleSensitives) {
+        roleSensitiveMapper.insertBatch(roleSensitives);
+        return ResponseResultUtil.success();
+    }
+
+    /**
+     * @desc : 删除角色关联数据
+     * @author : 于继渤
+     * @date : 2023/1/5 9:39
+     */
+    public ResponseResultVO<Boolean> deleteRoleId(String id) {
+        return ResponseResultUtil.success(roleSensitiveMapper.deleteRoleId(new RoleSensitive().setRoleId(id)) > 0);
+    }
+
+}

+ 56 - 13
src/main/java/com/dk/mdm/service/mst/RoleService.java

@@ -4,26 +4,20 @@ import com.dk.common.infrastructure.annotaiton.Pagination;
 import com.dk.common.model.pojo.PageList;
 import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
-
 import com.dk.mdm.infrastructure.convert.mst.RoleConvert;
-
-import com.dk.mdm.mapper.mst.RoleFunMapper;
 import com.dk.mdm.model.pojo.mst.Role;
 import com.dk.mdm.mapper.mst.RoleMapper;
 import com.dk.common.service.BaseService;
 import com.dk.common.mapper.BaseMapper;
-
 import com.dk.mdm.model.pojo.mst.RoleFun;
+import com.dk.mdm.model.pojo.mst.RoleSensitive;
 import com.dk.mdm.model.query.mst.RoleQuery;
-
 import com.dk.mdm.model.response.mst.RoleResponse;
-
 import com.dk.mdm.model.vo.mst.RoleVo;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.List;
 
 @Service
 @Transactional
@@ -40,32 +34,81 @@ public class RoleService extends BaseService<Role> {
     @Autowired
     private RoleFunService roleFunService;
 
-	@Autowired
-	private RoleConvert roleConvert;
+    @Autowired
+    private RoleSensitiveService roleSensitiveService;
 
+    @Autowired
+    private RoleConvert roleConvert;
+
+    /**
+     * @desc : 查询角色
+     * @author : 于继渤
+     * @date : 2023/1/5 9:39
+     */
     @Pagination
     public ResponseResultVO<PageList<RoleResponse>> selectByCond(RoleQuery roleQuery) {
         return super.mergeListWithCount(roleQuery, roleMapper.selectByCond(roleQuery),
                 roleMapper.countByCond(roleQuery));
     }
 
-
+    /**
+     * @desc : 新建角色
+     * @author : 于继渤
+     * @date : 2023/1/5 9:39
+     */
     @Transactional(
             rollbackFor = {Exception.class}
     )
     public ResponseResultVO<?> saveRole(RoleVo roleVO) {
-		Role role = roleConvert.convertToPo(roleVO);
+        Role role = roleConvert.convertToPo(roleVO);
         Integer displayNo = roleMapper.selectDisplayNo(new RoleQuery());
         role.setDisplayNo(displayNo);
         roleMapper.insert(role);
-//        roleFunService.delete(role.getRoleId());
+        //新建角色功能权限
         for (RoleFun roleFun : roleVO.getRoleFunList()) {
             roleFun.setRoleId(role.getRoleId());
             roleFun.setCpId(role.getCpId());
         }
         roleFunService.saveRoleFun(roleVO.getRoleFunList());
-		return ResponseResultUtil.success() ;
+        //新建角色敏感信息权限
+        for (RoleSensitive roleSensitive : roleVO.getRoleSensitiveList()) {
+            roleSensitive.setRoleId(role.getRoleId());
+            roleSensitive.setCpId(role.getCpId());
+        }
+        roleSensitiveService.saveRoleSensitive(roleVO.getRoleSensitiveList());
+        return ResponseResultUtil.success();
     }
 
+    /**
+     * @desc : 编辑角色
+     * @author : 于继渤
+     * @date : 2023/1/5 9:39
+     */
+    @Transactional(
+            rollbackFor = {Exception.class}
+    )
+    public ResponseResultVO<?> updateRole(RoleVo roleVO) {
+        Role role = roleConvert.convertToPo(roleVO);
+        roleMapper.updateById(role);
+
+        //删除历史功能权限
+        roleFunService.deleteRoleId(roleVO.getRoleId());
+        //删除历史敏感信息权限
+        roleSensitiveService.deleteRoleId(roleVO.getRoleId());
+
+        //新建角色功能权限
+        for (RoleFun roleFun : roleVO.getRoleFunList()) {
+            roleFun.setRoleId(role.getRoleId());
+            roleFun.setCpId(role.getCpId());
+        }
+        roleFunService.saveRoleFun(roleVO.getRoleFunList());
+        //新建角色敏感信息权限
+        for (RoleSensitive roleSensitive : roleVO.getRoleSensitiveList()) {
+            roleSensitive.setRoleId(role.getRoleId());
+            roleSensitive.setCpId(role.getCpId());
+        }
+        roleSensitiveService.saveRoleSensitive(roleVO.getRoleSensitiveList());
+        return ResponseResultUtil.success();
+    }
 
 }