@@ -6,6 +6,7 @@ import com.yunhai.userbase.model.sysuser.SysUserGroupDeleteItem;
|
||||
import com.yunhai.userbase.model.sysuser.SysUserQuery;
|
||||
import com.yunhai.userbase.model.sysuser.SysUserRequest;
|
||||
import com.yunhai.userbase.model.sysuser.SysUserVo;
|
||||
import com.yunhai.userbase.model.sysuser.UserIdentityVo;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
@@ -103,13 +104,29 @@ public interface ISysUserService {
|
||||
List<Integer> findGroupIdsByUserId(Integer userId);
|
||||
|
||||
/**
|
||||
* 批量调整用户所属组:覆盖式更新 sys_user_group_rel。<br>
|
||||
* 同一批用户统一设置为目标组列表,第一个组设为主归属,其余为兼职。
|
||||
* 查询用户身份(管理端「用户身份」回显):后端按所在组解析 schoolId 后返回 {schoolId, roleIds};<br>
|
||||
* 同一学校多组返回同一 schoolId 与角色并集。前端回显唯一来源(roles 列已停写,不再作为真源)。<br>
|
||||
* 编辑请求提交时原样携带返回的 {schoolId, roleIds},由后端按 schoolId 全量覆盖写库并对齐。
|
||||
*
|
||||
* @param userIds 待调整用户ID列表
|
||||
* @param groupIds 目标组ID列表
|
||||
* @param userId 用户ID
|
||||
* @param groupId 所在组ID(Select 当前选中项;schoolId 解析规则见 {@link com.yunhai.userbase.service.ISysGroupService#resolveSchoolId})
|
||||
* @return {schoolId, roleIds}
|
||||
*/
|
||||
void changeGroups(List<Integer> userIds, List<Integer> groupIds);
|
||||
UserIdentityVo getUserIdentity(Integer userId, Integer groupId);
|
||||
|
||||
/**
|
||||
* 批量调整用户所属组:覆盖式更新 sys_user_group_rel。<br>
|
||||
* 主归属组按三级降级确定:<br>
|
||||
* ① mainGroupId 显式传入(须 ∈ groupIds,否则 400)→ 所有用户统一置主;<br>
|
||||
* ② 未传 → 逐用户沿用旧主组(旧主组 ∈ 新 groupIds);<br>
|
||||
* ③ 旧主组不在新集合 → 取 groupIds 首项(现状行为兜底)。<br>
|
||||
* ② 级为行为增强:只要用户没把主组勾掉,调整组后主组不动(旧实现按数组顺序随机重指)。
|
||||
*
|
||||
* @param userIds 待调整用户ID列表
|
||||
* @param groupIds 目标组ID列表
|
||||
* @param mainGroupId 主归属组ID(可选;null 走 ②③ 级降级)
|
||||
*/
|
||||
void changeGroups(List<Integer> userIds, List<Integer> groupIds, Integer mainGroupId);
|
||||
|
||||
/**
|
||||
* 开放接口专用:在学校(组)范围内移动用户。<br>
|
||||
|
||||
Reference in New Issue
Block a user