wenhongquan пре 1 година
родитељ
комит
32febabba2

+ 5 - 0
ruoyi-common/ruoyi-common-core/pom.xml

@@ -67,6 +67,11 @@
         </dependency>
 
         <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-cron</artifactId>
+        </dependency>
+
+        <dependency>
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>
         </dependency>

+ 2 - 3
ruoyi-modules/ruoyi-dzbc/src/main/java/org/dromara/system/controller/TblDzbcOrderController.java

@@ -97,8 +97,8 @@ public class TblDzbcOrderController extends BaseController {
     @Log(title = "定制班车-订单", businessType = BusinessType.INSERT)
     @RepeatSubmit()
     @PostMapping()
-    public R<Void> add(@Validated(AddGroup.class) @RequestBody TblDzbcOrderBo bo) {
-        return toAjax(tblDzbcOrderService.insertByBo(bo));
+    public R add(@Validated(AddGroup.class) @RequestBody TblDzbcOrderBo bo) {
+        return R.ok(tblDzbcOrderService.insertByBo(bo));
     }
 
     /**
@@ -196,7 +196,6 @@ public class TblDzbcOrderController extends BaseController {
                 refundRequest.setNotifyUrl(baseUrl + "/system/commonOther/wx/ref");
                 wxPayService.refund(refundRequest);
 
-
                 TblDzbcOrderBo order1 = new TblDzbcOrderBo();
                 order1.setId(tblDzbcOrderVo.getId());
                 order1.setStatus("2");

+ 1 - 0
ruoyi-modules/ruoyi-dzbc/src/main/java/org/dromara/system/domain/TblDzbcOrder.java

@@ -6,6 +6,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.io.Serial;
+import java.util.Date;
 
 /**
  * 定制班车-订单对象 tbl_dzbc_order

+ 2 - 2
ruoyi-modules/ruoyi-dzbc/src/main/java/org/dromara/system/domain/vo/TblDzbcOrderVo.java

@@ -3,8 +3,6 @@ package org.dromara.system.domain.vo;
 import org.dromara.system.domain.TblDzbcOrder;
 import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import com.alibaba.excel.annotation.ExcelProperty;
-import org.dromara.common.excel.annotation.ExcelDictFormat;
-import org.dromara.common.excel.convert.ExcelDictConvert;
 import io.github.linpeilie.annotations.AutoMapper;
 import lombok.Data;
 
@@ -88,6 +86,8 @@ public class TblDzbcOrderVo implements Serializable {
     @ExcelProperty(value = "扩展2")
     private String ext2;
 
+    private Date createTime;
+
 
     private Integer num;
     private Integer price;

+ 1 - 1
ruoyi-modules/ruoyi-dzbc/src/main/java/org/dromara/system/service/ITblDzbcOrderService.java

@@ -35,7 +35,7 @@ public interface ITblDzbcOrderService {
     /**
      * 新增定制班车-订单
      */
-    Boolean insertByBo(TblDzbcOrderBo bo);
+    TblDzbcOrderBo insertByBo(TblDzbcOrderBo bo);
 
     /**
      * 修改定制班车-订单

+ 41 - 3
ruoyi-modules/ruoyi-dzbc/src/main/java/org/dromara/system/service/impl/TblDzbcOrderServiceImpl.java

@@ -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();
+
+    }
 }