fix(shopro): 修复体育游戏自动退坑和更新用户得分逻辑
- 在 Game 控制器中,为 teamAuser 查询添加 status > -1 的条件,以确保只更新有效用户的得分 - 在 OrderAutoOper 任务中,修复 GameJoin 表格的 status 字段更新逻辑,并添加 Participant 表格的状态更新
This commit is contained in:
@@ -388,7 +388,9 @@ class Game extends Base
|
|||||||
// 更新用户得分
|
// 更新用户得分
|
||||||
$teamA = json_decode($match->teamA, true);
|
$teamA = json_decode($match->teamA, true);
|
||||||
|
|
||||||
$teamAuser = Participant::where('game_id', $game['id'])->where('user_id', 'IN', array_column($teamA['user'], 'user_id'))->select();
|
$teamAuser = Participant::where('game_id', $game['id'])
|
||||||
|
->where('user_id', 'IN', array_column($teamA['user'], 'user_id'))
|
||||||
|
->where('status', '>', -1)->select();
|
||||||
// dd($teamAuser);
|
// dd($teamAuser);
|
||||||
foreach ($teamAuser as $u) {
|
foreach ($teamAuser as $u) {
|
||||||
$u->team = $teamA['name']; //队伍名
|
$u->team = $teamA['name']; //队伍名
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace addons\shopro\job;
|
namespace addons\shopro\job;
|
||||||
|
|
||||||
|
use think;
|
||||||
use think\Db;
|
use think\Db;
|
||||||
use think\Log;
|
use think\Log;
|
||||||
use think\queue\Job;
|
use think\queue\Job;
|
||||||
@@ -41,6 +42,7 @@ class OrderAutoOper extends BaseJob
|
|||||||
Db::transaction(function () use ($order, $data) {
|
Db::transaction(function () use ($order, $data) {
|
||||||
$orderOper = new OrderOper();
|
$orderOper = new OrderOper();
|
||||||
$order = $orderOper->close($order, null, 'system');
|
$order = $orderOper->close($order, null, 'system');
|
||||||
|
|
||||||
// zy体育报名处理(未支付,自动退坑)
|
// zy体育报名处理(未支付,自动退坑)
|
||||||
$join = GameJoin::where('order_id', $data['order']['id'])->find();
|
$join = GameJoin::where('order_id', $data['order']['id'])->find();
|
||||||
if (!empty($join)) {
|
if (!empty($join)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user