From d971a3fb4d7a308f862c102f6106ebc0f0b21801 Mon Sep 17 00:00:00 2001 From: xhy <203152807@qq.com> Date: Sun, 19 Nov 2023 11:29:39 +0800 Subject: [PATCH] =?UTF-8?q?feature(server)(=E9=92=89=E9=92=89=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E6=96=87=E4=BB=B6):?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../deliver/admin/util/app/DingUtils.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/deliver-backend/deliver-backend-admin/src/main/java/com/oszero/deliver/admin/util/app/DingUtils.java b/deliver-backend/deliver-backend-admin/src/main/java/com/oszero/deliver/admin/util/app/DingUtils.java index a84ba29f..470438dc 100644 --- a/deliver-backend/deliver-backend-admin/src/main/java/com/oszero/deliver/admin/util/app/DingUtils.java +++ b/deliver-backend/deliver-backend-admin/src/main/java/com/oszero/deliver/admin/util/app/DingUtils.java @@ -4,10 +4,14 @@ import cn.hutool.json.JSONUtil; import com.dingtalk.api.DefaultDingTalkClient; import com.dingtalk.api.DingTalkClient; import com.dingtalk.api.request.OapiGettokenRequest; +import com.dingtalk.api.request.OapiMediaUploadRequest; import com.dingtalk.api.response.OapiGettokenResponse; +import com.dingtalk.api.response.OapiMediaUploadResponse; import com.oszero.deliver.admin.exception.BusinessException; import com.oszero.deliver.admin.model.app.DingApp; +import com.oszero.deliver.admin.model.dto.app.PlatformFileDto; import com.taobao.api.ApiException; +import com.taobao.api.FileItem; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -47,4 +51,31 @@ public class DingUtils { DingAccessTokenBody dingAccessTokenBody = JSONUtil.toBean(response.getBody(), DingAccessTokenBody.class); return dingAccessTokenBody.getAccessToken(); } + + /** + * + * @param accessToken + * @param platformFileDto + * @return media_id + */ + + public String uploadDingFile (String accessToken, PlatformFileDto platformFileDto){ + DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/media/upload"); + OapiMediaUploadRequest req = new OapiMediaUploadRequest(); + req.setType(platformFileDto.getFileType()); + byte[] file = platformFileDto.getFile(); + FileItem item = new FileItem(platformFileDto.getFileName(),file); + req.setMedia(item); + OapiMediaUploadResponse rsp =null; + try { + rsp = client.execute(req, accessToken); + }catch (ApiException a){ + throw new BusinessException("钉钉上传失败"); + } + + if(rsp.getErrcode()!=0){ + throw new BusinessException("钉钉上传失败"); + } + return rsp.getMediaId(); + } } -- Gitee