|
@@ -21,16 +21,24 @@ class EndOrderAdminTask
|
|
private $logger;
|
|
private $logger;
|
|
public function __construct(LoggerInterface $logger)
|
|
public function __construct(LoggerInterface $logger)
|
|
{
|
|
{
|
|
|
|
+ date_default_timezone_set('Asia/Shanghai');
|
|
$this->logger = $logger;
|
|
$this->logger = $logger;
|
|
}
|
|
}
|
|
public function __invoke()
|
|
public function __invoke()
|
|
{
|
|
{
|
|
|
|
+
|
|
// 获取需要处理的订单ID列表 判断是否能够结束
|
|
// 获取需要处理的订单ID列表 判断是否能够结束
|
|
$currentTime = date('Y-m-d H:i:s');
|
|
$currentTime = date('Y-m-d H:i:s');
|
|
$orderIds = Order::where('status', 1) //已经审核,等待结束
|
|
$orderIds = Order::where('status', 1) //已经审核,等待结束
|
|
->where('edtime', '<=', $currentTime)
|
|
->where('edtime', '<=', $currentTime)
|
|
->pluck('id')
|
|
->pluck('id')
|
|
->toArray();
|
|
->toArray();
|
|
|
|
+ //获取需要处理的订单id,判断是否生效
|
|
|
|
+ $orderIdsTO2 = Order::where('status', 1) //已经审核,等待开始
|
|
|
|
+ ->where('sttime', '<=', $currentTime)
|
|
|
|
+ ->where('edtime', '>=', $currentTime)
|
|
|
|
+ ->pluck('id')
|
|
|
|
+ ->toArray();
|
|
|
|
|
|
//单个处理
|
|
//单个处理
|
|
// foreach ($orderIds as $orderId) {
|
|
// foreach ($orderIds as $orderId) {
|
|
@@ -42,6 +50,10 @@ class EndOrderAdminTask
|
|
$this->logger->info('需要处理的订单ID列表:' . implode(', ', $orderIds));
|
|
$this->logger->info('需要处理的订单ID列表:' . implode(', ', $orderIds));
|
|
$this->OverOder($orderIds);
|
|
$this->OverOder($orderIds);
|
|
}
|
|
}
|
|
|
|
+ if ($orderIdsTO2) {
|
|
|
|
+ $this->logger->info('需要处理的订单ID列表:' . implode(', ', $orderIdsTO2));
|
|
|
|
+ $this->startOder($orderIdsTO2);
|
|
|
|
+ }
|
|
//过期时间
|
|
//过期时间
|
|
//$exploredTime = date('Y-m-d H:i:s', (time() + 60 * 60 * 2));
|
|
//$exploredTime = date('Y-m-d H:i:s', (time() + 60 * 60 * 2));
|
|
// 获取所有状态为6的订单
|
|
// 获取所有状态为6的订单
|
|
@@ -96,6 +108,21 @@ class EndOrderAdminTask
|
|
$this->logger->error("处理订单ID: {$data['id']} 时发生错误: " . $e->getMessage());
|
|
$this->logger->error("处理订单ID: {$data['id']} 时发生错误: " . $e->getMessage());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ private function startOder(array $data): void
|
|
|
|
+ {
|
|
|
|
+ Db::beginTransaction();
|
|
|
|
+ try {
|
|
|
|
+ //ad 变更状态为已经审核但是不生效,或者删除订单,或者加入别的状态:比如过期
|
|
|
|
+ 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
|
|
private function OverOder(array $data): void
|
|
{
|
|
{
|
|
Db::beginTransaction();
|
|
Db::beginTransaction();
|
|
@@ -105,17 +132,17 @@ class EndOrderAdminTask
|
|
//设置广告状态
|
|
//设置广告状态
|
|
OrderAd::whereIn('order_id', $data)->update(['status' => 7]);
|
|
OrderAd::whereIn('order_id', $data)->update(['status' => 7]);
|
|
//ad 变更状态为已经审核但是不生效,或者删除订单,或者加入别的状态:比如过期
|
|
//ad 变更状态为已经审核但是不生效,或者删除订单,或者加入别的状态:比如过期
|
|
- 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();
|
|
Db::commit();
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
Db::rollBack();
|
|
Db::rollBack();
|
|
- $this->logger->error("处理订单ID: {$data['id']} 时发生错误: " . $e->getMessage());
|
|
|
|
|
|
+ $this->logger->error("处理结束订单ID: {$data['id']} 时发生错误: " . $e->getMessage());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
private function ExpiredOrder(array $data): void
|
|
private function ExpiredOrder(array $data): void
|
|
{
|
|
{
|
|
- Db::beginTransaction();
|
|
|
|
- try {
|
|
|
|
|
|
+ Db::beginTransaction();try {
|
|
//设置订单状态
|
|
//设置订单状态
|
|
Order::whereIn('id', $data)->update(['status' => 5, 'ad_status' => 5]);
|
|
Order::whereIn('id', $data)->update(['status' => 5, 'ad_status' => 5]);
|
|
//设置广告状态
|
|
//设置广告状态
|
|
@@ -123,7 +150,7 @@ class EndOrderAdminTask
|
|
Db::commit();
|
|
Db::commit();
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
Db::rollBack();
|
|
Db::rollBack();
|
|
- $this->logger->error("处理订单ID: {$data['id']} 时发生错误: " . $e->getMessage());
|
|
|
|
|
|
+ $this->logger->error("处理过期订单ID: {$data['id']} 时发生错误: " . $e->getMessage());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|