Browse Source

开始刮奖接口

master
wanghongjun 3 years ago
parent
commit
ff5eee5408
  1. 20
      app/logic/Zone.php
  2. 9
      app/model/ZoneGoodsParam.php
  3. 6
      route/app.php

20
app/logic/Zone.php

@ -46,7 +46,11 @@ class Zone
$zoneParamArr = ZoneGoodsParam::getList(['zone_goods_id' => $zone_goods_id]);
# 获取刮刮乐信息
$data = self::getWinningPrize($zoneParamArr);
$resData = self::getWinningPrize($zoneParamArr);
$data = $resData['data'];
$save_data = $resData['save_data'];
# 开启事务
$connection = Db::connect();
@ -58,7 +62,7 @@ class Zone
$balance = User::decrBalance($user_id,$price);
# 消费记录
$c_r_id = ConsumptionRecords::createRecords($user_id,$zone_goods_id,$price,$price,$balance,$data);
$c_r_id = ConsumptionRecords::createRecords($user_id,$zone_goods_id,$price,$price,$balance,$save_data);
$connection->commit();
# 返回刮刮乐图标、金额、订单id
@ -164,6 +168,7 @@ class Zone
$groupNum = 4; // 要生成的图案组数
$data = [];
$save_data = [];
for ($i = 0; $i < $numberOfGroups; $i++) {
for ($j = 0; $j < $groupNum; $j++) { // 每组生成 3 个图案
@ -177,7 +182,11 @@ class Zone
}
}
$data[$i] = [
$data[$i][] = [
'amount' => $selectedPattern['amount'],
'image' => get_image_url($selectedPattern['image'])
];
$save_data[$i][] = [
'id' => $selectedPattern['id'],
'amount' => $selectedPattern['amount'],
'image' => get_image_url($selectedPattern['image'])
@ -185,6 +194,9 @@ class Zone
}
}
return $data;
return [
'data' => $data,
'save_data' => $save_data
];
}
}

9
app/model/ZoneGoodsParam.php

@ -18,16 +18,17 @@ class ZoneGoodsParam extends Model
public static function getList($where = [])
{
$where['status'] = 1;
$list = self::where($where)->field('amount,image,probability,awards')->select()->toArray();
$list = self::where($where)->field('id,amount,image,probability,awards')->select()->toArray();
$ZoneAmountParam = [];
foreach ($list as &$item) {
$item['image'] = get_image_url($item['image']);
if ($item['image']) $item['image'] = get_image_url($item['image']);
if ($item['awards'] != 1) {
# 获取无奖项随机金额
$item['amount'] = ZoneAmountParam::getRandAmount($ZoneAmountParam);
$ZoneAmountParam = $item['data'];
$res = ZoneAmountParam::getRandAmount($ZoneAmountParam);
$item['amount'] = $res['amount'];
$ZoneAmountParam = $res['data'];
}
}
return $list;

6
route/app.php

@ -34,9 +34,9 @@ Route::group('user',function (){
Route::group('zone',function(){
Route::get('zoneList','zone/zoneList');
Route::post('zoneGoodsList/:zoneId','zone/zoneGoodsList');
Route::get('beginLottery/:zoneGoodsId','zone/beginLottery');
Route::get('endLottery/:c_r_id','zone/endLottery');
Route::post('zoneGoodsList/:zoneId','zone/zoneGoodsList')->middleware(CheckToken::class);
Route::post('beginLottery/:zoneGoodsId','zone/beginLottery');
Route::post('endLottery/:c_r_id','zone/endLottery');
});

Loading…
Cancel
Save