package com.gs.xky.task; import cn.hutool.core.collection.ListUtil; import com.gs.xky.config.DingTalkParam; import com.gs.xky.config.DingTalkResponse; import com.gs.xky.dto.EmployeeInfo; import com.gs.xky.service.ApiService; import com.gs.xky.service.MesStaffService; import com.gs.xky.service.XkyService; import lombok.RequiredArgsConstructor; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.io.IOException; import java.util.List; import java.util.stream.Collectors; @Component @RequiredArgsConstructor public class ScheduledTasks { private final XkyService xkyService; private final ApiService apiService; private final MesStaffService staffService; /** * 每五分钟执行一次 * 获取设备最近的一条记录 * * @return void * @author tjx * @description TODO * @date 2024/9/27 21:48 */ @Scheduled(cron = "0 0/5 * * * ?") public void getDeviceRealTimeData() throws IOException { xkyService.GetSaveDetail(); } @Scheduled(cron = "0 0/55 * * * ?") public void getDinTalkData() throws IOException { DingTalkParam dingTalkParam = new DingTalkParam(1); DingTalkResponse employeeInfoDingTalkResponse = apiService.sendListRequest(dingTalkParam, EmployeeInfo.class, "http://192.168.1.64/eHR/eHRExternalService/Service.ashx"); List collect = employeeInfoDingTalkResponse.getData().stream().filter(s -> "造梦者(浙江)科技有限公司".equals(s.getCUnitName())).collect(Collectors.toList()); System.out.println(collect.size()); List> partition = ListUtil.partition(collect, 100); partition.forEach(staffService::UpdateStaff); } }