package com.boying.job; import cn.hutool.core.thread.ThreadUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.boying.common.ReturnData; import com.boying.common.SystemConfigProperties; import com.boying.controller.phone.PayController; import com.boying.entity.Barrier; import com.boying.entity.OutPark; import com.boying.entity.Ticket; import com.boying.service.BarrierService; import com.boying.service.OutParkService; import com.boying.service.TicketService; import com.boying.util.HTTPEntityUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; import java.util.HashMap; import java.util.List; import java.util.Map; @Slf4j @Component public class PayResult2Scheduled { @Autowired private TicketService ticketService; @Autowired private SystemConfigProperties systemConfigProperties; @Autowired private PayController payController; Boolean taskFlag = false; //@Scheduled(cron = "0/2 * * * * ?") public void execute() throws Exception { if(taskFlag == true){ System.out.println("正在运行,强制退出-------》"); return; } taskFlag = true; QueryWrapper wrapper = new QueryWrapper<>(); wrapper.lambda() .ne(Ticket::getStatus,3) .eq(Ticket::getPayStatus,0) .ne(Ticket::getMoney,0) .ne(Ticket::getPayCode,"") .isNotNull(Ticket::getPayCode) .orderByDesc(Ticket::getCreateTime); List list = ticketService.list(wrapper); if(list.size()>0){ for (Ticket ticket : list) { doPay(ticket); } } taskFlag = false; } public void doPay(Ticket ticket){ ThreadUtil.execute(() -> { //查询缴款码记录更新 Map map1 = new HashMap<>(); map1.put("eticketnum",ticket.getPayCode()); String urlRoad = systemConfigProperties.getETICKET(); String urlIp = systemConfigProperties.getIp4(); RestTemplate restTemplate = new RestTemplate(); ResponseEntity entity = restTemplate.postForEntity(urlIp+urlRoad, HTTPEntityUtil.setEntity(map1), ReturnData.class); log.info("查询是否支付成功返回为:"+entity.getBody()); System.out.println("查询是否支付成功返回为:"+entity.getBody()); if(entity.getBody().getCode() == 1){ //更新订单 payController.updateOrderRecord(ticket.getId(),"03"); } }); } public static void main(String[] args) { for (int i = 0; i < 10; i++) { String s= i+""; ThreadUtil.execute(() -> { // System.out.println(s); }); } } }