refactor(shopro): 优化订单处理逻辑
- 修改活动报名状态更新逻辑,根据报名人数和限制人数比较确定状态 - 移除不必要的模型引用,简化代码结构 - 调整订单自动处理和支付逻辑,提高代码可读性 - 重构订单监听器,优化体育活动报名相关操作
This commit is contained in:
@@ -2,19 +2,16 @@
|
||||
|
||||
namespace addons\shopro\job;
|
||||
|
||||
use think;
|
||||
use think\Db;
|
||||
use think\Log;
|
||||
use think\queue\Job;
|
||||
use think\Log;
|
||||
use think\Db;
|
||||
use think\Collection;
|
||||
use app\admin\model\zy\game\GameJoin;
|
||||
use app\admin\model\shopro\order\Order;
|
||||
use app\admin\model\shopro\order\Action;
|
||||
use app\admin\model\zy\game\Participant;
|
||||
use addons\shopro\service\order\OrderOper;
|
||||
use think\exception\HttpResponseException;
|
||||
use app\admin\model\shopro\order\OrderItem;
|
||||
use addons\shopro\exception\ShoproException;
|
||||
use app\admin\model\shopro\order\Order;
|
||||
use app\admin\model\shopro\order\OrderItem;
|
||||
use addons\shopro\service\order\OrderOper;
|
||||
use app\admin\model\shopro\order\Action;
|
||||
|
||||
/**
|
||||
* 订单自动操作
|
||||
@@ -25,13 +22,12 @@ class OrderAutoOper extends BaseJob
|
||||
/**
|
||||
* 订单自动关闭
|
||||
*/
|
||||
public function autoClose(Job $job, $data)
|
||||
{
|
||||
public function autoClose(Job $job, $data){
|
||||
if (check_env('yansongda', false)) {
|
||||
set_addon_config('epay', ['version' => 'v3'], false);
|
||||
\think\Hook::listen('epay_config_init');
|
||||
}
|
||||
|
||||
|
||||
try {
|
||||
$order = $data['order'];
|
||||
|
||||
@@ -43,12 +39,6 @@ class OrderAutoOper extends BaseJob
|
||||
$orderOper = new OrderOper();
|
||||
$order = $orderOper->close($order, null, 'system');
|
||||
|
||||
// zy体育报名处理(未支付,自动退坑)
|
||||
$join = GameJoin::where('order_id', $data['order']['id'])->find();
|
||||
if (!empty($join)) {
|
||||
$join->save(['status' => -1]);
|
||||
Participant::where('game_join_id', $join['id'])->update(['status' => -1]);
|
||||
}
|
||||
return $order;
|
||||
});
|
||||
}
|
||||
@@ -77,8 +67,7 @@ class OrderAutoOper extends BaseJob
|
||||
/**
|
||||
* 订单自动确认收货
|
||||
*/
|
||||
public function autoConfirm(Job $job, $data)
|
||||
{
|
||||
public function autoConfirm(Job $job, $data) {
|
||||
try {
|
||||
$order = $data['order'];
|
||||
$items = $data['items'];
|
||||
@@ -91,7 +80,7 @@ class OrderAutoOper extends BaseJob
|
||||
$order = Db::transaction(function () use ($order, $itemIds) {
|
||||
$orderOper = new OrderOper();
|
||||
$order = $orderOper->confirm($order, $itemIds, null, 'system');
|
||||
|
||||
|
||||
return $order;
|
||||
});
|
||||
}
|
||||
@@ -118,8 +107,7 @@ class OrderAutoOper extends BaseJob
|
||||
|
||||
|
||||
|
||||
public function autoComment(Job $job, $data)
|
||||
{
|
||||
public function autoComment(Job $job, $data) {
|
||||
try {
|
||||
$order = $data['order'];
|
||||
$item = $data['item'];
|
||||
@@ -135,7 +123,7 @@ class OrderAutoOper extends BaseJob
|
||||
'item_id' => $item['id'],
|
||||
'level' => 5,
|
||||
];
|
||||
|
||||
|
||||
// 评价一个订单商品
|
||||
$order = $orderOper->comment($order, $comments, null, 'system');
|
||||
|
||||
@@ -164,4 +152,4 @@ class OrderAutoOper extends BaseJob
|
||||
$job->delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,18 +2,15 @@
|
||||
|
||||
namespace addons\shopro\job;
|
||||
|
||||
use think\Db;
|
||||
use think\queue\Job;
|
||||
use addons\shopro\service\StockSale;
|
||||
use addons\shopro\controller\zy\Game;
|
||||
use app\admin\model\shopro\user\User;
|
||||
use app\admin\model\zy\game\GameJoin;
|
||||
use app\admin\model\shopro\order\Order;
|
||||
use app\admin\model\zy\game\Participant;
|
||||
use addons\shopro\service\order\OrderOper;
|
||||
use think\Db;
|
||||
use think\exception\HttpResponseException;
|
||||
use addons\shopro\facade\Activity as ActivityFacade;
|
||||
use app\admin\model\shopro\order\Order;
|
||||
use addons\shopro\service\StockSale;
|
||||
use app\admin\model\shopro\user\User;
|
||||
use app\admin\model\shopro\order\Invoice as OrderInvoice;
|
||||
use addons\shopro\service\order\OrderOper;
|
||||
use addons\shopro\facade\Activity as ActivityFacade;
|
||||
|
||||
/**
|
||||
* 订单自动操作
|
||||
@@ -55,13 +52,10 @@ class OrderPaid extends BaseJob
|
||||
// 将订单参与活动信息改为已支付
|
||||
$orderOper = new OrderOper();
|
||||
$orderOper->activityOrderPaid($order);
|
||||
|
||||
|
||||
// 触发订单支付完成事件
|
||||
$data = ['order' => $order, 'user' => $user];
|
||||
\think\Hook::listen('order_paid_after', $data);
|
||||
|
||||
// zy体育报名处理
|
||||
GameJoin::where('order_id', $order->id)->update(['status' => 1]);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -102,9 +96,6 @@ class OrderPaid extends BaseJob
|
||||
// 触发订单选择线下支付(货到付款)完成事件
|
||||
$data = ['order' => $order, 'user' => $user];
|
||||
\think\Hook::listen('order_offline_after', $data);
|
||||
|
||||
// zy体育报名处理
|
||||
GameJoin::where('order_id', $order->id)->update(['status' => 1]);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -119,4 +110,4 @@ class OrderPaid extends BaseJob
|
||||
format_log_error($e, 'OrderPaid.offline');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user