| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- <?php
- namespace bizGhs\cp\classes;
- use bizGhs\base\classes\BaseClass;
- use bizGhs\shop\classes\ShopClass;
- use common\components\util;
- class CpClassClass extends BaseClass
- {
- public static $baseFile = '\bizGhs\cp\models\CpClass';
- public static function getClassList($where)
- {
- $data = self::getList('*', $where, 'inTurn DESC');
- return $data;
- }
- public static function addClass($data, $masterShop)
- {
- self::add($data);
- 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;
- $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]);
- }
- }
- }
- }
- }
- }
|