浏览代码

分店同步

shish 4 年之前
父节点
当前提交
75cff95678
共有 2 个文件被更改,包括 29 次插入21 次删除
  1. 21 13
      app-ghs/controllers/CustomController.php
  2. 8 8
      console/controllers/CustomController.php

+ 21 - 13
app-ghs/controllers/CustomController.php

@@ -229,23 +229,31 @@ class CustomController extends BaseController
         util::complete('已添加,1分钟后生效');
     }
 
-    //从店同步客户 shizhongqi 2022.6.9
+    //从其它店同步客户 shizhongqi 2022.6.9
     public function actionCopyCustomers()
     {
-        $shopId = $this->shopId;
-        // 检测首店存在
-        $defaultShopId = ShopClass::getDefaultShopId($this->shop);
-        if (empty($defaultShopId)) {
-            util::fail('没有找到首店');
+        $get = Yii::$app->request->get();
+        $fromShopId = $get['fromShopId'] ?? 0;
+        $fromShop = ShopClass::getById($fromShopId, true);
+        if (empty($fromShop)) {
+            util::fail('门店不存在');
+        }
+        $toShopId = $this->shopId;
+
+        if ($fromShopId == $toShopId) {
+            util::fail('请选其它分店');
         }
-        $shop = ShopClass::getById($defaultShopId, true);
-        if (empty($shop)) {
-            util::fail('首店不存在');
+
+        $toShop = $this->shop;
+        $toSjId = $toShop->sjId ?? 0;
+        $fromSjId = $fromShop->sjId ?? 0;
+        if ($toSjId != $fromSjId) {
+            util::fail('不是您的门店');
         }
-        $cachedKey = 'copy_firstShop_customers';
-        Yii::$app->redis->executeCommand('LPUSH', [$cachedKey, $shopId . '_' . $defaultShopId]);
-        Yii::info("从首店同步客户:分店id =  " . $shopId . ' 首店id = ' . $defaultShopId);
-        util::complete('已申请,1分钟后同步完成');
+        $cachedKey = 'copy_other_shop_customers';
+        Yii::$app->redis->executeCommand('LPUSH', [$cachedKey, $toShopId . '_' . $fromShopId]);
+        Yii::info("从其他门店同步客户:目标门店id =  " . $toShopId . ' 来源门店id = ' . $fromShopId);
+        util::complete('已提交,1分钟后生效');
     }
 
     //客户列表 ssh 2021.7.8

+ 8 - 8
console/controllers/CustomController.php

@@ -223,7 +223,7 @@ class CustomController extends Controller
     //批发端分店从首店同步客户
     private function copyCustomers()
     {
-        $cachedKey = 'copy_firstShop_customers';
+        $cachedKey = 'copy_other_shop_customers';
         $shopIdList = [];
         while ($count = Yii::$app->redis->executeCommand('LLEN', [$cachedKey])) {
             $shopIdData = Yii::$app->redis->executeCommand('RPOP', [$cachedKey]);
@@ -237,20 +237,20 @@ class CustomController extends Controller
         foreach ($shopIdList as $shopIdData) {
             $shopIdArr = explode('_', $shopIdData);
             if (count($shopIdArr) != 2) {
-                Yii::info('copyCustomers 数据出错:' . $shopIdData);
-                noticeUtil::push("分店从首店同步客户出错了:" . $shopIdData, '15280215347');
+                Yii::info('copy customer 数据出错:' . $shopIdData);
+                noticeUtil::push("从分店同步客户出错了:" . $shopIdData, '15280215347');
                 continue;
             }
 
-            $shopId = $shopIdArr[0];
-            $defaultShopId = $shopIdArr[1];
+            $toShopId = $shopIdArr[0];
+            $fromShopId = $shopIdArr[1];
             Yii::$app->params['ptStyle'] = dict::getDict('ptStyle', 'ghs'); //指定当前环境为批发商
 
-            $customers = CustomClass::getAllByCondition(['ownShopId' => $defaultShopId], null, ['shopId']);
+            $customers = CustomClass::getAllByCondition(['ownShopId' => $fromShopId], null, ['shopId']);
             foreach ($customers as $customer) {
-                $exist = CustomClass::exists(['ownShopId' => $shopId, 'shopId' => $customer['shopId']]);
+                $exist = CustomClass::exists(['ownShopId' => $toShopId, 'shopId' => $customer['shopId']]);
                 if (!$exist) {
-                    CustomClass::build($shopId, $customer['shopId']);
+                    CustomClass::build($toShopId, $customer['shopId']);
                 }
             }
         }