Browse Source

跑腿创建门店优化

shish 10 months ago
parent
commit
1c81a18eac
2 changed files with 108 additions and 114 deletions
  1. 54 55
      app-ghs/controllers/IntraCityController.php
  2. 54 59
      app-hd/controllers/IntraCityController.php

+ 54 - 55
app-ghs/controllers/IntraCityController.php

@@ -35,70 +35,69 @@ class IntraCityController extends BaseController
 {
     public $guestAccess = ['callback'];
 
+    //申请开通跑腿 ssh
+    public function actionApply()
+    {
+        IntraCityExpress::applyStore();
+    }
+
     /**
      * 创建门店
      * POST /intra-city/create-store
      */
     public function actionCreateStore()
     {
-        try {
-            $shop = $this->shop;
-            $shopName = $shop->shopName ?? '';
-            $sjName = $shop->merchantName ?? '';
-            $name = $shopName == '首店' ? $sjName : $sjName . ' ' . $shopName;
-
-            $storeData = [
-                'out_store_id' => $this->mainId, //自定义门店编号
-                'store_name' => $name,
-                'address_info' => [
-                    'province' => $shop->province,
-                    'city' => $shop->city,
-                    'area' => $shop->dist,
-                    'street' => '',
-                    'house' => $shop->floor ? $shop->address . $shop->floor : $shop->address,
-                    'lat' => $shop->lat,
-                    'lng' => $shop->long,
-                    'phone' => $shop->telephone
-                ]
-            ];
-
-            // 验证必填参数
-            $requiredFields = ['out_store_id', 'store_name', 'address_info'];
-            foreach ($requiredFields as $field) {
-                if (empty($storeData[$field])) {
-                    util::fail("缺少必填参数:{$field}");
-                }
-            }
-
-            // 创建门店前,检查是否已经 开通门店权限 (有wxStoreId,即说明开通了)
-            $main = MainClass::getById($this->mainId, true, 'id, wxStoreId');
-
-            // 查询是否存在 wx_store_id,不存在则执行apply
-            if ($main->wxStoreId == '') {
-//                $re = IntraCityExpress::applyStore();
-//                if (!is_array($re)) {
-//                    $re = Json::decode($re, true);
-//                }
-//                if ($re['errcode'] != 0) {
-//                    Yii::error("开通门店权限失败:" . $re['errmsg']);
-//                    util::fail('开通门店权限失败');
-//                }
-            }
+        $shop = $this->shop;
+        $shopName = $shop->shopName ?? '';
+        $sjName = $shop->merchantName ?? '';
+        $name = $shopName == '首店' ? $sjName : $sjName . ' ' . $shopName;
+        if (empty($shop->latitude) || empty($shop->longitude)) {
+            util::fail('没有经纬度,请修改地址');
+        }
+        if (empty($shop->address)) {
+            util::fail('地址缺失,请修改');
+        }
 
-            $result = IntraCityExpress::createStore($storeData);
-            if ($result['errcode'] === 0) {
-                // 保存微信门店编号(wx_store_id)
-                $main->wxStoreId = $result['wx_store_id'];
-                $main->save();
+        $adminId = $this->adminId;
+        util::checkRepeatCommit($adminId, 4);
 
-                util::success($result, "门店创建成功");
-            } else {
-                Yii::error("门店创建失败:" . $result['errmsg']);
-                util::fail($result['errmsg']);
+        $storeData = [
+            'out_store_id' => $this->mainId, //自定义门店编号
+            'store_name' => $name,
+            'address_info' => [
+                'province' => $shop->province,
+                'city' => $shop->city,
+                'area' => $shop->dist,
+                'street' => $shop->address,
+                'house' => $shop->floor,
+                'lat' => $shop->lat,
+                'lng' => $shop->long,
+                'phone' => $shop->telephone
+            ]
+        ];
+        // 验证必填参数
+        $requiredFields = ['out_store_id', 'store_name', 'address_info'];
+        foreach ($requiredFields as $field) {
+            if (empty($storeData[$field])) {
+                util::fail("缺少必填参数:{$field}");
             }
-        } catch (\Exception $e) {
-            Yii::error("门店创建失败:" . $e->getMessage());
-            util::fail("系统出错");
+        }
+        // 创建门店前,检查是否已经 开通门店权限 (有wxStoreId,即说明开通了)
+        $main = $this->main;
+        if (!empty($main->wxStoreId)) {
+            util::fail('已经创建门店,请刷新');
+        }
+        $result = IntraCityExpress::createStore($storeData);
+        if ($result['errcode'] === 0) {
+            // 保存微信门店编号(wx_store_id)
+            $main->wxStoreId = $result['wx_store_id'];
+            $main->save();
+            util::success($result, "门店创建成功");
+        } else {
+            $errMsg = $result['errmsg'] ?? '';
+            Yii::error("门店创建失败:" . $errMsg);
+            noticeUtil::push("跑腿创建门店报错:" . $errMsg, '15280215347');
+            util::fail('创建失败,请联系客服');
         }
     }
 

+ 54 - 59
app-hd/controllers/IntraCityController.php

@@ -32,75 +32,70 @@ class IntraCityController extends BaseController
 
     public $guestAccess = ['callback'];
 
+    public function actionApply()
+    {
+        IntraCityExpress::applyStore();
+    }
+
     /**
      * 创建门店
      * POST /intra-city/create-store
      */
     public function actionCreateStore()
     {
-        try {
-            $shop = $this->shop;
-            $shopName = $shop->shopName ?? '';
-            $sjName = $shop->merchantName ?? '';
-            $name = $shopName == '首店' ? $sjName : $sjName . ' ' . $shopName;
-
-            $adminId = $this->adminId;
-            util::checkRepeatCommit($adminId, 4);
 
-            $storeData = [
-                'out_store_id' => $this->mainId, //自定义门店编号 --  从 shopId 改为 mainId
-                'store_name' => $name,
-                'address_info' => [
-                    'province' => $shop->province,
-                    'city' => $shop->city,
-                    'area' => $shop->dist,
-                    'street' => '',
-                    'house' => $shop->floor ? $shop->address . $shop->floor : $shop->address,
-                    'lat' => $shop->lat,
-                    'lng' => $shop->long,
-                    'phone' => $shop->telephone
-                ]
-            ];
-
-            // 验证必填参数
-            $requiredFields = ['out_store_id', 'store_name', 'address_info'];
-            foreach ($requiredFields as $field) {
-                if (empty($storeData[$field])) {
-                    util::fail("缺少必填参数:{$field}");
-                }
-            }
-            // 创建门店前,检查是否已经 开通门店权限 (有wxStoreId,即说明开通了)
-            //$shopExt = ShopExtClass::getByCondition(['shopId' => $shopId], true, false, 'id, wxStoreId');
-            $shopExt = MainClass::getById($this->mainId, true, 'id, wxStoreId');
-
-            // 查询是否存在 wx_store_id,不存在则执行apply
-            if ($shopExt->wxStoreId == '') {
-//                $re = IntraCityExpress::applyStore();
-//                if (!is_array($re)) {
-//                    $re = Json::decode($re, true);
-//                }
-//                if ($re['errcode'] != 0) {
-//                    Yii::error("开通门店权限失败:" . $re['errmsg']);
-//                    util::fail('开通门店权限失败');
-//                }
-            }
+        $shop = $this->shop;
+        $shopName = $shop->shopName ?? '';
+        $sjName = $shop->merchantName ?? '';
+        $name = $shopName == '首店' ? $sjName : $sjName . ' ' . $shopName;
 
-            $result = IntraCityExpress::createStore($storeData);
-            if ($result['errcode'] === 0) {
-                // 保存微信门店编号(wx_store_id)
-                $shopExt->wxStoreId = $result['wx_store_id'];
-                $shopExt->save();
+        $adminId = $this->adminId;
+        util::checkRepeatCommit($adminId, 4);
 
-                util::success($result, "门店创建成功");
-            } else {
-                Yii::error("门店创建失败:" . $result['errmsg']);
-                $errMsg = $result['errmsg'] ?? '';
-                noticeUtil::push("报错内容:" . $errMsg, '15280215347');
-                util::fail($result['errmsg']);
+        if (empty($shop->latitude) || empty($shop->longitude)) {
+            util::fail('没有经纬度,请修改地址');
+        }
+        if (empty($shop->address)) {
+            util::fail('地址缺失,请修改');
+        }
+        $storeData = [
+            'out_store_id' => $this->mainId, //自定义门店编号 --  从 shopId 改为 mainId
+            'store_name' => $name,
+            'address_info' => [
+                'province' => $shop->province,
+                'city' => $shop->city,
+                'area' => $shop->dist,
+                'street' => $shop->address,
+                'house' => $shop->floor,
+                'lat' => $shop->lat,
+                'lng' => $shop->long,
+                'phone' => $shop->telephone
+            ]
+        ];
+        // 验证必填参数
+        $requiredFields = ['out_store_id', 'store_name', 'address_info'];
+        foreach ($requiredFields as $field) {
+            if (empty($storeData[$field])) {
+                util::fail("缺少必填参数:{$field}");
             }
-        } catch (\Exception $e) {
-            Yii::error("门店创建失败:" . $e->getMessage());
-            util::fail("系统出错");
+        }
+        // 创建门店前,检查是否已经 开通门店权限 (有wxStoreId,即说明开通了)
+        $main = $this->main;
+        // 查询是否存在 wx_store_id,不存在则执行apply
+        if (!empty($main->wxStoreId)) {
+            util::fail('已经创建门店,请刷新');
+        }
+        $result = IntraCityExpress::createStore($storeData);
+        if ($result['errcode'] === 0) {
+            // 保存微信门店编号(wx_store_id)
+            $main->wxStoreId = $result['wx_store_id'];
+            $main->save();
+            util::success($result, "门店创建成功");
+        } else {
+            Yii::error("门店创建失败:" . $result['errmsg']);
+            $errMsg = $result['errmsg'] ?? '';
+            noticeUtil::push("跑腿创建门店报错:" . $errMsg, '15280215347');
+            util::fail('创建失败,请联系客服');
         }
     }