diff --git a/application/api/controller/UserWallet.php b/application/api/controller/UserWallet.php index 2f4e1976..3148b731 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_exits($key_name, 10, 10); $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_unlocks($key_name); return V($reslut['code'], $reslut['msg'], $reslut['data']); } 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]; } diff --git a/application/api/model/UserWallet.php b/application/api/model/UserWallet.php index ec35ff74..4a0d1720 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,'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(); + 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]; } + + } //转币