巡乐会抽奖接口提交.-bug修改

This commit is contained in:
2025-09-09 11:14:52 +08:00
parent 5a6a6adc45
commit 1d20d608e1
2 changed files with 41 additions and 19 deletions

View File

@@ -83,7 +83,9 @@ class BlindBoxTurntableGift extends Model
$room = db::name('vs_room')->field('id,xlh_periods,xlh_periods_num,is_open_blind_box_turntable,blind_box_turntable_periods')->where(['id'=>$room_id])->find();
//判断是否有足够的金币
$user_waller = db::name('user_wallet')->where(['user_id'=>$user_id])->find();
if ($user_waller['coin'] < $bag_gift['gift_price'] * $num) {
//抽奖总消耗金币
$bag_gift_price = $bag_gift['gift_price'] * $num;
if ($user_waller['coin'] < $bag_gift_price) {
return ['code' => 0, 'msg' => '用户金币不足', 'data' => null];
}
if ($room['is_open_blind_box_turntable'] != 1) {
@@ -105,6 +107,10 @@ class BlindBoxTurntableGift extends Model
return ['code' => 0, 'msg' => '添加盲盒转盘记录失败', 'data' => null];
}
foreach ($toarray as $gift_user_id){
if($user_id == $gift_user_id){
db::rollback();
return ['code' => 0, 'msg' => "收礼人不能包含自己", 'data' => null];
}
for($i = 0; $i < $num; $i++){
$reslut_draw_gift_data = $this->draw_gift_one($gift_bag_id, $user_id, $gift_user_id,$bag_gift['gift_price'],$room_id,$box_turntable_log);
if($reslut_draw_gift_data['code'] != 1){
@@ -158,6 +164,20 @@ class BlindBoxTurntableGift extends Model
return ['code' => 0, 'msg' => '添加盲盒转盘结果记录失败', 'data' => null];
}
}
//扣除抽奖消耗的金币
//扣除用户金币并记录日志
$wallet_update = model('GiveGift')->change_user_cion_or_earnings_log($user_id,$bag_gift_price,$room_id,1,10,'盲盒转盘抽奖消耗');
if(!$wallet_update){
Db::rollback();
return ['code' => 0, 'msg' => '扣除用户金币失败', 'data' => null];
}
//用户财富等级更新
$user_level = model('Level')->user_level_data_update($user_id,$bag_gift_price,1,$room_id);
if(!$user_level){
Db::rollback();
return ['code' => 0, 'msg' => '用户等级更新失败', 'data' => null];
}
db::commit();
} catch(\Exception $e) {
db::rollback();

View File

@@ -79,6 +79,7 @@ class GiveGift extends Model
}
//金币购买送礼 1金币购买 2送背包礼物
if ($type == 1) {
if(!isset($ext['is_draw_gift']) || $ext['is_draw_gift'] != 1){// 非盲盒转盘
//送给所有人的总价格
$all_gift_price = $gift_info['gift_price'] * $num * count($toarray);
//判断是否有足够的金币
@@ -98,6 +99,7 @@ class GiveGift extends Model
Db::rollback();
return ['code' => 0, 'msg' => '用户等级更新失败', 'data' => null];
}
}
}else{
//背包礼物是否充足
$user_gift_pack = db::name('vs_user_gift_pack')->where(['user_id'=>$uid,'gid'=>$gid])->find();