package com.gs.xky; 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; @SpringBootTest class XkyApplicationTests { @Autowired private VwCjScSjTsBbService vwCjScSjTsBbService; @Autowired private WorkWXService workWXService; /** * 测试导出生产数据并发送钉钉消息 * 功能:查询VW_CJ_SC_SJ_TS_BB表数据 -> 导出Excel -> 发送钉钉文件消息 */ @Test void testExportAndSendProductionData() throws Exception { System.out.println("=== 开始测试导出生产数据并发送钉钉 ==="); // 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(); // } System.out.println("=== 测试结束 ==="); } @Test void testGetCheckinDataByQwStaff() { System.out.println("=== 开始测试通过QW_STAFF表获取打卡数据 ==="); try { long currentTime = System.currentTimeMillis() / 1000; long oneDaySeconds = 86400; long endTime = (currentTime / oneDaySeconds) * oneDaySeconds - 1; long startTime = endTime - oneDaySeconds + 1; System.out.println(" - 开始时间: " + new java.util.Date(startTime * 1000)); System.out.println(" - 结束时间: " + new java.util.Date(endTime * 1000)); List 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("=== 测试结束 ==="); } @Test void testGetWorkWXUserList() { System.out.println("=== 开始测试获取企业微信用户列表 ==="); try { List userList = workWXService.getUserList(); 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("✗ 获取的用户列表为空"); } } 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(); } System.out.println("=== 测试结束 ==="); } }