shish 5 жил өмнө
parent
commit
c3d6b24d8d

+ 42 - 20
biz-ghs/order/classes/OrderClass.php

@@ -5,6 +5,7 @@ namespace bizGhs\order\classes;
 use biz\shop\classes\ShopAdminClass;
 use biz\shop\classes\ShopClass;
 use biz\shop\models\Shop;
+use bizGhs\custom\models\Custom;
 use bizGhs\express\services\DadaExpressServices;
 use bizGhs\order\traits\OrderTrait;
 use bizGhs\product\classes\ProductClass;
@@ -14,6 +15,7 @@ use bizGhs\stat\classes\StatOrderCountClass;
 use bizGhs\stat\classes\StatYjClass;
 use bizHd\stat\classes\StatIncomeClass;
 use bizHd\stat\classes\StatOrderClass;
+use common\components\dict;
 use common\components\httpUtil;
 use common\components\imgUtil;
 use common\components\orderSn;
@@ -504,36 +506,38 @@ class OrderClass extends BaseClass
         $shop->save();
     }
 
-    public static function payAfter($order)
+    public static function payAfter($order, $payWay)
     {
-        //不是待付款和待确认订单
-        if (isset($order->status)) {
+        if (isset($order->status) == false) {
             util::fail('没有订单状态');
         }
         if ($order->status != self::ORDER_STATUS_UN_PAY) {
-            util::fail('已操作过了');
+            util::fail('重复操作');
         }
-
-        if (isset($order->debt) && $order->debt == OrderClass::DEBT_YES) {
-            //欠款
-            $customId = $order->customId ?? 0;
-            $customInfo = CustomClass::getCustom($customId);
-            if (empty($customInfo)) {
-                util::fail('欠款开单必须选客户');
-            }
+        if (isset($order->debt) == false) {
+            util::fail('订单有问题,没有欠款项');
         }
-
+        /**门店资产变化**/
+        $amount = $order->actPrice ?? 0.00;
         $currentShopId = $order->shopId ?? 0;
         $shop = Shop::findBySql('select * from ' . Shop::tableName() . ' where id = :id for update', ['id' => $currentShopId])->one();
         if (empty($shop)) {
             util::fail('没有找到门店');
         }
+        $shop->unPayOrder -= 1;
+        $shop->unSendOrder += 1;
+        $shop->totalOrderNum += 1;
+        $shop->totalIncome = bcadd($shop->totalIncome, $amount, 2);
+        $shop->save();
 
-        $amount = $order->actPrice ?? 0.00;
         //更新订单基础状态和支付状态
         $orderId = $order->id;
         $orderSn = $order->orderSn;
+        $order->payWay = $payWay;
         $order->status = self::ORDER_STATUS_UN_SEND;
+        if ($payWay == dict::getDict('payWay', 'debtPay')) {
+            $order->debt = self::DEBT_YES;
+        }
         $order->save();
 
         //员工业绩、总业绩增加
@@ -545,21 +549,39 @@ class OrderClass extends BaseClass
         }
         StatYjClass::addYj($order);
 
-        $shop->unPayOrder -= 1;
-        $shop->unSendOrder += 1;
-        $shop->totalOrderNum += 1;
-        $shop->totalIncome = bcadd($shop->totalIncome, $amount, 2);
-        $shop->save();
+        /**客户资产变化**/
+        $customId = $order->customId;
+        $custom = Custom::findBySql('select * from ' . Custom::tableName() . ' where id = :id for update', ['id' => $customId])->one();
+        if (empty($custom)) {
+            util::fail('没有找到客户信息');
+        }
+        if ($payWay == dict::getDict('payWay', 'debtPay')) {
+            //欠款支付
+            $custom->isDebt = CustomClass::IS_DEBT_YES;
+            $custom->debtAmount = bcadd($custom->debtAmount, $amount, 2);
+            $custom->debtNum += 1;
+        }
+        $custom->buyNum += 1;
+        $custom->buyAmount = bcadd($custom->buyAmount, $amount, 2);
+        $custom->save();
 
         //每天和每月收入
         StatIncomeClass::updateOrInsert($shop, $order->actPrice);
         //今日订单+1
         StatOrderClass::updateOrInsert($shop);
 
-        //增加已下单流程
+        //显示已下单流程
         $time = date("Y-m-d H:i:s");
         $placeData = ['payTime' => $time, 'orderSn' => $orderSn, 'orderId' => $orderId];
         OrderSendClass::placeOrder($placeData);
+
+        //自取订单,订单直接完成,【现在有三个地方有订单完成操作】,找不到请搜索【】内关键词。
+        if (isset($order->sendType) == false) {
+            util::fail('没有找到配送方式');
+        }
+        if ($order->sendType == OrderClass::SEND_TYPE_NO) {
+            self::withoutSend($order);
+        }
     }
 
     //修改订单表的配送信息 linqh 2021.3.28

+ 8 - 14
biz-hd/purchase/classes/PurchaseClass.php

@@ -207,26 +207,22 @@ class PurchaseClass extends BaseClass
     public static function debt($info)
     {
         $payWay = dict::getDict('payWay', 'debtPay');
-        $info->payWay = $payWay;
-        $info->save();
-        self::payAfter($info);
+        self::payAfter($info, $payWay);
 
         $saleId = $info->saleId ?? 0;
         $order = OrderClass::getById($saleId, true);
-        OrderClass::payAfter($order);
+        OrderClass::payAfter($order, $payWay);
     }
 
     //余额支付 ssh 2021.1.24
     public static function balancePay($info)
     {
         $payWay = dict::getDict('payWay', 'balancePay');
-        $info->payWay = $payWay;
-        $info->save();
-        self::payAfter($info);
+        self::payAfter($info, $payWay);
 
         $saleId = $info->saleId ?? 0;
         $order = OrderClass::getById($saleId, true);
-        OrderClass::payAfter($order);
+        OrderClass::payAfter($order, $payWay);
     }
 
     //检查采购单
@@ -256,17 +252,15 @@ class PurchaseClass extends BaseClass
             Yii::info($msg);
             util::fail($msg);
         }
-        $info->payWay = $payWay;
-        $info->save();
-        self::payAfter($info);
+        self::payAfter($info, $payWay);
 
         $saleId = $info->saleId ?? 0;
         $order = OrderClass::getById($saleId, true);
-        OrderClass::payAfter($order);
+        OrderClass::payAfter($order, $payWay);
     }
 
     //第三方支付、余额支付和欠款支付后调用的流程 shish 2021.4.27
-    public static function payAfter($info)
+    public static function payAfter($info, $payWay)
     {
         if (empty($info)) {
             util::fail('没有找到订单');
@@ -276,7 +270,7 @@ class PurchaseClass extends BaseClass
         }
 
         /**零售采购单状态变化**/
-        $payWay = $info->payWay;
+        $info->payWay = $payWay;
         $info->status = self::STATUS_UN_SEND;
         if ($payWay == dict::getDict('payWay', 'debtPay')) {
             //欠款支付

+ 2 - 3
biz-hd/purchase/services/PurchaseService.php

@@ -26,7 +26,7 @@ class PurchaseService extends BaseService
         $currentShopId = $ghs['shopId'] ?? 0;
         $currentSjId = $ghs['sjId'] ?? 0;
         $product = $data['product'] ?? [];
-        $price = 0.01;
+        $sendCost = $data['sendCost'] ?? 0;
         $customId = $ghs['customId'] ?? 0;
         $custom = CustomClass::getById($customId);
         if (empty($custom)) {
@@ -48,8 +48,7 @@ class PurchaseService extends BaseService
             'product' => $product,
             'merchantId' => $currentSjId,
             'shopId' => $currentShopId,
-            'prePrice' => $price,
-            'actPrice' => $price,
+            'sendCost' => $sendCost,
             'customId' => $customId,
             'customName' => $customName,
             'customNamePy' => $customNamePy,

+ 4 - 0
sql.sql

@@ -2491,3 +2491,7 @@ ALTER TABLE `xhTMessage`
 CHANGE COLUMN `merchantId` `ptStyle`  int(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '平台类型: 1花店,2供货商,3商城' AFTER `id`,
 DROP INDEX `merchantId`,
 ADD INDEX `idx_ptStyle` (`ptStyle`) ;
+
+
+-----shish 20210514
+ALTER TABLE xhPurchase MODIFY `status` TINYINT(2) NOT NULL DEFAULT '1' COMMENT '订单状态 1待付款,待确认,2待配送,3配送中,4已完成 5已取消';