交友房 房间内送礼 增加结束时间 定时任务处理到期未操作数据(交友结束,私密房到期退出)

This commit is contained in:
2025-08-21 16:46:14 +08:00
parent 82c81df8c1
commit f89e977314
3 changed files with 53 additions and 98 deletions

View File

@@ -80,24 +80,25 @@ class Friend extends Model
}
//交友结束(结束牵手良缘)
public function end_friend($user_id,$room_id,$id){
// 判断用户是否在主持麦
$host = db::name('vs_room_pit')->where(['room_id' => $room_id, 'pit_number' => 9,'user_id' => $user_id])->find();
if(!$host){
return ['code' => 0, 'msg' => '没有权限操作', 'data' => null];
}
public function end_friend($user_id,$room_id,$id,$is_system = 0){
if (!$id || !$room_id) {
return ['code' => 0, 'msg' => '参数有误!', 'data' => null];
}
if($is_system == 0){
// 判断用户是否在主持麦
$host = db::name('vs_room_pit')->where(['room_id' => $room_id, 'pit_number' => 9,'user_id' => $user_id])->find();
if(!$host){
return ['code' => 0, 'msg' => '没有权限操作', 'data' => null];
}
}
// 获取心动值最高的
$originalPairs = db::name('vs_user_friending_heart')
->where(['room_id'=>$room_id,'friend_id'=>$id ,'status' =>1])
->order('heart_value DESC')->find();
$friend_heart_value = get_system_config_value('friend_heart_value');
if($originalPairs && $originalPairs['heart_value'] >= $friend_heart_value){
$return['is_cp'] = 1;//卡关系
$step = 3;//结束进入牵手良缘卡关系
//心动值达到伐值 返回用户信息与关系列表
$return['user1_id'] =$originalPairs['user1_id'];
@@ -109,8 +110,6 @@ class Friend extends Model
$return['heart_value'] = $originalPairs['heart_value'];
$return['heart_id'] = $originalPairs['id'];
}else{
$return = [];
$return['is_cp'] = 0;//不卡关系
$step = 1;//结束下一轮
//所有人下麦
$on_pit = db::name('vs_room_pit')->where(['room_id' => $room_id, 'pit_number' => ['<',7],'user_id' => ['<>',0]])->select();
@@ -119,6 +118,7 @@ class Friend extends Model
model('RoomPit')->DownPit($pit['user_id'], $room_id,$pit['pit_number']);
}
}
$return = null;
}
//结束交友游戏
@@ -128,6 +128,7 @@ class Friend extends Model
//推送给前端消息
$text['text'] = $step == 1 ? '交友结束' : '牵手良缘';
$text['step'] = $step;//1 等待邂逅 2 心动连线 3 牵手良缘
$text['friend_user'] = $return;
model('api/Chat')->sendMsg(1049,$room_id,$text);
// 修改当前交友阶段
db::name('vs_room')->where(['id' => $room_id])->setField('step', $step);
@@ -157,6 +158,20 @@ class Friend extends Model
if($room_id['code'] != 1){
return ['code' => 0, 'msg' => 'cp电影房创建失败请联系管理员','data' => null];
}
//记录小房间
$datda = [
'room_id' => $room_id['data'],
'relation_id' => $friending_config_id,
'user_id' => $user1,
'user_id1' => $user2,
'time_day' => get_system_config_value('friend_heart_time_day'),
'createtime' => time(),
'status' => 1,
'type' => 1
];
db::name('vs_room_cp_movie')->insert($datda);
if($room_id['data']){
$text['text'] = '交友结束并创建房间';
$text['relation_name'] = $relation;