Merge remote-tracking branch 'origin/master'

This commit is contained in:
chengli 2022-07-11 13:53:37 +08:00
commit ce9b28c8a3

View File

@ -9504,9 +9504,21 @@ public String deleteReply(String replyid, String messageid) {
public String removePalRepositoryLevel(String wsId, String teamId, String repositoryIds) { public String removePalRepositoryLevel(String wsId, String teamId, String repositoryIds) {
ResponseObject ro = ResponseObject.newOkResponse(); ResponseObject ro = ResponseObject.newOkResponse();
JSONArray repositoryIdArr = JSONArray.parseArray(repositoryIds); JSONArray repositoryIdArr = JSONArray.parseArray(repositoryIds);
boolean isOlderVersion = SDK.getAppAPI().getPropertyBooleanValue("com.actionsoft.apps.coe.pal", "IsOlderVersion", true);
int failed = 0;
for (int i = 0; i < repositoryIdArr.size(); i++) { for (int i = 0; i < repositoryIdArr.size(); i++) {
String repositoryId = repositoryIdArr.getString(i); String repositoryId = repositoryIdArr.getString(i);
PALRepositoryModel model = PALRepositoryCache.getCache().get(repositoryId); PALRepositoryModel model = PALRepositoryCache.getCache().get(repositoryId);
//新版小组的权限校验
if (!isOlderVersion){
ResponseObject res = ResponseObject.newOkResponse();
CoeCooperationAPIManager.getInstance().queryCooperationFileActionPerm(teamId, _uc.getUID(),model.getVersionId(),res);
Map<String,Boolean> data = (Map) res.getData();
if (!data.get("havingRemovePerm")){
failed ++;
continue;
}
}
String result = removeTreeNode(repositoryId, wsId); String result = removeTreeNode(repositoryId, wsId);
JSONObject moveRo = JSONObject.parseObject(result); JSONObject moveRo = JSONObject.parseObject(result);
if (!"ok".equals(moveRo.getString("result"))) { if (!"ok".equals(moveRo.getString("result"))) {
@ -9514,6 +9526,9 @@ public String deleteReply(String replyid, String messageid) {
return ResponseObject.newErrResponse(moveRo.getString("msg")).toString(); return ResponseObject.newErrResponse(moveRo.getString("msg")).toString();
} }
} }
if (!isOlderVersion && failed >= repositoryIdArr.size()){
return ResponseObject.newErrResponse("删除文件失败,无操作权限").toString();
}
// 操作行为日志记录 // 操作行为日志记录
if (SDK.getAppAPI().getPropertyBooleanValue(CoEConstant.APP_ID, "IS_RECORD_OP_LOG", false)) { if (SDK.getAppAPI().getPropertyBooleanValue(CoEConstant.APP_ID, "IS_RECORD_OP_LOG", false)) {
CoEOpLogAPI.auditOkOp(_uc, CoEOpLogConst.MODULE_CATEGORY_REPOSITORY, CoEOpLogConst.OP_DELETE, CoEOpLogConst.INFO_REPOSITORY_DELETE); CoEOpLogAPI.auditOkOp(_uc, CoEOpLogConst.MODULE_CATEGORY_REPOSITORY, CoEOpLogConst.OP_DELETE, CoEOpLogConst.INFO_REPOSITORY_DELETE);