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