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

This commit is contained in:
2025-09-02 15:08:20 +08:00
6 changed files with 104 additions and 42 deletions

View File

@@ -37,4 +37,10 @@ class Cron
$cron = new \app\cron\controller\RoomPan();
$cron->index();
}
//交友房结束
public function FriendEnd(){
$cron = new \app\cron\controller\FriendEnd();
$cron->index();
}
}

View File

@@ -89,6 +89,8 @@ class Chat extends Model
// RoomAuctionPK = 1037,
//送盲盒礼物推送文字消息
// RoomGiftBlindBox = 1038,
//换麦
// RoomChangePit = 1039,
//交友房间内发送消息
//交友房游戏阶段

View File

@@ -47,7 +47,7 @@ class Friend extends Model
model('api/Chat')->sendMsg(1049,$room_id,$text);
return ['code' => 1, 'msg' => '操作成功!', 'data' => ['friend_id' => $id]];
}else{
return ['code' => 0, 'msg' => '不具备开始条件!', 'data' => null];
return ['code' => 0, 'msg' => '交友麦位至少两位用户才能开始', 'data' => null];
}
}
@@ -159,7 +159,7 @@ class Friend extends Model
->update(['status' => 3,'friend_config_id' =>$friending_config_id]);
if ($originalPairs) {
$relation = db::name('vs_relation')->where('id',$friending_config_id)->value('name');
if($friending_heart['heart_value'] >= get_system_config_value('friend_heart_create_room')){
if($friending_heart['heart_value'] >= get_system_config_value('friend_heart_create_room') && $friending_config_id > 0){
//创建小房间
$room_ids = model('api/Room')->user_create_room($user1,'的电影房',get_system_config_value('web_site').'/data/avatar/head_pic.png','交友房产生的一次性房间',7);
if($room_ids['code'] != 1){

View File

@@ -188,9 +188,9 @@ class RoomPit extends Model
//检查是否在坑位上
$pit_infos = db::name('vs_room_pit')->where(['room_id' => $room_id, 'user_id' => $user_id])->field('id,pit_number')->find();
if($pit_infos){
return ['code' => 0, 'msg' => '您已上麦', 'data' => null];
}
// if($pit_infos){
// return ['code' => 0, 'msg' => '您已上麦', 'data' => null];
// }
if($room_info['label_id'] == 5 && $room_info['step'] != 1 && $pit_number < 9){
return ['code' => 0, 'msg' => '交友房 此阶段不可操作', 'data' => null];
@@ -203,6 +203,11 @@ class RoomPit extends Model
if($pit_number == 7 || $pit_number == 8){
return ['code' => 0, 'msg' => '该麦位已锁定了', 'data' => null];
}
if($pit_number == 9){
if($pit_infos){
return ['code' => 0, 'msg' => '您已上麦', 'data' => null];
}
}
}
//查询当前麦位是否有人
$pit_info = db::name('vs_room_pit')->where(['room_id' => $room_id, 'pit_number' => $pit_number])->field('id,user_id,is_lock')->find();
@@ -235,11 +240,34 @@ class RoomPit extends Model
}
//换麦使用
if(isset($pit_infos) && $pit_infos['pit_number'] > 0){
//下麦
$dow = $this ->DownPit($user_id,$room_id,$pit_infos['pit_number']);
if($dow['code'] != 1){
return ['code' => 0, 'msg' => '操作失败', 'data' => null];
// //下麦
// $dow = $this ->DownPit($user_id,$room_id,$pit_infos['pit_number']);
// if($dow['code'] != 1){
// return ['code' => 0, 'msg' => '操作失败', 'data' => null];
// }
$exchange1 = db::name('vs_room_pit')->where(['room_id' => $room_id, 'pit_number' => $pit_infos['pit_number']])->update([ 'user_id' => 0]);
$exchange = db::name('vs_room_pit')->where(['room_id' => $room_id, 'pit_number' => $pit_number])->update([ 'user_id' => $user_id]);
if(!$exchange || !$exchange1){
return ['code' => 0, 'msg' => '换麦失败', 'data' => null];
}
$FromUserInfo = db::name('user')->where('id',$user_id)->field('id as user_id,nickname,avatar,sex')->find();
$FromUserInfo['icon'][0] = model('UserData')->user_wealth_icon($user_id);//财富图标
$FromUserInfo['icon'][1] = model('UserData')->user_charm_icon($user_id);//魅力图标
$FromUserInfo['dress'] = model('Decorate')->user_decorate_detail($user_id,1);
$FromUserInfo['charm'] = db::name('vs_room_user_charm')->where(['user_id' => $user_id,'room_id' => $room_id])->value('charm');
if($pit_number == 9){
$pit_text = '主持麦';
}elseif ($pit_number == 10) {
$pit_text = '嘉宾麦';
}else{
$pit_text = $pit_number . '号麦';
}
$text['text'] = $FromUserInfo['nickname'].' 换到 ' . $pit_text;
$text['FromUserInfo'] = $FromUserInfo;
$text['from_pit_number'] = $pit_infos['pit_number'];
$text['to_pit_number'] = $pit_number;
model('Chat')->sendMsg(1039,$room_id,$text);
return ['code' => 1, 'msg' => '上麦成功', 'data' => null];
}
$ompit = $this->OnPit($user_id,$room_id,$pit_number);//用户上了这个房间的几号麦位
if($ompit['code'] != 1){

View File

@@ -0,0 +1,56 @@
<?php
namespace app\cron\controller;
use think\Db;
class FriendEnd
{
/*
* 运行函数
*/
function index()
{
echo "清除交友房过期未结束数据开始:\n";
$this->clearFriendingEndRoom();//清除交友房过期未结束数据
echo "清除结束 \n";
echo "清除私密小屋过期数据开始:\n";
$this->clear_room_end();//清除私密小屋过期数据
echo "清除私密小屋过期数据结束 \n";
}
//清除交友房过期未结束数据
public function clearFriendingEndRoom()
{
//清除交友房过期数据
$room_list = db::name('vs_room')->where(['type_id'=>7])->whereIn('step', [2,3])
->field(['id','room_name','room_cover','step'])->select();
if(!empty($room_list)){
foreach ($room_list as $room) {
//查询交友信息
$friending_info = db::name('vs_user_friending')->where('room_id', $room['id'])->where('status', 1)->order('id', 'desc')->find();
if($friending_info){
//判断结束时间是否到期
if($friending_info['end_time'] <= time()){
model('Friend')->end_friend(0,$room['id'],$friending_info['id'],1);
}
}
}
}
}
//清除私密小屋过期数据
public function clear_room_end()
{
$room_list = db::name('vs_room_cp_movie')->where(['status' => 1,'type'=>1,'time_day' =>['<',time()]])->select();
if(!empty($room_list)){
foreach ($room_list as $room) {
model('Friend')->outRoom(0,$room['room_id']);
}
}
}
}

View File

@@ -33,9 +33,9 @@ class PerformPerSecond
// echo "提现云账号订单状态查询:\n";
// $this->withdraw_order_status();
// echo "\n";
echo "清除交友房过期未结束数据:\n";
$this->clearFriendingEndRoom();
echo "\n";
// echo "清除交友房过期未结束数据:\n";
// $this->clearFriendingEndRoom();
// echo "\n";
}
@@ -166,34 +166,4 @@ class PerformPerSecond
}
}
//清除交友房过期未结束数据
public function clearFriendingEndRoom()
{
//清除交友房过期数据
$room_list = db::name('vs_room')->where(['type_id'=>7])->whereIn('step', [2,3])
->field(['id','room_name','room_cover','step'])->select();
if(!empty($room_list)){
foreach ($room_list as $room) {
//查询交友信息
$friending_info = db::name('vs_user_friending')->where('room_id', $room['id'])->where('status', 1)->order('id', 'desc')->find();
if($friending_info){
//判断结束时间是否到期
if($friending_info['end_time'] <= time()){
model('Friend')->end_friend(0,$room['id'],$friending_info['id'],1);
}
}
}
}
//清除私密小屋过期数据
$room_list = db::name('vs_room_cp_movie')->where(['type'=>1,'time_day' =>['<',time()]])->select();
if(!empty($room_list)){
foreach ($room_list as $room) {
model('Friend')->outRoom(0,$room['room_id']);
}
}
}
}