保存新建小组接口管理员组织数据范围调整
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) {
|
if (adminArr.size() == 0) {
|
||||||
adminArr.add(_uc.getUID());
|
adminArr.add(_uc.getUID());
|
||||||
}
|
}
|
||||||
// 校验管理员是否全部都在pal用户中
|
//新旧权限版本
|
||||||
String illegalUsers = checkCoeUserValid(adminArr);
|
boolean isOlderVersion = SDK.getAppAPI().getPropertyBooleanValue("com.actionsoft.apps.coe.pal", "IsOlderVersion", true);
|
||||||
if (illegalUsers.length() > 0) {
|
if (isOlderVersion){
|
||||||
return ResponseObject.newErrResponse("以下用户非PAL用户,请重新选择PAL用户进行保存[" + illegalUsers + "]").toString();
|
// 校验管理员是否全部都在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");
|
JSONArray repositoryVerIds = dataObj.getJSONArray("repositorys");
|
||||||
CoeCooperationAPIManager api = CoeCooperationAPIManager.getInstance();
|
CoeCooperationAPIManager api = CoeCooperationAPIManager.getInstance();
|
||||||
//新权限标志
|
|
||||||
boolean isOlderVersion = SDK.getAppAPI().getPropertyBooleanValue("com.actionsoft.apps.coe.pal", "IsOlderVersion", true);
|
|
||||||
if (UtilString.isEmpty(teamId)) {// 新建
|
if (UtilString.isEmpty(teamId)) {// 新建
|
||||||
Timestamp nowTime = new Timestamp(System.currentTimeMillis());
|
Timestamp nowTime = new Timestamp(System.currentTimeMillis());
|
||||||
teamId = UUIDGener.getUUID();
|
teamId = UUIDGener.getUUID();
|
||||||
@ -243,10 +254,37 @@ public class CooperationWeb extends ActionWeb {
|
|||||||
CoeCooperationRoleModel role = api.queryCooperationRoleByType(teamId, CoeCooperationConst.ROLE_TYPE_MANAGER).get(0);
|
CoeCooperationRoleModel role = api.queryCooperationRoleByType(teamId, CoeCooperationConst.ROLE_TYPE_MANAGER).get(0);
|
||||||
// 创建管理员信息
|
// 创建管理员信息
|
||||||
List<CoeCooperationMemberModel> members = new ArrayList<>();
|
List<CoeCooperationMemberModel> members = new ArrayList<>();
|
||||||
|
List<String> awsUsers = new ArrayList<>();
|
||||||
for (int i = 0; i < adminArr.size(); i++) {
|
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);
|
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);
|
isOk = api.createCooperationMemebers(members);
|
||||||
msg = "保存小组管理员信息";
|
msg = "保存小组管理员信息";
|
||||||
if (isOk && repositoryVerIds.size() > 0) {
|
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);
|
CoeCooperationRoleModel role = api.queryCooperationRoleByType(teamId, CoeCooperationConst.ROLE_TYPE_MANAGER).get(0);
|
||||||
// 创建管理员信息
|
// 创建管理员信息
|
||||||
List<CoeCooperationMemberModel> members = new ArrayList<>();
|
List<CoeCooperationMemberModel> members = new ArrayList<>();
|
||||||
|
List<String> awsUsers = new ArrayList<>();
|
||||||
for (int i = 0; i < adminArr.size(); i++) {
|
for (int i = 0; i < adminArr.size(); i++) {
|
||||||
String userId = adminArr.getString(i);
|
String userId = adminArr.getString(i);
|
||||||
// 删除该用户(若存在)
|
// 删除该用户(若存在)
|
||||||
api.removeCooperationMemeber(teamId, userId);
|
api.removeCooperationMemeber(teamId, userId);
|
||||||
CoeCooperationMemberModel member = new CoeCooperationMemberModel(UUIDGener.getUUID(), teamId, userId, role.getId(), _uc.getUID(),null, _uc.getUID(), null);
|
CoeCooperationMemberModel member = new CoeCooperationMemberModel(UUIDGener.getUUID(), teamId, userId, role.getId(), _uc.getUID(),null, _uc.getUID(), null);
|
||||||
members.add(member);
|
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);
|
isOk = api.createCooperationMemebers(members);
|
||||||
if (isOk && !isOlderVersion){
|
if (isOk && !isOlderVersion){
|
||||||
//重新创建默认用户权限
|
//重新创建默认用户权限
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user