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

This commit is contained in:
2025-12-11 17:12:22 +08:00
7 changed files with 85 additions and 31 deletions

View File

@@ -530,7 +530,7 @@ class GiveGift extends Model
model('DailyTasks')->tasks_complete($uid,3);
}
//cp检测且处理升级事宜
$cp_type = model('api/UserCp')->checkGift($uid, $gid, $to_id, $from_id, $num);//0-不处理1-表明心意2-组成Cp
$cp_type = model('api/UserCp')->checkGift($uid, $gid, $to_id, $from_id, $num,$gift_price);//0-不处理1-表明心意2-组成Cp
if($cp_type == 1){
$textt1 = "亲爱的用户,您好!\n".$FromUserInfo['nickname'] . ' 的 【' .$gift_info['gift_name'].' 】 已送达,这是他的心动信号。回赠一个,即可锁定这份缘分!';
$textt = '';
@@ -826,7 +826,7 @@ class GiveGift extends Model
model('DailyTasks')->tasks_complete($uid,3);
}
//cp检测
model('api/UserCp')->checkGift($uid, $gid, $to_id, $from_id,$num);
model('api/UserCp')->checkGift($uid, $gid, $to_id, $from_id,$num,$gift_price);
}
//增加房间火热值hot_value

View File

@@ -388,7 +388,7 @@ class Ranking extends Model
}
}
if (!$my_ranking && $lists && defined('UID')) {
if (!$my_ranking && $lists) {
$where1['c.createtime'] = ['between', [$this->begin_time, $this->end_time]];
$where1['a.status'] = 1;
$my_ranking_data = db::name('vs_room_cp_movie')->alias('a')
@@ -399,7 +399,7 @@ class Ranking extends Model
->field('a.user_id,a.user_id1,a.room_id,sum(c.total_price) as total,b.room_intro as room_name,b.room_cover')->find();
$lists_last_number = $lists[count($lists) - 1]['total'] ?? 0;
$diff = numberFormat($lists_last_number - ($my_ranking_data['total'] ?: 0));
$diff = $diff<=0 ? 0 : $diff;
$diff = max($diff, 0);
$my_ranking['rank'] = -1;
$my_ranking['total'] = numberFormat($my_ranking_data['total']);
$my_ranking['diff'] = $diff;
@@ -485,6 +485,10 @@ class Ranking extends Model
$my_ranking['diff'] = $key == 0 ? 0 : ($lists[$key - 1]['exp'] - $value['exp']);
}
}
}else{
foreach ($lists as $key => $value) {
$lists[$key]['rank'] = $key + 1;
}
}
}else{
$my_ranking = [

View File

@@ -187,7 +187,6 @@ class Room extends Model
$map['delete_time'] = 0;//0 未删除不等于0 表示已删除
$map['room_status'] = 1;//房间状态1正常2封禁3关闭
// $map['is_show_room'] = 1;//是否显示房间 1是2否
$map['apply_status'] = 2;//1待审核 2审核通过 3审核失败
if($is_top == 2){
@@ -214,7 +213,7 @@ class Room extends Model
$list = db::name('vs_room')
->field('id as room_id,room_number,user_id,room_name,room_cover,room_password,today_hot_value as hot_value,label_id,is_show_room')
->where($map)
->order('sort desc,hot_value desc')
->order('sort desc,hot_value desc,id asc')
->page($page, $page_limit)->select();
foreach ($list as &$v){
@@ -3280,7 +3279,7 @@ class Room extends Model
//任务跳转房间推荐
public function task_jump_room_recommend($task_id)
public function task_jump_room_recommend($task_id,$user_id)
{
if($task_id == 6 || $task_id == 16){
//签约房间
@@ -3326,8 +3325,16 @@ class Room extends Model
if(!$room_ids){
return 0;
}
//在上面获取 一个随义的id
return $room_ids[array_rand($room_ids)];
//获取徒弟是否在房间内
$roomId = db::name('vs_room_visitor')->where('user_id',$user_id)->order('id desc')->value('room_id');
if($roomId){
//在上面获取 一个随义的id
return $room_ids[array_rand($room_ids)];
}else{
return 0;
}
}
if($task_id == 22){
//拍卖 且有人有热度
@@ -3337,8 +3344,14 @@ class Room extends Model
if(!$room_ids){
return 0;
}
//在上面获取 一个随义的id
return $room_ids[array_rand($room_ids)];
//获取徒弟是否在房间内
$roomId = db::name('vs_room_visitor')->where('user_id',$user_id)->order('id desc')->value('room_id');
if($roomId){
//在上面获取 一个随义的id
return $room_ids[array_rand($room_ids)];
}else{
return 0;
}
}
if($task_id == 23){
//拍卖 且有人有热度
@@ -3348,8 +3361,14 @@ class Room extends Model
if(!$room_ids){
return 0;
}
//在上面获取 一个随义的id
return $room_ids[array_rand($room_ids)];
//获取徒弟是否在房间内
$roomId = db::name('vs_room_visitor')->where('user_id',$user_id)->order('id desc')->value('room_id');
if($roomId){
//在上面获取 一个随义的id
return $room_ids[array_rand($room_ids)];
}else{
return 0;
}
}
if(in_array($task_id, [7,8,13,14,18,19,20])){
//抽奖

View File

@@ -264,6 +264,14 @@ class Sign extends Model
db::rollback();
return ['code' => 0, 'msg' => '网络错误,请重试', 'data' => null];
}
//查找是否有未完成的师徒任务 有就删除掉
$student = db::name('vs_tasks_student')->where(['student_id' => $sign_user_id,'status' => 0])->select();
if($student){
foreach ($student as &$v){
db::name('vs_tasks_student')->where(['id' => $v['id']])->updaatte(['delete_time' => time()]);
}
}
}else{
$data = [
'parent_user_id' => $max_sign_user['user_id'],
@@ -390,6 +398,18 @@ class Sign extends Model
if($sign_user_type == 0){
//任务6-第一次签约师父
model('Tasks')->tasks_complete($sign_user_id,6);
//任务21、22、23-师徒任务
$task_ids = [21, 22, 23];
$data_list = [];
foreach ($task_ids as $task_id) {
$data_list[] = [
'user_id' => $max_sign_user['user_id'],
'student_id' => $sign_user_id,
'task_id' => $task_id,
'createtime' => time()
];
}
db::name('vs_tasks_student')->insertAll($data_list);
}
//判定是否 今日第一次签约徒弟
$is_first_sign_student = db::name('vs_user_sign')->where(['parent_user_id' => $max_sign_user['user_id'],'createtime' => ['>=',strtotime(date('Y-m-d'))]])->count();

View File

@@ -16,7 +16,7 @@ class UserCp extends Model
* @param $room_id 房间ID
* @return int 0-无1-等待回应2-已建立Cp空间
*/
public function checkGift($from_user_id, $gift_id, $to_user_id, $room_id, $num)
public function checkGift($from_user_id, $gift_id, $to_user_id, $room_id, $num,$gift_price)
{
//查询是否已经存在Cp空间
$rees = Db::name('user_cp_zone')->where(['user_id1' => $from_user_id,'user_id2' => $to_user_id,'status' => 1])->find();
@@ -24,7 +24,7 @@ class UserCp extends Model
$rees = Db::name('user_cp_zone')->where(['user_id1' => $to_user_id,'user_id2' => $from_user_id,'status' => 1])->find();
}
if($rees){
$this->addCpLevel($from_user_id, $to_user_id, $room_id, $gift_id, $rees['id'], $num);
$this->addCpLevel($from_user_id, $to_user_id, $room_id, $gift_id, $rees['id'], $num,$gift_price);
return 0;
}
@@ -217,12 +217,12 @@ class UserCp extends Model
* @param $room_id 房间ID
* @param $cp_zone_id Cp空间ID
*/
public function addCpLevel($from_user_id, $to_user_id, $room_id, $gift_id, $cp_zone_id, $num)
public function addCpLevel($from_user_id, $to_user_id, $room_id, $gift_id, $cp_zone_id, $num,$gift_price)
{
$jinbi_arr = explode(',', get_system_config_value('cp_exp_rate'));
$jinbi = $jinbi_arr[0];
$jinyan = $jinbi_arr[1];
$exp = round(db::name('vs_gift')->where(['gid' => $gift_id])->value('gift_price') * $num / $jinbi * $jinyan, 2);
$exp = round($gift_price * $num / $jinbi * $jinyan, 2);
$yuan_exp = Db::name('user_cp_zone')->where(['id' => $cp_zone_id])->value('exp');
$zone_level = Db::name('user_cp_zone')->where(['id' => $cp_zone_id])->value('level');
$toUserNickname =db::name('user')->where(['id' => $to_user_id])->value('nickname')??'未知用户';