From ad1702a7203e59ebf09b4790b3adf6b9366c4fb8 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期五, 28 二月 2025 08:56:11 +0800
Subject: [PATCH] 钉钉获取人员的接口

---
 src/test/java/com/gs/xky/XkyApplicationTests.java |   92 +++++++++++++++++++++++++++++++--------------
 1 files changed, 63 insertions(+), 29 deletions(-)

diff --git a/src/test/java/com/gs/xky/XkyApplicationTests.java b/src/test/java/com/gs/xky/XkyApplicationTests.java
index a127cb1..f09e1ea 100644
--- a/src/test/java/com/gs/xky/XkyApplicationTests.java
+++ b/src/test/java/com/gs/xky/XkyApplicationTests.java
@@ -1,59 +1,93 @@
 package com.gs.xky;
 
-import com.alibaba.fastjson.JSON;
+import cn.hutool.core.collection.ListUtil;
+import com.alibaba.fastjson2.JSON;
 import com.gs.xky.config.*;
-import com.gs.xky.dto.XkyEntity;
+import com.gs.xky.dto.EmployeeInfo;
+import com.gs.xky.dto.XkyDetail;
 import com.gs.xky.service.ApiService;
+import com.gs.xky.service.MesStaffService;
+import com.gs.xky.service.XkyService;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 
 import java.io.IOException;
+import java.util.List;
+import java.util.stream.Collectors;
 
 @SpringBootTest
 class XkyApplicationTests {
 
 
     @Autowired
+    private XkyService xkyService;
+
+    @Autowired
     private ApiService apiService;
+
+    @Autowired
+    private MesStaffService staffService;
 
     @Test
     void contextLoads() throws IOException {
 
-        long currentTimeMillis = System.currentTimeMillis();
+        xkyService.GetSaveDetail();
+    }
 
-        ApiCommonParam apiParam = new ApiCommonParam();
-        apiParam.setAppKey(DataAcquisitionConfiguration.TEST_APP_KEY);//鍙戞惡瀹簯鎻愪緵鐨刟ppKey
-        apiParam.setVersion("1.0");//鎺ュ彛鐗堟湰
-        apiParam.setOperateCompanyCode(DataAcquisitionConfiguration.TEST_COMPANY_CODE);//鎿嶄綔鑰呮墍灞炲叕鍙哥紪鐮�
-        apiParam.setOwnerCompanyCode(DataAcquisitionConfiguration.TEST_COMPANY_CODE);//鏁版嵁鎵�灞炲叕鍙哥紪鐮�,闈為泦鍥㈠叕鍙搁粯璁よ祴鍊间负鎿嶄綔鍏徃
-        apiParam.setTimestamps(currentTimeMillis / 1000);//褰撳墠鏃堕棿瀵瑰簲鐨勬椂闂存埑锛堢鏁帮級
-
-        String appSecret = DataAcquisitionConfiguration.TEST_APP_SECRET;//鎼哄浜戞彁渚涚殑appSecret
-
-        String sign = SignUtils.buildCurrentSign(JSON.toJSONString(apiParam), appSecret);
-        apiParam.setSign(sign);
-
-
-        // 璁$畻浜斿垎閽熷墠鐨勬椂闂存埑
-        long startDate = currentTimeMillis - (65 * 60 * 1000); // 5 鍒嗛挓 = 5 * 60 * 1000 姣
+    @Test
+    void cs() throws IOException {
+        XkyCommonParam param = XkyCommonParam.GetInit();
 
         // 鍒涘缓 BodyParam 瀵硅薄骞惰祴鍊�
         BodyParam bodyParam = new BodyParam();
-        bodyParam.setStartDate(startDate);
-        bodyParam.setEndDate(currentTimeMillis);
-        bodyParam.setErpCode("Z106");
-        bodyParam.setStatus(new int[]{1});
-        bodyParam.setLogisticsStatus(2);
 
-        XkyCommonParam param = new XkyCommonParam();
-        param.setCommonParam(apiParam);
+        bodyParam.setErpCode(DataAcquisitionConfiguration.TEST_ERP_CODE);
+        bodyParam.setDeliveryNo("22250212VVWU");
+
         param.setBody(bodyParam);
 
+        ApiResponse<XkyDetail> noList = apiService.sendListRequest(param, XkyDetail.class, "https://openapi.xiekeyun.com/delivery/getDetail.json");
 
-        ApiResponse<XkyEntity> xkyEntityApiResponse = apiService.sendListRequest(param, XkyEntity.class, "https://openapi.xiekeyun.com/delivery/getNoList.json");
-
-        System.out.println(JSON.toJSONString(xkyEntityApiResponse));
+        System.out.println(JSON.toJSONString(noList.getData()));
     }
 
-}
+    @Test
+    void cs1() throws IOException {
+//        DingTalkParam dingTalkParam = new DingTalkParam(0);
+//
+//        DingTalkResponse<EmployeeInfo> employeeInfoDingTalkResponse = apiService.sendListRequest(dingTalkParam, EmployeeInfo.class, "http://192.168.1.64/eHR/eHRExternalService/Service.ashx");
+//
+//        //閫犳ⅵ鑰咃紙娴欐睙锛夌鎶�鏈夐檺鍏徃 cUnitName
+//        //http://192.168.1.64/eHR
+//        List<EmployeeInfo> collect = employeeInfoDingTalkResponse.getData().stream().filter(s -> "閫犳ⅵ鑰咃紙娴欐睙锛夌鎶�鏈夐檺鍏徃".equals(s.getCUnitName())).collect(Collectors.toList());
+//        System.out.println(collect.size());
+//
+//        List<List<EmployeeInfo>> partition = ListUtil.partition(collect, 500);
+//
+//        partition.forEach(list -> {
+//            staffService.SaveStaff(list);
+//        });
+
+    }
+
+
+    @Test
+    void cs2() throws IOException {
+        DingTalkParam dingTalkParam = new DingTalkParam(1);
+
+        DingTalkResponse<EmployeeInfo> employeeInfoDingTalkResponse = apiService.sendListRequest(dingTalkParam, EmployeeInfo.class, "http://192.168.1.64/eHR/eHRExternalService/Service.ashx");
+
+        //閫犳ⅵ鑰咃紙娴欐睙锛夌鎶�鏈夐檺鍏徃 cUnitName
+        //http://192.168.1.64/eHR
+        List<EmployeeInfo> collect = employeeInfoDingTalkResponse.getData().stream().filter(s -> "閫犳ⅵ鑰咃紙娴欐睙锛夌鎶�鏈夐檺鍏徃".equals(s.getCUnitName())).collect(Collectors.toList());
+        System.out.println(collect.size());
+
+        List<List<EmployeeInfo>> partition = ListUtil.partition(collect, 100);
+
+        partition.forEach(list -> {
+            staffService.UpdateStaff(list);
+        });
+
+    }
+}
\ No newline at end of file

--
Gitblit v1.9.3