|
|
@@ -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
|