From 995a63949d870d193aaf79fb28b8db7e84082e3c Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Thu, 6 Feb 2025 16:01:37 +0800 Subject: [PATCH] =?UTF-8?q?perf(user):=20=E4=BC=98=E5=8C=96=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E8=B5=84=E9=87=91=E6=93=8D=E4=BD=9C=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 UserLogic 中,将用户资金的增加和减少操作从查询后更新改为直接更新 - 使用 where 条件更新用户 purchase_funds 和 now_money 字段,提高效率 - 移除了不必要的对象加载和 save 方法调用,简化了代码结构 --- app/admin/logic/user/UserLogic.php | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/app/admin/logic/user/UserLogic.php b/app/admin/logic/user/UserLogic.php index 5638c46ae..a2ae6c7ca 100644 --- a/app/admin/logic/user/UserLogic.php +++ b/app/admin/logic/user/UserLogic.php @@ -243,12 +243,10 @@ class UserLogic extends BaseLogic $capitalFlowDao = new CapitalFlowLogic($find, 'user'); if ($params['type'] == 1) { $capitalFlowDao->userIncome('system_purchase_add', 'system', 0, $params['purchase_funds'],$params['mark']??'',1); - $find->purchase_funds = bcadd($params['purchase_funds'], $find['purchase_funds'], 2); - $find->save(); + User::where(['id' => $params['id']])->update(['purchase_funds' => bcadd($params['purchase_funds'], $find['purchase_funds'], 2)]); } else { $capitalFlowDao->userExpense('system_purchase_dec', 'system', 0, $params['purchase_funds'],$params['mark']??''); - $find->purchase_funds = bcsub($find['purchase_funds'],$params['purchase_funds'], 2); - $find->save(); + User::where(['id' => $params['id']])->update(['purchase_funds' =>bcsub($find['purchase_funds'],$params['purchase_funds'], 2)]); } Db::commit(); return true; @@ -268,12 +266,10 @@ class UserLogic extends BaseLogic $capitalFlowDao = new CapitalFlowLogic($find, 'user'); if ($params['type'] == 1) { $capitalFlowDao->userIncome('system_balance_add', 'system', 0, $params['now_money'],$params['mark']??''); - $find->now_money = bcadd($params['now_money'], $find['now_money'], 2); - $find->save(); + User::where(['id' => $params['id']])->update(['now_money' => bcadd($params['now_money'], $find['now_money'], 2)]); } else { $capitalFlowDao->userExpense('system_balance_reduce', 'system', 0, $params['now_money'],$params['mark']??''); - $find->now_money = bcsub($find['now_money'],$params['now_money'], 2); - $find->save(); + User::where(['id' => $params['id']])->update(['now_money' =>bcsub($find['now_money'],$params['now_money'], 2)]); } Db::commit(); return true;