package com.ycl.smoke.task;
|
|
import com.ycl.service.redis.RedisService;
|
import com.ycl.smoke.entity.OdsAlarmMsg;
|
import com.ycl.smoke.dto.*;
|
import com.ycl.smoke.remote.service.ISmokeDetectionService;
|
import com.ycl.smoke.service.IOdsAlarmMsgService;
|
import com.ycl.utils.redis.RedisKey;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.stereotype.Component;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
|
@Component
|
public class ScheduledTask {
|
|
ISmokeDetectionService smokeDetectionService;
|
|
IOdsAlarmMsgService alarmMsgService;
|
|
@Resource
|
private RedisService redisService;
|
|
@Autowired
|
public void setSmokeDetectionService(ISmokeDetectionService smokeDetectionService) {
|
this.smokeDetectionService = smokeDetectionService;
|
}
|
|
@Autowired
|
public void setAlarmMsgService(IOdsAlarmMsgService alarmMsgService) {
|
this.alarmMsgService = alarmMsgService;
|
}
|
|
@Scheduled(cron = "0 0 1 * * ?") // 每天零点执行
|
// @Scheduled(cron = "0 */2 * * * ?") // 每一个分钟执行 0 0/1 * ?
|
// @Scheduled(cron = "0/1 * * * * ?") // 每秒执行
|
public void alarmMsgTask() {
|
try {
|
AlarmMsgParamDto paramDto = AlarmMsgParamDto.builder().StartAt(0).Size(100).build();
|
|
SmokeResultResponseDto<AlarmMsgResponseDto> responseDto = smokeDetectionService.getListAlarmMsg(paramDto, redisService.get(RedisKey.SMOKE_TOKEN).toString());
|
if (responseDto.getStatus() == 200) {
|
AlarmMsgResponseDto dto = responseDto.getData();
|
List<OdsAlarmMsg> list = dto.getContent();
|
System.out.println(list.size());
|
list.forEach(o->{
|
try {
|
alarmMsgService.save(o);
|
}
|
catch (Exception ex){
|
|
}
|
});
|
// alarmMsgService.saveBatch(list);
|
} else if (responseDto.getStatus() == 114) {
|
login();
|
alarmMsgTask();
|
}
|
} catch (Exception ex) {
|
|
}
|
}
|
|
@Scheduled(cron = "0 0 1 * * ?") // 每天零点执行
|
// @Scheduled(cron = "0 */2 * * * ?") // 每一个分钟执行 0 0/1 * ?
|
// @Scheduled(cron = "0/1 * * * * ?") // 每秒执行
|
public void queryDataDetectorDaily2Task() {
|
try {
|
AlarmMsgParamDto paramDto = AlarmMsgParamDto.builder().StartAt(0).Size(100).build();
|
|
SmokeResultResponseDto<AlarmMsgResponseDto> responseDto = smokeDetectionService.getListAlarmMsg(paramDto, redisService.get(RedisKey.SMOKE_TOKEN).toString());
|
if (responseDto.getStatus() == 200) {
|
AlarmMsgResponseDto dto = responseDto.getData();
|
List<OdsAlarmMsg> list = dto.getContent();
|
System.out.println(list.size());
|
list.forEach(o->{
|
try {
|
alarmMsgService.save(o);
|
}
|
catch (Exception ex){
|
|
}
|
});
|
// alarmMsgService.saveBatch(list);
|
} else if (responseDto.getStatus() == 114) {
|
login();
|
queryDataDetectorDaily2Task();
|
}
|
} catch (Exception ex) {
|
|
}
|
}
|
|
void login() {
|
LoginParamDto loginParamDto = LoginParamDto.builder().username("connect_test2").password("test@234").noCode(true).build();
|
SmokeResultResponseDto<LoginResponseDto> responseDto = smokeDetectionService.loginAction(loginParamDto);
|
if (responseDto.getStatus() == 200) {
|
System.out.println(responseDto.getData().getToken());
|
redisService.set(RedisKey.SMOKE_TOKEN, responseDto.getData().getToken());
|
}
|
}
|
}
|