保存新建小组接口管理员组织数据范围调整
This commit is contained in:
parent
873c698649
commit
448ca807c2
Binary file not shown.
@ -197,16 +197,27 @@ public class CooperationWeb extends ActionWeb {
|
||||
if (adminArr.size() == 0) {
|
||||
adminArr.add(_uc.getUID());
|
||||
}
|
||||
// 校验管理员是否全部都在pal用户中
|
||||
String illegalUsers = checkCoeUserValid(adminArr);
|
||||
if (illegalUsers.length() > 0) {
|
||||
return ResponseObject.newErrResponse("以下用户非PAL用户,请重新选择PAL用户进行保存[" + illegalUsers + "]").toString();
|
||||
//新旧权限版本
|
||||
boolean isOlderVersion = SDK.getAppAPI().getPropertyBooleanValue("com.actionsoft.apps.coe.pal", "IsOlderVersion", true);
|
||||
if (isOlderVersion){
|
||||
// 校验管理员是否全部都在pal用户中
|
||||
String illegalUsers = checkCoeUserValid(adminArr);
|
||||
if (illegalUsers.length() > 0) {
|
||||
return ResponseObject.newErrResponse("以下用户非PAL用户,请重新选择PAL用户进行保存[" + illegalUsers + "]").toString();
|
||||
}
|
||||
}else{
|
||||
for (int i = 0; i < adminArr.size(); i++) {
|
||||
String adminId = adminArr.getString(i);
|
||||
UserModel model = UserCache.getModel(adminId);
|
||||
if (null == model){
|
||||
return ResponseObject.newErrResponse("管理员id参数异常").toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 小组权限信息
|
||||
JSONArray repositoryVerIds = dataObj.getJSONArray("repositorys");
|
||||
CoeCooperationAPIManager api = CoeCooperationAPIManager.getInstance();
|
||||
//新权限标志
|
||||
boolean isOlderVersion = SDK.getAppAPI().getPropertyBooleanValue("com.actionsoft.apps.coe.pal", "IsOlderVersion", true);
|
||||
if (UtilString.isEmpty(teamId)) {// 新建
|
||||
Timestamp nowTime = new Timestamp(System.currentTimeMillis());
|
||||
teamId = UUIDGener.getUUID();
|
||||
@ -243,10 +254,37 @@ public class CooperationWeb extends ActionWeb {
|
||||
CoeCooperationRoleModel role = api.queryCooperationRoleByType(teamId, CoeCooperationConst.ROLE_TYPE_MANAGER).get(0);
|
||||
// 创建管理员信息
|
||||
List<CoeCooperationMemberModel> members = new ArrayList<>();
|
||||
List<String> awsUsers = new ArrayList<>();
|
||||
for (int i = 0; i < adminArr.size(); i++) {
|
||||
CoeCooperationMemberModel member = new CoeCooperationMemberModel(UUIDGener.getUUID(), teamId, adminArr.getString(i), role.getId(), _uc.getUID(),nowTime, _uc.getUID(), nowTime);
|
||||
String adminId = adminArr.getString(i);
|
||||
CoeCooperationMemberModel member = new CoeCooperationMemberModel(UUIDGener.getUUID(), teamId, adminId, role.getId(), _uc.getUID(),nowTime, _uc.getUID(), nowTime);
|
||||
members.add(member);
|
||||
//新权限
|
||||
if (!isOlderVersion){
|
||||
boolean coeUserFlag = new CoeUser().validateIsAccessCOE(adminId);
|
||||
if (!coeUserFlag && null != UserCache.getModel(adminId)){
|
||||
awsUsers.add(adminId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//有额外的aws平台用户
|
||||
if (!awsUsers.isEmpty()){
|
||||
CoeUser coeUserDao = new CoeUser();
|
||||
//pal最大用户量许可
|
||||
int maxUser = Quota.getMaxCoEPALUser();
|
||||
List<CoeUserModel> coeUsers = coeUserDao.getCoeUsers();
|
||||
if (maxUser < coeUsers.size() + awsUsers.size()){
|
||||
//超出最大用户量
|
||||
return ResponseObject.newWarnResponse("用户数已超过许可总数(许可最大用户数" + maxUser + ")").toString();
|
||||
}
|
||||
coeUserDao.batchInsert(awsUsers,false);
|
||||
// 操作行为日志记录
|
||||
if (SDK.getAppAPI().getPropertyBooleanValue(CoEConstant.APP_ID, "IS_RECORD_OP_LOG", false)) {
|
||||
CoEOpLogAPI.auditOkOp(_uc, CoEOpLogConst.MODULE_CATEGORY_COOPERATION, CoEOpLogConst.OP_UPDATE, CoEOpLogConst.INFO_USER_CREATE);
|
||||
}
|
||||
}
|
||||
|
||||
isOk = api.createCooperationMemebers(members);
|
||||
msg = "保存小组管理员信息";
|
||||
if (isOk && repositoryVerIds.size() > 0) {
|
||||
@ -290,13 +328,39 @@ public class CooperationWeb extends ActionWeb {
|
||||
CoeCooperationRoleModel role = api.queryCooperationRoleByType(teamId, CoeCooperationConst.ROLE_TYPE_MANAGER).get(0);
|
||||
// 创建管理员信息
|
||||
List<CoeCooperationMemberModel> members = new ArrayList<>();
|
||||
List<String> awsUsers = new ArrayList<>();
|
||||
for (int i = 0; i < adminArr.size(); i++) {
|
||||
String userId = adminArr.getString(i);
|
||||
// 删除该用户(若存在)
|
||||
api.removeCooperationMemeber(teamId, userId);
|
||||
CoeCooperationMemberModel member = new CoeCooperationMemberModel(UUIDGener.getUUID(), teamId, userId, role.getId(), _uc.getUID(),null, _uc.getUID(), null);
|
||||
members.add(member);
|
||||
//新权限
|
||||
if (!isOlderVersion){
|
||||
boolean coeUserFlag = new CoeUser().validateIsAccessCOE(userId);
|
||||
if (!coeUserFlag && null != UserCache.getModel(userId)){
|
||||
awsUsers.add(userId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//有额外的aws平台用户
|
||||
if (!awsUsers.isEmpty()){
|
||||
CoeUser coeUserDao = new CoeUser();
|
||||
//pal最大用户量许可
|
||||
int maxUser = Quota.getMaxCoEPALUser();
|
||||
List<CoeUserModel> coeUsers = coeUserDao.getCoeUsers();
|
||||
if (maxUser < coeUsers.size() + awsUsers.size()){
|
||||
//超出最大用户量
|
||||
return ResponseObject.newWarnResponse("用户数已超过许可总数(许可最大用户数" + maxUser + ")").toString();
|
||||
}
|
||||
coeUserDao.batchInsert(awsUsers,false);
|
||||
// 操作行为日志记录
|
||||
if (SDK.getAppAPI().getPropertyBooleanValue(CoEConstant.APP_ID, "IS_RECORD_OP_LOG", false)) {
|
||||
CoEOpLogAPI.auditOkOp(_uc, CoEOpLogConst.MODULE_CATEGORY_COOPERATION, CoEOpLogConst.OP_UPDATE, CoEOpLogConst.INFO_USER_CREATE);
|
||||
}
|
||||
}
|
||||
|
||||
isOk = api.createCooperationMemebers(members);
|
||||
if (isOk && !isOlderVersion){
|
||||
//重新创建默认用户权限
|
||||
|
||||
Loading…
Reference in New Issue
Block a user