|
|
@@ -316,6 +316,8 @@ class StoreOrder extends BaseModel
|
|
|
$cartIds = [];
|
|
|
$totalNum = 0;
|
|
|
$gainIntegral = 0;
|
|
|
+ $number = 0;
|
|
|
+ $shop_number = sys_config('shop_number');
|
|
|
foreach ($cartInfo as $cart) {
|
|
|
$cartIds[] = $cart['id'];
|
|
|
$totalNum += $cart['cart_num'];
|
|
|
@@ -323,8 +325,12 @@ class StoreOrder extends BaseModel
|
|
|
if (!$bargain_id) $bargain_id = $cart['bargain_id'];
|
|
|
if (!$combinationId) $combinationId = $cart['combination_id'];
|
|
|
$cartInfoGainIntegral = isset($cart['productInfo']['give_integral']) ? bcmul($cart['cart_num'], $cart['productInfo']['give_integral'], 2) : 0;
|
|
|
+ $number += $cart['cart_num'];
|
|
|
$gainIntegral = bcadd($gainIntegral, $cartInfoGainIntegral, 2);
|
|
|
}
|
|
|
+ if ($shop_number < $number) return self::setErrorInfo('最大购买数'.$shop_number, true);
|
|
|
+ if ($shop_number - $userInfo['shop_number'] < $number) return self::setErrorInfo('还能最大购买数'.($shop_number - $userInfo['shop_number']), true);
|
|
|
+
|
|
|
$deduction = $seckill_id || $bargain_id || $combinationId;
|
|
|
if ($deduction) {
|
|
|
$couponId = 0;
|
|
|
@@ -770,6 +776,7 @@ class StoreOrder extends BaseModel
|
|
|
$order = self::where('order_id', $orderId)->find();
|
|
|
$resPink = true;
|
|
|
$res1 = self::where('order_id', $orderId)->update(['paid' => 1, 'pay_type' => $paytype, 'pay_time' => time(), 'is_del' => 0, 'is_system_del' => 0, 'mark' => '']);//订单改为支付
|
|
|
+ $res2 = self::order_release($order);
|
|
|
if ($order->combination_id && $res1 && !$order->refund_status) $resPink = StorePink::createPink($order);//创建拼团
|
|
|
$oid = self::where('order_id', $orderId)->value('id');
|
|
|
StoreOrderStatus::status($oid, 'pay_success', '用户付款成功');
|
|
|
@@ -781,6 +788,36 @@ class StoreOrder extends BaseModel
|
|
|
return false !== $res;
|
|
|
}
|
|
|
|
|
|
+ public static function order_release($order)
|
|
|
+ {
|
|
|
+ $orderInfo = StoreOrderCartInfo::where('oid', $order['id'])->select();
|
|
|
+ $release = [];
|
|
|
+ if ($orderInfo){
|
|
|
+ foreach ($orderInfo as $item)
|
|
|
+ {
|
|
|
+ if ($item['cart_info']['productInfo']['give_integral'] > 0)
|
|
|
+ {
|
|
|
+ for ($i = 1; $i <= $item['cart_info']['cart_num']; $i++){
|
|
|
+ $release[] = [
|
|
|
+ 'order_id' => $order['order_id'],
|
|
|
+ 'product_id' => $item['cart_info']['productInfo']['id'],
|
|
|
+ 'uid' => $order['uid'],
|
|
|
+ 'to_release' => $item['cart_info']['productInfo']['give_integral'],
|
|
|
+ 'release' => StoreProduct::where('id', $item['cart_info']['productInfo']['id'])->value('release'),
|
|
|
+ 'create_time' => time()
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ($release){
|
|
|
+ $model = new StoreOrderRelease();
|
|
|
+ $model->saveAll($release);
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
/*
|
|
|
* 线下支付消息通知
|
|
|
* 待完善
|