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

如果有同步分类则移动,没有则不移动

shish 3 жил өмнө
parent
commit
a6f557cb28

+ 19 - 3
biz-ghs/product/classes/ProductClass.php

@@ -892,12 +892,28 @@ class ProductClass extends BaseClass
                     //前面已经添加过了
                     continue;
                 }
+                $chainMainId = $chainShop->mainId ?? 0;
                 $params = $paramsBack;
-                //所有直营店的分类、上下架、启用停用不同步
-                unset($params['classId']);
+                //所有直营店上下架、启用停用不同步
                 unset($params['status']);
                 unset($params['delStatus']);
-                $chainMainId = $chainShop->mainId ?? 0;
+
+                //如果有同步分类则移动,没有则不移动
+                if (isset($params['classId'])) {
+                    $masterClassId = $params['classId'];
+                    unset($params['classId']);
+                    $masterClass = ItemClassClass::getById($masterClassId, true);
+                    $masterClassName = $masterClass->name ?? '';
+                    $classList = ItemClassClass::getAllByCondition(['mainId' => $chainMainId], null, '*', null, true);
+                    if (!empty($classList)) {
+                        foreach ($classList as $currentClass) {
+                            if ($currentClass->name == $masterClassName) {
+                                $params['classId'] = $currentClass->id ?? 0;
+                            }
+                        }
+                    }
+                }
+
                 $chainProduct = ProductClass::getByCondition(['mainId' => $chainMainId, 'itemId' => $ptItemId], true);
                 if (empty($chainProduct)) {
                     continue;