From 73094e132dfb288bf16d533187b8bc3aad2de5af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8D=8E=E6=B8=85?= <18691022700@163.com> Date: Mon, 29 Dec 2025 19:02:01 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E9=92=BB=E7=9F=B3=E5=85=91=E6=8D=A2?= =?UTF-8?q?=E9=87=91=E5=B8=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/controller/UserWallet.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/application/api/controller/UserWallet.php b/application/api/controller/UserWallet.php index 2f4e1976..1c0edae6 100644 --- a/application/api/controller/UserWallet.php +++ b/application/api/controller/UserWallet.php @@ -57,6 +57,8 @@ class UserWallet extends BaseCom //收益(钻石)兑换金币 public function exchange_coin() { + $key_name = 'exchange_coin_' . $this->uid; + redis_lock_exit($key_name); $earnings_num = input('earnings_num', 0); //最少兑换钻石 $min_earnings_num = get_system_config_value('min_earnings_num'); @@ -64,6 +66,7 @@ class UserWallet extends BaseCom return V(0, '兑换金额不能小于' . $min_earnings_num); } $reslut = model('UserWallet')->exchange_coin($this->uid,$earnings_num); + redis_unlock($key_name); return V($reslut['code'], $reslut['msg'], $reslut['data']); } From 7a8faf7ae9b6e3e834a50e044710296e12f9a610 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8D=8E=E6=B8=85?= <18691022700@163.com> Date: Mon, 29 Dec 2025 20:06:39 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E9=92=BB=E7=9F=B3=E5=85=91=E6=8D=A2?= =?UTF-8?q?=E9=87=91=E5=B8=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/controller/UserWallet.php | 2 +- application/api/model/UserWallet.php | 64 +++++++++++++---------- 2 files changed, 36 insertions(+), 30 deletions(-) diff --git a/application/api/controller/UserWallet.php b/application/api/controller/UserWallet.php index 1c0edae6..fba36570 100644 --- a/application/api/controller/UserWallet.php +++ b/application/api/controller/UserWallet.php @@ -58,7 +58,7 @@ class UserWallet extends BaseCom public function exchange_coin() { $key_name = 'exchange_coin_' . $this->uid; - redis_lock_exit($key_name); + redis_lock_exit($key_name, 10, 10); $earnings_num = input('earnings_num', 0); //最少兑换钻石 $min_earnings_num = get_system_config_value('min_earnings_num'); diff --git a/application/api/model/UserWallet.php b/application/api/model/UserWallet.php index ec35ff74..227c54df 100644 --- a/application/api/model/UserWallet.php +++ b/application/api/model/UserWallet.php @@ -117,38 +117,44 @@ class UserWallet extends Model ]; //开启事务 db::startTrans(); - - $give_gift_id = db::name('user_exchange')->insertGetId($data); - // 1.系统调节 2.充值 3.提现 4.金币转增(送出) 5.每日任务奖励 6.充值返利 7.购买装扮 - // 8.礼盒奖励 9.房间补贴 10.购买礼物 11.收礼增加收益 12.工会补贴 13.转赠金币(接收) 14.收益兑换 - $account_log[] = [ - 'user_id' => $uid, - 'money_type' => 2,//1金币2钻石 - 'change_value' => $earnings_num, - 'remarks' => '收益兑换', - 'change_type' => 14, - 'createtime' => time(), - 'from_id' => $give_gift_id, - ]; - $account_log[] = [ - 'user_id' => $uid, - 'money_type' => 1, - 'change_value' => $earnings_num * $ear_exchange_coin, - 'remarks' => '收益兑换', - 'change_type' => 14, - 'createtime' => time(), - 'from_id' => $give_gift_id, - ]; - $re = db::name('vs_user_money_log')->insertAll($account_log); - $re1 = db::name('user_wallet')->where('user_id',$uid)->setDec('earnings',$earnings_num); - $re2 = db::name('user_wallet')->where('user_id',$uid)->setInc('coin',$earnings_num * $ear_exchange_coin); - if($re && $re1 && $re2){ - db::commit(); - return ['code' => 1, 'msg' => '兑换成功', 'data' => null]; - }else{ + try{ + $give_gift_id = db::name('user_exchange')->insertGetId($data); + // 1.系统调节 2.充值 3.提现 4.金币转增(送出) 5.每日任务奖励 6.充值返利 7.购买装扮 + // 8.礼盒奖励 9.房间补贴 10.购买礼物 11.收礼增加收益 12.工会补贴 13.转赠金币(接收) 14.收益兑换 + $account_log[] = [ + 'user_id' => $uid, + 'money_type' => 2,//1金币2钻石 + 'change_value' => $earnings_num, + 'remarks' => '收益兑换', + 'change_type' => 14, + 'createtime' => time(), + 'from_id' => $give_gift_id, + ]; + $account_log[] = [ + 'user_id' => $uid, + 'money_type' => 1, + 'change_value' => $earnings_num * $ear_exchange_coin, + 'remarks' => '收益兑换', + 'change_type' => 14, + 'createtime' => time(), + 'from_id' => $give_gift_id, + ]; + $re = db::name('vs_user_money_log')->insertAll($account_log); + $re1 = db::name('user_wallet')->where('user_id',$uid)->setDec('earnings',$earnings_num); + $re2 = db::name('user_wallet')->where('user_id',$uid)->setInc('coin',$earnings_num * $ear_exchange_coin); + if($re && $re1 && $re2){ + db::commit(); + return ['code' => 1, 'msg' => '兑换成功', 'data' => null]; + }else{ + db::rollback(); + return ['code' => 0, 'msg' => '兑换失败', 'data' => null]; + } + }catch (\Exception $e){ db::rollback(); return ['code' => 0, 'msg' => '兑换失败', 'data' => null]; } + + } //转币 From 3cf0f685696b807ce27f7671429eb35867b80ee3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8D=8E=E6=B8=85?= <18691022700@163.com> Date: Mon, 29 Dec 2025 20:08:22 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E9=92=BB=E7=9F=B3=E5=85=91=E6=8D=A2?= =?UTF-8?q?=E9=87=91=E5=B8=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/model/UserWallet.php | 1 + 1 file changed, 1 insertion(+) diff --git a/application/api/model/UserWallet.php b/application/api/model/UserWallet.php index 227c54df..4c3d79fd 100644 --- a/application/api/model/UserWallet.php +++ b/application/api/model/UserWallet.php @@ -141,6 +141,7 @@ class UserWallet extends Model ]; $re = db::name('vs_user_money_log')->insertAll($account_log); $re1 = db::name('user_wallet')->where('user_id',$uid)->setDec('earnings',$earnings_num); + sleep(5); $re2 = db::name('user_wallet')->where('user_id',$uid)->setInc('coin',$earnings_num * $ear_exchange_coin); if($re && $re1 && $re2){ db::commit(); From 48b217fce071adde896cf891297d960ca48495b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8D=8E=E6=B8=85?= <18691022700@163.com> Date: Mon, 29 Dec 2025 20:19:26 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E9=92=BB=E7=9F=B3=E5=85=91=E6=8D=A2?= =?UTF-8?q?=E9=87=91=E5=B8=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/controller/UserWallet.php | 4 ++-- application/api/model/UserWallet.php | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/application/api/controller/UserWallet.php b/application/api/controller/UserWallet.php index fba36570..3148b731 100644 --- a/application/api/controller/UserWallet.php +++ b/application/api/controller/UserWallet.php @@ -58,7 +58,7 @@ class UserWallet extends BaseCom public function exchange_coin() { $key_name = 'exchange_coin_' . $this->uid; - redis_lock_exit($key_name, 10, 10); + redis_lock_exits($key_name, 10, 10); $earnings_num = input('earnings_num', 0); //最少兑换钻石 $min_earnings_num = get_system_config_value('min_earnings_num'); @@ -66,7 +66,7 @@ class UserWallet extends BaseCom return V(0, '兑换金额不能小于' . $min_earnings_num); } $reslut = model('UserWallet')->exchange_coin($this->uid,$earnings_num); - redis_unlock($key_name); + redis_unlocks($key_name); return V($reslut['code'], $reslut['msg'], $reslut['data']); } diff --git a/application/api/model/UserWallet.php b/application/api/model/UserWallet.php index 4c3d79fd..227c54df 100644 --- a/application/api/model/UserWallet.php +++ b/application/api/model/UserWallet.php @@ -141,7 +141,6 @@ class UserWallet extends Model ]; $re = db::name('vs_user_money_log')->insertAll($account_log); $re1 = db::name('user_wallet')->where('user_id',$uid)->setDec('earnings',$earnings_num); - sleep(5); $re2 = db::name('user_wallet')->where('user_id',$uid)->setInc('coin',$earnings_num * $ear_exchange_coin); if($re && $re1 && $re2){ db::commit(); From a2f11a319e368d9c197c53ad1b842d43f0cab79e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8D=8E=E6=B8=85?= <18691022700@163.com> Date: Mon, 29 Dec 2025 20:24:37 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E9=92=BB=E7=9F=B3=E5=85=91=E6=8D=A2?= =?UTF-8?q?=E9=87=91=E5=B8=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/model/UserWallet.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/api/model/UserWallet.php b/application/api/model/UserWallet.php index 227c54df..4a0d1720 100644 --- a/application/api/model/UserWallet.php +++ b/application/api/model/UserWallet.php @@ -140,7 +140,7 @@ class UserWallet extends Model 'from_id' => $give_gift_id, ]; $re = db::name('vs_user_money_log')->insertAll($account_log); - $re1 = db::name('user_wallet')->where('user_id',$uid)->setDec('earnings',$earnings_num); + $re1 = db::name('user_wallet')->where(['user_id' => $uid,'earnings' => ['>=', $earnings_num]])->setDec('earnings',$earnings_num); $re2 = db::name('user_wallet')->where('user_id',$uid)->setInc('coin',$earnings_num * $ear_exchange_coin); if($re && $re1 && $re2){ db::commit(); From 479fd37014074f9458858f533c4523de652aba41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8D=8E=E6=B8=85?= <18691022700@163.com> Date: Mon, 29 Dec 2025 20:40:04 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=88=BF=E9=97=B4?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=20=20=E7=BC=93=E5=AD=98=E6=B8=85=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/model/Room.php | 1 + application/api/model/RoomPit.php | 1 + 2 files changed, 2 insertions(+) diff --git a/application/api/model/Room.php b/application/api/model/Room.php index b5ec153b..11cac774 100644 --- a/application/api/model/Room.php +++ b/application/api/model/Room.php @@ -182,6 +182,7 @@ class Room extends Model ]; //聊天室推送系统消息 model('Chat')->sendMsg(1020,$room_id,$text); + Cache::rm('room_info_'.$room_id); return ['code' => 1, 'msg' => '修改成功', 'data' => null]; } diff --git a/application/api/model/RoomPit.php b/application/api/model/RoomPit.php index 328165ec..acb316ef 100644 --- a/application/api/model/RoomPit.php +++ b/application/api/model/RoomPit.php @@ -1023,6 +1023,7 @@ class RoomPit extends Model //推送消息给前端 $text['room_up_pit_type'] = $type; model('Chat')->sendMsg(1014,$room_id,$text); + Cache::rm('room_info_'.$room_id); return ['code' => 1, 'msg' => '操作成功', 'data' => null]; }