Browse Source

博洋家纺钉盘文件添加发起人权限

wzy 2 weeks ago
parent
commit
cebd77401b

+ 30 - 0
mjava-boyang/src/main/java/com/malk/boyang/service/impl/BoyangServiceImpl.java

@@ -374,6 +374,10 @@ public class BoyangServiceImpl implements BoyangService {
                 downloadFile(signDownloadOuterUrl,downloadPath + signedFileName);
                 //签署后文件上传到钉盘
                 Map dentry = uploadDdFile(spaceId, parentDentryUuid, downloadPath + signedFileName, operatorUnionId);
+
+                //添加权限 OA发起人可下载
+                setPermissions(dentry, originatorUserId,"DOWNLOADER");
+
                 //审批单添加评论
                 comment(processInstanceId,originatorUserId,fileName + "已签署",Arrays.asList(dentry));
             }
@@ -405,6 +409,32 @@ public class BoyangServiceImpl implements BoyangService {
         }
     }
 
+    private void setPermissions(Map dentry, String userId,String roleId) {
+        String dentryUuid = dentry.get("uuid").toString();
+
+        //添加权限
+        Map<String,Object> param3 = new HashMap<>();
+        param3.put("unionId",operatorUnionId);
+
+        List<Map> dentryPermissionList = new ArrayList<>();
+        //OWNER: 拥有者   MANAGER: 管理者   EDITOR: 编辑者   DOWNLOADER: 查看下载者   READER: 仅可查看者
+        dentryPermissionList.add(new HashMap<String,Object>(){{
+            put("type","USER");
+            put("id",userId);//发起人userid
+        }});
+
+        Map body3 = new HashMap();
+        body3.put("roleId",roleId);
+        body3.put("members",dentryPermissionList);
+
+        DDR_New ddrNew3 = (DDR_New) UtilHttp.doPost("https://api.dingtalk.com/v2.0/storage/spaces/dentries/" + dentryUuid + "/permissions", ddClient.initTokenHeader(), param3, body3, DDR_New.class);
+        if (ddrNew3.isSuccess()){
+            log.info("权限设置成功!");
+        }else {
+            log.error("权限设置失败!" + ddrNew3.getCode() + " " + ddrNew3.getMessage());
+        }
+    }
+
     @Override
     public McR getOrganization(String name) {
         if (Strings.isBlank(name)){