|
|
@@ -224,55 +224,55 @@ class SwooleTask extends Command
|
|
|
$time++;
|
|
|
});
|
|
|
|
|
|
-
|
|
|
- // 充值订单状态检查
|
|
|
- \swoole_timer_tick(20000, function ($timer) use ($serv, &$time) { // 启用定时器,每20秒执行一次
|
|
|
+ // 订单自动收货
|
|
|
+ \swoole_timer_tick(10000, function ($timer) use ($serv, &$time) { // 启用定时器,每10秒执行一次
|
|
|
$date = date('Y-m-d H:i:s');
|
|
|
- $orders = PayOrdersService::make()->getCheckOrderList();
|
|
|
+ $orders = OrderService::make()->getCompleteOrders();
|
|
|
if($orders){
|
|
|
foreach ($orders as $k => $item){
|
|
|
- if(!RedisService::get('caches:task:lock:order_check_loaded_'.$k)){
|
|
|
+ $orderNo = isset($item['order_no'])?$item['order_no'] : '';
|
|
|
+ if(!RedisService::get('caches:task:lock:order_complete_loaded_'.$orderNo)){
|
|
|
$taskData = [
|
|
|
- 'taskName' => 'checkOrder',
|
|
|
- 'name' => "充值订单状态更新",
|
|
|
+ 'taskName' => 'completeOrder',
|
|
|
+ 'name' => "购物订单自动收货处理",
|
|
|
'date' => date('Y-m-d'),
|
|
|
'params'=> $item,
|
|
|
];
|
|
|
$res = $serv->task($taskData);
|
|
|
- RedisService::set('caches:task:lock:order_check_loaded_'.$k, true, rand(3,5));
|
|
|
- echo "[Task checkOrder {$date}] 充值订单状态更新结果:{$res}\n";
|
|
|
+ RedisService::set('caches:task:lock:order_complete_loaded_'.$k, true, rand(3,5));
|
|
|
+ echo "[Task completeOrder {$date}] 购物订单【{$orderNo}】自动收货处理结果:{$res}\n";
|
|
|
}else{
|
|
|
- echo "[Task checkOrder {$date}] 充值订单状态更新间隔时间调用\n";
|
|
|
+ echo "[Task completeOrder {$date}] 购物订单【{$orderNo}】自动收货处理间隔时间调用\n";
|
|
|
}
|
|
|
}
|
|
|
}else{
|
|
|
- echo "[Task checkOrder {$date}] 暂无可验证状态的充值订单\n";
|
|
|
+ echo "[Task completeOrder {$date}] 暂无可自动收货的购物订单\n";
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- // 订单自动收货
|
|
|
- \swoole_timer_tick(10000, function ($timer) use ($serv, &$time) { // 启用定时器,每10秒执行一次
|
|
|
+ // 订单自动分账处理
|
|
|
+ \swoole_timer_tick(20000, function ($timer) use ($serv, &$time) { // 启用定时器,每20秒执行一次
|
|
|
$date = date('Y-m-d H:i:s');
|
|
|
- $orders = OrderService::make()->getCompleteOrders();
|
|
|
+ $orders = OrderService::make()->getRevenueOrderList();
|
|
|
if($orders){
|
|
|
foreach ($orders as $k => $item){
|
|
|
$orderNo = isset($item['order_no'])?$item['order_no'] : '';
|
|
|
- if(!RedisService::get('caches:task:lock:order_complete_loaded_'.$orderNo)){
|
|
|
+ if(!RedisService::get('caches:task:lock:order_revenue_loaded_'.$orderNo)){
|
|
|
$taskData = [
|
|
|
- 'taskName' => 'completeOrder',
|
|
|
- 'name' => "购物订单自动收货处理",
|
|
|
+ 'taskName' => 'revenueOrder',
|
|
|
+ 'name' => "购物订单自动分账处理",
|
|
|
'date' => date('Y-m-d'),
|
|
|
'params'=> $item,
|
|
|
];
|
|
|
$res = $serv->task($taskData);
|
|
|
RedisService::set('caches:task:lock:order_complete_loaded_'.$k, true, rand(3,5));
|
|
|
- echo "[Task completeOrder {$date}] 购物订单【{$orderNo}】自动收货处理结果:{$res}\n";
|
|
|
+ echo "[Task revenueOrder {$date}] 购物订单【{$orderNo}】自动分账处理结果:{$res}\n";
|
|
|
}else{
|
|
|
- echo "[Task completeOrder {$date}] 购物订单【{$orderNo}】自动收货处理间隔时间调用\n";
|
|
|
+ echo "[Task revenueOrder {$date}] 购物订单【{$orderNo}】自动分账处理间隔时间调用\n";
|
|
|
}
|
|
|
}
|
|
|
}else{
|
|
|
- echo "[Task completeOrder {$date}] 暂无可自动收货的购物订单\n";
|
|
|
+ echo "[Task revenueOrder {$date}] 暂无可自动分账的购物订单\n";
|
|
|
}
|
|
|
});
|
|
|
|
|
|
@@ -308,18 +308,25 @@ class SwooleTask extends Command
|
|
|
$params = isset($data['params']) ? $data['params'] : [];
|
|
|
try {
|
|
|
switch ($taskName) {
|
|
|
- case 'checkOrder': // 更新状态
|
|
|
+ case 'completeOrder': // 自动收货
|
|
|
+ $orderId = isset($params['id'])? $params['id'] : 0;
|
|
|
+ $orderNo = isset($params['order_no'])? $params['order_no'] : '';
|
|
|
+ $userId = isset($params['user_id'])? $params['user_id'] : 0;
|
|
|
+ if($orderId<=0 || $userId<=0){
|
|
|
+ echo "[Task {$taskName} {$date}][{$task_id}] 该购物订单参数错误\n";
|
|
|
+ return false;
|
|
|
+ }
|
|
|
// 调用处理
|
|
|
- if($res = PayOrdersService::make()->checkOrder($params)){
|
|
|
+ if($res = OrderService::make()->complete($userId, $orderId, false)){
|
|
|
$res = is_array($res) && $res? json_encode($res, 256) : 'success';
|
|
|
- echo "[Task {$taskName} {$date}][{$task_id}] 充值订单状态更新处理结果:{$res}\n";
|
|
|
+ echo "[Task {$taskName} {$date}][{$task_id}] 购物订单【{$orderNo}】自动收货处理结果:{$res}\n";
|
|
|
}else{
|
|
|
- $error = PayOrdersService::make()->getError();
|
|
|
+ $error = OrderService::make()->getError();
|
|
|
$error = $error? lang($error) : 'failed';
|
|
|
- echo "[Task {$taskName} {$date}][{$task_id}] 充值订单状态更新处理结果:{$error}\n";
|
|
|
+ echo "[Task {$taskName} {$date}][{$task_id}] 购物订单【{$orderNo}】自动收货处理结果:{$error}\n";
|
|
|
}
|
|
|
break;
|
|
|
- case 'completeOrder': // 自动收货
|
|
|
+ case 'revenueOrder': // 自动分账
|
|
|
$orderId = isset($params['id'])? $params['id'] : 0;
|
|
|
$orderNo = isset($params['order_no'])? $params['order_no'] : '';
|
|
|
$userId = isset($params['user_id'])? $params['user_id'] : 0;
|
|
|
@@ -327,14 +334,15 @@ class SwooleTask extends Command
|
|
|
echo "[Task {$taskName} {$date}][{$task_id}] 该购物订单参数错误\n";
|
|
|
return false;
|
|
|
}
|
|
|
+
|
|
|
// 调用处理
|
|
|
- if($res = OrderService::make()->complete($userId, $orderId, false)){
|
|
|
+ if($res = OrderService::make()->revenue($orderId)){
|
|
|
$res = is_array($res) && $res? json_encode($res, 256) : 'success';
|
|
|
- echo "[Task {$taskName} {$date}][{$task_id}] 购物订单【{$orderNo}】自动收货处理结果:{$res}\n";
|
|
|
+ echo "[Task {$taskName} {$date}][{$task_id}] 购物订单【{$orderNo}】自动分账处理结果:{$res}\n";
|
|
|
}else{
|
|
|
$error = OrderService::make()->getError();
|
|
|
$error = $error? lang($error) : 'failed';
|
|
|
- echo "[Task {$taskName} {$date}][{$task_id}] 购物订单【{$orderNo}】自动收货处理结果:{$error}\n";
|
|
|
+ echo "[Task {$taskName} {$date}][{$task_id}] 购物订单【{$orderNo}】自动分账处理结果:{$error}\n";
|
|
|
}
|
|
|
break;
|
|
|
}
|