tjx
4 天以前 56ae62dd364b2822016b1b25208133e9177cfae1
整合钉钉和企业微信
已修改2个文件
53 ■■■■ 文件已修改
src/main/java/com/gs/dingtalk/service/WorkWXService.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/test/java/com/gs/dingtalk/DeviceReceivingApplicationTests.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/gs/dingtalk/service/WorkWXService.java
@@ -212,6 +212,39 @@
        }
    }
    public int syncUsersToQwStaff() throws IOException {
        List<WorkWXUser> userList = getUserList();
        if (userList == null || userList.isEmpty()) {
            log.warn("获取到的用户列表为空");
            return 0;
        }
        int insertCount = 0;
        for (WorkWXUser user : userList) {
            if (user.getUserid() == null || user.getUserid().isEmpty()) {
                continue;
            }
            QwStaff existingStaff = qwStaffMapper.selectOne(
                new LambdaQueryWrapper<QwStaff>().eq(QwStaff::getAccount, user.getUserid())
            );
            if (existingStaff == null) {
                QwStaff qwStaff = new QwStaff();
                qwStaff.setName(user.getName());
                qwStaff.setAccount(user.getUserid());
                qwStaff.setDept(user.getDepartment() != null ? user.getDepartment().toString() : null);
                qwStaffMapper.insert(qwStaff);
                insertCount++;
            }
        }
        log.info("同步用户到QW_STAFF表完成,新增用户数: {}", insertCount);
        return insertCount;
    }
    public List<CheckinData> getCheckinData(long startTime, long endTime, List<String> useridList) throws IOException {
        String accessToken = getAccessToken();
        String url = String.format("https://qyapi.weixin.qq.com/cgi-bin/checkin/getcheckindata?access_token=%s", accessToken);
src/test/java/com/gs/dingtalk/DeviceReceivingApplicationTests.java
@@ -172,24 +172,16 @@
    }
    @Test
    void testGetUserDetail() {
        System.out.println("=== 开始测试获取用户详情 ===");
    void testSyncUsersToQwStaff() {
        System.out.println("=== 开始测试同步企业微信用户到QW_STAFF表 ===");
        try {
            String userid = "ShenJuanYue";
            WorkWXService.WorkWXUserDetail userDetail = workWXService.getUserDetail(userid);
            int insertCount = workWXService.syncUsersToQwStaff();
            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("✗ 获取用户详情失败");
            }
            System.out.println("✓ 同步完成");
            System.out.println("  - 新增用户数: " + insertCount);
        } catch (IOException e) {
            System.out.println("✗ 获取用户详情失败: " + e.getMessage());
            System.out.println("✗ 同步用户失败: " + e.getMessage());
            e.printStackTrace();
        }