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.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<Ticket> wrapper = new QueryWrapper<>();
|
wrapper.lambda()
|
.eq(Ticket::getStatus,0)
|
.ne(Ticket::getMoney,0)
|
.isNotNull(Ticket::getPayCode)
|
.orderByDesc(Ticket::getCreateTime);
|
List<Ticket> list = ticketService.list(wrapper);
|
if(list.size()>0){
|
for (Ticket ticket : list) {
|
doPay(ticket);
|
}
|
}
|
taskFlag = false;
|
}
|
|
public void doPay(Ticket ticket){
|
ThreadUtil.execute(() -> {
|
//查询缴款码记录更新
|
Map<String,Object> map1 = new HashMap<>();
|
map1.put("eticketnum",ticket.getPayCode());
|
String urlRoad = systemConfigProperties.getETICKET();
|
String urlIp = systemConfigProperties.getIp4();
|
RestTemplate restTemplate = new RestTemplate();
|
ResponseEntity<ReturnData> 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);
|
});
|
}
|
}
|
}
|