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; } $chainMainId = $shop->mainId ?? 0; $chainData = $data; $chainData['mainId'] = $chainMainId; self::add($chainData, true); } } } //删除分类 ssh 20240220 public static function delClass($class, $masterShop) { if ($class->isDefault == 1) { util::fail('默认分类不能删除'); } $classId = $class->id ?? 0; $mainId = $class->mainId ?? 0; $className = $class->name ?? ''; $defaultId = 0; $classList = self::getAllByCondition(['mainId' => $mainId], null, '*'); if (!empty($classList)) { foreach ($classList as $classInfo) { if ($classInfo['isDefault'] == 1) { $defaultId = $classInfo['id'] ?? 0; } } } if (empty($defaultId)) { util::fail('没有找到默认分类'); } $class->delete(); CpClass::updateByCondition(['mainId' => $mainId, 'classId' => $classId], ['classId' => $defaultId]); 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; } $chainMainId = $shop->mainId ?? 0; $chainClassList = self::getAllByCondition(['mainId' => $chainMainId], null, '*', null, true); if (!empty($chainClassList)) { $chainDefaultId = 0; $chainDelId = 0; foreach ($chainClassList as $chainClass) { $currentId = $class['id'] ?? 0; if ($chainClass->isDefault == 1) { $chainDefaultId = $currentId; } if ($chainClass->name == $className) { $chainDelId = $currentId; $chainClass->delete(); } } if (!empty($chainDelId) && !empty($chainDefaultId)) { CpClass::updateByCondition(['mainId' => $chainMainId, 'classId' => $chainDelId], ['classId' => $chainDefaultId]); } } } } } }