|
|
@@ -2,11 +2,14 @@ package org.dromara.system.service.impl;
|
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.thread.ThreadUtil;
|
|
|
+import cn.hutool.cron.timingwheel.SystemTimer;
|
|
|
+import cn.hutool.cron.timingwheel.TimerTask;
|
|
|
import cn.hutool.json.JSONObject;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
import com.github.binarywang.wxpay.bean.request.BaseWxPayRequest;
|
|
|
import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
|
|
|
import com.github.binarywang.wxpay.service.WxPayService;
|
|
|
+import jakarta.annotation.PostConstruct;
|
|
|
import org.dromara.common.core.utils.MapstructUtils;
|
|
|
import org.dromara.common.core.utils.StringUtils;
|
|
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
|
@@ -101,7 +104,7 @@ public class TblDzbcOrderServiceImpl implements ITblDzbcOrderService {
|
|
|
* 新增定制班车-订单
|
|
|
*/
|
|
|
@Override
|
|
|
- public Boolean insertByBo(TblDzbcOrderBo bo) {
|
|
|
+ public TblDzbcOrderBo insertByBo(TblDzbcOrderBo bo) {
|
|
|
TblDzbcOrder add = MapstructUtils.convert(bo, TblDzbcOrder.class);
|
|
|
validEntityBeforeSave(add);
|
|
|
Assert.isTrue(bo.getSchedulingId()!=null,"缺少路线班次");
|
|
|
@@ -155,10 +158,10 @@ public class TblDzbcOrderServiceImpl implements ITblDzbcOrderService {
|
|
|
orderLogBo.setExt1(JSONUtil.toJsonStr(bo));
|
|
|
orderLogMapper.insert(orderLogBo);
|
|
|
} catch (Exception e) {
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
- return flag;
|
|
|
+ cacleOrder();
|
|
|
+ return bo;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -265,4 +268,39 @@ public class TblDzbcOrderServiceImpl implements ITblDzbcOrderService {
|
|
|
}
|
|
|
return baseMapper.deleteBatchIds(ids) > 0;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public void cacleOrder(){
|
|
|
+ //获取所有订单
|
|
|
+ TblDzbcOrderBo bo = new TblDzbcOrderBo();
|
|
|
+ bo.setStatus("0");
|
|
|
+ List<TblDzbcOrder> list = baseMapper.selectList(buildQueryWrapper(bo));
|
|
|
+ for (TblDzbcOrder tblDzbcOrder : list) {
|
|
|
+ if(System.currentTimeMillis()-tblDzbcOrder.getCreateTime().getTime()>=1000*60*30){
|
|
|
+ tblDzbcOrder.setStatus("2");
|
|
|
+ TblDzbcOrderBo bo1 = new TblDzbcOrderBo();
|
|
|
+ bo1.setId(tblDzbcOrder.getId());
|
|
|
+ bo1.setStatus("2");
|
|
|
+ updateByBo(bo1);
|
|
|
+ }else{
|
|
|
+ SystemTimer timer = new SystemTimer();
|
|
|
+ timer.start();
|
|
|
+ timer.addTask(new TimerTask(()->{
|
|
|
+ TblDzbcOrderBo bo1 = new TblDzbcOrderBo();
|
|
|
+ bo1.setId(tblDzbcOrder.getId());
|
|
|
+ bo1.setStatus("2");
|
|
|
+ updateByBo(bo1);
|
|
|
+ },1000*60*30-(System.currentTimeMillis()-tblDzbcOrder.getCreateTime().getTime())));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostConstruct
|
|
|
+ public void init(){
|
|
|
+
|
|
|
+ cacleOrder();
|
|
|
+
|
|
|
+ }
|
|
|
}
|