|
@@ -20,6 +20,7 @@ use bizGhs\stock\classes\StockRecordClass;
|
|
|
use bizGhs\ws\services\WsService;
|
|
use bizGhs\ws\services\WsService;
|
|
|
use bizHd\custom\classes\CustomClass;
|
|
use bizHd\custom\classes\CustomClass;
|
|
|
use bizHd\merchant\classes\SjClass;
|
|
use bizHd\merchant\classes\SjClass;
|
|
|
|
|
+use bizHd\order\classes\OrderItemClass;
|
|
|
use bizHd\refund\classes\HdRefundClass;
|
|
use bizHd\refund\classes\HdRefundClass;
|
|
|
use bizHd\shop\classes\MainClass;
|
|
use bizHd\shop\classes\MainClass;
|
|
|
use bizHd\shop\classes\ShopMoneyChangeClass;
|
|
use bizHd\shop\classes\ShopMoneyChangeClass;
|
|
@@ -265,7 +266,12 @@ class OrderClass extends BaseClass
|
|
|
$shopId = $order->shopId;
|
|
$shopId = $order->shopId;
|
|
|
$shop = ShopClass::getById($shopId, true);
|
|
$shop = ShopClass::getById($shopId, true);
|
|
|
if (!empty($shop)) {
|
|
if (!empty($shop)) {
|
|
|
- HdRefundClass::onlyRefundAmount($shop, $order);
|
|
|
|
|
|
|
+ // HdRefundClass::onlyRefundAmount($shop, $order);
|
|
|
|
|
+ // 恢复取消的订单,即:把订单的状态从取消状态变成待付款状态
|
|
|
|
|
+ $res = self::revoverOrderToPay($order);
|
|
|
|
|
+ if ($res == false) {
|
|
|
|
|
+ noticeUtil::push('恢复取消的订单失败,订单号:' . $orderSn, '15280215347');
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
util::stop("SUCCESS");
|
|
util::stop("SUCCESS");
|
|
|
}
|
|
}
|
|
@@ -531,6 +537,55 @@ class OrderClass extends BaseClass
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // 恢复订单 -- 即:把订单的状态从取消状态变成待付款状态
|
|
|
|
|
+ public static function revoverOrderToPay($order)
|
|
|
|
|
+ {
|
|
|
|
|
+ if ($order->status != 5) {
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ $order->status = 1;
|
|
|
|
|
+ $order->deadline = date("Y-m-d H:i:s", strtotime("+1 day"));
|
|
|
|
|
+ $order->save();
|
|
|
|
|
+
|
|
|
|
|
+ // 重新占用库存(与取消订单时的库存回滚相反)
|
|
|
|
|
+ $item = OrderItemClass::getByCondition(['orderSn' => $order->orderSn], true);
|
|
|
|
|
+ if (!empty($item)) {
|
|
|
|
|
+ $ptItemId = $item->ptItemId ?? 0;
|
|
|
|
|
+ $sjId = $item->sjId ?? 0;
|
|
|
|
|
+ $shopId = $item->shopId ?? 0;
|
|
|
|
|
+ $mainId = $item->mainId ?? 0;
|
|
|
|
|
+ $ratio = $item->ratio ?? 20;
|
|
|
|
|
+ $unitType = $item->unitType ?? 0;
|
|
|
|
|
+ if ($unitType == 0) {
|
|
|
|
|
+ $bigNum = $item->num;
|
|
|
|
|
+ $smallNum = 0;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ $bigNum = 0;
|
|
|
|
|
+ $smallNum = $item->num;
|
|
|
|
|
+ }
|
|
|
|
|
+ $itemId = $item->itemId ?? 0;
|
|
|
|
|
+
|
|
|
|
|
+ // 重新扣减库存(占用库存)
|
|
|
|
|
+ $stockInfo = ProductClass::decreaseStock($itemId, $bigNum, $smallNum, true);
|
|
|
|
|
+ $recordData = [];
|
|
|
|
|
+ $recordData['sjId'] = $sjId;
|
|
|
|
|
+ $recordData['shopId'] = $shopId;
|
|
|
|
|
+ $recordData['mainId'] = $mainId;
|
|
|
|
|
+ $recordData['itemId'] = $ptItemId;
|
|
|
|
|
+ $recordData['itemNum'] = ProductClass::mergeItemNum($bigNum, $smallNum, $ratio);
|
|
|
|
|
+ $recordData['oldStock'] = $stockInfo['oldStock'];
|
|
|
|
|
+ $recordData['newStock'] = $stockInfo['newStock'];
|
|
|
|
|
+ $recordData['productId'] = $itemId;
|
|
|
|
|
+ $recordData['orderSn'] = $order->orderSn;
|
|
|
|
|
+ $recordData['relateName'] = '系统恢复订单';
|
|
|
|
|
+ StockRecordClass::hdKdAddRecord($recordData);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
// 扣库存
|
|
// 扣库存
|
|
|
protected static function decGoodsStock($orderGoods)
|
|
protected static function decGoodsStock($orderGoods)
|
|
|
{
|
|
{
|