Bladeren bron

所有花材

shish 2 jaren geleden
bovenliggende
commit
399e2e1615
1 gewijzigde bestanden met toevoegingen van 12 en 6 verwijderingen
  1. 12 6
      biz-ghs/item/classes/ItemClass.php

+ 12 - 6
biz-ghs/item/classes/ItemClass.php

@@ -180,12 +180,13 @@ class ItemClass extends BaseClass
             ProductClass::batchAdd($productAddData);
         }
 
-        //找出已经添加进来的花材
-        $allItem = ProductClass::getAllByCondition(['mainId' => $mainId], null, '*', 'itemId', true);
+        //找出已经添加进来的所有花材
+        $allMyItem = ProductClass::getAllByCondition(['mainId' => $mainId], null, '*', 'itemId', true);
+        $hasCreate = [];
         $ptCpClassList = PtCpClass::getAllByCondition(['delStatus' => 0], null, '*', null, true);
         $hasClass = CpClassClass::getByCondition(['mainId' => $mainId], true);
         if (!empty($ptCpClassList) && empty($hasClass)) {
-            foreach ($ptCpClassList as $ptClassKey => $ptClass) {
+            foreach ($ptCpClassList as $ptClass) {
                 $ptCpClassId = $ptClass->id ?? 0;
                 $name = $ptClass->name ?? '';
                 $cover = $ptClass->cover ?? '';
@@ -201,6 +202,10 @@ class ItemClass extends BaseClass
                 if (!empty($currentCpList)) {
                     foreach ($currentCpList as $currentCp) {
                         $cpId = $currentCp->id ?? 0;
+                        if (isset($hasCreate[$cpId])) {
+                            //一个产品可能会在多个分类下,所以需要排重
+                            continue;
+                        }
                         $name = $currentCp->name ?? '';
                         $py = $currentCp->py ?? '';
                         $cover = $currentCp->cover ?? '';
@@ -217,6 +222,7 @@ class ItemClass extends BaseClass
                             'shopId' => 0,
                             'mainId' => $mainId,
                         ], true);
+                        $hasCreate[$cpId] = $cpId;
                         $ptCpItemList = PtCpItemClass::getAllByCondition(['cpId' => $cpId], null, '*', null, true);
                         if (!empty($ptCpItemList)) {
                             foreach ($ptCpItemList as $ptCpItem) {
@@ -227,10 +233,10 @@ class ItemClass extends BaseClass
                                 $ptCpNamePy = $ptCpItem->cpPy ?? '';
                                 $auth = $ptCpItem->auth ?? 0;
                                 $inTurn = $ptCpItem->inTurn ?? 0;
-                                if (isset($allItem[$ptItemId]) == false) {
-                                    util::fail("平台花材 {$ptItemName} ID {$ptItemId}没有设置花材分类");
+                                if (isset($allMyItem[$ptItemId]) == false) {
+                                    util::fail("平台花材 {$ptItemName} ID {$ptItemId} 没有设置平台花材分类,导致没有生成产品");
                                 }
-                                $current = $allItem[$ptItemId];
+                                $current = $allMyItem[$ptItemId];
                                 $productId = $current->id ?? 0;
                                 $customCpId = $customCp->id ?? 0;
                                 $addData = [