Explorar o código

添加和修改分类

shish %!s(int64=2) %!d(string=hai) anos
pai
achega
671a019ba0

+ 33 - 1
app-ghs/controllers/CpClassController.php

@@ -3,6 +3,7 @@
 namespace ghs\controllers;
 
 use bizGhs\cp\classes\CpClassClass;
+use bizGhs\shop\classes\ShopClass;
 use common\components\imgUtil;
 use common\components\util;
 use Yii;
@@ -58,7 +59,7 @@ class CpClassController extends BaseController
             util::fail('名字不能为空');
         }
         $get['mainId'] = $this->mainId;
-        CpClassClass::add($get);
+        CpClassClass::addClass($get, $this->shop);
         util::complete('添加成功');
     }
 
@@ -77,10 +78,41 @@ class CpClassController extends BaseController
         $name = $get['name'] ?? '';
         $inTurn = $get['inTurn'] ?? 100;
         $print = $get['print'] ?? 0;
+        $hide = $get['hide'] ?? 0;
+        $originName = $class->name ?? '';
         $class->name = $name;
         $class->inTurn = $inTurn;
         $class->print = $print;
+        $class->hide = $hide;
         $class->save();
+
+        $masterShop = $this->shop;
+        if (isset($masterShop->default) && $masterShop->default == 1) {
+            $sjId = $masterShop->sjId ?? 0;
+            $shopList = ShopClass::getAllByCondition(['sjId' => $sjId], null, '*', null, true);
+            foreach ($shopList as $shop) {
+                $shopId = $shop->id ?? 0;
+                if ($shopId == $masterShop->id) {
+                    //前面已经修改过了
+                    continue;
+                }
+                $currentMainId = $shop->mainId ?? 0;
+                $chainClassList = CpClassClass::getAllByCondition(['mainId' => $currentMainId], null, '*', null, true);
+                if (!empty($chainClassList)) {
+                    foreach ($chainClassList as $chainClass) {
+                        if ($chainClass->name == $originName) {
+                            if ($chainClass->isDefault != 1) {
+                                $chainClass->name = $name;
+                            }
+                            $chainClass->inTurn = $inTurn;
+                            $chainClass->print = $print;
+                            $chainClass->hide = $hide;
+                            $chainClass->save();
+                        }
+                    }
+                }
+            }
+        }
         util::complete('修改成功');
     }
 

+ 19 - 0
biz-ghs/cp/classes/CpClassClass.php

@@ -3,6 +3,7 @@
 namespace bizGhs\cp\classes;
 
 use bizGhs\base\classes\BaseClass;
+use bizGhs\shop\classes\ShopClass;
 
 class CpClassClass extends BaseClass
 {
@@ -15,4 +16,22 @@ class CpClassClass extends BaseClass
         return $data;
     }
 
+    public static function addClass($data, $currentShop)
+    {
+        self::add($data);
+        if (isset($currentShop->default) && $currentShop->default == 1) {
+            $shopList = ShopClass::getAllByCondition(['sjId' => $data['sjId']], null, '*', null, true);
+            foreach ($shopList as $shop) {
+                $shopId = $shop->id ?? 0;
+                if ($shopId == $currentShop->id) {
+                    continue;
+                }
+                $chainMainId = $shop->mainId ?? 0;
+                $chainData = $data;
+                $chainData['mainId'] = $chainMainId;
+                self::add($chainData, true);
+            }
+        }
+    }
+
 }