@@ -6,13 +6,16 @@ import com.yunhai.platform.utils.model.BoaGroup;
|
||||
import com.yunhai.platform.utils.model.BoaModule;
|
||||
import com.yunhai.platform.utils.model.BoaRoleInfo;
|
||||
import com.yunhai.platform.utils.model.BoaUser;
|
||||
import com.yunhai.userbase.common.annotation.OapiLog;
|
||||
import com.yunhai.userbase.common.validation.ValidationGroups;
|
||||
import com.yunhai.userbase.config.Config;
|
||||
import com.yunhai.userbase.entity.ApplicationInfo;
|
||||
import com.yunhai.userbase.model.sysuser.SysUserGroupDeleteItem;
|
||||
import com.yunhai.userbase.model.sysuser.SysUserGroupStateRequest;
|
||||
import com.yunhai.userbase.model.sysuser.SysUserMoveRequest;
|
||||
import com.yunhai.userbase.model.sysuser.SysUserPasswordRequest;
|
||||
import com.yunhai.userbase.model.sysuser.SysUserRequest;
|
||||
import com.yunhai.userbase.model.sysuser.SysUserTransferSchoolRequest;
|
||||
import com.yunhai.userbase.repository.ApplicationInfoRepository;
|
||||
import com.yunhai.userbase.service.IGroupAuthzService;
|
||||
import com.yunhai.userbase.service.ISysUserService;
|
||||
@@ -230,4 +233,43 @@ public class UserController {
|
||||
public void password(@RequestBody @Validated SysUserPasswordRequest request) {
|
||||
sysUserService.changePassword(request.getUserId(), request.getOldPassword(), request.getNewPassword());
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置用户在指定组上的状态(转出/恢复)。<br>
|
||||
* state=1 转出、state=0 恢复正常;仅作关系标记,不影响成员查询、组织链与下游推送。
|
||||
* 仅允许在同一学校(组)范围内操作——groupId 必须属于 schoolId 子树且不等于 schoolId。<br>
|
||||
* 鉴权由过滤器层强制签名;POST 自动记 OapiLog。
|
||||
*/
|
||||
@PostMapping("groupState")
|
||||
public void groupState(@RequestBody @Validated SysUserGroupStateRequest request) {
|
||||
sysUserService.changeUserGroupState(request.getUserId(), request.getGroupId(),
|
||||
request.getSchoolId(), request.getState());
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询用户在指定组上的状态:0=正常,1=转出。<br>
|
||||
* 边界与设置接口一致(groupId 必须属于 schoolId 子树且不等于 schoolId);
|
||||
* 用户不在此组时返回业务错误(code=5)。
|
||||
*/
|
||||
@OapiLog(value = "查询用户组状态", saveResponse = false)
|
||||
@GetMapping("groupState")
|
||||
public Integer groupState(@RequestParam("userId") Integer userId,
|
||||
@RequestParam("groupId") Integer groupId,
|
||||
@RequestParam("schoolId") Integer schoolId) {
|
||||
return sysUserService.getUserGroupState(userId, groupId, schoolId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 跨校转入(转出后迁移到其他学校)。<br>
|
||||
* 前置:用户已在原学校(fromSchoolId 子树内)存在至少一条「转出」状态的组关系(先经 groupState 置转出);<br>
|
||||
* 操作成功后:删除原学校范围内全部组关系(其他学校保留),在目标学校建立目标组关系
|
||||
* (主归属、状态恢复正常),并推送编辑用户订阅。<br>
|
||||
* 鉴权由过滤器层强制签名;POST 自动记 OapiLog。
|
||||
*/
|
||||
@PostMapping("transferToSchool")
|
||||
public BoaUser transferToSchool(@RequestBody @Validated SysUserTransferSchoolRequest request) {
|
||||
sysUserService.transferUserToSchool(request.getUserId(), request.getFromSchoolId(),
|
||||
request.getSchoolId(), request.getGroupId());
|
||||
return userCenterService.getUserInfoWithDeptById(request.getUserId());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user