2025-08-07 20:21:47 +08:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace app\api\model;
|
|
|
|
|
use think\Model;
|
|
|
|
|
use think\Db;
|
|
|
|
|
use think\Session;
|
|
|
|
|
|
|
|
|
|
class Gift extends Model
|
|
|
|
|
{
|
|
|
|
|
// 开启自动写入时间戳字段
|
|
|
|
|
protected $autoWriteTimestamp = true;
|
|
|
|
|
// 定义时间戳字段名
|
|
|
|
|
protected $createTime = 'createtime';
|
|
|
|
|
protected $updateTime = 'updatetime';
|
|
|
|
|
// 定义字段类型
|
|
|
|
|
protected $label = [1=>'热门',2=>'趣味', 3=>'情侣', 4=>'挂件'];
|
|
|
|
|
protected $table = 'fa_vs_gift';
|
|
|
|
|
|
|
|
|
|
//获取礼物类型
|
|
|
|
|
public function get_gift_label()
|
|
|
|
|
{
|
2025-10-20 09:59:39 +08:00
|
|
|
$giftTypeData = db::name('vs_gift_label')->where('delete_time',0)->where('tid',1)->order("sort asc,id desc")->select();
|
2025-08-07 20:21:47 +08:00
|
|
|
foreach ($giftTypeData as $key => $value) {
|
|
|
|
|
$giftType[$key]['id'] = $value['id'];
|
|
|
|
|
$giftType[$key]['name'] = $value['name'];
|
|
|
|
|
}
|
|
|
|
|
return ['code' => 1, 'msg' => '获取成功', 'data' => $giftType];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//拉去礼物列表
|
2025-10-20 09:59:39 +08:00
|
|
|
public function get_gift_list($label=0,$room_id=0)
|
2025-08-07 20:21:47 +08:00
|
|
|
{
|
|
|
|
|
$map['delete_time'] = 0;
|
|
|
|
|
$where['is_show'] = 1;
|
|
|
|
|
if ($label && $label !=99) {
|
|
|
|
|
$map['label'] = $label;
|
|
|
|
|
}
|
|
|
|
|
if ($label == 99) {
|
|
|
|
|
$gift_price = get_system_config_value('room_love_auction_cion');
|
|
|
|
|
$where['gift_price'] = ['>',$gift_price];
|
|
|
|
|
}
|
2025-10-20 09:59:39 +08:00
|
|
|
$is_open_blind_box_turntable = 0;
|
|
|
|
|
if($room_id){
|
|
|
|
|
$is_open_blind_box_turntable = Db::name('vs_room')->where(['id'=>$room_id])->value('is_open_blind_box_turntable');
|
|
|
|
|
}
|
2025-08-07 20:21:47 +08:00
|
|
|
$list = $this->field('gid as gift_id,gift_name,base_image,gift_price')->where($map)->where($where)->order('sort asc, gift_price asc')->select();
|
|
|
|
|
if($label==2){
|
2025-10-20 09:59:39 +08:00
|
|
|
$list_data = [];
|
2025-08-07 20:21:47 +08:00
|
|
|
foreach ($list as &$v) {
|
|
|
|
|
//获取盲盒列表
|
2025-10-20 09:59:39 +08:00
|
|
|
$box_list = Db::name('vs_gift_bag')->where(['status'=>1])->where(['activities_id'=>["in",[4,5]]])->select();
|
2025-08-07 20:21:47 +08:00
|
|
|
foreach ($box_list as $key =>$box) {
|
|
|
|
|
$ext = json_decode($box['ext'],true);
|
|
|
|
|
if ($ext['gift_id'] == $v['gift_id']) {
|
|
|
|
|
$v['gift_bag_name'] = $box['name'];
|
|
|
|
|
$v['rule'] = $ext['description'];
|
|
|
|
|
$v['rule_url'] = get_system_config_value('web_site')."/api/Page/get_gift_box_rule?box_id=".$box["id"];
|
2025-10-20 09:59:39 +08:00
|
|
|
$v['activities_id'] = $box['activities_id'];
|
|
|
|
|
$v['gift_bag'] = $box['id'];
|
2025-08-07 20:21:47 +08:00
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-10-20 09:59:39 +08:00
|
|
|
foreach ($list as $gift) {
|
|
|
|
|
if($is_open_blind_box_turntable == 1){
|
|
|
|
|
$list_data[] = $gift;
|
|
|
|
|
}else{
|
|
|
|
|
if(isset($gift['activities_id']) && $gift['activities_id'] == 4){
|
|
|
|
|
$list_data[] = $gift;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
usort($list_data, function($a, $b) {
|
|
|
|
|
return $a['gift_id'] <=> $b['gift_id'];
|
|
|
|
|
});
|
|
|
|
|
$list = $list_data;
|
2025-08-07 20:21:47 +08:00
|
|
|
}
|
|
|
|
|
return ['code' => 1, 'msg' => '获取成功', 'data' => $list];
|
|
|
|
|
}
|
|
|
|
|
}
|