| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- <?php
- namespace console\controllers;
- use biz\cp\classes\PtCpClass;
- use biz\cp\classes\PtCpClassClass;
- use biz\cp\classes\PtCpItemClass;
- use biz\item\classes\PtItemCatClass;
- use biz\item\classes\PtItemCatRelateClass;
- use biz\item\classes\PtItemClass;
- use common\components\util;
- use yii\console\Controller;
- use Yii;
- class PtCpController extends Controller
- {
- //生成平台需要的产品和产品的分类 ssh 20240215
- public function actionInitCp()
- {
- ini_set('memory_limit', '2045M');
- set_time_limit(0);
- $sql = 'TRUNCATE `xhPtCp`;TRUNCATE `xhPtCpItem`;TRUNCATE `xhPtCpClass`;TRUNCATE `xhCp`;TRUNCATE `xhCpClass`;TRUNCATE `xhCpI`;';
- Yii::$app->db->createCommand($sql)->execute();
- $connection = Yii::$app->db;
- $transaction = $connection->beginTransaction();
- try {
- $itemClassList = PtItemCatClass::getAllByCondition(['type' => 0], null, '*');
- if (empty($itemClassList)) {
- util::stop('没有花材的分类');
- }
- foreach ($itemClassList as $itemClass) {
- $classId = $itemClass['id'] ?? 0;
- $className = $itemClass['name'] ?? '';
- $classCover = $itemClass['cover'] ?? '';
- $classInTurn = $itemClass['inTurn'] ?? 100;
- $itemList = PtItemCatRelateClass::getAllByCondition(['catId' => $classId], null, '*', 'itemId');
- if (empty($itemList)) {
- continue;
- }
- $addClass = ['cover' => $classCover, 'name' => $className, 'inTurn' => $classInTurn];
- $newClass = PtCpClassClass::add($addClass, true);
- $newClassId = $newClass->id ?? 0;
- $ids = array_keys($itemList);
- $newItemList = PtItemClass::getAllByCondition(['id' => ['in', $ids]], null, '*');
- foreach ($newItemList as $newItem) {
- $itemId = $newItem['id'] ?? 0;
- $itemName = $newItem['name'] ?? '';
- $itemPy = $newItem['py'] ?? '';
- $itemCover = $newItem['cover'] ?? '';
- $itemAuth = $newItem['auth'] ?? 0;
- $addCp = [
- 'classId' => $newClassId,
- 'name' => $itemName,
- 'cover' => $itemCover,
- 'auth' => $itemAuth,
- ];
- $newCp = PtCpClass::addCp($addCp);
- $newCpId = $newCp->id ?? 0;
- $addCpItem = [
- 'cpId' => $newCpId,
- 'itemId' => $itemId,
- 'auth' => $itemAuth,
- 'name' => $itemName,
- 'py' => $itemPy,
- 'cpName' => $itemName,
- 'cpPy' => $itemPy,
- ];
- PtCpItemClass::add($addCpItem, true);
- }
- }
- //最后创建一个默认分类
- $addClass = ['cover' => '', 'name' => '默认分类', 'inTurn' => 0, 'isDefault' => 1];
- PtCpClassClass::add($addClass, true);
- $transaction->commit();
- } catch (\Exception $e) {
- $transaction->rollBack();
- $msg = $e->getMessage();
- echo $msg;
- }
- }
- }
|