فهرست منبع

钉钉上传文件

fuyuchuan 7 ماه پیش
والد
کامیت
3a579304fa

+ 13 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/PmWorkReportController.java

@@ -5,6 +5,7 @@ import com.aliyuncs.exceptions.ClientException;
 import com.usky.common.core.bean.ApiResult;
 import com.usky.iot.domain.PmWorkReport;
 import com.usky.iot.service.PmWorkReportService;
+import com.usky.iot.service.config.DingTalkAndMessage;
 import com.usky.iot.service.vo.PmProjectTotalWorkTimeVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -24,9 +25,13 @@ import java.util.Map;
 @RestController
 @RequestMapping("/pmWorkReport")
 public class PmWorkReportController {
+
     @Autowired
     private PmWorkReportService pmWorkReportService;
 
+    @Autowired
+    private DingTalkAndMessage dingTalkAndMessage;
+
     /**
      * 周工作报告查询
      *
@@ -52,6 +57,14 @@ public class PmWorkReportController {
         pmWorkReportService.addReport(pmWorkReport);
     }
 
+    /**
+     * 上传文件
+     */
+    @GetMapping("/uploadFiles")
+    public void uploadFiles(){
+        dingTalkAndMessage.uploadFiles();
+    }
+
     /**
      * 统计工时
      *

+ 21 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/config/DingTalkAndMessage.java

@@ -7,12 +7,16 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.dingtalk.api.DefaultDingTalkClient;
 import com.dingtalk.api.DingTalkClient;
+import com.dingtalk.api.request.OapiMediaUploadRequest;
 import com.dingtalk.api.request.OapiReportCreateRequest;
 import com.dingtalk.api.request.OapiV2UserGetbymobileRequest;
+import com.dingtalk.api.response.OapiMediaUploadResponse;
 import com.dingtalk.api.response.OapiReportCreateResponse;
 import com.dingtalk.api.response.OapiV2UserGetbymobileResponse;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.taobao.api.ApiException;
+import com.taobao.api.FileItem;
 import com.usky.common.core.bean.ApiResult;
 import com.usky.common.security.utils.SecurityUtils;
 import com.usky.iot.constant.dingTalkConstant;
@@ -216,7 +220,7 @@ public class DingTalkAndMessage {
                     long number = Long.parseLong(item.trim());
                     userIds.add(number);
                 }
-                    for (Long userId : userIds) {
+                for (Long userId : userIds) {
                     String dingTalkUserId = getDingTalkUserId(userId);
                     ccTo.add(dingTalkUserId);
                 }
@@ -338,5 +342,21 @@ public class DingTalkAndMessage {
         }
         log.info(username + "的工作报告发送消息中心完成-----------------------------------");
     }
+
+    @Async("asyncServiceExecutor")
+    public void uploadFiles() {
+        log.info("开始上传文件-----------------------------------");
+        try {
+            DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/media/upload");
+            OapiMediaUploadRequest req = new OapiMediaUploadRequest();
+            req.setType("image");
+            req.setMedia(new FileItem("E:/usky/Beckham.png"));
+            OapiMediaUploadResponse rsp = client.execute(req, "0d7b9367a43935fc8b85bc29bd80ac15");
+            System.out.println(rsp.getBody());
+        } catch (ApiException e) {
+            e.printStackTrace();
+        }
+    log.info("上传文件完成-----------------------------------");
+    }
 }