经理中心
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.asserts.ResponseAssert;
|
||||||
import com.red.circle.framework.core.response.CommonErrorCode;
|
import com.red.circle.framework.core.response.CommonErrorCode;
|
||||||
import com.red.circle.framework.dto.PageResult;
|
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.manager.TeamManagerClient;
|
||||||
import com.red.circle.other.inner.endpoint.team.target.UserHistoryIdentityClient;
|
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.region.RegionConfigClient;
|
||||||
import com.red.circle.other.inner.endpoint.user.user.UserProfileClient;
|
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.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.agency.manager.TeamManagerDTO;
|
||||||
import com.red.circle.other.inner.model.dto.user.UserProfileDTO;
|
import com.red.circle.other.inner.model.dto.user.UserProfileDTO;
|
||||||
import com.red.circle.tool.core.sequence.IdWorkerUtils;
|
import com.red.circle.tool.core.sequence.IdWorkerUtils;
|
||||||
@ -36,6 +41,7 @@ public class TeamManagerServiceImpl implements TeamManagerService {
|
|||||||
|
|
||||||
private final UserService userService;
|
private final UserService userService;
|
||||||
private final TeamManagerClient teamManagerClient;
|
private final TeamManagerClient teamManagerClient;
|
||||||
|
private final AdministratorClient administratorClient;
|
||||||
private final UserProfileClient userProfileClient;
|
private final UserProfileClient userProfileClient;
|
||||||
private final RegionConfigClient regionConfigClient;
|
private final RegionConfigClient regionConfigClient;
|
||||||
private final UserHistoryIdentityClient userHistoryIdentityClient;
|
private final UserHistoryIdentityClient userHistoryIdentityClient;
|
||||||
@ -112,6 +118,7 @@ public class TeamManagerServiceImpl implements TeamManagerService {
|
|||||||
|
|
||||||
ResponseAssert.requiredSuccess(teamManagerClient.add(addCmd));
|
ResponseAssert.requiredSuccess(teamManagerClient.add(addCmd));
|
||||||
ResponseAssert.requiredSuccess(userHistoryIdentityClient.saveManager(cmd.getUserId()));
|
ResponseAssert.requiredSuccess(userHistoryIdentityClient.saveManager(cmd.getUserId()));
|
||||||
|
ensureAppManager(cmd.getUserId(), cmd.getCreateUser());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -128,6 +135,46 @@ public class TeamManagerServiceImpl implements TeamManagerService {
|
|||||||
TeamManagerDTO db = ResponseAssert.requiredSuccess(teamManagerClient.getById(id));
|
TeamManagerDTO db = ResponseAssert.requiredSuccess(teamManagerClient.getById(id));
|
||||||
ResponseAssert.notNull(CommonErrorCode.DATA_ERROR, db);
|
ResponseAssert.notNull(CommonErrorCode.DATA_ERROR, db);
|
||||||
ResponseAssert.requiredSuccess(teamManagerClient.deleteById(id));
|
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