cy
2023-02-10 0316bb78f8805116a6ddcfe5aff1968eb56673e0
src/main/java/com/integrated/zyyt/controller/ZyytController.java
@@ -2,21 +2,18 @@
import com.integrated.zyyt.service.ZyytService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.lang.reflect.Method;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;
import java.util.Date;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
 * @ClassName ZyytController
@@ -25,11 +22,11 @@
 * @Description
 * @Version 1.0
 **/
@ControllerAdvice
@RestController
@Slf4j
@RequestMapping("/api/zyyt")
public class ZyytController {
    private ExecutorService threadPool = Executors.newFixedThreadPool(6);
//    private ExecutorService threadPool = Executors.newFixedThreadPool(6);
    @Resource
    private ZyytService zyytService;
@@ -58,16 +55,32 @@
    @GetMapping("/shkdrbTasksYear")
    public String shkdrbTasksYear(int year) {
    public String shkdrbTasksYear(int year) throws Exception {
        LocalDate startOfYear = LocalDate.of(year, 1, 1);
        LocalDate endOfYear = LocalDate.of(year, 12, 31);
        LocalDate now = LocalDate.now();
        for (LocalDate tmp = startOfYear; endOfYear.compareTo(tmp) > 0 && now.compareTo(tmp) > 0; tmp = tmp.plus(1, ChronoUnit.DAYS)) {
            Instant instant = tmp.atTime(LocalTime.MIDNIGHT).atZone(ZoneId.systemDefault()).toInstant();
            threadPool.submit(new ZyytTask(Date.from(instant), zyytService, "shkdrbTasks"));
//            Instant instant = tmp.atTime(LocalTime.MIDNIGHT).atZone(ZoneId.systemDefault()).toInstant();
//            threadPool.submit(new ZyytTask(Date.from(instant), zyytService, "shkdrbTasks"));
            zyytService.shkdrbTasks(tmp);
        }
        return "后台执行中 ,请不要重复请求";
    }
    @GetMapping("/shkdrbTasksAuto")
    /**
     * start 2022-12-01
     * end 2022-12-31
     */
    public String shkdrbTasksMonth(String start,String end) throws Exception {
        LocalDate startOfYear = LocalDate.parse(start);
        LocalDate endOfYear = LocalDate.parse(end);
        LocalDate now = LocalDate.now();
        for (LocalDate tmp = startOfYear; endOfYear.compareTo(tmp) > 0 && now.compareTo(tmp) > 0; tmp = tmp.plus(1, ChronoUnit.DAYS)) {
            zyytService.shkdrbTasks(tmp);
        }
        return "后台执行中 ,请不要重复请求";
    }
@@ -88,15 +101,32 @@
     * @params isForece 1强制更新 2不强制
     *
     */
    public String djtjbTasksYear(int year) {
    public String djtjbTasksYear(int year) throws Exception {
        LocalDate startOfYear = LocalDate.of(year, 1, 1);
        LocalDate endOfYear = LocalDate.of(year, 12, 31);
        LocalDate now = LocalDate.now();
        for (LocalDate tmp = startOfYear; endOfYear.compareTo(tmp) > 0 && now.compareTo(tmp) > 0; tmp = tmp.plus(1, ChronoUnit.DAYS)) {
            Instant instant = tmp.atTime(LocalTime.MIDNIGHT).atZone(ZoneId.systemDefault()).toInstant();
            threadPool.submit(new ZyytTask(Date.from(instant), zyytService, "djtjbTasks"));
//            Instant instant = tmp.atTime(LocalTime.MIDNIGHT).atZone(ZoneId.systemDefault()).toInstant();
//            threadPool.submit(new ZyytTask(Date.from(instant), zyytService, "djtjbTasks"));
            zyytService.djtjbTasks(tmp);
        }
        return "123";
    }
    @GetMapping("/djtjbTasksAuto")
    /**
     * start 2022-12-01
     * end 2022-12-31
     */
    public String djtjbTasksAuto(String start,String end) throws Exception {
        LocalDate startOfYear = LocalDate.parse(start);
        LocalDate endOfYear = LocalDate.parse(end);
        LocalDate now = LocalDate.now();
        for (LocalDate tmp = startOfYear; endOfYear.compareTo(tmp) > 0 && now.compareTo(tmp) > 0; tmp = tmp.plus(1, ChronoUnit.DAYS)) {
            zyytService.djtjbTasks(tmp);
        }
        return "后台执行中 ,请不要重复请求";
    }
}