签约 流拍处理
This commit is contained in:
@@ -11,17 +11,21 @@ class Sign extends BaseCom
|
||||
public function sign_coin_list()
|
||||
{
|
||||
$sign_id = input('sign_id', 0);//场次id
|
||||
$room_sign = db::name('vs_room_sign')->where('id', $sign_id)->field('sign_user_id,room_id')->find();
|
||||
$room_sign = db::name('vs_room_sign')->where('id', $sign_id)->field('sign_user_id,room_id,market_value')->find();
|
||||
if (!$room_sign) {
|
||||
return v(0, '参数错误');
|
||||
}
|
||||
//获取出价最高用户
|
||||
$sign_user = db::name('vs_user_sign_auction')->where(['room_id' => $room_sign['room_id'],'sign_time' => $sign_id,'type' => 0])->order('sign_value desc')->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_sign['room_id'],'sign_time' => $sign_id,'type' => 0])
|
||||
->order('sign_value desc')
|
||||
->find();
|
||||
if($sign_user){
|
||||
$market_value = $sign_user['sign_value'];
|
||||
}else{
|
||||
//获取当前用户的身价
|
||||
$market_value = db::name('user')->where('id', $room_sign['sign_user_id'])->value('market_value');
|
||||
$market_value = $room_sign['market_value'];
|
||||
}
|
||||
|
||||
$sign_market_value = get_system_config_value('sign_market_value');
|
||||
|
||||
@@ -150,6 +150,39 @@ class GiveGiftBases extends Model
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 房间送礼统计总数
|
||||
*/
|
||||
public function getRoomStatistics_total($fromId, $startTime, $endTime)
|
||||
{
|
||||
if (!$fromId) {
|
||||
$this->error('房间ID不能为空');
|
||||
}
|
||||
|
||||
$where = ['from_id' => $fromId];
|
||||
$options = [
|
||||
'start_time' => $startTime,
|
||||
'end_time' => $endTime,
|
||||
];
|
||||
|
||||
// 统计房间总数据
|
||||
$totalStats = $this->giftModel->getGiftStatistics($where, $options);
|
||||
|
||||
$result = [
|
||||
'room_id' => $fromId,
|
||||
'time_range' => [
|
||||
'start_time' => $startTime,
|
||||
'end_time' => $endTime,
|
||||
'start_date' => date('Y-m-d H:i:s', $startTime),
|
||||
'end_date' => date('Y-m-d H:i:s', $endTime),
|
||||
],
|
||||
'total_stats' => $totalStats,
|
||||
];
|
||||
|
||||
// $this->success('获取成功', $result);
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户送礼统计
|
||||
*/
|
||||
|
||||
@@ -540,7 +540,7 @@ class Room extends Model
|
||||
$params['end_time'] = $etime;
|
||||
$params['page'] = $page;
|
||||
$params['limit'] = $page_limit;
|
||||
$res = model('GiveGiftBases')->getGiftRecords($params);
|
||||
$res = model('api/GiveGiftBases')->getGiftRecords($params);
|
||||
$list = $res['data'];
|
||||
$list_data = [];
|
||||
|
||||
@@ -576,7 +576,9 @@ class Room extends Model
|
||||
}
|
||||
|
||||
//房间总流水(2026年以后的)
|
||||
$total_amount = model('api/RoomDailyIncome')->getIncomeByPeriod($room_id, $stime, $etime);
|
||||
// $total_amount = model('api/RoomDailyIncome')->getIncomeByPeriod($room_id, $stime, $etime);
|
||||
$total_amount = model('api/GiveGiftBases')->getRoomStatistics_total($room_id, strtotime($stime), strtotime($etime));
|
||||
var_dump($total_amount);exit;
|
||||
}
|
||||
|
||||
//房主总收益
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user