package com.stylefeng.guns.modular.system.util;
|
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.stylefeng.guns.core.util.ToolUtil;
|
import com.stylefeng.guns.modular.account.controller.AppOrderController;
|
import com.stylefeng.guns.modular.account.util.Base64Util;
|
import com.stylefeng.guns.modular.cloudPayment.example.AllocationExample;
|
import com.stylefeng.guns.modular.cloudPayment.req.AllocationReq;
|
import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
|
import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
|
import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics;
|
import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
|
import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
|
import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
|
import com.stylefeng.guns.modular.system.service.IUserCouponRecordService;
|
import com.stylefeng.guns.modular.system.service.IUserMerchantCouponService;
|
import com.stylefeng.guns.modular.system.service.IUserTaxiCardService;
|
import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
|
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
|
import com.unionpay.upyzt.exception.UpyztException;
|
import com.unionpay.upyzt.resp.AllocationResp;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.stereotype.Component;
|
|
import java.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.List;
|
|
|
/**
|
* 定时任务工具类
|
*/
|
@Component
|
public class TaskUtil {
|
|
@Autowired
|
private IUserCouponRecordService userCouponRecordService;
|
|
@Autowired
|
private IUserMerchantCouponService userMerchantCouponService;
|
|
@Autowired
|
private AppOrderController appOrderController;
|
|
@Autowired
|
private IOrderPrivateCarService orderPrivateCarService;
|
|
|
@Autowired
|
private IOrderCrossCityService orderCrossCityService;
|
|
@Autowired
|
private IOrderLogisticsService orderLogisticsService;
|
|
@Autowired
|
private IOrderTaxiService orderTaxiService;
|
|
@Autowired
|
private ChinaMobileUtil chinaMobileUtil;
|
|
|
|
/**
|
* 每隔一分钟去处理的定时任务
|
*/
|
@Scheduled(fixedRate = 1000 * 60)
|
public void taskMinute(){
|
try {
|
|
//修改过期的优惠券
|
userCouponRecordService.updateTimeOut();
|
//修改过期的商家优惠券
|
userMerchantCouponService.updateExpired();
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
|
|
/**
|
* 每天的凌晨执行的任务
|
*/
|
@Scheduled(fixedRate = 1000 * 60)
|
public void taskDay(){
|
try {
|
List<Integer> integers = Arrays.asList(8, 9, 10, 12);
|
// 获取快车的已完成订单
|
List<OrderPrivateCar> status = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().in("state", integers)
|
.isNotNull("telX").ne("telX",""));
|
|
for (OrderPrivateCar orderPrivateCar : status) {
|
chinaMobileUtil.midAxbUnBindSend(orderPrivateCar.getBindId(),orderPrivateCar.getTelX(),10000l);
|
}
|
|
// 获取出租车订单
|
List<OrderTaxi> status1 = orderTaxiService.selectList(new EntityWrapper<OrderTaxi>().in("state", integers)
|
.isNotNull("telX").ne("telX",""));
|
for (OrderTaxi orderTaxi : status1) {
|
chinaMobileUtil.midAxbUnBindSend(orderTaxi.getBindId(),orderTaxi.getTelX(),10000l);
|
}
|
|
// 获取跨城出行订单
|
List<OrderCrossCity> status2 = orderCrossCityService.selectList(new EntityWrapper<OrderCrossCity>().eq("state", integers)
|
.isNotNull("telX").ne("telX",""));
|
for (OrderCrossCity orderCrossCity : status2) {
|
chinaMobileUtil.midAxbUnBindSend(orderCrossCity.getBindId(),orderCrossCity.getTelX(),10000l);
|
}
|
|
// 获取小件物流订单
|
List<OrderLogistics> status3 = orderLogisticsService.selectList(new EntityWrapper<OrderLogistics>().eq("state", Arrays.asList(6,10)).isNotNull("telX")
|
.isNotNull("telXOne")
|
.ne("telX","")
|
.ne("telXOne",""));
|
for (OrderLogistics orderLogistics : status3) {
|
chinaMobileUtil.midAxbUnBindSend(orderLogistics.getBindId(),orderLogistics.getTelX(),10000l);
|
chinaMobileUtil.midAxbUnBindSend(orderLogistics.getBindIdOne(),orderLogistics.getTelXOne(),10000l);
|
}
|
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
}
|
|
|
//
|
// /**
|
// * 每月第一天的1点执行的任务
|
// */
|
// @Scheduled(cron = "0 0 1 1 * *")
|
// public void taskMonth(){
|
// try {
|
//
|
// }catch (Exception e){
|
// e.printStackTrace();
|
// }
|
// }
|
}
|