New file |
| | |
| | | package com.hx.mp.util; |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.hx.api.CorpMpSpaceApi; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 企业微信微盘接口API |
| | | * @Author: cmg |
| | | * @Date: 2023-7-13 11:08 |
| | | */ |
| | | public class CorpMpSpaceUtil { |
| | | |
| | | /** |
| | | * 增加空间 |
| | | * @param corpMpSpaceApi |
| | | * @param accessToken |
| | | * @param name 空间名称 |
| | | * @param depId 部门id |
| | | * @param adminId 管理员的企业微信id |
| | | * @return |
| | | */ |
| | | public static JSONObject addSpace(CorpMpSpaceApi corpMpSpaceApi, String accessToken, String name, Integer depId, String adminId) |
| | | { |
| | | JSONObject obj = new JSONObject(); |
| | | obj.put("space_name", name); |
| | | JSONArray arr = new JSONArray(); |
| | | |
| | | //设置部门的可下载权限 |
| | | JSONObject temp = new JSONObject(); |
| | | temp.put("type", 2); |
| | | temp.put("departmentid", depId); |
| | | temp.put("auth", 1); |
| | | arr.add(temp); |
| | | |
| | | //设置管理员 |
| | | temp = new JSONObject(); |
| | | temp.put("type", 1); |
| | | temp.put("userid", adminId); |
| | | temp.put("auth", 7); |
| | | arr.add(temp); |
| | | |
| | | obj.put("auth_info", arr); |
| | | |
| | | return corpMpSpaceApi.addSpace(accessToken, obj.toJSONString()); |
| | | } |
| | | |
| | | /** |
| | | * 空间重命名 |
| | | * @param corpMpSpaceApi |
| | | * @param accessToken |
| | | * @param spaceId |
| | | * @param name |
| | | * @return |
| | | */ |
| | | public static JSONObject editSpaceName(CorpMpSpaceApi corpMpSpaceApi, String accessToken, String spaceId, String name) |
| | | { |
| | | JSONObject obj = new JSONObject(); |
| | | obj.put("space_name", name); |
| | | obj.put("spaceid", spaceId); |
| | | |
| | | return corpMpSpaceApi.renameSpace(accessToken, obj.toJSONString()); |
| | | } |
| | | |
| | | /** |
| | | * 空间设置 |
| | | * @param corpMpSpaceApi |
| | | * @param accessToken |
| | | * @param spaceId |
| | | * @param enableConfidentialMode |
| | | * @return |
| | | */ |
| | | public static JSONObject spaceSetting(CorpMpSpaceApi corpMpSpaceApi, String accessToken, String spaceId, boolean enableConfidentialMode) |
| | | { |
| | | JSONObject obj = new JSONObject(); |
| | | obj.put("spaceid", spaceId); |
| | | obj.put("enable_confidential_mode", enableConfidentialMode); |
| | | |
| | | return corpMpSpaceApi.spaceSetting(accessToken, obj.toJSONString()); |
| | | } |
| | | |
| | | /** |
| | | * 创建文件夹 |
| | | * @param corpMpSpaceApi |
| | | * @param accessToken |
| | | * @param spaceId 空间id |
| | | * @param fatherId 上级目录id,如果是空间下第一级,则是空间id |
| | | * @param fileName 文件夹名称 |
| | | * @return |
| | | */ |
| | | public static JSONObject createDir(CorpMpSpaceApi corpMpSpaceApi, String accessToken, String spaceId, String fatherId, String fileName) |
| | | { |
| | | JSONObject param = new JSONObject(); |
| | | param.put("spaceid", spaceId); |
| | | param.put("fatherid", fatherId); |
| | | param.put("file_type", 1); |
| | | param.put("file_name", fileName); |
| | | |
| | | |
| | | return corpMpSpaceApi.createFile(accessToken, param.toJSONString()); |
| | | } |
| | | |
| | | /** |
| | | * 文件/文件夹重命名 |
| | | * @param corpMpSpaceApi |
| | | * @param accessToken |
| | | * @param fileId |
| | | * @param fileName |
| | | * @return |
| | | */ |
| | | public static JSONObject editDirName(CorpMpSpaceApi corpMpSpaceApi, String accessToken, String fileId, String fileName) |
| | | { |
| | | JSONObject param = new JSONObject(); |
| | | param.put("fileid", fileId); |
| | | param.put("new_name", fileName); |
| | | |
| | | return corpMpSpaceApi.renameFile(accessToken, param.toJSONString()); |
| | | } |
| | | |
| | | /** |
| | | * 移除文件夹 |
| | | * @param corpMpSpaceApi |
| | | * @param accessToken |
| | | * @param fileId |
| | | * @return |
| | | */ |
| | | public static JSONObject deleteDir(CorpMpSpaceApi corpMpSpaceApi, String accessToken, String fileId) |
| | | { |
| | | JSONObject param = new JSONObject(); |
| | | |
| | | JSONArray arr = new JSONArray(); |
| | | arr.add(fileId); |
| | | |
| | | param.put("fileid", arr); |
| | | |
| | | return corpMpSpaceApi.deleteFile(accessToken, param.toJSONString()); |
| | | } |
| | | |
| | | /** |
| | | * 传10M以内文件 |
| | | * @param corpMpSpaceApi |
| | | * @param accessToken |
| | | * @param name |
| | | * @param fileBase64Content |
| | | * @param spaceId |
| | | * @param fatherId |
| | | * @return |
| | | */ |
| | | public static JSONObject uploadFile(CorpMpSpaceApi corpMpSpaceApi, String accessToken, String name, String fileBase64Content, String spaceId, String fatherId) { |
| | | JSONObject param = new JSONObject(); |
| | | param.put("spaceid", spaceId); |
| | | param.put("fatherid", fatherId); |
| | | param.put("file_name", name); |
| | | param.put("file_base64_content", fileBase64Content); |
| | | |
| | | return corpMpSpaceApi.fileUpload(accessToken, param.toJSONString()); |
| | | } |
| | | |
| | | /** |
| | | * 分块上传文件-初始化 |
| | | * @param corpMpSpaceApi |
| | | * @param accessToken |
| | | * @param spaceId |
| | | * @param fatherId |
| | | * @param selectTicket |
| | | * @param fileName |
| | | * @param size |
| | | * @param skipPushCard |
| | | * @param blockSha |
| | | * @return |
| | | */ |
| | | public static JSONObject uploadBigFileInit(CorpMpSpaceApi corpMpSpaceApi, String accessToken, String spaceId, String fatherId, |
| | | String selectTicket, String fileName, Long size, boolean skipPushCard, List<String> blockSha) { |
| | | JSONObject param = new JSONObject(); |
| | | param.put("spaceid", spaceId); |
| | | param.put("fatherid", fatherId); |
| | | param.put("selected_ticket", selectTicket); |
| | | param.put("file_name", fileName); |
| | | param.put("size", size); |
| | | param.put("skip_push_card", skipPushCard); |
| | | |
| | | JSONArray arr = new JSONArray(); |
| | | for(String sha : blockSha) |
| | | { |
| | | arr.add(sha); |
| | | } |
| | | |
| | | return corpMpSpaceApi.fileUploadInit(accessToken, param.toJSONString()); |
| | | } |
| | | |
| | | /** |
| | | * 分块上传文件-部分上传 |
| | | * @param corpMpSpaceApi |
| | | * @param accessToken |
| | | * @param uploadKey |
| | | * @param index |
| | | * @param fileBase64Content |
| | | * @return |
| | | */ |
| | | public static JSONObject uploadBigFilePart(CorpMpSpaceApi corpMpSpaceApi, String accessToken, String uploadKey, int index, String fileBase64Content) { |
| | | JSONObject param = new JSONObject(); |
| | | param.put("upload_key", uploadKey); |
| | | param.put("index", index); |
| | | param.put("file_base64_content", fileBase64Content); |
| | | |
| | | return corpMpSpaceApi.fileUploadPart(accessToken, param.toJSONString()); |
| | | } |
| | | |
| | | /** |
| | | * 分块上传文件-上传完成 |
| | | * @param corpMpSpaceApi |
| | | * @param accessToken |
| | | * @param uploadKey |
| | | * @return |
| | | */ |
| | | public static JSONObject uploadBigFileFin(CorpMpSpaceApi corpMpSpaceApi, String accessToken, String uploadKey) { |
| | | JSONObject param = new JSONObject(); |
| | | param.put("upload_key", uploadKey); |
| | | |
| | | return corpMpSpaceApi.fileUploadFinish(accessToken, param.toJSONString()); |
| | | } |
| | | } |