feat: 定时设置结合业务
							parent
							
								
									0b32274b65
								
							
						
					
					
						commit
						9fd7db20d7
					
				| @ -0,0 +1,95 @@ | ||||
| package com.glxp.api.task; | ||||
| 
 | ||||
| import cn.hutool.core.collection.CollUtil; | ||||
| import cn.hutool.core.thread.ThreadUtil; | ||||
| import cn.hutool.core.util.StrUtil; | ||||
| import com.glxp.api.dao.basic.SysWorkplaceDocumentDao; | ||||
| import com.glxp.api.dao.schedule.ScheduledDao; | ||||
| import com.glxp.api.entity.collect.IoCollectSet; | ||||
| import com.glxp.api.entity.system.ScheduledEntity; | ||||
| import com.glxp.api.req.basic.WorkBindBusTypeRequest; | ||||
| import com.glxp.api.req.collect.CollectOrderRequest; | ||||
| import com.glxp.api.req.system.ScheduledRequest; | ||||
| import com.glxp.api.res.basic.SysWorkplaceDocumentResponse; | ||||
| import com.glxp.api.res.collect.IoCollectCodeResponse; | ||||
| import com.glxp.api.res.collect.IoCollectOrderResponse; | ||||
| import com.glxp.api.service.collect.*; | ||||
| import com.glxp.api.util.MsDateUtil; | ||||
| import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | ||||
| 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.Date; | ||||
| import java.util.List; | ||||
| 
 | ||||
| 
 | ||||
| @Component | ||||
| @EnableScheduling | ||||
| public class AsyncIoCollectOrderUploadTask implements SchedulingConfigurer { | ||||
| 
 | ||||
|     final Logger logger = LoggerFactory.getLogger(AsyncIoCollectOrderUploadTask.class); | ||||
| 
 | ||||
|     @Resource | ||||
|     private ScheduledDao scheduledDao; | ||||
|     @Resource | ||||
|     IoCollectSetService collectSetService; | ||||
|     @Resource | ||||
|     IoCollectCodeService collectCodeService; | ||||
|     @Resource | ||||
|     IoCollectOrderBackupService ioCollectOrderBackupService; | ||||
| 
 | ||||
| 
 | ||||
|     @Override | ||||
|     public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) { | ||||
|         scheduledTaskRegistrar.addTriggerTask(() -> process(), | ||||
|                 triggerContext -> { | ||||
|                     ScheduledRequest scheduledRequest = new ScheduledRequest(); | ||||
|                     scheduledRequest.setCronName("ioCollectOrderUploadTask"); | ||||
|                     ScheduledEntity scheduledEntity = scheduledDao.findScheduled(scheduledRequest); | ||||
|                     String cron = scheduledEntity != null ? scheduledEntity.getCron() : "0 */10 * * * ?"; | ||||
|                     if (cron.isEmpty()) { | ||||
|                         logger.error("cron is null"); | ||||
|                     } | ||||
|                     return new CronTrigger(cron).nextExecutionTime(triggerContext); | ||||
|                 }); | ||||
|     } | ||||
| 
 | ||||
|     private void process() { | ||||
|         ThreadUtil.execAsync(() -> { | ||||
|             //获取下载的起始时间
 | ||||
|             IoCollectSet ioCollectSet = collectSetService.getSet(); | ||||
|             Date startUploadTime = ioCollectSet.getStartUploadTime(); | ||||
|             String startUploadTimes = MsDateUtil.formatDateTime(startUploadTime); | ||||
|             Boolean autoUploadOrder = ioCollectSet.getAutoUploadOrder(); | ||||
| 
 | ||||
|             if (StrUtil.isNotBlank(startUploadTimes) && autoUploadOrder){ | ||||
|                 //获取当前时间
 | ||||
|                 String paramValue = startUploadTimes; | ||||
|                 String nowTime = MsDateUtil.getDateTime(); | ||||
|                 CollectOrderRequest collectOrderRequest = new CollectOrderRequest(); | ||||
| 
 | ||||
|                 collectOrderRequest.setStartTime(paramValue); | ||||
|                 collectOrderRequest.setEndTime(nowTime); | ||||
|                 collectOrderRequest.setUploadStatus(1); //未上传
 | ||||
| 
 | ||||
|                 //调用上传单据
 | ||||
|                 List<IoCollectOrderResponse> orderResponses = ioCollectOrderBackupService.filterList(collectOrderRequest); | ||||
|                 if (CollUtil.isNotEmpty(orderResponses)){ | ||||
|                     orderResponses.forEach( item -> { | ||||
|                         ioCollectOrderBackupService.orderUpload(item.getBillNo()); | ||||
|                     }); | ||||
|                 } | ||||
| 
 | ||||
|                 ioCollectSet.setStartUploadTime(MsDateUtil.parseDate(nowTime)); | ||||
|                 collectSetService.updateById(ioCollectSet); | ||||
|             } | ||||
| 
 | ||||
|         }); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
					Loading…
					
					
				
		Reference in New Issue