巡乐会抽奖接口提交.-盲盒转盘期数修改
This commit is contained in:
@@ -249,14 +249,19 @@ class BlindBox extends adminApi
|
|||||||
}
|
}
|
||||||
$gift_bag_detail = db::name($this->table)->where(['gift_bag_id'=>$gift_bag_id])->select();
|
$gift_bag_detail = db::name($this->table)->where(['gift_bag_id'=>$gift_bag_id])->select();
|
||||||
if(in_array($gift_bag_id,[10,11,12,13])){
|
if(in_array($gift_bag_id,[10,11,12,13])){
|
||||||
|
$periods = 1;
|
||||||
if(!empty($room_id)){
|
if(!empty($room_id)){
|
||||||
$where['room_id'] = $room_id;
|
$where['room_id'] = $room_id;
|
||||||
|
$room_pan_detail = db::name('vs_room_pan')->where(['gift_bag_id'=>$gift_bag_id,'room_id'=>$room_id])->order('id desc')->find();
|
||||||
|
if($room_pan_detail){
|
||||||
|
$periods = $room_pan_detail['periods'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
foreach ($gift_bag_detail as $k=>$v){
|
foreach ($gift_bag_detail as $k=>$v){
|
||||||
$where['gift_bag_detail_id'] = $v['id'];
|
$where['gift_bag_detail_id'] = $v['id'];
|
||||||
$room_pan = db::name('vs_room_pan')->where($where)->select();
|
$room_pan = db::name('vs_room_pan')->where($where)->select();
|
||||||
if(!empty($room_pan)){
|
if(!empty($room_pan)){
|
||||||
$bag_data = db::name('vs_room_pan')->where($where)->update(['remaining_number'=>$v['quantity']]);
|
$bag_data = db::name('vs_room_pan')->where($where)->update(['remaining_number'=>$v['quantity'],'periods'=>$periods]);
|
||||||
}else{
|
}else{
|
||||||
if($room_id){
|
if($room_id){
|
||||||
$bag_data = db::name('vs_room_pan')->insert([
|
$bag_data = db::name('vs_room_pan')->insert([
|
||||||
@@ -264,6 +269,7 @@ class BlindBox extends adminApi
|
|||||||
'gift_bag_id' => $gift_bag_id,
|
'gift_bag_id' => $gift_bag_id,
|
||||||
'gift_bag_detail_id' => $v['id'],
|
'gift_bag_detail_id' => $v['id'],
|
||||||
'remaining_number' => $v['quantity'],
|
'remaining_number' => $v['quantity'],
|
||||||
|
'periods' => $periods,
|
||||||
'createtime' => time(),
|
'createtime' => time(),
|
||||||
]);
|
]);
|
||||||
}else{
|
}else{
|
||||||
@@ -275,6 +281,7 @@ class BlindBox extends adminApi
|
|||||||
'gift_bag_id' => $gift_bag_id,
|
'gift_bag_id' => $gift_bag_id,
|
||||||
'gift_bag_detail_id' => $v['id'],
|
'gift_bag_detail_id' => $v['id'],
|
||||||
'remaining_number' => $v['quantity'],
|
'remaining_number' => $v['quantity'],
|
||||||
|
'periods' => $periods,
|
||||||
'createtime' => time(),
|
'createtime' => time(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
@@ -569,6 +576,7 @@ class BlindBox extends adminApi
|
|||||||
$count = db::name($this->table)->where($where)->count();
|
$count = db::name($this->table)->where($where)->count();
|
||||||
$lists_data = db::name($this->table)->where($where)->page($page, $page_limit)->order("id desc")->select();
|
$lists_data = db::name($this->table)->where($where)->page($page, $page_limit)->order("id desc")->select();
|
||||||
$lists = [];
|
$lists = [];
|
||||||
|
$periods =1;
|
||||||
foreach ($lists_data as $key => $value) {
|
foreach ($lists_data as $key => $value) {
|
||||||
$lists[$key]['id'] = $value['id'];
|
$lists[$key]['id'] = $value['id'];
|
||||||
$lists[$key]['gift_id'] = $value['foreign_id'];
|
$lists[$key]['gift_id'] = $value['foreign_id'];
|
||||||
@@ -584,6 +592,7 @@ class BlindBox extends adminApi
|
|||||||
$lists[$key]['is_world_show'] = $value['is_world_show'];
|
$lists[$key]['is_world_show'] = $value['is_world_show'];
|
||||||
$lists[$key]['weight'] = $value['weight'];
|
$lists[$key]['weight'] = $value['weight'];
|
||||||
$lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']);
|
$lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']);
|
||||||
|
$periods = $room_pan['periods']??1;
|
||||||
}
|
}
|
||||||
//统计
|
//统计
|
||||||
$total_data = [];
|
$total_data = [];
|
||||||
@@ -629,7 +638,7 @@ class BlindBox extends adminApi
|
|||||||
'lists' => $lists,
|
'lists' => $lists,
|
||||||
'bag_list' => $bag_list,
|
'bag_list' => $bag_list,
|
||||||
'total_data' => [
|
'total_data' => [
|
||||||
'blind_box_turntable_periods' => $room['blind_box_turntable_periods']??'0', //当前期数
|
'blind_box_turntable_periods' => $periods, //当前期数
|
||||||
'remaining_number' => db::name('vs_room_pan')->where(['room_id'=>$room_id,'gift_bag_id'=>$gift_bag_id])->sum('remaining_number')??'0',
|
'remaining_number' => db::name('vs_room_pan')->where(['room_id'=>$room_id,'gift_bag_id'=>$gift_bag_id])->sum('remaining_number')??'0',
|
||||||
'total_count' => $total_count,
|
'total_count' => $total_count,
|
||||||
'total_price' => $total_price,
|
'total_price' => $total_price,
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ class UserGiftPack extends BaseCom
|
|||||||
$user_id = $this->uid;
|
$user_id = $this->uid;
|
||||||
$page = input('page',1);
|
$page = input('page',1);
|
||||||
$page_limit = input('page_limit',10);
|
$page_limit = input('page_limit',10);
|
||||||
$reslut = model('UserGiftPack')->income_user_gift_pack($user_id,$page=1,$page_limit=10);
|
$reslut = model('UserGiftPack')->income_user_gift_pack($user_id,$page,$page_limit);
|
||||||
return V($reslut['code'],$reslut['msg'], $reslut['data']);
|
return V($reslut['code'],$reslut['msg'], $reslut['data']);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -40,7 +40,7 @@ class UserGiftPack extends BaseCom
|
|||||||
$user_id = $this->uid;
|
$user_id = $this->uid;
|
||||||
$page = input('page',1);
|
$page = input('page',1);
|
||||||
$page_limit = input('page_limit',10);
|
$page_limit = input('page_limit',10);
|
||||||
$reslut = model('UserGiftPack')->get_gift_pack_outcome($user_id,$page=1,$page_limit=10);
|
$reslut = model('UserGiftPack')->get_gift_pack_outcome($user_id,$page,$page_limit);
|
||||||
return V($reslut['code'],$reslut['msg'], $reslut['data']);
|
return V($reslut['code'],$reslut['msg'], $reslut['data']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ class BlindBoxTurntableGift extends Model
|
|||||||
}
|
}
|
||||||
foreach ($toarray as $gift_user_id){
|
foreach ($toarray as $gift_user_id){
|
||||||
for($i = 0; $i < $num; $i++){
|
for($i = 0; $i < $num; $i++){
|
||||||
$reslut_draw_gift_data = $this->draw_gift_one($gift_bag_id, $user_id, $gift_user_id,$bag_gift['gift_price'],$room['blind_box_turntable_periods'],$room_id,$box_turntable_log);
|
$reslut_draw_gift_data = $this->draw_gift_one($gift_bag_id, $user_id, $gift_user_id,$bag_gift['gift_price'],$room_id,$box_turntable_log);
|
||||||
if($reslut_draw_gift_data['code'] != 1){
|
if($reslut_draw_gift_data['code'] != 1){
|
||||||
db::rollback();
|
db::rollback();
|
||||||
return ['code' => 0, 'msg' => $reslut_draw_gift_data['msg'], 'data' => null];
|
return ['code' => 0, 'msg' => $reslut_draw_gift_data['msg'], 'data' => null];
|
||||||
@@ -196,10 +196,12 @@ class BlindBoxTurntableGift extends Model
|
|||||||
/*
|
/*
|
||||||
* 单人单次抽奖
|
* 单人单次抽奖
|
||||||
*/
|
*/
|
||||||
public function draw_gift_one($gift_bag_id, $user_id, $gift_user_id,$gift_price,$periods,$room_id=0,$box_turntable_log=0){
|
public function draw_gift_one($gift_bag_id, $user_id, $gift_user_id,$gift_price,$room_id=0,$box_turntable_log=0){
|
||||||
//奖池总的抽奖次数
|
//奖池总的抽奖次数
|
||||||
$total_quantity = db::name("vs_gift_bag_detail")->where(['gift_bag_id' => $gift_bag_id])->sum('quantity');
|
$total_quantity = db::name("vs_gift_bag_detail")->where(['gift_bag_id' => $gift_bag_id])->sum('quantity');
|
||||||
$total_remaining = db::name("vs_room_pan")->where(['room_id'=>$room_id,'gift_bag_id'=>$gift_bag_id])->value('remaining_number');
|
$room_pan = db::name("vs_room_pan")->where(['room_id'=>$room_id,'gift_bag_id'=>$gift_bag_id])->field('remaining_number,periods')->find();
|
||||||
|
$total_remaining = $room_pan['remaining_number'];
|
||||||
|
$periods = $room_pan['periods'];
|
||||||
//本期当前第多少次后抽奖 总的抽奖次数- 剩余数量
|
//本期当前第多少次后抽奖 总的抽奖次数- 剩余数量
|
||||||
$total_draw_times = $total_quantity - $total_remaining;
|
$total_draw_times = $total_quantity - $total_remaining;
|
||||||
//随机获取一个礼物
|
//随机获取一个礼物
|
||||||
@@ -270,6 +272,7 @@ class BlindBoxTurntableGift extends Model
|
|||||||
if($gift_bag_num <= 0){
|
if($gift_bag_num <= 0){
|
||||||
db::name("vs_gift_bag")->where('id',$gift_bag_id)->setInc('periods');
|
db::name("vs_gift_bag")->where('id',$gift_bag_id)->setInc('periods');
|
||||||
db::name("vs_room")->where('id',$room_id)->setInc('blind_box_turntable_periods');
|
db::name("vs_room")->where('id',$room_id)->setInc('blind_box_turntable_periods');
|
||||||
|
db::name("vs_room_pan")->where(['room_id'=>$room_id,'gift_bag_id'=>$gift_bag_id])->setInc('periods');
|
||||||
db::name("vs_room_pan")->where(['room_id'=>$room_id,'gift_bag_id'=>$gift_bag_id])->update(
|
db::name("vs_room_pan")->where(['room_id'=>$room_id,'gift_bag_id'=>$gift_bag_id])->update(
|
||||||
['remaining_number' => db::raw('(SELECT quantity FROM fa_vs_gift_bag_detail WHERE id = fa_vs_room_pan.gift_bag_detail_id)')]);
|
['remaining_number' => db::raw('(SELECT quantity FROM fa_vs_gift_bag_detail WHERE id = fa_vs_room_pan.gift_bag_detail_id)')]);
|
||||||
}
|
}
|
||||||
@@ -508,7 +511,8 @@ class BlindBoxTurntableGift extends Model
|
|||||||
try{
|
try{
|
||||||
for($i = 0; $i < $num; $i++){
|
for($i = 0; $i < $num; $i++){
|
||||||
//本期当前第多少次后抽奖 总的抽奖次数- 剩余数量
|
//本期当前第多少次后抽奖 总的抽奖次数- 剩余数量
|
||||||
$total_remaining = db::name("vs_room_pan")->where(['room_id'=>$room_id,'gift_bag_id'=>$gift_bag_id])->value('remaining_number');
|
$room_pan = db::name("vs_room_pan")->where(['room_id'=>$room_id,'gift_bag_id'=>$gift_bag_id])->field('remaining_number,periods')->find();
|
||||||
|
$total_remaining = $room_pan['remaining_number'];
|
||||||
$total_draw_times = $total_quantity - $total_remaining;
|
$total_draw_times = $total_quantity - $total_remaining;
|
||||||
//随机获取一个礼物
|
//随机获取一个礼物
|
||||||
$where = [
|
$where = [
|
||||||
@@ -606,6 +610,7 @@ class BlindBoxTurntableGift extends Model
|
|||||||
//判断剩余数量是否为0 为0重置,进入下一期
|
//判断剩余数量是否为0 为0重置,进入下一期
|
||||||
$gift_bag_num = db::name("vs_room_pan")->where(['room_id'=>$room_id,'gift_bag_id'=>$gift_bag_id])->sum('remaining_number');
|
$gift_bag_num = db::name("vs_room_pan")->where(['room_id'=>$room_id,'gift_bag_id'=>$gift_bag_id])->sum('remaining_number');
|
||||||
if($gift_bag_num <= 0){
|
if($gift_bag_num <= 0){
|
||||||
|
db::name("vs_room_pan")->where(['room_id'=>$room_id,'gift_bag_id'=>$gift_bag_id])->setInc('periods');
|
||||||
db::name("vs_room_pan")->where(['room_id'=>$room_id,'gift_bag_id'=>$gift_bag_id])->update(
|
db::name("vs_room_pan")->where(['room_id'=>$room_id,'gift_bag_id'=>$gift_bag_id])->update(
|
||||||
['remaining_number' => db::raw('(SELECT quantity FROM fa_vs_gift_bag_detail WHERE id = fa_vs_room_pan.gift_bag_detail_id)')]);
|
['remaining_number' => db::raw('(SELECT quantity FROM fa_vs_gift_bag_detail WHERE id = fa_vs_room_pan.gift_bag_detail_id)')]);
|
||||||
}
|
}
|
||||||
@@ -645,7 +650,7 @@ class BlindBoxTurntableGift extends Model
|
|||||||
$data['parent_id'] = $pan_xlh['id'];
|
$data['parent_id'] = $pan_xlh['id'];
|
||||||
$data['gift_bag_id'] = $gift_bag_id;
|
$data['gift_bag_id'] = $gift_bag_id;
|
||||||
$data['gift_id'] = $value['gift_id'];
|
$data['gift_id'] = $value['gift_id'];
|
||||||
$data['periods'] = $room['blind_box_turntable_periods'];
|
$data['periods'] = $room_pan['periods'];
|
||||||
$data['room_id'] = $room_id;
|
$data['room_id'] = $room_id;
|
||||||
$data['num'] = $value['count'];
|
$data['num'] = $value['count'];
|
||||||
$data['gift_price'] = $value['gift_price'];
|
$data['gift_price'] = $value['gift_price'];
|
||||||
|
|||||||
Reference in New Issue
Block a user