Browse Source

app 自取订单

shish 4 years ago
parent
commit
d3b0aa6829
2 changed files with 17 additions and 21 deletions
  1. 11 11
      app-ghs/controllers/OrderController.php
  2. 6 10
      biz-hd/purchase/services/PurchaseService.php

+ 11 - 11
app-ghs/controllers/OrderController.php

@@ -33,20 +33,20 @@ class OrderController extends BaseController
         $id = isset($get['id']) ? $get['id'] : 0;
         $order = OrderClass::getById($id, true);
         if (empty($order)) {
-            util::fail('没有找到订单');
+            util::complete('没有找到订单');
         }
         if ($order->status != OrderClass::ORDER_STATUS_UN_PAY) {
             if ($order->status == OrderClass::ORDER_STATUS_COMPLETE) {
-                util::fail('订单已付款');
+                util::complete('订单已付款');
             }
-            util::fail('订单不是待付款状态');
+            util::complete('订单不是待付款状态');
         }
         OrderClass::valid($order, $this->shopId);
         $cgId = $order->purchaseId ?? 0;
         $cg = PurchaseClass::getById($cgId, true);
         $orderSn = $cg->orderSn ?? '';
         if (empty($orderSn)) {
-            util::fail('没有找到采购单');
+            util::complete('没有找到采购单');
         }
         $payWay = $cg->payWay ?? dict::getDict('payWay', 'wxPay');
         if ($payWay == dict::getDict('payWay', 'wxPay')) {
@@ -69,14 +69,14 @@ class OrderController extends BaseController
                     util::success(['returnStatus' => 'SUCCESS']);
                 } else if ($payReturn["trade_state"] == "USERPAYING") {
                     //用户支付中
-                    util::fail('正在付款,请稍候再试');
+                    util::complete('正在付款,请稍候再试');
                 }
             }
             if ($payReturn["err_code"] == "ORDERNOTEXIST") {
                 //交易订单号不存在
-                util::fail('订单没有发起过支付');
+                util::complete('订单没有发起过支付');
             } else {
-                util::fail('系统错误,请稍候再试');
+                util::complete('系统错误,请稍候再试');
             }
         } elseif ($payWay == dict::getDict('payWay', 'alipay')) {
             //支付宝付款
@@ -104,7 +104,8 @@ class OrderController extends BaseController
             util::fail('没有找到采购单');
         }
         //付款码
-        $authCode = (string)$get['authCode'] ?? '';
+        //$authCode = (string)$get['authCode'] ?? '';
+        $authCode = '135188925086652713';
         if (empty($authCode)) {
             util::fail('支付失败');
         }
@@ -146,19 +147,18 @@ class OrderController extends BaseController
 
                 $microPay = new \MicroPay();
                 $res = $microPay->pay($input, $sjExtend);
-                Yii::info(json_encode($res));
-                if (isset($res["return_code"]) && $res["return_code"] == "SUCCESS") {
+                if (isset($res["return_code"]) && $res["return_code"] == "SUCCESS" && isset($res["result_code"]) && $res["result_code"] == 'SUCCESS') {
                     $transactionId = $res['transaction_id'] ?? '';
                     $openId = $res['openid'] ?? '';
                     $payWay = dict::getDict('payWay', 'wxPay');
                     PurchaseService::codePay($payWay, $orderSn, $transactionId, $openId);
                     util::success(['returnStatus' => 'SUCCESS']);
                 }
+                util::complete('');
             } catch (\Exception $e) {
                 Yii::info($e->getMessage());
                 util::fail('支付失败,请查询订单支付结果');
             }
-
         } else {
 
             $aliF2F = Yii::getAlias("@vendor/alipayF2F");

+ 6 - 10
biz-hd/purchase/services/PurchaseService.php

@@ -236,7 +236,7 @@ class PurchaseService extends BaseService
             util::fail($msg);
         }
 
-        //临时解决微信一秒内通知二次问题
+        //解决并发问题
         $id = $info->id;
         $info = PurchaseClass::getLockById($id);
 
@@ -244,6 +244,8 @@ class PurchaseService extends BaseService
         $info->codePay = 1;
         $info->thirdNo = $transactionId;
         $info->payOpenId = $openId;
+        //自取订单
+        $info->getType = PurchaseClass::GET_TYPE_SELF_GET;
         $info->save();
         self::payAfter($info, $payWay);
 
@@ -251,19 +253,13 @@ class PurchaseService extends BaseService
         $order = OrderClass::getById($saleId, true);
         $order->onlinePay = dict::getDict('onlinePay', 'yes');
         $order->codePay = 1;
-        $order->save();
-
-        //不需要打印小票
+        //自取订单
+        $order->sendType = OrderClass::SEND_TYPE_NO;
+        //不需要小票
         $order->needPrint = dict::getDict('needPrint', 'noNeed');
         $order->save();
 
         OrderService::payAfter($order, $payWay, true);
-
-        //直接完成,不走配送流程
-        $order = OrderClass::getLockById($saleId);
-        OrderClass::selfSend($order);
-        $order = OrderClass::getLockById($saleId);
-        OrderService::reach($order);
     }
 
     //采购订单支付成功后回调处理流程