经理中心
This commit is contained in:
parent
5d98ed071c
commit
2f45f23bd7
@ -9,11 +9,16 @@ import com.red.circle.console.inner.error.ConsoleErrorCode;
|
||||
import com.red.circle.framework.core.asserts.ResponseAssert;
|
||||
import com.red.circle.framework.core.response.CommonErrorCode;
|
||||
import com.red.circle.framework.dto.PageResult;
|
||||
import com.red.circle.other.inner.endpoint.sys.AdministratorClient;
|
||||
import com.red.circle.other.inner.endpoint.team.manager.TeamManagerClient;
|
||||
import com.red.circle.other.inner.endpoint.team.target.UserHistoryIdentityClient;
|
||||
import com.red.circle.other.inner.endpoint.user.region.RegionConfigClient;
|
||||
import com.red.circle.other.inner.endpoint.user.user.UserProfileClient;
|
||||
import com.red.circle.other.inner.enums.sys.appmanager.RoomRolesEnum;
|
||||
import com.red.circle.other.inner.model.cmd.sys.AddSysAdministratorCmd;
|
||||
import com.red.circle.other.inner.model.cmd.sys.SysAdministratorChangeStatusCmd;
|
||||
import com.red.circle.other.inner.model.cmd.team.manager.TeamManagerOpsPageQryCmd;
|
||||
import com.red.circle.other.inner.model.dto.sys.AdministratorDTO;
|
||||
import com.red.circle.other.inner.model.dto.agency.manager.TeamManagerDTO;
|
||||
import com.red.circle.other.inner.model.dto.user.UserProfileDTO;
|
||||
import com.red.circle.tool.core.sequence.IdWorkerUtils;
|
||||
@ -36,6 +41,7 @@ public class TeamManagerServiceImpl implements TeamManagerService {
|
||||
|
||||
private final UserService userService;
|
||||
private final TeamManagerClient teamManagerClient;
|
||||
private final AdministratorClient administratorClient;
|
||||
private final UserProfileClient userProfileClient;
|
||||
private final RegionConfigClient regionConfigClient;
|
||||
private final UserHistoryIdentityClient userHistoryIdentityClient;
|
||||
@ -112,6 +118,7 @@ public class TeamManagerServiceImpl implements TeamManagerService {
|
||||
|
||||
ResponseAssert.requiredSuccess(teamManagerClient.add(addCmd));
|
||||
ResponseAssert.requiredSuccess(userHistoryIdentityClient.saveManager(cmd.getUserId()));
|
||||
ensureAppManager(cmd.getUserId(), cmd.getCreateUser());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -128,6 +135,46 @@ public class TeamManagerServiceImpl implements TeamManagerService {
|
||||
TeamManagerDTO db = ResponseAssert.requiredSuccess(teamManagerClient.getById(id));
|
||||
ResponseAssert.notNull(CommonErrorCode.DATA_ERROR, db);
|
||||
ResponseAssert.requiredSuccess(teamManagerClient.deleteById(id));
|
||||
removeAppManagerIfOnlyManagerRole(db.getUserId());
|
||||
}
|
||||
|
||||
private void ensureAppManager(Long userId, Long operatorUserId) {
|
||||
AdministratorDTO administrator = ResponseAssert.requiredSuccess(
|
||||
administratorClient.getByUserId(userId));
|
||||
|
||||
if (Objects.isNull(administrator)) {
|
||||
AddSysAdministratorCmd addCmd = new AddSysAdministratorCmd();
|
||||
addCmd.setUserId(userId);
|
||||
addCmd.setRoles(RoomRolesEnum.MANAGER.name());
|
||||
addCmd.setReqUserId(operatorUserId);
|
||||
ResponseAssert.requiredSuccess(administratorClient.addSysAdministrator(addCmd));
|
||||
administrator = ResponseAssert.requiredSuccess(administratorClient.getByUserId(userId));
|
||||
}
|
||||
|
||||
ResponseAssert.notNull(CommonErrorCode.DATA_ERROR, administrator);
|
||||
|
||||
if (StringUtils.isBlank(administrator.getRoles())
|
||||
|| !Boolean.TRUE.equals(administrator.getStatus())) {
|
||||
ResponseAssert.requiredSuccess(
|
||||
administratorClient.changeRoles(administrator.getId(), RoomRolesEnum.MANAGER.name()));
|
||||
}
|
||||
|
||||
if (!Boolean.TRUE.equals(administrator.getStatus())) {
|
||||
SysAdministratorChangeStatusCmd statusCmd = new SysAdministratorChangeStatusCmd()
|
||||
.setId(administrator.getId())
|
||||
.setStatus(1);
|
||||
statusCmd.setReqUserId(operatorUserId);
|
||||
ResponseAssert.requiredSuccess(administratorClient.changeStatusAdministrator(statusCmd));
|
||||
}
|
||||
}
|
||||
|
||||
private void removeAppManagerIfOnlyManagerRole(Long userId) {
|
||||
AdministratorDTO administrator = ResponseAssert.requiredSuccess(
|
||||
administratorClient.getByUserId(userId));
|
||||
if (Objects.isNull(administrator) || !RoomRolesEnum.MANAGER.eq(administrator.getRoles())) {
|
||||
return;
|
||||
}
|
||||
ResponseAssert.requiredSuccess(administratorClient.deleteSysAdministrator(administrator.getId()));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user