From f8169c6249a02f57cd88d7b05292c0a9f617e316 Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期三, 26 十一月 2025 14:14:41 +0800
Subject: [PATCH] 新增企业微信的接口
---
src/test/java/com/gs/xky/XkyApplicationTests.java | 277 +++++++++++++++++++------------------------------------
1 files changed, 96 insertions(+), 181 deletions(-)
diff --git a/src/test/java/com/gs/xky/XkyApplicationTests.java b/src/test/java/com/gs/xky/XkyApplicationTests.java
index 4571852..4431bee 100644
--- a/src/test/java/com/gs/xky/XkyApplicationTests.java
+++ b/src/test/java/com/gs/xky/XkyApplicationTests.java
@@ -1,217 +1,132 @@
package com.gs.xky;
-import com.alibaba.fastjson.JSON;
-import com.gs.xky.config.*;
-import com.gs.xky.dto.BarcodeDeliveryNo;
-import com.gs.xky.dto.EmployeeInfo;
-import com.gs.xky.dto.XkyDetail;
-import com.gs.xky.dto.XkyEntity;
-import com.gs.xky.entity.MesInvItemArn;
-import com.gs.xky.service.*;
+import com.gs.xky.service.VwCjScSjTsBbService;
+import com.gs.xky.service.WorkWXService;
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;
+ private VwCjScSjTsBbService vwCjScSjTsBbService;
@Autowired
- private ApiService apiService;
-
- @Autowired
- private MesStaffService staffService;
-
- @Autowired
- private DeliveryNoticeService deliveryNoticeService;
-
- @Autowired
- private TblBarcodeInformationService barcodeInformationService;
-
- @Autowired
- private MesInvItemArnService invItemArnService;
- @Autowired
- private PurchaseService service;
- @Autowired
- private DingtalkInfoService dingtalkInfoService;
-
- @Test
- void contextLoads() throws IOException {
-
- List<MesInvItemArn> itemArnMinus = invItemArnService.getItemArnMinus();
-
- deliveryNoticeService.processMesInvItemArnStatusAsync(itemArnMinus);
-
- }
-
- @Test
- public void getDeviceRealTimeData() throws IOException {
- xkyService.GetSaveDetail();
- }
-
- @Test
- void cs() throws IOException {
-
- String str = "22250702H88F;";
-
-
- String[] split = str.split(";");
-
- for (String s : split) {
- XkyCommonParam param = XkyCommonParam.GetInit();
-
- // 鍒涘缓 BodyParam 瀵硅薄骞惰祴鍊�
- BodyParam bodyParam = new BodyParam();
-
- bodyParam.setErpCode(DataAcquisitionConfiguration.TEST_ERP_CODE);
- bodyParam.setDeliveryNo(s);
-
- param.setBody(bodyParam);
-
- ApiResponse<XkyDetail> detail = apiService.sendListRequest(param, XkyDetail.class, "https://openapi.xiekeyun.com/delivery/getDetail.json");
-
- XkyDetail deliveryNo = detail.getData();
-
- if (deliveryNo == null) {
- System.out.println("涓虹┖鐨勯�佽揣鍗曞彿" + s);
- return;
- }
-
- if ("6".equals(deliveryNo.getStatus()) || "0".equals(deliveryNo.getLogisticsStatus())) {
- XkyEntity xkyEntity = new XkyEntity();
- xkyEntity.setDeliveryNo(deliveryNo.getDeliveryNo());
- xkyService.remove1(xkyEntity);
- } else if ("1".equals(deliveryNo.getStatus()) && ("2".equals(deliveryNo.getLogisticsStatus()) || "1".equals(deliveryNo.getLogisticsStatus()))) {
- XkyDetail detail1 = deliveryNo;
- deliveryNoticeService.saveDeliveryNotice(detail1);
- List<BarcodeDeliveryNo> barcodeDeliveryNos = GetBarcodeInformation(deliveryNo.getDeliveryNo());
- barcodeInformationService.SaveBarcodeInformation(barcodeDeliveryNos, deliveryNo.getDeliveryNo());
- if ("2".equals(deliveryNo.getLogisticsStatus())) {
- deliveryNoticeService.callPdaReceiptBtn("閫佽揣鍗曠鏀禰BTNOK[PL017[" + deliveryNo.getDeliveryNo(), "");
- }
- }
- }
- }
-
- private List<BarcodeDeliveryNo> GetBarcodeInformation(String deliveryNo) throws IOException {
- XkyCommonParam param = XkyCommonParam.GetInit();
-
- // 鍒涘缓 BodyParam 瀵硅薄骞惰祴鍊�
- BodyParam bodyParam = new BodyParam();
-
- bodyParam.setErpCode(DataAcquisitionConfiguration.TEST_ERP_CODE);
- bodyParam.setDeliveryNo(deliveryNo);
-
- param.setBody(bodyParam);
-
-
- ApiResponse<BarcodeDeliveryNo> noList = apiService.sendListRequest(param, BarcodeDeliveryNo.class, "https://openapi.xiekeyun.com/barcode/byDeliveryNo.json");
-
- return noList.getDataList();
- }
-
- @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);
-// });
- XkyCommonParam param = XkyCommonParam.GetInit();
- String jsonString = JSON.toJSONString(param);
- System.out.println(jsonString);
- }
-
- @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);
-// });
-
- }
-
- @Test
- void cs3() throws Exception {
- DingTalkParam dingTalkParam = new DingTalkParam(1);
- DingTalkResponse<EmployeeInfo> employeeInfoDingTalkResponse =
- apiService.sendListRequest(dingTalkParam, EmployeeInfo.class,
- "http://192.168.1.64/eHR/eHRExternalService/Service.ashx");
-
- List<EmployeeInfo> collect = employeeInfoDingTalkResponse.getData().stream()
- .filter(s -> "閫犳ⅵ鑰咃紙娴欐睙锛夌鎶�鏈夐檺鍏徃".equals(s.getCUnitName()))
- .collect(Collectors.toList());
-
- }
+ private WorkWXService workWXService;
/**
- * 娴嬭瘯鍙戦�丄ctionCard娑堟伅锛堝湪澶栭儴娴忚鍣ㄤ腑鎵撳紑閾炬帴锛�
- * 閫傜敤鍦烘櫙锛欱I鎶ヨ〃銆佸閮ㄧ郴缁熼摼鎺ョ瓑闇�瑕佸湪澶栭儴娴忚鍣ㄦ墦寮�鐨勫満鏅�
+ * 娴嬭瘯瀵煎嚭鐢熶骇鏁版嵁骞跺彂閫侀拤閽夋秷鎭�
+ * 鍔熻兘锛氭煡璇W_CJ_SC_SJ_TS_BB琛ㄦ暟鎹� -> 瀵煎嚭Excel -> 鍙戦�侀拤閽夋枃浠舵秷鎭�
*/
@Test
- void testSendActionCardMessage() throws Exception {
- System.out.println("=== 寮�濮嬫祴璇曞彂閫丄ctionCard娑堟伅 ===");
+ void testExportAndSendProductionData() throws Exception {
+ System.out.println("=== 寮�濮嬫祴璇曞鍑虹敓浜ф暟鎹苟鍙戦�侀拤閽� ===");
- boolean result = dingtalkInfoService.sendActionCardMessage();
+// try {
+// boolean result = vwCjScSjTsBbService.exportAndSendToDingtalk();
+//
+// if (result) {
+// System.out.println("鉁� 鐢熶骇鏁版嵁瀵煎嚭骞跺彂閫佹垚鍔�");
+// System.out.println(" - 鏁版嵁宸蹭粠 VW_CJ_SC_SJ_TS_BB 琛ㄦ煡璇�");
+// System.out.println(" - Excel 鏂囦欢宸茬敓鎴愬苟淇濆瓨鍒� D:\\BIFile\\");
+// System.out.println(" - 閽夐拤鏂囦欢娑堟伅宸插彂閫�");
+// } else {
+// System.out.println("鉁� 鐢熶骇鏁版嵁瀵煎嚭鎴栧彂閫佸け璐�");
+// }
+// } catch (Exception e) {
+// System.out.println("鉁� 瀵煎嚭骞跺彂閫佹椂鍙戠敓寮傚父: " + e.getMessage());
+// e.printStackTrace();
+// }
- if (result) {
- System.out.println("鉁� ActionCard娑堟伅鍙戦�佹垚鍔�");
- } else {
- System.out.println("鉁� ActionCard娑堟伅鍙戦�佸け璐�");
+ System.out.println("=== 娴嬭瘯缁撴潫 ===");
+ }
+
+ @Test
+ void testGetCheckinDataByQwStaff() {
+ System.out.println("=== 寮�濮嬫祴璇曢�氳繃QW_STAFF琛ㄨ幏鍙栨墦鍗℃暟鎹� ===");
+
+ try {
+ long endTime = System.currentTimeMillis() / 1000;
+ long startTime = endTime - 86400;
+
+ System.out.println(" - 寮�濮嬫椂闂�: " + new java.util.Date(startTime * 1000));
+ System.out.println(" - 缁撴潫鏃堕棿: " + new java.util.Date(endTime * 1000));
+
+ List<WorkWXService.CheckinData> checkinDataList = workWXService.getCheckinDataByQwStaff(startTime, endTime);
+
+ if (checkinDataList != null && !checkinDataList.isEmpty()) {
+ System.out.println("鉁� 鎴愬姛鑾峰彇鎵撳崱鏁版嵁");
+ System.out.println(" - 鎵撳崱璁板綍鎬绘暟: " + checkinDataList.size());
+ System.out.println(" - 鍓�5鏉℃暟鎹�:");
+ checkinDataList.stream().limit(5).forEach(data -> {
+ System.out.println(" * userid: " + data.getUserid() +
+ ", 鎵撳崱鏃堕棿: " + new java.util.Date(data.getCheckinTime() * 1000) +
+ ", 鎵撳崱绫诲瀷: " + data.getCheckinType() +
+ ", 寮傚父绫诲瀷: " + data.getExceptionType() +
+ ", 鍦扮偣: " + data.getLocationDetail());
+ });
+ } else {
+ System.out.println("鉁� 鑾峰彇鐨勬墦鍗℃暟鎹负绌猴紙鍙兘QW_STAFF琛ㄦ棤鏁版嵁鎴栨椂闂磋寖鍥村唴鏃犳墦鍗¤褰曪級");
+ }
+ } catch (IOException e) {
+ System.out.println("鉁� 鑾峰彇鎵撳崱鏁版嵁澶辫触: " + e.getMessage());
+ e.printStackTrace();
}
System.out.println("=== 娴嬭瘯缁撴潫 ===");
}
- /**
- * 娴嬭瘯鍙戦�佹枃浠舵秷鎭�
- * 閫傜敤鍦烘櫙锛氬彂閫丒xcel鎶ヨ〃銆丳DF鏂囨。銆乄ord鏂囨。绛夊悇绫绘枃浠�
- */
@Test
- void testSendFileMessage() throws Exception {
- System.out.println("=== 寮�濮嬫祴璇曞彂閫佹枃浠舵秷鎭� ===");
-
- // 鎸囧畾瑕佸彂閫佺殑鏂囦欢璺緞锛堣淇敼涓哄疄闄呭瓨鍦ㄧ殑鏂囦欢璺緞锛�
- String filePath = "D:\\test\\report.xlsx"; // 绀轰緥锛欵xcel鎶ヨ〃鏂囦欢
- // String filePath = "D:\\test\\document.pdf"; // 绀轰緥锛歅DF鏂囨。
- // String filePath = "D:\\test\\data.docx"; // 绀轰緥锛歐ord鏂囨。
+ void testGetWorkWXUserList() {
+ System.out.println("=== 寮�濮嬫祴璇曡幏鍙栦紒涓氬井淇$敤鎴峰垪琛� ===");
try {
- boolean result = dingtalkInfoService.sendFileMessage(filePath);
+ List<WorkWXService.WorkWXUser> userList = workWXService.getUserList();
- if (result) {
- System.out.println("鉁� 鏂囦欢娑堟伅鍙戦�佹垚鍔�");
+ if (userList != null && !userList.isEmpty()) {
+ System.out.println("鉁� 鎴愬姛鑾峰彇浼佷笟寰俊鐢ㄦ埛鍒楄〃");
+ System.out.println(" - 鐢ㄦ埛鎬绘暟: " + userList.size());
+ System.out.println(" - 鍓�10鏉℃暟鎹�:");
+ userList.stream().limit(10).forEach(user -> {
+ System.out.println(" * userid: " + user.getUserid() +
+ ", 濮撳悕: " + user.getName() +
+ ", 閮ㄩ棬: " + user.getDepartment());
+ });
} else {
- System.out.println("鉁� 鏂囦欢娑堟伅鍙戦�佸け璐�");
+ System.out.println("鉁� 鑾峰彇鐨勭敤鎴峰垪琛ㄤ负绌�");
}
- } catch (Exception e) {
- System.out.println("鉁� 鍙戦�佹枃浠舵椂鍙戠敓寮傚父: " + e.getMessage());
+ } catch (IOException e) {
+ System.out.println("鉁� 鑾峰彇鐢ㄦ埛鍒楄〃澶辫触: " + e.getMessage());
+ e.printStackTrace();
+ }
+
+ System.out.println("=== 娴嬭瘯缁撴潫 ===");
+ }
+
+ @Test
+ void testGetUserDetail() {
+ System.out.println("=== 寮�濮嬫祴璇曡幏鍙栫敤鎴疯鎯� ===");
+
+ try {
+ String userid = "ShenJuanYue";
+ WorkWXService.WorkWXUserDetail userDetail = workWXService.getUserDetail(userid);
+
+ if (userDetail != null && userDetail.getErrcode() == 0) {
+ System.out.println("鉁� 鎴愬姛鑾峰彇鐢ㄦ埛璇︽儏");
+ System.out.println(" - userid: " + userDetail.getUserid());
+ System.out.println(" - 濮撳悕: " + userDetail.getName());
+ System.out.println(" - 鎵嬫満鍙�: " + userDetail.getMobile());
+ System.out.println(" - 鑱屼綅: " + userDetail.getPosition());
+ } else {
+ System.out.println("鉁� 鑾峰彇鐢ㄦ埛璇︽儏澶辫触");
+ }
+ } catch (IOException e) {
+ System.out.println("鉁� 鑾峰彇鐢ㄦ埛璇︽儏澶辫触: " + e.getMessage());
e.printStackTrace();
}
--
Gitblit v1.9.3