|
|
@@ -6,6 +6,15 @@ use biz\base\services\BaseService;
|
|
|
use biz\cp\classes\PtCpClass;
|
|
|
use biz\cp\classes\PtCpClassClass;
|
|
|
use biz\cp\classes\PtCpItemClass;
|
|
|
+use biz\item\classes\PtItemClass;
|
|
|
+use biz\product\classes\ProductClass;
|
|
|
+use bizGhs\cp\classes\CpClass;
|
|
|
+use bizGhs\cp\classes\CpClassClass;
|
|
|
+use bizGhs\cp\classes\CpItemClass;
|
|
|
+use bizGhs\item\classes\ItemClassClass;
|
|
|
+use common\components\noticeUtil;
|
|
|
+use common\components\stringUtil;
|
|
|
+use common\components\util;
|
|
|
|
|
|
class PtCpService extends BaseService
|
|
|
{
|
|
|
@@ -17,14 +26,94 @@ class PtCpService extends BaseService
|
|
|
$ptClassList = PtCpClassClass::getAllByCondition(['delStatus' => 0], null, '*');
|
|
|
foreach ($ptClassList as $ptClass) {
|
|
|
$ptClassId = $ptClass['id'] ?? 0;
|
|
|
+ $ptClassName = $ptClass['name'] ?? '';
|
|
|
+ $ptClassCover = $ptClass['cover'] ?? '';
|
|
|
+ $ptClassInTurn = $ptClass['inTurn'] ?? 100;
|
|
|
+ $ptClassIsDefault = $ptClass['isDefault'] ?? 0;
|
|
|
+ $addClass = ['cover' => $ptClassCover, 'mainId' => $mainId, 'name' => $ptClassName, 'inTurn' => $ptClassInTurn, 'isDefault' => $ptClassIsDefault];
|
|
|
+ $customClass = CpClassClass::add($addClass, true);
|
|
|
+ $customClassId = $customClass->id ?? 0;
|
|
|
$ptCpList = PtCpClass::getAllByCondition(['classId' => $ptClassId, 'delStatus' => 0], null, '*');
|
|
|
if (!empty($ptCpList)) {
|
|
|
foreach ($ptCpList as $ptCp) {
|
|
|
$ptCpId = $ptCp['id'] ?? 0;
|
|
|
- $ptCpItemList = PtCpItemClass::getAllByCondition(['cpId' => $ptCpId], null, '*');
|
|
|
+ $ptCpName = $ptCp['name'] ?? '';
|
|
|
+ $ptCpPy = $ptCp['py'] ?? '';
|
|
|
+ $ptCpCover = $ptCp['cover'] ?? '';
|
|
|
+ $ptCpAuth = $ptCp['auth'] ?? 0;
|
|
|
+ $ptCpInTurn = $ptCp['inTurn'] ?? 100;
|
|
|
+ $addCp = [
|
|
|
+ 'mainId' => $mainId,
|
|
|
+ 'name' => $ptCpName,
|
|
|
+ 'cover' => $ptCpCover,
|
|
|
+ 'classId' => $customClassId,
|
|
|
+ 'ptCpId' => $ptCpId,
|
|
|
+ 'py' => $ptCpPy,
|
|
|
+ 'auth' => $ptCpAuth,
|
|
|
+ 'inTurn' => $ptCpInTurn,
|
|
|
+ ];
|
|
|
+ $customCp = CpClass::add($addCp, true);
|
|
|
+ $customCpId = $customCp->id ?? 0;
|
|
|
+ $customCpName = $customCp->name ?? '';
|
|
|
+ $customCpPy = $customCp->py ?? '';
|
|
|
+ $ptCpItemList = PtCpItemClass::getAllByCondition(['cpId' => $ptCpId], null, '*', 'itemId');
|
|
|
if (!empty($ptCpItemList)) {
|
|
|
+ $ids = array_keys($ptCpItemList);
|
|
|
+ $ptProductList = PtItemClass::getAllByCondition(['id' => ['in', $ids]], null, '*', 'id');
|
|
|
+ $productList = ProductClass::getAllByCondition(['mainId' => $mainId, 'itemId' => ['in', $ids]], null, '*', 'itemId', true);
|
|
|
+ $customDefaultClass = ItemClassClass::getByCondition(['mainId' => $mainId, 'isDefault' => 1], true);
|
|
|
+ if (empty($customDefaultClass)) {
|
|
|
+ noticeUtil::push("mainId:{$mainId} 初始化产品和花材信息,没有找到默认分类", '15280215347');
|
|
|
+ util::stop('没有找到默认分类哈');
|
|
|
+ }
|
|
|
+ $customDefaultClassId = $customDefaultClass->id ?? 0;
|
|
|
foreach ($ptCpItemList as $ptCpItem) {
|
|
|
-
|
|
|
+ $currentItemId = $ptCpItem['itemId'] ?? 0;
|
|
|
+ $currentCpId = $ptCpItem['cpId'] ?? 0;
|
|
|
+ $currentAuth = $ptCpItem['auth'] ?? 0;
|
|
|
+ $currentInTurn = $ptCpItem['inTurn'] ?? 100;
|
|
|
+ if (isset($productList[$currentItemId])) {
|
|
|
+ $currentProduct = $productList[$currentItemId];
|
|
|
+ if ($currentProduct->delStatus == 1) {
|
|
|
+ $currentProduct->delStatus = 0;
|
|
|
+ }
|
|
|
+ $currentProduct->hasCpId = 1;
|
|
|
+ $currentProduct->save();
|
|
|
+ } else {
|
|
|
+ $currentPtProduct = $ptProductList[$currentItemId];
|
|
|
+ if (empty($currentPtProduct)) {
|
|
|
+ noticeUtil::push("mainId:{$mainId} 初始化产品和花材信息,没有找到平台花材 ptItemId:{$currentItemId}", '15280215347');
|
|
|
+ util::stop('没有找到平台的花材信息哦');
|
|
|
+ }
|
|
|
+ $addItem = $currentPtProduct;
|
|
|
+ unset($addItem['id']);
|
|
|
+ $addItem['itemId'] = $currentItemId;
|
|
|
+ $addItem['hasCpId'] = 1;
|
|
|
+ $addItem['skPrice'] = 36;
|
|
|
+ $addItem['price'] = 36;
|
|
|
+ $addItem['hjPrice'] = 36;
|
|
|
+ $addItem['mainId'] = $mainId;
|
|
|
+ $addItem['py'] = stringUtil::py($addItem['name']);
|
|
|
+ $addItem['classId'] = $customDefaultClassId;
|
|
|
+ $currentProduct = ProductClass::add($addItem, true);
|
|
|
+ }
|
|
|
+ $productId = $currentProduct->id ?? 0;
|
|
|
+ $productName = $currentProduct->name ?? '';
|
|
|
+ $productPy = $currentProduct->py ?? '';
|
|
|
+ $addCpItem = [
|
|
|
+ 'cpId' => $customCpId,
|
|
|
+ 'ptCpId' => $currentCpId,
|
|
|
+ 'productId' => $productId,
|
|
|
+ 'ptItemId' => $currentItemId,
|
|
|
+ 'name' => $productName,
|
|
|
+ 'py' => $productPy,
|
|
|
+ 'cpName' => $customCpName,
|
|
|
+ 'cpPy' => $customCpPy,
|
|
|
+ 'mainId' => $mainId,
|
|
|
+ 'auth' => $currentAuth,
|
|
|
+ 'inTurn' => $currentInTurn,
|
|
|
+ ];
|
|
|
+ CpItemClass::add($addCpItem, true);
|
|
|
}
|
|
|
}
|
|
|
}
|