| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- package com.ydtech.modules.xxl.handler;
- import com.xxl.job.core.handler.annotation.XxlJob;
- import com.ydtech.modules.xxl.mapper.XxlInsAreaCompanyMapper;
- import com.ydtech.modules.xxl.model.InsAreaCompany;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- import java.text.SimpleDateFormat;
- import java.time.Duration;
- import java.time.LocalDateTime;
- import java.time.format.DateTimeFormatter;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- /**
- * 同步已承保状态的定时任务
- * 将已承包的同步到内部状态中
- */
- @Component
- public class SyncStatusHandler {
- @Autowired
- XxlInsAreaCompanyMapper insAreaCompanyMapper;
- @XxlJob("syncStatusHandler")
- public void syncStatusHandler() {
- // 设置日期时间格式
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- HashMap<String,String> time = get24HourTime();
- List<InsAreaCompany> noSyncList = insAreaCompanyMapper.getNoSyncList(time.get("startTime"), time.get("endTime"));
- noSyncList.forEach(insAreaCompany -> {
- insAreaCompany.setInsideOrderStatus(Integer.parseInt(insAreaCompany.getOrderstatus()));
- if(insAreaCompany.getPayDate() == null || "".equals(insAreaCompany.getPayDate())){
- insAreaCompany.setInsidePayTime(time.get("startTime"));
- }else{
- insAreaCompany.setInsidePayTime(insAreaCompany.getPayDate().format(formatter));
- }
- insAreaCompanyMapper.updateInsideOrder(insAreaCompany);
- });
- }
- private HashMap<String,String> get24HourTime(){
- HashMap<String,String> components = new HashMap<>();
- // 获取当前时间
- LocalDateTime currentTime = LocalDateTime.now();
- // 获取前24小时的时间
- LocalDateTime previous24Hours = currentTime.minus(Duration.ofHours(24));
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- LocalDateTime current = LocalDateTime.now();
- components.put("startTime",previous24Hours.format(formatter));
- components.put("endTime",current.format(formatter));
- return components;
- }
- }
|