Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
2025-12-29 22:15:58 +08:00
4 changed files with 40 additions and 29 deletions

View File

@@ -57,6 +57,8 @@ class UserWallet extends BaseCom
//收益(钻石)兑换金币 //收益(钻石)兑换金币
public function exchange_coin() public function exchange_coin()
{ {
$key_name = 'exchange_coin_' . $this->uid;
redis_lock_exits($key_name, 10, 10);
$earnings_num = input('earnings_num', 0); $earnings_num = input('earnings_num', 0);
//最少兑换钻石 //最少兑换钻石
$min_earnings_num = get_system_config_value('min_earnings_num'); $min_earnings_num = get_system_config_value('min_earnings_num');
@@ -64,6 +66,7 @@ class UserWallet extends BaseCom
return V(0, '兑换金额不能小于' . $min_earnings_num); return V(0, '兑换金额不能小于' . $min_earnings_num);
} }
$reslut = model('UserWallet')->exchange_coin($this->uid,$earnings_num); $reslut = model('UserWallet')->exchange_coin($this->uid,$earnings_num);
redis_unlocks($key_name);
return V($reslut['code'], $reslut['msg'], $reslut['data']); return V($reslut['code'], $reslut['msg'], $reslut['data']);
} }

View File

@@ -182,6 +182,7 @@ class Room extends Model
]; ];
//聊天室推送系统消息 //聊天室推送系统消息
model('Chat')->sendMsg(1020,$room_id,$text); model('Chat')->sendMsg(1020,$room_id,$text);
Cache::rm('room_info_'.$room_id);
return ['code' => 1, 'msg' => '修改成功', 'data' => null]; return ['code' => 1, 'msg' => '修改成功', 'data' => null];
} }

View File

@@ -1023,6 +1023,7 @@ class RoomPit extends Model
//推送消息给前端 //推送消息给前端
$text['room_up_pit_type'] = $type; $text['room_up_pit_type'] = $type;
model('Chat')->sendMsg(1014,$room_id,$text); model('Chat')->sendMsg(1014,$room_id,$text);
Cache::rm('room_info_'.$room_id);
return ['code' => 1, 'msg' => '操作成功', 'data' => null]; return ['code' => 1, 'msg' => '操作成功', 'data' => null];
} }

View File

@@ -117,38 +117,44 @@ class UserWallet extends Model
]; ];
//开启事务 //开启事务
db::startTrans(); db::startTrans();
try{
$give_gift_id = db::name('user_exchange')->insertGetId($data); $give_gift_id = db::name('user_exchange')->insertGetId($data);
// 1.系统调节 2.充值 3.提现 4.金币转增(送出) 5.每日任务奖励 6.充值返利 7.购买装扮 // 1.系统调节 2.充值 3.提现 4.金币转增(送出) 5.每日任务奖励 6.充值返利 7.购买装扮
// 8.礼盒奖励 9.房间补贴 10.购买礼物 11.收礼增加收益 12.工会补贴 13.转赠金币(接收) 14.收益兑换 // 8.礼盒奖励 9.房间补贴 10.购买礼物 11.收礼增加收益 12.工会补贴 13.转赠金币(接收) 14.收益兑换
$account_log[] = [ $account_log[] = [
'user_id' => $uid, 'user_id' => $uid,
'money_type' => 2,//1金币2钻石 'money_type' => 2,//1金币2钻石
'change_value' => $earnings_num, 'change_value' => $earnings_num,
'remarks' => '收益兑换', 'remarks' => '收益兑换',
'change_type' => 14, 'change_type' => 14,
'createtime' => time(), 'createtime' => time(),
'from_id' => $give_gift_id, 'from_id' => $give_gift_id,
]; ];
$account_log[] = [ $account_log[] = [
'user_id' => $uid, 'user_id' => $uid,
'money_type' => 1, 'money_type' => 1,
'change_value' => $earnings_num * $ear_exchange_coin, 'change_value' => $earnings_num * $ear_exchange_coin,
'remarks' => '收益兑换', 'remarks' => '收益兑换',
'change_type' => 14, 'change_type' => 14,
'createtime' => time(), 'createtime' => time(),
'from_id' => $give_gift_id, 'from_id' => $give_gift_id,
]; ];
$re = db::name('vs_user_money_log')->insertAll($account_log); $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); $re2 = db::name('user_wallet')->where('user_id',$uid)->setInc('coin',$earnings_num * $ear_exchange_coin);
if($re && $re1 && $re2){ if($re && $re1 && $re2){
db::commit(); db::commit();
return ['code' => 1, 'msg' => '兑换成功', 'data' => null]; return ['code' => 1, 'msg' => '兑换成功', 'data' => null];
}else{ }else{
db::rollback();
return ['code' => 0, 'msg' => '兑换失败', 'data' => null];
}
}catch (\Exception $e){
db::rollback(); db::rollback();
return ['code' => 0, 'msg' => '兑换失败', 'data' => null]; return ['code' => 0, 'msg' => '兑换失败', 'data' => null];
} }
} }
//转币 //转币