1.添加立即下载自助平台数据接口
parent
de98f063c5
commit
d3bdc7bb1d
@ -0,0 +1,16 @@
|
||||
package com.glxp.api.admin.req.sync;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 下载任务信息
|
||||
*/
|
||||
@Data
|
||||
public class PostDownloadInfo {
|
||||
|
||||
/**
|
||||
* 下载类型
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
}
|
@ -0,0 +1,79 @@
|
||||
package com.glxp.api.admin.thread;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.glxp.api.admin.constant.Constant;
|
||||
import com.glxp.api.admin.dao.schedule.ScheduledDao;
|
||||
import com.glxp.api.admin.entity.info.ScheduledEntity;
|
||||
import com.glxp.api.admin.req.info.ScheduledRequest;
|
||||
import com.glxp.api.admin.util.RedisUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
import org.springframework.scheduling.annotation.SchedulingConfigurer;
|
||||
import org.springframework.scheduling.config.ScheduledTaskRegistrar;
|
||||
import org.springframework.scheduling.support.CronTrigger;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Map;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
@EnableScheduling
|
||||
public class DownloadSpDataTask implements SchedulingConfigurer {
|
||||
|
||||
@Resource
|
||||
private ScheduledDao scheduledDao;
|
||||
@Resource
|
||||
private RedisUtil redisUtil;
|
||||
@Resource
|
||||
private DlBasicService dlBasicService;
|
||||
|
||||
@Override
|
||||
public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
|
||||
taskRegistrar.addTriggerTask(this::process, triggerContext -> {
|
||||
ScheduledRequest scheduledRequest = new ScheduledRequest();
|
||||
scheduledRequest.setCronName("downloadSpDataTask");
|
||||
ScheduledEntity scheduled = scheduledDao.findScheduled(scheduledRequest);
|
||||
String cron = scheduled.getCron();
|
||||
if (StrUtil.isBlank(cron)) {
|
||||
log.error("cron is null");
|
||||
}
|
||||
return new CronTrigger(cron).nextExecutionTime(triggerContext);
|
||||
});
|
||||
}
|
||||
|
||||
private void process() {
|
||||
Object result = redisUtil.get(Constant.SPS_SYNC_DOWNLOAD_INFO);
|
||||
if (null != result) {
|
||||
//解析下载参数
|
||||
Map map = JSONUtil.toBean(String.valueOf(result), Map.class);
|
||||
DateTime taskTime = DateUtil.date(Long.valueOf(String.valueOf(map.get("time"))));
|
||||
if (DateUtil.date().getTime() <= taskTime.getTime()) {
|
||||
Integer type = Integer.valueOf(String.valueOf(map.get("type")));
|
||||
if (type == 1) {
|
||||
log.info("开始下载基础信息");
|
||||
dlBasicService.dlAllData();
|
||||
log.info("基础信息下载完毕");
|
||||
} else if (type == 2) {
|
||||
log.info("开始下载单据类型");
|
||||
dlBasicService.dlAllBus();
|
||||
log.info("单据类型下载完毕");
|
||||
} else if ((type == 3)) {
|
||||
log.info("开始下载扫码单据");
|
||||
dlBasicService.dlAllOrder();
|
||||
log.info("扫码单据下载完毕");
|
||||
} else if (type == 4) {
|
||||
log.info("开始下载国家库数据");
|
||||
dlBasicService.dlAllUDI();
|
||||
log.info("国家库数据下载完毕");
|
||||
}
|
||||
//删除标记
|
||||
redisUtil.del(Constant.SPS_SYNC_DOWNLOAD_INFO);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue