Эх сурвалжийг харах

Merge branch 'master' into zhongqi-delivery

shish 8 сар өмнө
parent
commit
10fbc70f6b

+ 42 - 14
app-hd/controllers/OrderController.php

@@ -67,6 +67,13 @@ class OrderController extends BaseController
             $info->debt = 1;
             $info->save();
             OrderClass::payAfter($info, $payWay);
+
+            //到店自取订单,并且是待取货状态,则自动完成取货,多处要同步修改,关键词 reach_shop_fetch_goods
+            if ($info->getGoods == 1 && $info->sendType == 1 && $info->status == 2) {
+                $info->status = 4;
+                $info->save();
+            }
+
             $transaction->commit();
             util::complete('赊账成功');
         } catch (\Exception $exception) {
@@ -366,14 +373,27 @@ class OrderController extends BaseController
                     payUtil::thirdPay($payWayType, $capitalType, $orderSn, $totalFee, $attach, $transactionId);
                     $transaction->commit();
 
-                    //打印小票和语音播报
-                    $newOrder = OrderClass::getById($id, true);
-                    OrderClass::onlinePrint($newOrder);
-                    ShopExtClass::hdGatheringReport($newOrder);
+                    //解决重复通知
+                    $cacheKey = 'hd_shop_order_pay_check_' . $orderSn;
+                    $has = Yii::$app->redis->executeCommand('GET', [$cacheKey]);
+                    if (empty($has)) {
+                        Yii::$app->redis->executeCommand('SETEX', [$cacheKey, 300, 'has']);
+
+                        //打印小票和语音播报
+                        $newOrder = OrderClass::getById($id, true);
+                        OrderClass::onlinePrint($newOrder);
+                        ShopExtClass::hdGatheringReport($newOrder);
+
+                        //到店自取订单,并且是待取货状态,则自动完成取货,多处要同步修改,关键词 reach_shop_fetch_goods
+                        if ($newOrder->getGoods == 1 && $newOrder->sendType == 1 && $newOrder->status == 2) {
+                            $newOrder->status = 4;
+                            $newOrder->save();
+                        }
 
-                    $shopId = $newOrder->shopId ?? 0;
-                    $shop = ShopClass::getById($shopId, true);
-                    WxMessageClass::gatheringIncomeInform($shop, $newOrder);
+                        $shopId = $newOrder->shopId ?? 0;
+                        $shop = ShopClass::getById($shopId, true);
+                        WxMessageClass::gatheringIncomeInform($shop, $newOrder);
+                    }
 
                     util::success(['returnStatus' => 'SUCCESS']);
                 } else {
@@ -505,7 +525,15 @@ class OrderController extends BaseController
                 $has = Yii::$app->redis->executeCommand('GET', [$cacheKey]);
                 if (empty($has)) {
                     Yii::$app->redis->executeCommand('SETEX', [$cacheKey, 300, 'has']);
+
                     $newOrder = OrderClass::getById($id, true);
+
+                    //到店自取订单,并且是待取货状态,则自动完成取货,多处要同步修改,关键词 reach_shop_fetch_goods
+                    if ($newOrder->getGoods == 1 && $newOrder->sendType == 1 && $newOrder->status == 2) {
+                        $newOrder->status = 4;
+                        $newOrder->save();
+                    }
+
                     //打印小票
                     OrderClass::onlinePrint($newOrder);
                     //语音播报
@@ -608,14 +636,8 @@ class OrderController extends BaseController
                 util::fail('请填写正确的订花人手机号');
             }
         }
-
         $hasPay = $post['hasPay'] ?? dict::getDict('hasPay', 'unPay');
-
-        if (isset($post['isCashier']) && $post['isCashier'] == 1) {
-            //收银台开单默认到店自取
-            $post['sendType'] = dict::getDict('sendType', 'shopGet');
-        }
-
+        $post['sendType'] = $post['sendType'] ?? 1;
         $forward = $post['forward'] ?? 0;
         if ($forward == 1) {
             if ($hasPay != 1) {
@@ -783,6 +805,12 @@ class OrderController extends BaseController
                 }
             }
 
+            //到店自取订单,并且是待取货状态,则自动完成取货,多处要同步修改,关键词 reach_shop_fetch_goods
+            if ($order->getGoods == 1 && $order->sendType == 1 && $order->status == 2) {
+                $order->status = 4;
+                $order->save();
+            }
+
             $transaction->commit();
 
             if ($order->fromType == 3 || $order->fromType == 4) {

+ 14 - 0
app-mall/controllers/OrderController.php

@@ -535,6 +535,20 @@ class OrderController extends BaseController
             $sendDistance = 0;
             $sendCost = 0;
 
+            if ($sendType == dict::getDict('sendType', 'thirdSend')) {
+                $receiveUserName = $post['receiveUserName'] ?? '';
+                if (empty($receiveUserName)) {
+                    util::fail('请填写收花人名字');
+                }
+                $receiveMobile = $post['receiveMobile'] ?? '';
+                if (empty($receiveMobile)) {
+                    util::fail('请填写收花人手机号');
+                }
+                if (!stringUtil::isMobile($receiveMobile)) {
+                    util::fail('收花人手机号错误');
+                }
+            }
+
             $mapSet = ShopClass::hasIntraCity($shop);
             $openIntraCity = $mapSet['openIntraCity'] ?? 0;
 

+ 1 - 1
app-pt/views/main/app.php

@@ -238,7 +238,7 @@
             const downloadUrls = {
                 'xiaohuabao': 'https://api.shop.hzghd.com/1266.apk', // 销花宝APP下载链接
                 'huazhanggui': 'https://api.shop.hzghd.com/217.apk', // 花掌柜APP下载链接
-                'huazhanggui_cashier': 'https://api.shop.hzghd.com/186.apk', // 花掌柜收银下载链接
+                'huazhanggui_cashier': 'https://api.shop.hzghd.com/187.apk', // 花掌柜收银下载链接
                 'xiaohuabao_cashier': 'https://api.shop.hzghd.com/148.apk' // 销花宝收银下载链接
             };
             const url = downloadUrls[appType];

+ 15 - 16
console/controllers/TestController.php

@@ -81,25 +81,24 @@ class TestController extends Controller
 
     }
 
+    //零售到店自取订单全部自动完成 ssh 20251212
     public function actionOrder()
     {
-        $list = \bizGhs\order\classes\OrderClass::getAllByCondition(['mainId' => 10975, 'customId' => 19746, 'onlinePay' => 1, 'payTime>' => '2024-9-30 23:59:59', 'payTime<' => '2024-11-01 00:00:00', 'payStatus' => 1], null, '*', null, true);
-        $ids = [];
-        if (!empty($list)) {
-            $total = 0;
-            foreach ($list as $order) {
-                $actPrice = $order->actPrice ?? 0;
-                $total = bcadd($actPrice, $total, 2);
-                $ids[] = $order->id;
-            }
-            echo $total;
+        ini_set('memory_limit', '2045M');
+        set_time_limit(0);
+        $query = new \yii\db\Query();
+        $query->select(['id', 'sendStatus']);
+        $query->from(\bizHd\order\models\Order::tableName());
+        $query->where(['status' => 2, 'sendType' => 1]);
+        $totalCount = 0;
+        foreach ($query->batch(1000) as $batch) {
+            $ids = array_column($batch, 'id');
+            OrderClass::updateByIds($ids, ['status' => 4,'sendStatus' => -4]);
+            $totalCount += count($ids);
+            echo "已处理 " . $totalCount . " 条记录\n";
         }
-        $clear = ClearClass::getByCondition(['orderSn' => 'CL28884368'], true);
-        $string = $clear->saleIds;
-        $saleIds = explode(',', trim($string));
-        $arr = array_diff($ids, $saleIds);
-        print_r($arr);
-        echo implode(',', $arr);
+        echo "全部完成!共处理 " . $totalCount . " 条记录\n";
+        util::stop('');
     }
 
     //更新核销码 ssh 20240804