新需求: 盲盒转盘开发

This commit is contained in:
2025-08-16 19:10:54 +08:00
parent 36366416d3
commit a145ed5592
5 changed files with 70 additions and 9 deletions

1
.gitignore vendored
View File

@@ -3,4 +3,3 @@
.idea
*.log
.env

View File

@@ -131,6 +131,7 @@ class BlindBox extends adminApi
$gift_id = input('gift_id', '');
$gift_bag_id = input('gift_bag_id', '');
$quantity = input('quantity', 0);
$weight = input('weight', 0);
if(empty($gift_id)){
return V(0,"请选择礼物");
}
@@ -153,6 +154,8 @@ class BlindBox extends adminApi
$data['quantity'] = $quantity;
$data['remaining_number'] = $quantity;
$data['createtime'] = time();
$data['weight'] = $weight;
$res = db::name($this->table)->insert($data);
if($res){
return V(1,"成功");
@@ -184,6 +187,7 @@ class BlindBox extends adminApi
if(empty($id)){
return V(0,"参数错误");
}
$weight = input('weight', 0);
$gift_bag = db::name($this->table)->where('id',$id)->find();
// if($gift_bag['remaining_number']>0){
// return V(0,"该礼包已开售");
@@ -191,6 +195,9 @@ class BlindBox extends adminApi
$data = [];
$data['quantity'] = $quantity;
$data['remaining_number'] = $quantity;
if($weight){
$data['weight'] = $weight;
}
$res = db::name($this->table)->where(['id'=>$id])->update($data);
if($res){
return V(1,"成功");

View File

@@ -0,0 +1,22 @@
<?php
namespace app\api\controller;
use app\common\controller\BaseCom;
/*
* 盲盒转盘
* 2025-08-16
*/
class BlindBoxTurntable extends BaseCom
{
/*
* 获取活动奖池礼物列表
*/
public function get_gift_list(){
$gift_bag_id = input('gift_bag_id',0);
$reslut = model('BlindBoxTurntableGift')->get_gift_list($gift_bag_id);
return v($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,38 @@
<?php
namespace app\api\model;
use think\Model;
use think\Db;
use think\Session;
/*
* 盲盒转盘
* 2025-08-16
*/
class BlindBoxTurntableGift extends Model
{
// 开启自动写入时间戳字段
protected $autoWriteTimestamp = true;
// 定义时间戳字段名
protected $createTime = 'createtime';
protected $updateTime = 'updatetime';
protected $table = 'fa_vs_gift';
//获取礼物类型
public function get_gift_list($gift_bag_id)
{
$gifts = db::name('vs_gift_bag_detail')->where('gift_bag_id',$gift_bag_id)->order("id desc")->select();
$gift_list = [];
foreach ($gifts as $key => $value) {
$gift_data = db::name('vs_gift')->where('gid',$value['foreign_id'])->where('delete_time',0)->find();
if($gift_data){
$gift_list[$key]['number'] = $key;
$gift_list[$key]['gift_id'] = $gift_data['gid'];
$gift_list[$key]['gift_name'] = $gift_data['gift_name'];
$gift_list[$key]['base_image'] = $gift_data['base_image'];
$gift_list[$key]['play_image'] = $gift_data['play_image'];
$gift_list[$key]['gift_price'] = $gift_data['gift_price'];
}
}
return ['code' => 1, 'msg' => '获取成功', 'data' => $gift_list];
}
}

View File

@@ -44,13 +44,15 @@ class Gift extends Model
if($label==2){
foreach ($list as &$v) {
//获取盲盒列表
$box_list = Db::name('vs_gift_bag')->where(['status'=>1])->where('activities_id',4)->select();
$box_list = Db::name('vs_gift_bag')->where(['status'=>1])->where(['activities_id'=>["in",[4,5]]])->select();
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"];
$v['activities_id'] = $box['activities_id'];
$v['gift_bag'] = $box['id'];
break;
}
}
@@ -58,11 +60,4 @@ class Gift extends Model
}
return ['code' => 1, 'msg' => '获取成功', 'data' => $list];
}
/*
* 盲盒规则链接
*/
public function get_gift_box_rule($box_id){
}
}