Explorar o código

feat(order): 增加订单自动关闭时间字段

- 根据系统配置添加订单自动关闭时间
- 秒杀订单设置为下一整点关闭
-代付订单设置为创建时间加3分钟关闭
- 普通订单默认15分钟后关闭
shichen hai 9 meses
pai
achega
d0142f3fc4
Modificáronse 1 ficheiros con 14 adicións e 0 borrados
  1. 14 0
      app/common/repositories/store/order/StoreOrderRepository.php

+ 14 - 0
app/common/repositories/store/order/StoreOrderRepository.php

@@ -2643,6 +2643,20 @@ class StoreOrderRepository extends BaseRepository
2643 2643
         $pay_time = isset($data->pay_time) ?? $data['pay_time'];
2644 2644
         $data['take_order_time'] = strtotime($pay_time) + $time;
2645 2645
         $data = $this->dao->getWith($data['order_id'],['orderProduct']);
2646
+
2647
+        // 增加字段close_time
2648
+        $auto_close_order_timer = ((int)systemConfig('auto_close_order_timer')) ?: 15;
2649
+        $close_time = date('Y-m-d H:i:s', strtotime($data['create_time']) + $auto_close_order_timer * 60);
2650
+        //秒杀订单
2651
+        if($data['seckill']==1){
2652
+            $nextHourTimestamp =  time() + 3600; // 3600秒等于1小时
2653
+            $close_time = date('Y-m-d H:00:00', $nextHourTimestamp);
2654
+        }
2655
+        //代付订单
2656
+        if($data['is_day_pay']==1){
2657
+            $close_time = date('Y-m-d H:i:s', strtotime($data['create_time'])+3*60);
2658
+        }
2659
+        $data['close_time'] = $close_time;
2646 2660
         return $data;
2647 2661
     }
2648 2662