转出状态2
ci-userbase-service / build-and-push (push) Successful in 46s

This commit is contained in:
chenxing
2026-08-26 12:38:55 +08:00
parent 5627252eab
commit 6675ccc8d5
7 changed files with 210 additions and 9 deletions
@@ -179,4 +179,42 @@ public interface ISysUserService {
* @param newPassword 新密码(弱密码规则校验后加密写入)
*/
void changePassword(Integer userId, String oldPassword, String newPassword);
/**
* 开放接口专用:设置用户在指定组上的状态(转出/恢复)。<br>
* 仅作关系标记,不影响成员查询、组织链与下游推送;同值重复调用幂等。<br>
* 边界:groupId 必须属于 schoolId 子树且不能等于 schoolId(禁止跨校/学校根组操作)。
*
* @param userId 用户ID
* @param groupId 组ID
* @param schoolId 学校组ID(限定范围)
* @param state 目标状态:0=恢复正常,1=转出
*/
void changeUserGroupState(Integer userId, Integer groupId, Integer schoolId, Integer state);
/**
* 开放接口专用:查询用户在指定组上的状态(0=正常,1=转出)。<br>
* 存量数据 status 为 NULL 视为正常返回 0。
*
* @param userId 用户ID
* @param groupId 组ID
* @param schoolId 学校组ID(限定范围)
* @return 状态值 0/1
*/
Integer getUserGroupState(Integer userId, Integer groupId, Integer schoolId);
/**
* 开放接口专用:跨校转入(转出后迁移到其他学校)。<br>
* 前置:用户已在源学校(fromSchoolId 子树内)存在至少一条「转出」状态的组关系;
* 操作成功后:删除源学校范围内全部组关系(其他学校保留),在目标学校建立目标组关系
* (主归属、状态恢复正常,转出流程结束),并推送编辑用户订阅(UPDATE_USER)。<br>
* 边界:fromSchoolId 与目标 schoolId 均须为学校组且不相同;目标组须属于目标学校子树且不等于学校根组;
* 用户已在目标学校存在组关系时拒绝(转入语义为进入全新学校)。
*
* @param userId 待迁移用户ID
* @param fromSchoolId 原学校组ID(源学校)
* @param toSchoolId 目标学校组ID
* @param groupId 目标组ID(目标学校内的挂载组,迁移后的主归属)
*/
void transferUserToSchool(Integer userId, Integer fromSchoolId, Integer toSchoolId, Integer groupId);
}