出价
This commit is contained in:
@@ -197,6 +197,7 @@ class GiveGift extends Model
|
||||
}
|
||||
//收礼人认证歌手等级升级
|
||||
model('api/SingerSong')->singerLevelUp($to_id,$gift_price);
|
||||
|
||||
//收礼人身价计算 这里的增长身价是收礼物的价值按比率产生的身价值 身价=收礼产生的身价+签约时的溢价
|
||||
$coin_market_values = explode(',', get_system_config_value('coin_market_value'));
|
||||
$change_value = ceil($gift_price / ($coin_market_values[0] ?? 100) * ($coin_market_values[1] ?? 1));
|
||||
|
||||
@@ -11,14 +11,10 @@ class MarketValue extends Model
|
||||
* 身价变化
|
||||
* @param int $user_id 用户id
|
||||
* @param int $change_value 身价变化值
|
||||
* @param int $type 0-升值,1-系统降身价,2-使用降身卡
|
||||
* @param int $type 0-收礼升值,1-系统降身价,2-使用降身卡,3-签约溢价 涨身价
|
||||
* * @return array
|
||||
*/
|
||||
public function change($user_id,$change_value,$type){
|
||||
//判断是否为整数
|
||||
// if(!is_int($change_value)){
|
||||
// return ['code' => 0, 'msg' => '身价变化参数错误=》'.$change_value];
|
||||
// }
|
||||
$before = db::name('user')->where('id',$user_id)->value('market_value');
|
||||
if($type == 0){
|
||||
$result = db::name('user')->where('id',$user_id)->setInc('market_value',$change_value);
|
||||
|
||||
@@ -74,6 +74,7 @@ class Sign extends Model
|
||||
if($user_coin < $sign_value){
|
||||
return ['code' => 0, 'msg' => '金币不足','data' => null];
|
||||
}
|
||||
|
||||
//开启事务
|
||||
db::startTrans();
|
||||
//扣除用户金币并记录日志
|
||||
@@ -82,12 +83,6 @@ class Sign extends Model
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '扣除用户金币失败', 'data' => null];
|
||||
}
|
||||
//用户财富等级更新
|
||||
$user_level = model('Level')->user_level_data_update($user_id,$sign_value,1,$room_id);
|
||||
if(!$user_level){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '用户等级更新失败', 'data' => null];
|
||||
}
|
||||
|
||||
//记录签约出价
|
||||
$data = [
|
||||
@@ -103,13 +98,6 @@ class Sign extends Model
|
||||
db::rollback();
|
||||
return ['code' => 0, 'msg' => '网络错误,请重试!','data' => null];
|
||||
}
|
||||
//记录房间流水及明细
|
||||
//收礼记录行为日志
|
||||
$give_gift = model('api/GiveGift') -> change_user_give_gift_log($user_id,0,$sign_value,0,0,2,1,$room_id,0);
|
||||
if(!$give_gift){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '出价失败', 'data' => null];
|
||||
}
|
||||
|
||||
//增加房间火热值hot_value
|
||||
$gift_totalaa = $sign_value * get_system_config_value('coin_charm_exp');
|
||||
@@ -117,12 +105,7 @@ class Sign extends Model
|
||||
|
||||
//获取出价最高用户
|
||||
$sign_user = db::name('vs_user_sign_auction')->where(['room_id' => $room_id,'sign_time' => $sign_time,'type' => 0])->order('sign_value desc')->field('id,user_id,sign_value')->find();
|
||||
//更新用户的身价并且添加记录 此时增长的身价是出价 这个出价就是身价溢价
|
||||
$dd = model('api/MarketValue')->change($sign_user_id,$sign_user['sign_value'],0);
|
||||
if($dd['code'] != 1){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => $dd['msg'], 'data' => null];
|
||||
}
|
||||
|
||||
//其他的出价退回到用户的钱包
|
||||
$refund = db::name('vs_user_sign_auction')->where(['room_id' => $room_id,'sign_time' => $sign_time,'type' => 0])->select();
|
||||
if($refund){
|
||||
@@ -155,10 +138,19 @@ class Sign extends Model
|
||||
if($isSinnger){
|
||||
$FromUserInfo['icon'][2] = db::name('vs_singer_level')->where(['level' => $isSinnger,'deletetime' => 0])->value('image');//等级图标
|
||||
}
|
||||
|
||||
//组个列表
|
||||
$sign_market_value = get_system_config_value('sign_market_value');
|
||||
$sign_coin_list = [];
|
||||
$first_value = $sign_user['sign_value'] + $sign_market_value; // 第一个值是身价加上sign_market_value
|
||||
for ($i = 0; $i < 8; $i++) {
|
||||
$sign_coin_list[] = (string)($first_value + $i); // 每个值在第一个值的基础上加i(0到7)
|
||||
}
|
||||
$text['text'] = '签约出价最高用户';
|
||||
$text['FromUserInfo'] = $FromUserInfo;
|
||||
$text['sign_value'] = $sign_user['sign_value'];
|
||||
$text['sign_id'] = $sign_time;
|
||||
$text['sign_coin_list'] = $sign_coin_list;
|
||||
model('api/Chat')->sendMsg(1091,$room_id,$text);
|
||||
return ['code' => 1, 'msg' => '成功','data' => null];
|
||||
}
|
||||
@@ -364,6 +356,22 @@ class Sign extends Model
|
||||
db::rollback();
|
||||
return ['code' => 0, 'msg' => '网络错误,请重试.!', 'data' => null];
|
||||
}
|
||||
//用户财富等级更新
|
||||
$user_level = model('Level')->user_level_data_update($max_sign_user['user_id'],$max_sign_user['sign_value'],1,$room_id);
|
||||
if(!$user_level){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '用户等级更新失败', 'data' => null];
|
||||
}
|
||||
|
||||
//获取用户的身价
|
||||
$market_value = db::name('user')->where('id',$sign_user_id)->value('market_value');
|
||||
$sign_values = $max_sign_user['sign_value'] - $market_value;
|
||||
//更新用户的身价并且添加记录 此时增长的身价是出价 这个出价就是身价溢价
|
||||
$dd = model('api/MarketValue')->change($sign_user_id,$sign_values,3);
|
||||
if($dd['code'] != 1){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => $dd['msg'], 'data' => null];
|
||||
}
|
||||
db::commit();
|
||||
//给前端推送
|
||||
$FromUserInfo = db::name('user')->where('id',$max_sign_user['user_id'])->field('id as user_id,nickname,avatar,sex')->find();
|
||||
|
||||
Reference in New Issue
Block a user