新增组织架构相关
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user