巡乐会抽奖接口提交.-代码优化
This commit is contained in:
@@ -88,6 +88,8 @@ class BlindBoxTurntableGift extends Model
|
|||||||
if ($room['is_open_blind_box_turntable'] != 1) {
|
if ($room['is_open_blind_box_turntable'] != 1) {
|
||||||
return ['code' => 0, 'msg' => '该房间未开启盲盒转盘', 'data' => null];
|
return ['code' => 0, 'msg' => '该房间未开启盲盒转盘', 'data' => null];
|
||||||
}
|
}
|
||||||
|
db::startTrans();
|
||||||
|
try{
|
||||||
//盲盒转盘抽奖记录
|
//盲盒转盘抽奖记录
|
||||||
$box_turntable_log = db::name('vs_blind_box_turntable_log')->insertGetId([
|
$box_turntable_log = db::name('vs_blind_box_turntable_log')->insertGetId([
|
||||||
'user_id' => $user_id,
|
'user_id' => $user_id,
|
||||||
@@ -97,9 +99,17 @@ class BlindBoxTurntableGift extends Model
|
|||||||
'bag_price' => $bag_gift['gift_price'],
|
'bag_price' => $bag_gift['gift_price'],
|
||||||
'createtime' => time()
|
'createtime' => time()
|
||||||
]);
|
]);
|
||||||
|
if (!$box_turntable_log) {
|
||||||
|
db::rollback();
|
||||||
|
return ['code' => 0, 'msg' => '添加盲盒转盘记录失败', 'data' => null];
|
||||||
|
}
|
||||||
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['blind_box_turntable_periods'],$room_id,$box_turntable_log);
|
||||||
|
if($reslut_draw_gift_data['code'] != 1){
|
||||||
|
db::rollback();
|
||||||
|
return ['code' => 0, 'msg' => $reslut_draw_gift_data['msg'], 'data' => null];
|
||||||
|
}
|
||||||
$reslut_draw_gift[] = $reslut_draw_gift_data['data'];
|
$reslut_draw_gift[] = $reslut_draw_gift_data['data'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -133,7 +143,7 @@ class BlindBoxTurntableGift extends Model
|
|||||||
}
|
}
|
||||||
$reslut_gift = array_values($reslut_gift);
|
$reslut_gift = array_values($reslut_gift);
|
||||||
foreach ($reslut_gift as $key => $value) {
|
foreach ($reslut_gift as $key => $value) {
|
||||||
db::name('vs_blind_box_turntable_results_log')->insert([
|
$ret = db::name('vs_blind_box_turntable_results_log')->insert([
|
||||||
'tid' => $box_turntable_log,
|
'tid' => $box_turntable_log,
|
||||||
'gift_user_id' => $value['gift_user_id'],
|
'gift_user_id' => $value['gift_user_id'],
|
||||||
'gift_id' => $value['gift_id'],
|
'gift_id' => $value['gift_id'],
|
||||||
@@ -142,6 +152,15 @@ class BlindBoxTurntableGift extends Model
|
|||||||
'all_gift_price' => $value['gift_price'] * $value['count'],
|
'all_gift_price' => $value['gift_price'] * $value['count'],
|
||||||
'createtime' => time()
|
'createtime' => time()
|
||||||
]);
|
]);
|
||||||
|
if (!$ret) {
|
||||||
|
db::rollback();
|
||||||
|
return ['code' => 0, 'msg' => '添加盲盒转盘结果记录失败', 'data' => null];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
db::commit();
|
||||||
|
} catch(\Exception $e) {
|
||||||
|
db::rollback();
|
||||||
|
return V(0,$e->getMessage());
|
||||||
}
|
}
|
||||||
//巡乐会
|
//巡乐会
|
||||||
$xlh_box = db::name('vs_gift_bag')->where('id',13)->find();
|
$xlh_box = db::name('vs_gift_bag')->where('id',13)->find();
|
||||||
@@ -324,8 +343,6 @@ class BlindBoxTurntableGift extends Model
|
|||||||
return ['code' => 0, 'msg' => '开奖数据不存在','data' => null];
|
return ['code' => 0, 'msg' => '开奖数据不存在','data' => null];
|
||||||
}
|
}
|
||||||
//获取盲盒配置
|
//获取盲盒配置
|
||||||
// $bag_data = db::name("vs_gift_bag")->field('id,name,ext,periods')->where('id',$blind_box_turntable['gift_bag_id'])->find();
|
|
||||||
// $ext = json_decode($bag_data['ext'],true);
|
|
||||||
foreach ($blind_box_turntable_log as $key => $value) {
|
foreach ($blind_box_turntable_log as $key => $value) {
|
||||||
$give_gift_ext['gift_id'] = $value['gift_id'];
|
$give_gift_ext['gift_id'] = $value['gift_id'];
|
||||||
$give_gift_ext['count'] = $value['count'];
|
$give_gift_ext['count'] = $value['count'];
|
||||||
@@ -474,6 +491,8 @@ class BlindBoxTurntableGift extends Model
|
|||||||
return ['code' => 0, 'msg' => '未开始', 'data' => null];
|
return ['code' => 0, 'msg' => '未开始', 'data' => null];
|
||||||
}
|
}
|
||||||
$is_zhong_jiang = 0;
|
$is_zhong_jiang = 0;
|
||||||
|
db::startTrans();
|
||||||
|
try{
|
||||||
for($i = 0; $i < $num; $i++){
|
for($i = 0; $i < $num; $i++){
|
||||||
//随机获取一个礼物
|
//随机获取一个礼物
|
||||||
$where = [
|
$where = [
|
||||||
@@ -524,6 +543,7 @@ class BlindBoxTurntableGift extends Model
|
|||||||
//抽中礼物落包
|
//抽中礼物落包
|
||||||
$res = model('UserGiftPack')->change_user_gift_pack($user_id,$gift_bag_detail['foreign_id'],1,model('UserGiftPack')::XLH_DRAW_GIFT_GET,$bag_data['name']."抽奖所得");
|
$res = model('UserGiftPack')->change_user_gift_pack($user_id,$gift_bag_detail['foreign_id'],1,model('UserGiftPack')::XLH_DRAW_GIFT_GET,$bag_data['name']."抽奖所得");
|
||||||
if ($res['code'] != 1) {
|
if ($res['code'] != 1) {
|
||||||
|
db::rollback();
|
||||||
return ['code' => 0, 'msg' => $res['msg'], 'data' => null];
|
return ['code' => 0, 'msg' => $res['msg'], 'data' => null];
|
||||||
}
|
}
|
||||||
//处理抽中礼物命中主奖品逻辑
|
//处理抽中礼物命中主奖品逻辑
|
||||||
@@ -555,6 +575,7 @@ class BlindBoxTurntableGift extends Model
|
|||||||
//减去盲盒包礼物数量
|
//减去盲盒包礼物数量
|
||||||
$ret = db::name("vs_room_pan")->where(['room_id'=>$room_id,'gift_bag_detail_id'=>$gift_bag_detail['id']])->setDec('remaining_number',1);
|
$ret = db::name("vs_room_pan")->where(['room_id'=>$room_id,'gift_bag_detail_id'=>$gift_bag_detail['id']])->setDec('remaining_number',1);
|
||||||
if(!$ret){
|
if(!$ret){
|
||||||
|
db::rollback();
|
||||||
return ['code' => 0, 'msg' => '失败.', 'data' => []];
|
return ['code' => 0, 'msg' => '失败.', 'data' => []];
|
||||||
}
|
}
|
||||||
//判断剩余数量是否为0 为0重置,进入下一期
|
//判断剩余数量是否为0 为0重置,进入下一期
|
||||||
@@ -564,6 +585,7 @@ class BlindBoxTurntableGift extends Model
|
|||||||
['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)')]);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
|
db::rollback();
|
||||||
return ['code' => 0, 'msg' => '失败!', 'data' => []];
|
return ['code' => 0, 'msg' => '失败!', 'data' => []];
|
||||||
}
|
}
|
||||||
$result_data[] = [
|
$result_data[] = [
|
||||||
@@ -601,6 +623,7 @@ class BlindBoxTurntableGift extends Model
|
|||||||
$data['createtime'] = time();
|
$data['createtime'] = time();
|
||||||
$result = db::name("vs_gift_bag_receive_log")->insert($data);
|
$result = db::name("vs_gift_bag_receive_log")->insert($data);
|
||||||
if(!$result){
|
if(!$result){
|
||||||
|
db::rollback();
|
||||||
return ['code' => 0, 'msg' => '失败,', 'data' => []];
|
return ['code' => 0, 'msg' => '失败,', 'data' => []];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -612,11 +635,16 @@ class BlindBoxTurntableGift extends Model
|
|||||||
'createtime' => time(),
|
'createtime' => time(),
|
||||||
'updatetime' => time()
|
'updatetime' => time()
|
||||||
]);
|
]);
|
||||||
|
db::commit();
|
||||||
|
} catch(\Exception $e) {
|
||||||
|
db::rollback();
|
||||||
|
return V(0,$e->getMessage());
|
||||||
|
}
|
||||||
if($is_zhong_jiang == 1){
|
if($is_zhong_jiang == 1){
|
||||||
//推送
|
//推送
|
||||||
$FromUserInfo = db::name('user')->field('nickname,avatar')->where(['id'=>$user_id])->find();
|
$FromUserInfo = db::name('user')->field('nickname,avatar')->where(['id'=>$user_id])->find();
|
||||||
$room_name = db::name('vs_room')->where(['id'=>$room_id])->value('room_name');
|
$room_name = db::name('vs_room')->where(['id'=>$room_id])->value('room_name');
|
||||||
$gift_name = db::name('vs_gift')->where(['id'=>$value['gift_id']])->value('gift_name');
|
$gift_name = db::name('vs_gift')->where(['gid'=>$value['gift_id']])->value('gift_name');
|
||||||
$text = $FromUserInfo['nickname'] . ' 用户在 ' . $room_name.' 房间巡乐会中 ' .$gift_name.'礼物 x ' .$value['count']." 已收入背包";
|
$text = $FromUserInfo['nickname'] . ' 用户在 ' . $room_name.' 房间巡乐会中 ' .$gift_name.'礼物 x ' .$value['count']." 已收入背包";
|
||||||
$text = [
|
$text = [
|
||||||
'gift_num' => $pan_xlh_num,
|
'gift_num' => $pan_xlh_num,
|
||||||
|
|||||||
Reference in New Issue
Block a user