|
|
@@ -6,7 +6,6 @@ use biz\shop\classes\ShopAdminClass;
|
|
|
use biz\shop\models\Shop;
|
|
|
use biz\stat\classes\StatOrderCountClass;
|
|
|
use bizGhs\stat\classes\StatYjClass;
|
|
|
-use bizHd\stat\classes\StatOrderClass;
|
|
|
use bizHd\user\classes\UserClass;
|
|
|
use common\components\miniUtil;
|
|
|
use common\components\orderSn;
|
|
|
@@ -63,10 +62,13 @@ class OrderClass extends BaseClass
|
|
|
$data['orderSn'] = orderSn::getOrderSn();
|
|
|
$data['payStatus'] = 0;
|
|
|
$shopId = $data['shopId'] ?? 0;
|
|
|
+ //累计订单增加
|
|
|
$shop = Shop::findBySql('select * from ' . Shop::tableName() . ' where id = :id for update', ['id' => $shopId])->one();
|
|
|
- $riseNum = StatOrderCountClass::addOrder($shop);
|
|
|
-
|
|
|
+ $shop->unPayOrder += 1;
|
|
|
+ $shop->totalOrder += 1;
|
|
|
+ $shop->save();
|
|
|
//将花店每月的总订单数作为编号
|
|
|
+ $riseNum = StatOrderCountClass::addOrder($shop);
|
|
|
$data['sendNum'] = $riseNum;
|
|
|
$data['totalFlow'] = OrderClass::ORDER_TOTAL_FLOW;
|
|
|
$return = self::add($data);
|
|
|
@@ -138,15 +140,39 @@ class OrderClass extends BaseClass
|
|
|
return $rand / 10;
|
|
|
}
|
|
|
|
|
|
- //订单完成 ssh 2020.3.12
|
|
|
- public static function complete($order, $currentFlow)
|
|
|
+ //第三方支付后回调处理流程 shish 2021.4.30
|
|
|
+ public static function thirdPay($payWay, $orderSn, $totalFee, $attach)
|
|
|
{
|
|
|
- $id = $order['id'];
|
|
|
- self::updateById($id, ['status' => OrderClass::ORDER_STATUS_COMPLETE, 'currentFlow' => $currentFlow]);
|
|
|
+ $order = self::getByCondition(['orderSn' => $orderSn], true);
|
|
|
+ if (empty($order)) {
|
|
|
+ $msg = "没有找到零售订单 orderSn:{$orderSn}";
|
|
|
+ Yii::info($msg);
|
|
|
+ util::fail($msg);
|
|
|
+ }
|
|
|
+ if ($order->actPrice != $totalFee) {
|
|
|
+ $msg = "零售订单金额与回调通知金额不一致 orderSn:{$orderSn} {$order->actPrice} {$totalFee}";
|
|
|
+ Yii::info($msg);
|
|
|
+ util::fail($msg);
|
|
|
+ }
|
|
|
+ $date = date("Y-m-d H:i:s");
|
|
|
+ $order->payTime = $date;
|
|
|
+ self::complete($order, $payWay);
|
|
|
}
|
|
|
|
|
|
- //订单完成(这个方法要跟上面的组合一起) shish 2021.4.20
|
|
|
- public static function finish($order, $payWay)
|
|
|
+ //员工开单选择付款方式 shish 2021.5.4
|
|
|
+ public static function staffKdPay($payWay, $orderSn)
|
|
|
+ {
|
|
|
+ $order = self::getByCondition(['orderSn' => $orderSn], true);
|
|
|
+ if (empty($order)) {
|
|
|
+ $msg = "没有找到零售订单 orderSn:{$orderSn}";
|
|
|
+ Yii::info($msg);
|
|
|
+ util::fail($msg);
|
|
|
+ }
|
|
|
+ self::complete($order, $payWay);
|
|
|
+ }
|
|
|
+
|
|
|
+ //订单完成 shish 2021.4.20
|
|
|
+ public static function complete($order, $payWay)
|
|
|
{
|
|
|
if (empty($order)) {
|
|
|
util::fail('没有找到订单');
|
|
|
@@ -154,10 +180,40 @@ class OrderClass extends BaseClass
|
|
|
if (isset($order->status) == false || $order->status != self::ORDER_STATUS_UN_PAY) {
|
|
|
util::fail('订单不是待付款状态');
|
|
|
}
|
|
|
- $order->status = self::ORDER_STATUS_COMPLETE;
|
|
|
- $order->currentFlow = self::ORDER_TOTAL_FLOW;
|
|
|
+ $order->status = self::ORDER_STATUS_UN_SEND;
|
|
|
+ $order->currentFlow = 2;
|
|
|
$order->payWay = $payWay;
|
|
|
$order->save();
|
|
|
+
|
|
|
+ //下单完成,开始制单
|
|
|
+ $current = time();
|
|
|
+ $orderId = $order->id;
|
|
|
+ $orderSn = $order->orderSn;
|
|
|
+ OrderSendClass::placeOrder(['orderId' => $orderId, 'payTime' => $current, 'orderSn' => $orderSn]);
|
|
|
+
|
|
|
+ $shopId = $order->shopId;
|
|
|
+ $shop = Shop::findBySql('select * from ' . Shop::tableName() . ' where id = :id for update', ['id' => $shopId])->one();
|
|
|
+ $shop->finishOrder += 1;
|
|
|
+ $shop->unSendOrder += 1;
|
|
|
+ $shop->unPayOrder -= 1;
|
|
|
+ $shop->save();
|
|
|
+
|
|
|
+ if (isset($order->shopAdminId) && !empty($order->shopAdminId)) {
|
|
|
+ //员工开单,自取订单,直接完成
|
|
|
+ if ($order->sendType == self::SEND_TYPE_NO) {
|
|
|
+ OrderSendClass::withoutSend($order);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //门店和朋友圈订单并且没有填写收花人的直接将订单置为自取并且是完成状态
|
|
|
+ if (isset($order->fromType) && in_array($order->fromType, [0, 2])) {
|
|
|
+ if (isset($order->receiveMobile) && isset($order->address)) {
|
|
|
+ if (empty($order->receiveMobile) && empty($order->address)) {
|
|
|
+ OrderSendClass::withoutSend($order);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
//转化出送到时间 ssh 2020.3.15
|
|
|
@@ -206,45 +262,4 @@ class OrderClass extends BaseClass
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //支付成功需要处理的流程 ssh 2020.5.25
|
|
|
- public static function payAfter($order, $updateData)
|
|
|
- {
|
|
|
- $orderId = $order['id'];
|
|
|
- $orderSn = $order['orderSn'];
|
|
|
- $now = time();
|
|
|
- self::updateById($orderId, $updateData);
|
|
|
- //发货流程的完成下单
|
|
|
- OrderSendClass::placeOrder(['orderId' => $orderId, 'payTime' => $now, 'orderSn' => $orderSn]);
|
|
|
-
|
|
|
- //增加订单数
|
|
|
- $shopId = $order['shopId'];
|
|
|
- $shop = Shop::findBySql('select * from ' . Shop::tableName() . ' where id = :id for update', ['id' => $shopId])->one();
|
|
|
- StatOrderClass::updateOrInsert($shop);
|
|
|
- //如果门店和朋友圈订单并且没有填写收花人的直接将订单置为自取并且是完成状态
|
|
|
- if (isset($order['fromType']) && in_array($order['fromType'], [0, 2])) {
|
|
|
- if (isset($order['receiveMobile']) && isset($order['address'])) {
|
|
|
- if (empty($order['receiveMobile']) && empty($order['address'])) {
|
|
|
- OrderSendClass::withoutSend($order);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //第三方支付后回调处理流程 shish 2021.4.30
|
|
|
- public static function thirdPay($payWay, $orderSn, $totalFee, $attach)
|
|
|
- {
|
|
|
- $info = self::getByCondition(['orderSn' => $orderSn], true);
|
|
|
- if (empty($info)) {
|
|
|
- $msg = "没有找到零售订单 orderSn:{$orderSn}";
|
|
|
- Yii::info($msg);
|
|
|
- util::fail($msg);
|
|
|
- }
|
|
|
- if ($info->actPrice != $totalFee) {
|
|
|
- $msg = "零售订单金额与回调通知金额不一致 orderSn:{$orderSn} {$info->actPrice} {$totalFee}";
|
|
|
- Yii::info($msg);
|
|
|
- util::fail($msg);
|
|
|
- }
|
|
|
- self::finish($info, $payWay);
|
|
|
- }
|
|
|
-
|
|
|
}
|