|
|
|
@ -6,6 +6,7 @@ use app\model\ConsumptionRecords; |
|
|
|
use app\model\User; |
|
|
|
use app\model\ZoneGoods; |
|
|
|
use app\model\ZoneGoodsParam; |
|
|
|
use think\facade\Db; |
|
|
|
|
|
|
|
/** |
|
|
|
* 专区逻辑层 |
|
|
|
@ -47,6 +48,10 @@ class Zone |
|
|
|
# 获取刮刮乐信息 |
|
|
|
$data = self::getWinningPrize($zoneParamArr); |
|
|
|
|
|
|
|
# 开启事务 |
|
|
|
$connection = Db::connect(); |
|
|
|
try { |
|
|
|
$connection->startTrans(); |
|
|
|
# 扣除余额 |
|
|
|
$zoneGoodsModel = ZoneGoods::field('price')->find($zone_goods_id); |
|
|
|
$price = $zoneGoodsModel['price']; |
|
|
|
@ -55,11 +60,14 @@ class Zone |
|
|
|
# 消费记录 |
|
|
|
$c_r_id = ConsumptionRecords::createRecords($user_id,$zone_goods_id,$price,$price,$balance,$data); |
|
|
|
|
|
|
|
$connection->commit(); |
|
|
|
# 返回刮刮乐图标、金额、订单id |
|
|
|
return [ |
|
|
|
'data' => $data, |
|
|
|
'c_r_id' => $c_r_id |
|
|
|
]; |
|
|
|
return ['status' => 1, 'data' => $data, 'c_r_id' => $c_r_id]; |
|
|
|
} catch (\Exception $e) { |
|
|
|
|
|
|
|
$connection->rollback(); |
|
|
|
return ['status' => 0, 'msg' => '操作失败']; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@ -92,6 +100,11 @@ class Zone |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
# 开启事务 |
|
|
|
$connection = Db::connect(); |
|
|
|
try { |
|
|
|
$connection->startTrans(); |
|
|
|
|
|
|
|
# 判断是否中奖 |
|
|
|
if ($awards_amount > 0) { |
|
|
|
|
|
|
|
@ -103,9 +116,15 @@ class Zone |
|
|
|
} |
|
|
|
|
|
|
|
# 完成订单 |
|
|
|
ConsumptionRecords::endOrder($c_r_id); |
|
|
|
ConsumptionRecords::endOrder($c_r_id,$awards_amount); |
|
|
|
|
|
|
|
$connection->commit(); |
|
|
|
return ['status' => 1, 'msg' => '完成', 'awards_amount' => $awards_amount]; |
|
|
|
} catch (\Exception $e) { |
|
|
|
|
|
|
|
return ['status' => 1, 'msg' => '完成']; |
|
|
|
$connection->rollback(); |
|
|
|
return ['status' => 0, 'msg' => '操作异常']; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
|