| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- <?php
- namespace biz\cp\services;
- 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
- {
- public static $baseFile = '\biz\cp\classes\PtCpClass';
- //初始化商家的产品 ssh 20240216
- public static function initMainCp($main)
- {
- $mainId = $main->id ?? 0;
- $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;
- $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;
- $currentPtProduct = $ptProductList[$currentItemId];
- if (isset($productList[$currentItemId])) {
- $currentProduct = $productList[$currentItemId];
- if ($currentProduct->delStatus == 1) {
- $currentProduct->delStatus = 0;
- }
- $currentProduct->auth = $currentPtProduct['auth'] ?? 0;
- $currentProduct->hasCpId = 1;
- $currentProduct->save();
- } else {
- 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;
- //有二个添加花材的地方,请搜索关键词add_item_place
- $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);
- }
- }
- }
- }
- }
- }
- }
|