diff --git a/com.actionsoft.apps.coe.pal.cooperation/lib/com.actionsoft.apps.coe.pal.cooperation.jar b/com.actionsoft.apps.coe.pal.cooperation/lib/com.actionsoft.apps.coe.pal.cooperation.jar index fa164612..8af637f4 100644 Binary files a/com.actionsoft.apps.coe.pal.cooperation/lib/com.actionsoft.apps.coe.pal.cooperation.jar and b/com.actionsoft.apps.coe.pal.cooperation/lib/com.actionsoft.apps.coe.pal.cooperation.jar differ diff --git a/com.actionsoft.apps.coe.pal.cooperation/src/com/actionsoft/apps/coe/pal/cooperation/web/CooperationWeb.java b/com.actionsoft.apps.coe.pal.cooperation/src/com/actionsoft/apps/coe/pal/cooperation/web/CooperationWeb.java index c8dc253d..22db9621 100644 --- a/com.actionsoft.apps.coe.pal.cooperation/src/com/actionsoft/apps/coe/pal/cooperation/web/CooperationWeb.java +++ b/com.actionsoft.apps.coe.pal.cooperation/src/com/actionsoft/apps/coe/pal/cooperation/web/CooperationWeb.java @@ -35,10 +35,12 @@ import com.actionsoft.bpms.commons.mvc.view.ActionWeb; import com.actionsoft.bpms.commons.mvc.view.ResponseObject; import com.actionsoft.bpms.org.cache.DepartmentCache; import com.actionsoft.bpms.org.cache.RoleCache; +import com.actionsoft.bpms.org.cache.UserCache; import com.actionsoft.bpms.org.model.CompanyModel; import com.actionsoft.bpms.org.model.DepartmentModel; import com.actionsoft.bpms.org.model.RoleModel; import com.actionsoft.bpms.org.model.UserModel; +import com.actionsoft.bpms.server.Quota; import com.actionsoft.bpms.server.UserContext; import com.actionsoft.bpms.util.UUIDGener; import com.actionsoft.bpms.util.UtilDate; @@ -591,6 +593,7 @@ public class CooperationWeb extends ActionWeb { dto.setTeamId(teamId); dto.setTeamName(team.getTeamName()); dto.setUserId(member.getUserId()); + //Todo: 新权限多角色设置 dto.setRoleId(member.getRoleId()); CoeCooperationRoleModel role; if (roleMap.containsKey(member.getRoleId())) { @@ -1123,10 +1126,14 @@ public class CooperationWeb extends ActionWeb { return ResponseObject.newErrResponse("角色不存在").toString(); } JSONArray userArr = object.getJSONArray("userArr"); - // 校验管理员是否全部都在pal用户中 - String illegalUsers = checkCoeUserValid(userArr); - 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(userArr); + if (illegalUsers.length() > 0) { + return ResponseObject.newErrResponse("以下用户非PAL用户,请重新选择PAL用户进行保存[" + illegalUsers + "]").toString(); + } } // 获取未加入小组的用户 List members = api.queryCooperationTeamMemberList(teamId); @@ -1136,12 +1143,35 @@ public class CooperationWeb extends ActionWeb { } Timestamp time = new Timestamp(System.currentTimeMillis()); List memberModels = new ArrayList<>(); + ArrayList awsUsers = new ArrayList<>(); for (int i = 0; i < userArr.size(); i++) { String userId = userArr.getString(i); if (!teamMemberSet.contains(userId)) { CoeCooperationMemberModel member = new CoeCooperationMemberModel(UUIDGener.getUUID(), teamId , userId, roleId, _uc.getUID(), time, _uc.getUID(), time); memberModels.add(member); + //新权限 + if (!isOlderVersion){ + boolean coeUserFlag = new CoeUser().validateIsAccessCOE(userId); + if (!coeUserFlag && null != UserCache.getModel(userId)){ + awsUsers.add(userId); + } + } + } + } + if (!isOlderVersion){ + CoeUser coeUserDao = new CoeUser(); + //pal最大用户量许可 + int maxUser = Quota.getMaxCoEPALUser(); + List 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); } } // 保存