|
@@ -21,16 +21,24 @@ class EndOrderAdminTask
|
|
|
private $logger;
|
|
|
public function __construct(LoggerInterface $logger)
|
|
|
{
|
|
|
+ date_default_timezone_set('Asia/Shanghai');
|
|
|
$this->logger = $logger;
|
|
|
}
|
|
|
public function __invoke()
|
|
|
{
|
|
|
+
|
|
|
|
|
|
$currentTime = date('Y-m-d H:i:s');
|
|
|
$orderIds = Order::where('status', 1)
|
|
|
->where('edtime', '<=', $currentTime)
|
|
|
->pluck('id')
|
|
|
->toArray();
|
|
|
+
|
|
|
+ $orderIdsTO2 = Order::where('status', 1)
|
|
|
+ ->where('sttime', '<=', $currentTime)
|
|
|
+ ->where('edtime', '>=', $currentTime)
|
|
|
+ ->pluck('id')
|
|
|
+ ->toArray();
|
|
|
|
|
|
|
|
|
|
|
@@ -42,6 +50,10 @@ class EndOrderAdminTask
|
|
|
$this->logger->info('需要处理的订单ID列表:' . implode(', ', $orderIds));
|
|
|
$this->OverOder($orderIds);
|
|
|
}
|
|
|
+ if ($orderIdsTO2) {
|
|
|
+ $this->logger->info('需要处理的订单ID列表:' . implode(', ', $orderIdsTO2));
|
|
|
+ $this->startOder($orderIdsTO2);
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
@@ -96,6 +108,21 @@ class EndOrderAdminTask
|
|
|
$this->logger->error("处理订单ID: {$data['id']} 时发生错误: " . $e->getMessage());
|
|
|
}
|
|
|
}
|
|
|
+ private function startOder(array $data): void
|
|
|
+ {
|
|
|
+ Db::beginTransaction();
|
|
|
+ try {
|
|
|
+
|
|
|
+ OrderAd::whereIn('order_id', $data)->update(['status' => 1, 'ad_status' => 8]);
|
|
|
+ OrderAd::whereIn('order_id', $data)->update(['status' => 1]);
|
|
|
+ $pid = OrderAd::whereIn('order_id', $data)->pluck('pid')->toArray();
|
|
|
+ Ad::whereIn('pid', $pid)->update(['status' => 1]);
|
|
|
+ Db::commit();
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ Db::rollBack();
|
|
|
+ $this->logger->error("处理启用订单ID: {$data['id']} 时发生错误: " . $e->getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
private function OverOder(array $data): void
|
|
|
{
|
|
|
Db::beginTransaction();
|
|
@@ -105,17 +132,17 @@ class EndOrderAdminTask
|
|
|
|
|
|
OrderAd::whereIn('order_id', $data)->update(['status' => 7]);
|
|
|
|
|
|
- Ad::whereIn('order_id', $data)->update(['status' => 2]);
|
|
|
+ $pid = OrderAd::whereIn('order_id', $data)->pluck('pid')->toArray();
|
|
|
+ Ad::whereIn('pid', $pid)->update(['status' => 2]);
|
|
|
Db::commit();
|
|
|
} catch (\Exception $e) {
|
|
|
Db::rollBack();
|
|
|
- $this->logger->error("处理订单ID: {$data['id']} 时发生错误: " . $e->getMessage());
|
|
|
+ $this->logger->error("处理结束订单ID: {$data['id']} 时发生错误: " . $e->getMessage());
|
|
|
}
|
|
|
}
|
|
|
private function ExpiredOrder(array $data): void
|
|
|
{
|
|
|
- Db::beginTransaction();
|
|
|
- try {
|
|
|
+ Db::beginTransaction();try {
|
|
|
|
|
|
Order::whereIn('id', $data)->update(['status' => 5, 'ad_status' => 5]);
|
|
|
|
|
@@ -123,7 +150,7 @@ class EndOrderAdminTask
|
|
|
Db::commit();
|
|
|
} catch (\Exception $e) {
|
|
|
Db::rollBack();
|
|
|
- $this->logger->error("处理订单ID: {$data['id']} 时发生错误: " . $e->getMessage());
|
|
|
+ $this->logger->error("处理过期订单ID: {$data['id']} 时发生错误: " . $e->getMessage());
|
|
|
}
|
|
|
}
|
|
|
}
|