From 62bd53e3866a66194b4adf22df347b2af9c89378 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E9=92=8A?= Date: Fri, 23 Jan 2026 16:15:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=BF=E9=97=B4=E7=83=AD=E5=BA=A6=E5=8D=A1?= =?UTF-8?q?=E5=BC=80=E5=8F=91-=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/controller/Decorate.php | 7 ++--- application/api/model/Decorate.php | 35 ++++++++++++++++++++++--- 2 files changed, 35 insertions(+), 7 deletions(-) diff --git a/application/api/controller/Decorate.php b/application/api/controller/Decorate.php index 52d6544a..7ae9b02b 100644 --- a/application/api/controller/Decorate.php +++ b/application/api/controller/Decorate.php @@ -22,8 +22,8 @@ class Decorate extends BaseCom public function get_type_list() { $have_hot = input('have_hot',0); - $frome = input('frome',1);//来源:1 道具商城 2 个性装扮 - $reslut = model('Decorate')->get_type_list($have_hot,$frome); + $from = input('from',1);//来源:1 道具商城 2 个性装扮 + $reslut = model('Decorate')->get_type_list($have_hot,$from); return V($reslut['code'],$reslut['msg'], $reslut['data']); } //获取装饰列表 @@ -81,7 +81,8 @@ class Decorate extends BaseCom public function set_user_decorate(){ $uid = $this->uid; $udid = input('udid', 0); - $reslut = model('Decorate')->set_user_decorate($uid,$udid); + $room_id = input('room_id', 0); + $reslut = model('Decorate')->set_user_decorate($uid,$udid,$room_id); return v($reslut['code'], $reslut['msg'], $reslut['data']); } //取消装扮 diff --git a/application/api/model/Decorate.php b/application/api/model/Decorate.php index 0be9f409..96d7e3b1 100644 --- a/application/api/model/Decorate.php +++ b/application/api/model/Decorate.php @@ -354,7 +354,7 @@ class Decorate extends Model } // 设置用户装修 - public function set_user_decorate($uid,$udid) + public function set_user_decorate($uid,$udid,$room_id) { $map = []; $map = [ @@ -365,7 +365,7 @@ class Decorate extends Model if (empty($info)) { return ['code' => 0, 'msg' => '装扮不存在', 'data' => null]; } - if($info['type'] == 12){ + if(in_array($info['type'],array_keys($this->SpecialType))){ if ($info['num']-1 < 0) { return ['code' => 0, 'msg' => '无可用装扮', 'data' => null]; } @@ -398,7 +398,7 @@ class Decorate extends Model $data = []; $data['is_using'] = 1; $data['updatetime'] = time(); - if($info['type'] == 12){ + if(in_array($info['type'],array_keys($this->SpecialType))){ $data['num'] = $info['num'] - 1; } $reslut = Db::name('vs_user_decorate')->where($map)->update($data); @@ -433,7 +433,34 @@ class Decorate extends Model 'createtime'=> time() ]); } - }else{ + }elseif($info['type'] == 13){//房间热度卡 增加房间热度 + if (empty($room_id)) { + Db::rollback(); + return ['code' => 0, 'msg' => '请选择房间', 'data' => null]; + } + $room_info = db::name('vs_room')->where(['id' => $room_id])->find(); + if (empty($room_info)) { + Db::rollback(); + return ['code' => 0, 'msg' => '房间不存在', 'data' => null]; + } + $increase_hot_value = db::name('vs_decorate')->where(['did' => $info['did']])->value('ext_value') ?? 0; + if ($room_info['today_hot_value'] <= $increase_hot_value) { + db::name('vs_room')->where(['id' => $room_id])->update(['today_hot_value' => 0]); + } else { + db::name('vs_room')->where(['id' => $room_id])->setInc('today_hot_value', $increase_hot_value); + } + //记录日志 + db::name('vs_room_hot_up_log')->insert([ + 'did' => $udid, + 'user_id' => $uid, + 'room_id' => $room_id, + 'hot_value' => $increase_hot_value, + 'before_hot_value' => $room_info['today_hot_value'], + 'end_time' => date('Y-m-d H:00:00', time()), + 'createtime' => time() + ]); + + } else{ //推送信息去所在房间 //查询当前所在房间 $room_id = db::name('vs_room_visitor')->where(['user_id' => $uid])->order('id' , 'desc')->value('room_id');