Kirin před 1 rokem
rodič
revize
f6eb38cec7

+ 6 - 6
app/admin/controller/store/Placeorder.php

@@ -309,9 +309,9 @@ class Placeorder extends AuthController
         if (!$key) return app('json')->fail('参数错误!');
         if (StoreOrder::be(['order_id|unique' => $key, 'uid' => $uid, 'is_del' => 0]))
             return app('json')->status('extend_order', '订单已生成', ['orderId' => $key, 'key' => $key]);
-        list($addressId, $couponId, $payType, $useIntegral, $mark, $combinationId, $pinkId, $seckill_id, $formId, $bargainId, $shipping_type) = UtilService::postMore([
+        list($addressId, $couponId, $payType, $useIntegral, $mark, $combinationId, $pinkId, $seckill_id, $formId, $bargainId, $shipping_type, $offline_type) = UtilService::postMore([
             'addressId', 'couponId', ['payType', 'yue'], ['useIntegral', 0], 'mark', ['combinationId', 0], ['pinkId', 0], ['seckill_id', 0], ['formId', ''], ['bargainId', ''],
-            ['shipping_type', 1],
+            ['shipping_type', 1], ['offline_type', 0],
         ], $request, true);
         $payType = strtolower($payType);
         if ($bargainId) {
@@ -333,7 +333,7 @@ class Placeorder extends AuthController
             if (StoreOrder::getIsOrderPink($pinkId, $uid))
                 return app('json')->status('ORDER_EXIST', '订单生成失败,你已经参加该团了,请先支付订单', ['orderId' => StoreOrder::getStoreIdPink($pinkId, $uid)]);
         }
-        $priceGroup = StoreOrder::cacheKeyCreateOrder($uid, $key, $addressId, $payType, (int)$useIntegral, $couponId, $mark, $combinationId, $pinkId, $seckill_id, $bargainId, true, 0, $shipping_type);
+        $priceGroup = StoreOrder::cacheKeyCreateOrder($uid, $key, $addressId, $payType, (int)$useIntegral, $couponId, $mark, $combinationId, $pinkId, $seckill_id, $bargainId, true, 0, $shipping_type, '', '', 0, 0, $offline_type);
         if ($priceGroup)
             return app('json')->status('NONE', 'ok', $priceGroup);
         else
@@ -357,9 +357,9 @@ class Placeorder extends AuthController
         if (!$key) return app('json')->fail('参数错误!');
         if (StoreOrder::be(['order_id|unique' => $key, 'uid' => $uid, 'is_del' => 0]))
             return app('json')->status('extend_order', '订单已生成', ['orderId' => $key, 'key' => $key]);
-        list($addressId, $couponId, $payType, $useIntegral, $mark, $combinationId, $pinkId, $seckill_id, $formId, $bargainId, $from, $shipping_type, $real_name, $phone, $storeId, $auth_code) = UtilService::postMore([
+        list($addressId, $couponId, $payType, $useIntegral, $mark, $combinationId, $pinkId, $seckill_id, $formId, $bargainId, $from, $shipping_type, $real_name, $phone, $storeId, $auth_code, $offline_type) = UtilService::postMore([
             'addressId', 'couponId', 'payType', ['useIntegral', 0], 'mark', ['combinationId', 0], ['pinkId', 0], ['seckill_id', 0], ['formId', ''], ['bargainId', ''], ['from', 'weixin'],
-            ['shipping_type', 1], ['real_name', '散户'], ['phone', '18700010001'], ['store_id', 0], ['auth_code', ''],
+            ['shipping_type', 1], ['real_name', '散户'], ['phone', '18700010001'], ['store_id', 0], ['auth_code', ''], ['offline_type', 0],
         ], $request, true);
         if (empty($real_name)) $real_name = '散户';
         if (empty($phone)) $phone = '18700010001';
@@ -389,7 +389,7 @@ class Placeorder extends AuthController
         elseif ($from == 'weixinh5')
             $isChannel = 2;
 
-        $order = StoreOrder::cacheKeyCreateOrder($uid, $key, $addressId, $payType, (int)$useIntegral, $couponId, $mark, $combinationId, $pinkId, $seckill_id, $bargainId, false, $isChannel, $shipping_type, $real_name, $phone, $storeId);
+        $order = StoreOrder::cacheKeyCreateOrder($uid, $key, $addressId, $payType, (int)$useIntegral, $couponId, $mark, $combinationId, $pinkId, $seckill_id, $bargainId, false, $isChannel, $shipping_type, $real_name, $phone, $storeId, 0, $offline_type);
         if ($order === false) return app('json')->fail(StoreOrder::getErrorInfo('订单生成失败'));
         $orderId = $order['order_id'];
         $info = compact('orderId', 'key');

+ 11 - 1
app/admin/model/order/StoreOrder.php

@@ -673,12 +673,19 @@ HTML;
                 'col' => 2
             ],
             [
-                'name' => '线下支付金额',
+                'name' => '现金支付金额',
                 'field' => '元',
                 'count' => $price['pay_price_offline'],
                 'background_color' => 'layui-bg-blue',
                 'col' => 2
             ],
+            [
+                'name' => '门店扫码支付金额',
+                'field' => '元',
+                'count' => $price['pay_price_offline_1'],
+                'background_color' => 'layui-bg-blue',
+                'col' => 2
+            ],
             [
                 'name' => '积分抵扣',
                 'field' => '分',
@@ -711,6 +718,7 @@ HTML;
         $price['pay_price_wx'] = 0;//微信支付金额
         $price['pay_price_yue'] = 0;//余额支付金额
         $price['pay_price_offline'] = 0;//线下支付金额
+        $price['pay_price_offline_1'] = 0;//线下支付金额
         $price['pay_price_jialie'] = 0;//余额支付金额
         $price['pay_price_other'] = 0;//其他支付金额
         $price['use_integral'] = 0;//用户使用积分
@@ -762,6 +770,8 @@ HTML;
                 $price['pay_price_other'] = $v['sum_pay_price'];
             }
         }
+        $price['pay_price_offline_1'] = self::getOrderWhere($where, $model)->where($whereData)->where('offline_type', 1)->sum('pay_price');
+        $price['pay_price_offline'] -= $price['pay_price_offline_1'];
         return $price;
     }
 

+ 11 - 1
app/admin/view/store/placeorder/index.php

@@ -230,6 +230,15 @@
 										</i-Select>
 									</div>
 								</i-Col>
+                                <i-Col span="6">
+                                    <div class="flex">
+                                        <span class="no-shink mar-l-10">线下支付方式:</span>
+                                        <i-Select name="offline_type" v-model="form.offline_type" style="width: 80%" filterable v-if="form.pay_type == 'offline'">
+                                            <i-Option value="0">现金</i-Option>
+                                            <i-Option value="1">门店扫码</i-Option>
+                                        </i-Select>
+                                    </div>
+                                </i-Col>
 								<i-Col span="6">
 									<div class="flex">
 										<span class="no-shink mar-l-10">当前金额:¥{{allPayMoney}}</span>
@@ -251,6 +260,7 @@
 							form: {
 								store_id: '{eq name="type" value="1"}{$store.0.id}{/eq}', //商家id
 								pay_type: 'offline' //支付类型
+                                offline_type: 0 //支付类型
 							},
 							shopList: [], //当前选中的商品
 							userCardInput: '', //用户输入内容
@@ -442,7 +452,7 @@
 								}
 							});
 						},
-						//处理扫码加入商品时间 
+						//处理扫码加入商品时间
 						async getShopNum() {
 							const that = this;
 							if (that.lodingAddCart) {

+ 6 - 6
app/api/controller/order/StoreOrderController.php

@@ -124,9 +124,9 @@ class StoreOrderController
         $uid = $request->uid();
         if (StoreOrder::be(['order_id|unique' => $key, 'uid' => $uid, 'is_del' => 0]))
             return app('json')->status('extend_order', '订单已生成', ['orderId' => $key, 'key' => $key]);
-        list($addressId, $couponId, $payType, $useIntegral, $mark, $combinationId, $pinkId, $seckill_id, $formId, $bargainId, $shipping_type, $is_consumer) = UtilService::postMore([
+        list($addressId, $couponId, $payType, $useIntegral, $mark, $combinationId, $pinkId, $seckill_id, $formId, $bargainId, $shipping_type, $is_consumer, $offline_type) = UtilService::postMore([
             'addressId', 'couponId', ['payType', 'yue'], ['useIntegral', 0], 'mark', ['combinationId', 0], ['pinkId', 0], ['seckill_id', 0], ['formId', ''], ['bargainId', ''],
-            ['shipping_type', 1], ['is_consumer', 0]
+            ['shipping_type', 1], ['is_consumer', 0], ['offline_type', 0]
         ], $request, true);
         $payType = strtolower($payType);
         if ($bargainId) {
@@ -148,7 +148,7 @@ class StoreOrderController
             if (StoreOrder::getIsOrderPink($pinkId, $request->uid()))
                 return app('json')->status('ORDER_EXIST', '订单生成失败,你已经参加该团了,请先支付订单', ['orderId' => StoreOrder::getStoreIdPink($pinkId, $request->uid())]);
         }
-        $priceGroup = StoreOrder::cacheKeyCreateOrder($request->uid(), $key, $addressId, $payType, (int)$useIntegral, $couponId, $mark, $combinationId, $pinkId, $seckill_id, $bargainId, true, 0, $shipping_type, '', '', 0, $is_consumer);
+        $priceGroup = StoreOrder::cacheKeyCreateOrder($request->uid(), $key, $addressId, $payType, (int)$useIntegral, $couponId, $mark, $combinationId, $pinkId, $seckill_id, $bargainId, true, 0, $shipping_type, '', '', 0, $is_consumer, $offline_type);
         if ($priceGroup)
             return app('json')->status('NONE', 'ok', $priceGroup);
         else
@@ -172,9 +172,9 @@ class StoreOrderController
         $uid = $request->uid();
         if (StoreOrder::be(['order_id|unique' => $key, 'uid' => $uid, 'is_del' => 0]))
             return app('json')->status('extend_order', '订单已生成', ['orderId' => $key, 'key' => $key]);
-        list($addressId, $couponId, $payType, $useIntegral, $mark, $combinationId, $pinkId, $seckill_id, $formId, $bargainId, $from, $shipping_type, $real_name, $phone, $storeId, $is_consumer) = UtilService::postMore([
+        list($addressId, $couponId, $payType, $useIntegral, $mark, $combinationId, $pinkId, $seckill_id, $formId, $bargainId, $from, $shipping_type, $real_name, $phone, $storeId, $is_consumer, $offline_type) = UtilService::postMore([
             'addressId', 'couponId', 'payType', ['useIntegral', 0], 'mark', ['combinationId', 0], ['pinkId', 0], ['seckill_id', 0], ['formId', ''], ['bargainId', ''], ['from', 'weixin'],
-            ['shipping_type', 1], ['real_name', ''], ['phone', ''], ['store_id', 0], ['is_consumer', 0]
+            ['shipping_type', 1], ['real_name', ''], ['phone', ''], ['store_id', 0], ['is_consumer', 0], ['offline_type', 0]
         ], $request, true);
         $payType = strtolower($payType);
         if ($bargainId) {
@@ -202,7 +202,7 @@ class StoreOrderController
         elseif ($from == 'weixinh5')
             $isChannel = 2;
 
-        $order = StoreOrder::cacheKeyCreateOrder($request->uid(), $key, $addressId, $payType, (int)$useIntegral, $couponId, $mark, $combinationId, $pinkId, $seckill_id, $bargainId, false, $isChannel, $shipping_type, $real_name, $phone, $storeId, $is_consumer);
+        $order = StoreOrder::cacheKeyCreateOrder($request->uid(), $key, $addressId, $payType, (int)$useIntegral, $couponId, $mark, $combinationId, $pinkId, $seckill_id, $bargainId, false, $isChannel, $shipping_type, $real_name, $phone, $storeId, $is_consumer, $offline_type);
 //        @file_put_contents('order.txt', '【2】' . time() . PHP_EOL, FILE_APPEND);
         if ($order === false) return app('json')->fail(StoreOrder::getErrorInfo('订单生成失败'));
         $orderId = $order['order_id'];

+ 2 - 1
app/models/store/StoreOrder.php

@@ -270,7 +270,7 @@ class StoreOrder extends BaseModel
      * @throws \think\exception\DbException
      */
 
-    public static function cacheKeyCreateOrder($uid, $key, $addressId, $payType, $useIntegral = false, $couponId = 0, $mark = '', $combinationId = 0, $pinkId = 0, $seckill_id = 0, $bargain_id = 0, $test = false, $isChannel = 0, $shipping_type = 1, $real_name = '', $phone = '', $storeId = 0, $is_consumer = 0)
+    public static function cacheKeyCreateOrder($uid, $key, $addressId, $payType, $useIntegral = false, $couponId = 0, $mark = '', $combinationId = 0, $pinkId = 0, $seckill_id = 0, $bargain_id = 0, $test = false, $isChannel = 0, $shipping_type = 1, $real_name = '', $phone = '', $storeId = 0, $is_consumer = 0, $offline_type = 0)
     {
         self::beginTrans();
         try {
@@ -486,6 +486,7 @@ class StoreOrder extends BaseModel
                 'is_bind' => $other['is_bind'] ?? 0,
                 'store_bag' => $other['store_bag'] ?? 0,
                 'store_spread' => $other['store_spread'] ?? 0,
+                'offline_type' => $offline_type
             ];
             if ($shipping_type === 2) {
                 $orderInfo['verify_code'] = self::getStoreCode();