签约 流拍处理

This commit is contained in:
2026-01-19 14:38:51 +08:00
parent 49e620d9aa
commit d34b947a91
4 changed files with 73 additions and 7 deletions

View File

@@ -117,7 +117,11 @@ class Sign extends Model
db::name('vs_room')->where(['id' => $room_id])->inc('hot_value', $gift_totalaa)->inc('today_hot_value', $gift_totalaa)->update();
//获取出价最高用户
$sign_user = db::name('vs_user_sign_auction')->where(['room_id' => $room_id,'sign_time' => $sign_time,'type' => 0])->order('sign_value desc,id asc')->field('id,user_id,sign_value')->find();
$sign_user = db::name('vs_user_sign_auction')
->field('id,user_id,sign_value')
->where(['room_id' => $room_id,'sign_time' => $sign_time,'type' => 0])
->order('sign_value desc,id asc')
->find();
//其他的出价退回到用户的钱包
$refund = db::name('vs_user_sign_auction')->where(['room_id' => $room_id,'sign_time' => $sign_time,'type' => 0])->select();
@@ -185,7 +189,10 @@ class Sign extends Model
return ['code' => 0, 'msg' => '该场次签约已结束', 'data' => null];
}
//获取签约出价最高的
$max_sign_user = db::name('vs_user_sign_auction')->where(['room_id' => $room_id,'sign_time' => $sign_time,'type' => 0])->order('sign_value desc,id asc')->find();
$max_sign_user = db::name('vs_user_sign_auction')
->where(['room_id' => $room_id,'sign_time' => $sign_time,'type' => 0])
->order('sign_value desc,id asc')
->find();
if($max_sign_user && $max_sign_user['sign_value'] > $sign['market_value']){
$before_sign_user = null;
$is_sign = null;
@@ -435,17 +442,37 @@ class Sign extends Model
$text['sign_value'] = $max_sign_user['sign_value'];
model('api/Chat')->sendMsg(1092,$room_id,$text);
}else{
//出价用户退
$refund = db::name('vs_user_sign_auction')->where(['room_id' => $room_id,'sign_time' => $sign_time,'type' => 0])->select();
if($refund){
foreach ($refund as $k => $v){
//给用户退回签约金额记录行为日志
$result2[$k] = model('api/UserWallet')->change_user_cion_log($v['user_id'],$v['sign_value'],$room_id,51,'签约失败退款');
if(!$result2[$k]){
db::rollback();
return ['code' => 0, 'msg' => '网络错误,请重试', 'data' => null];
}
$result3[$k] = db::name('vs_user_sign_auction')->where('id',$v['id'])->update(['type' => 2,'refundtime' => time()]);
if(!$result3[$k]){
db::rollback();
return ['code' => 0, 'msg' => '网络错误,请重试', 'data' => null];
}
}
}
//修改房间信息
db::name('vs_room')->where('id',$room_id)->update([
'sign_type' => 0,
'updatetime' => time()
]);
//修改房间签约信息
db::name('vs_room_sign')->where(['id' => $sign_time])
->update([
'sign_type' => 0,
'end_time' => time()
]);
$text['text'] = '流拍';
$text['FromUserInfo'] = null;
$text['ToUserInfo'] = null;