From f91c09e452ce121a66755e8b6f133efeac4edead Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期二, 18 二月 2025 14:14:27 +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..c69cba4 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();
+
+ 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