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.ArrayList;
|
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("=== 测试结束 ===");
|
}
|
|
/**
|
* 测试获取企业微信access_token
|
* 功能:调用企业微信API获取access_token
|
*/
|
@Test
|
void testGetWorkWXAccessToken() {
|
System.out.println("=== 开始测试获取企业微信access_token ===");
|
|
try {
|
String accessToken = workWXService.getAccessToken();
|
|
if (accessToken != null && !accessToken.isEmpty()) {
|
System.out.println("✓ 成功获取企业微信access_token");
|
System.out.println(" - access_token: " + accessToken);
|
System.out.println(" - token长度: " + accessToken.length());
|
} else {
|
System.out.println("✗ 获取的access_token为空");
|
}
|
} catch (IOException e) {
|
System.out.println("✗ 获取access_token失败: " + e.getMessage());
|
e.printStackTrace();
|
}
|
|
System.out.println("=== 测试结束 ===");
|
}
|
|
/**
|
* 测试通过手机号获取userid
|
* 功能:调用企业微信API通过手机号查询userid
|
*/
|
@Test
|
void testGetUserIdByMobile() {
|
System.out.println("=== 开始测试通过手机号获取userid ===");
|
|
try {
|
String mobile = "13335712023";
|
String userid = workWXService.getUserIdByMobile(mobile);
|
|
if (userid != null && !userid.isEmpty()) {
|
System.out.println("✓ 成功通过手机号获取userid");
|
System.out.println(" - 手机号: " + mobile);
|
System.out.println(" - userid: " + userid);
|
} else {
|
System.out.println("✗ 获取的userid为空");
|
}
|
} catch (IOException e) {
|
System.out.println("✗ 获取userid失败: " + e.getMessage());
|
e.printStackTrace();
|
}
|
|
System.out.println("=== 测试结束 ===");
|
}
|
|
/**
|
* 测试获取企业微信用户列表
|
* 功能:调用企业微信API获取所有用户的userid和部门信息
|
*/
|
@Test
|
void testGetWorkWXUserList() {
|
System.out.println("=== 开始测试获取企业微信用户列表 ===");
|
|
try {
|
List<WorkWXService.WorkWXUser> userList = workWXService.getUserList();
|
|
if (userList != null && !userList.isEmpty()) {
|
System.out.println("✓ 成功获取企业微信用户列表");
|
System.out.println(" - 用户总数: " + userList.size());
|
System.out.println(" - 前5条数据:");
|
userList.stream().limit(5).forEach(user -> {
|
System.out.println(" * userid: " + user.getUserid() +
|
", name: " + user.getName() +
|
", department: " + user.getDepartment());
|
});
|
} else {
|
System.out.println("✗ 获取的用户列表为空");
|
}
|
} catch (IOException e) {
|
System.out.println("✗ 获取用户列表失败: " + e.getMessage());
|
e.printStackTrace();
|
}
|
|
System.out.println("=== 测试结束 ===");
|
}
|
|
/**
|
* 测试获取企业微信打卡数据
|
* 功能:获取指定时间范围内的员工打卡记录
|
*/
|
@Test
|
void testGetCheckinData() {
|
System.out.println("=== 开始测试获取企业微信打卡数据 ===");
|
|
try {
|
List<WorkWXService.WorkWXUser> userList = workWXService.getUserList();
|
|
if (userList == null || userList.isEmpty()) {
|
System.out.println("✗ 未获取到用户列表,无法继续测试");
|
return;
|
}
|
|
List<String> useridList = new ArrayList<>();
|
userList.forEach(user -> useridList.add(user.getUserid()));
|
|
long endTime = System.currentTimeMillis() / 1000;
|
long startTime = endTime - 86400;
|
|
System.out.println(" - 用户总数: " + useridList.size());
|
System.out.println(" - 开始时间: " + new java.util.Date(startTime * 1000));
|
System.out.println(" - 结束时间: " + new java.util.Date(endTime * 1000));
|
|
List<WorkWXService.CheckinData> checkinDataList = workWXService.getCheckinData(startTime, endTime, useridList);
|
|
if (checkinDataList != null && !checkinDataList.isEmpty()) {
|
System.out.println("✓ 成功获取打卡数据");
|
System.out.println(" - 打卡记录总数: " + checkinDataList.size());
|
System.out.println(" - 前3条数据:");
|
checkinDataList.stream().limit(3).forEach(data -> {
|
System.out.println(" * userid: " + data.getUserid() +
|
", 打卡时间: " + new java.util.Date(data.getCheckinTime() * 1000) +
|
", 打卡类型: " + data.getCheckinType() +
|
", 地点: " + data.getLocationDetail());
|
});
|
} else {
|
System.out.println("✗ 获取的打卡数据为空");
|
}
|
} catch (IOException e) {
|
System.out.println("✗ 获取打卡数据失败: " + e.getMessage());
|
e.printStackTrace();
|
}
|
|
System.out.println("=== 测试结束 ===");
|
}
|
}
|