新增组织架构相关

This commit is contained in:
zhangchenbiao
2023-06-12 16:42:39 +08:00
parent eb9dc4116a
commit a2d58d3dcc
27 changed files with 552 additions and 34 deletions

View File

@@ -29,11 +29,18 @@ public class EnterpriseUserRoleDAO {
return enterpriseUserRoleMapper.batchInsertOrUpdate(recordList);
}
public Integer deleteUserRole(String roleId, DataSourceEnum dataSourceEnum, List<String> userIds){
public Integer deleteRoleInUser(String roleId, DataSourceEnum dataSourceEnum, List<String> excludeUserIds){
if(StringUtils.isBlank(roleId) || Objects.isNull(dataSourceEnum)){
return null;
}
return enterpriseUserRoleMapper.deleteUserRole(roleId, dataSourceEnum.getCode(), userIds);
return enterpriseUserRoleMapper.deleteRoleInUser(roleId, dataSourceEnum.getCode(), excludeUserIds);
}
public Integer deleteUserInRole(String userId, DataSourceEnum dataSourceEnum, String excludeRoleId){
if(StringUtils.isAnyBlank(userId, excludeRoleId) || Objects.isNull(dataSourceEnum)){
return null;
}
return enterpriseUserRoleMapper.deleteUserInRole(userId, dataSourceEnum.getCode(), excludeRoleId);
}
}

View File

@@ -3,6 +3,7 @@ package com.cool.store.dao;
import com.cool.store.constants.CommonConstants;
import com.cool.store.entity.RegionDO;
import com.cool.store.mapper.RegionMapper;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Repository;
@@ -37,4 +38,15 @@ public class RegionDAO {
return regionMapper.deleteNotExistRegion(regionIds);
}
public List<RegionDO> getRegionByRegionIds(List<String> regionIds){
if(CollectionUtils.isEmpty(regionIds)){
return Lists.newArrayList();
}
return regionMapper.getRegionByRegionIds(regionIds);
}
public List<RegionDO> getRegionBaseInfoList(){
return regionMapper.getRegionBaseInfoList();
}
}

View File

@@ -43,4 +43,11 @@ public class SysRoleDAO {
}
return sysRoleMapper.getHighestPriorityRoleByUserId(userId);
}
public SysRoleDO getRoleByName(String roleName, DataSourceEnum dataSource){
if(StringUtils.isBlank(roleName) || Objects.isNull(dataSource)){
return null;
}
return sysRoleMapper.getRoleByName(roleName, dataSource.getCode());
}
}

View File

@@ -37,4 +37,18 @@ public class UserRegionMappingDAO {
return userRegionMappingMapper.deleteUserRegion(regionId, dataSourceEnum.getCode(), excludeUserIds);
}
public Integer deleteRegionUserByExcludeRegionIds(List<String> excludeRegionIds){
if(CollectionUtils.isEmpty(excludeRegionIds)){
return null;
}
return userRegionMappingMapper.deleteRegionUserByExcludeRegionIds(excludeRegionIds);
}
public Integer deleteRegionUserByExcludeUserIds(List<String> excludeUserIds){
if(CollectionUtils.isEmpty(excludeUserIds)){
return null;
}
return userRegionMappingMapper.deleteRegionUserByExcludeUserIds(excludeUserIds);
}
}

View File

@@ -32,5 +32,7 @@ public interface EnterpriseUserRoleMapper {
* @param userIds
* @return
*/
int deleteUserRole(@Param("roleId") String roleId, @Param("type") Integer type, @Param("userIds") List<String> userIds);
int deleteRoleInUser(@Param("roleId") String roleId, @Param("type") Integer type, @Param("excludeUserIds") List<String> excludeUserIds);
int deleteUserInRole(@Param("userId") String userId, @Param("type") Integer type, @Param("excludeRoleId") String excludeRoleId);
}

View File

@@ -31,4 +31,17 @@ public interface RegionMapper {
* @return
*/
int deleteNotExistRegion(@Param("regionIds")List<String> regionIds);
/**
* 根据regionIds获取region
* @param regionIds
* @return
*/
List<RegionDO> getRegionByRegionIds(@Param("regionIds")List<String> regionIds);
/**
* 获取区域基本信息
* @return
*/
List<RegionDO> getRegionBaseInfoList();
}

View File

@@ -33,4 +33,11 @@ public interface SysRoleMapper {
* @return
*/
SysRoleDO getHighestPriorityRoleByUserId(@Param("userId") String userId);
/**
* 获取角色
* @param roleName
* @return
*/
SysRoleDO getRoleByName(@Param("roleName") String roleName, @Param("roleType")Integer roleType);
}

View File

@@ -33,4 +33,18 @@ public interface UserRegionMappingMapper {
* @return
*/
int deleteUserRegion(@Param("regionId") String regionId, @Param("type")Integer type, @Param("excludeUserIds") List<String> excludeUserIds);
/**
* 删除没有的部门映射关系
* @param excludeRegionIds
* @return
*/
Integer deleteRegionUserByExcludeRegionIds(@Param("excludeRegionIds") List<String> excludeRegionIds);
/**
* 删除用户不在的区域
* @param excludeUserIds
* @return
*/
Integer deleteRegionUserByExcludeUserIds(@Param("excludeUserIds") List<String> excludeUserIds);
}

View File

@@ -5,12 +5,13 @@
<id column="id" jdbcType="INTEGER" property="id"/>
<result column="role_id" jdbcType="VARCHAR" property="roleId"/>
<result column="user_id" jdbcType="VARCHAR" property="userId"/>
<result column="type" jdbcType="INTEGER" property="type"/>
<result column="deleted" jdbcType="BIT" property="deleted"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
</resultMap>
<sql id="Base_Column_List">
id, role_id, user_id, deleted, create_time, update_time
id, role_id, user_id, type, deleted, create_time, update_time
</sql>
<insert id="batchInsertOrUpdate">
<foreach collection="recordList" separator=";" item="record">
@@ -22,6 +23,9 @@
<if test="record.userId != null">
user_id,
</if>
<if test="record.type != null">
type,
</if>
<if test="record.deleted != null">
deleted,
</if>
@@ -39,6 +43,9 @@
<if test="record.userId != null">
#{record.userId},
</if>
<if test="record.type != null">
#{record.type},
</if>
<if test="record.deleted != null">
#{record.deleted},
</if>
@@ -61,6 +68,9 @@
<if test="userId != null">
user_id = #{userId},
</if>
<if test="type != null">
type = #{type},
</if>
<if test="deleted != null">
deleted = #{deleted},
</if>
@@ -74,7 +84,11 @@
where id = #{id}
</update>
<update id="deleteUserRole">
update enterprise_user_role set deleted = 1 where role_id = #{roleId} and user_id not in <foreach collection="userIds" item="userId" separator="," open="(" close=")">#{userId}</foreach>
<update id="deleteRoleInUser">
update enterprise_user_role set deleted = 1 where role_id = #{roleId} and type = #{type} and user_id not in <foreach collection="excludeUserIds" item="userId" separator="," open="(" close=")">#{userId}</foreach>
</update>
<update id="deleteUserInRole">
update enterprise_user_role set deleted = 1 where role_id != #{roleId} and user_id = #{userId} and type = #{type}
</update>
</mapper>

View File

@@ -158,4 +158,23 @@
<update id="deleteNotExistRegion">
update region set deleted = 1 , update_time = UNIX_TIMESTAMP() where region_id not in <foreach collection="regionIds" separator="," item="regionId" open="(" close=")"> #{regionId}</foreach>
</update>
<select id="getRegionByRegionIds" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from
region
where
region_id in <foreach collection="regionIds" item="regionId" separator="," open="(" close=")">#{regionId}</foreach>
</select>
<select id="getRegionBaseInfoList" resultMap="BaseResultMap">
select
region_id, name, parent_id
from
region
where
deleted = 0
</select>
</mapper>

View File

@@ -126,7 +126,16 @@
from
sys_role r inner join enterprise_user_role e on r.role_id = e.role_id
where
e.user_id = #{userId}
e.user_id = #{userId} and r.deleted = 0
limit 1
</select>
<select id="getRoleByName" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from
sys_role
where
role_name = #{roleName} and role_type = #{roleType} and deleted = 0 limit 1
</select>
</mapper>

View File

@@ -104,10 +104,19 @@
where id = #{id}
</update>
<delete id="deleteUserRegion">
<update id="deleteUserRegion">
update user_region_mapping set deleted = 1 where region_id = #{regionId} and type = #{type}
<if test="excludeUserIds != null and excludeUserIds.size() > 0">
and user_id not in <foreach collection="excludeUserIds" separator="," open="(" close=")" item="userId" >#{userId}</foreach>
</if>
</delete>
</update>
<update id="deleteRegionUserByExcludeRegionIds">
update user_region_mapping set deleted = 1 where region_id not in <foreach collection="excludeRegionIds" open="(" close=")" separator="," item="regionId">#{regionId}</foreach>
</update>
<update id="deleteRegionUserByExcludeUserIds">
update user_region_mapping set deleted = 1 where user_id not in <foreach collection="excludeUserIds" open="(" close=")" separator="," item="userId">#{userId}</foreach>
</update>
</mapper>