|
|
@@ -4,6 +4,7 @@ namespace bizGhs\cp\classes;
|
|
|
|
|
|
use bizGhs\base\classes\BaseClass;
|
|
|
use bizGhs\shop\classes\ShopClass;
|
|
|
+use common\components\util;
|
|
|
|
|
|
class CpClassClass extends BaseClass
|
|
|
{
|
|
|
@@ -16,14 +17,14 @@ class CpClassClass extends BaseClass
|
|
|
return $data;
|
|
|
}
|
|
|
|
|
|
- public static function addClass($data, $currentShop)
|
|
|
+ public static function addClass($data, $masterShop)
|
|
|
{
|
|
|
self::add($data);
|
|
|
- if (isset($currentShop->default) && $currentShop->default == 1) {
|
|
|
+ if (isset($masterShop->default) && $masterShop->default == 1) {
|
|
|
$shopList = ShopClass::getAllByCondition(['sjId' => $data['sjId']], null, '*', null, true);
|
|
|
foreach ($shopList as $shop) {
|
|
|
$shopId = $shop->id ?? 0;
|
|
|
- if ($shopId == $currentShop->id) {
|
|
|
+ if ($shopId == $masterShop->id) {
|
|
|
continue;
|
|
|
}
|
|
|
$chainMainId = $shop->mainId ?? 0;
|
|
|
@@ -34,4 +35,57 @@ class CpClassClass extends BaseClass
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ //删除分类 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 $class) {
|
|
|
+ if ($class['isDefault'] == 1) {
|
|
|
+ $defaultId = $class['id'] ?? 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (empty($defaultId)) {
|
|
|
+ util::fail('没有找到默认分类');
|
|
|
+ }
|
|
|
+ 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]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|