于继渤 vor 2 Jahren
Ursprung
Commit
b8540d34f4

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

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

+ 19 - 3
src/main/java/com/dk/mdm/mapper/mst/RoleMapper.xml

@@ -28,6 +28,8 @@
                 <result column="flg_nolimit_fun" property="flgNolimitFun"/>
                 <result column="flg_nolimit_pvw" property="flgNolimitPvw"/>
                 <result column="flg_nolimit_sen" property="flgNolimitSen"/>
+                <result column="selectFunctionalPermissionsFlag" property="selectFunctionalPermissionsFlag"/>
+                <result column="selectSensitiveDataFlag" property="selectSensitiveDataFlag"/>
     </resultMap>
 
 
@@ -116,7 +118,6 @@
         SELECT
         <include refid="Base_Column_List"/>,
         '预制'  AS "displayStatus"
-
         FROM dkic_b.t_mst_role
         <include refid="Condition"/>
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
@@ -137,12 +138,24 @@
         <include refid="Condition"/>
     </select>
 
-
+    <select id="setRoleCode"  resultType="String">
+        select dkic_b.f_create_code(1,#{roleId}::uuid,'角色');
+    </select>
 
     <!-- 根据主键查询表t_mst_role的一行数据 -->
     <select id="selectById" resultMap="BaseResultMap">
         SELECT
-        <include refid="Base_Column_List"/>
+        <include refid="Base_Column_List"/>,
+        (select
+        CASE
+        WHEN  Count(1) > 0 THEN TRUE
+        ELSE FALSE END
+        From t_mst_role_fun where role_id = #{roleId}::uuid)  AS "selectFunctionalPermissionsFlag",
+        (select
+        CASE
+        WHEN  Count(1) > 0 THEN TRUE
+        ELSE FALSE END
+        From t_mst_role_sensitive where role_id = #{roleId}::uuid)  AS "selectSensitiveDataFlag"
         FROM dkic_b.t_mst_role
         WHERE role_id = #{roleId}::uuid
     </select>
@@ -208,6 +221,9 @@
             <if test="et.roleName != null and et.roleName != ''">
                 role_name = #{et.roleName},
             </if>
+            <if test="et.roleCode != null and et.roleCode != ''">
+                role_code = #{et.roleCode},
+            </if>
             <if test="et.displayNo != null">
                 display_no = #{et.displayNo},
             </if>

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

@@ -173,6 +173,13 @@ public class Role extends PageInfo<Role> implements Serializable {
     @ApiModelProperty(value = "")
     private Boolean flgNolimitSen;
 
+    @Excel(name = "功能权限设置标识")
+    @ApiModelProperty(value = "功能权限设置标识")
+    private Boolean selectFunctionalPermissionsFlag;
+
+    @Excel(name = "敏感信息设置标识")
+    @ApiModelProperty(value = "敏感信息设置标识")
+    private Boolean selectSensitiveDataFlag;
 
     /*
      * 相关属性

+ 32 - 27
src/main/java/com/dk/mdm/service/mst/RoleService.java

@@ -64,19 +64,31 @@ public class RoleService extends BaseService<Role> {
         Integer displayNo = roleMapper.selectDisplayNo(new RoleQuery());
         role.setDisplayNo(displayNo);
         roleMapper.insert(role);
-        //新建角色功能权限
-        for (RoleFun roleFun : roleVO.getRoleFunList()) {
-            roleFun.setRoleId(role.getRoleId());
-            roleFun.setCpId(role.getCpId());
+        String setRoleCode = roleMapper.setRoleCode(role);
+        role.setRoleCode(setRoleCode);
+        roleMapper.updateById(role);
+        setRoleItem(roleVO, role);
+
+        return ResponseResultUtil.success();
+    }
+
+    private void setRoleItem(RoleVo roleVO, Role role) {
+        if(roleVO.getRoleFunList() != null && roleVO.getRoleFunList().size() > 0){
+            //新建角色功能权限
+            for (RoleFun roleFun : roleVO.getRoleFunList()) {
+                roleFun.setRoleId(role.getRoleId());
+                roleFun.setCpId(role.getCpId());
+            }
+            roleFunService.saveRoleFun(roleVO.getRoleFunList());
         }
-        roleFunService.saveRoleFun(roleVO.getRoleFunList());
-        //新建角色敏感信息权限
-        for (RoleSensitive roleSensitive : roleVO.getRoleSensitiveList()) {
-            roleSensitive.setRoleId(role.getRoleId());
-            roleSensitive.setCpId(role.getCpId());
+        if(roleVO.getRoleSensitiveList() != null && roleVO.getRoleSensitiveList().size() > 0){
+            //新建角色敏感信息权限
+            for (RoleSensitive roleSensitive : roleVO.getRoleSensitiveList()) {
+                roleSensitive.setRoleId(role.getRoleId());
+                roleSensitive.setCpId(role.getCpId());
+            }
+            roleSensitiveService.saveRoleSensitive(roleVO.getRoleSensitiveList());
         }
-        roleSensitiveService.saveRoleSensitive(roleVO.getRoleSensitiveList());
-        return ResponseResultUtil.success();
     }
 
     /**
@@ -90,24 +102,17 @@ public class RoleService extends BaseService<Role> {
     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());
+        if(roleVO.getRoleFunList() != null){
+            //删除历史功能权限
+            roleFunService.deleteRoleId(roleVO.getRoleId());
         }
-        roleFunService.saveRoleFun(roleVO.getRoleFunList());
-        //新建角色敏感信息权限
-        for (RoleSensitive roleSensitive : roleVO.getRoleSensitiveList()) {
-            roleSensitive.setRoleId(role.getRoleId());
-            roleSensitive.setCpId(role.getCpId());
+        if(roleVO.getRoleSensitiveList() != null){
+            //删除历史敏感信息权限
+            roleSensitiveService.deleteRoleId(roleVO.getRoleId());
         }
-        roleSensitiveService.saveRoleSensitive(roleVO.getRoleSensitiveList());
+
+
+        setRoleItem(roleVO, role);
         return ResponseResultUtil.success();
     }