| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- <?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 `xhCpItem`;';
- 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;
- $itemInTurn = $newItem['inTurn'] ?? 100;
- $addCp = [
- 'classId' => $newClassId,
- 'name' => $itemName,
- 'cover' => $itemCover,
- 'auth' => $itemAuth,
- 'inTurn' => $itemInTurn,
- ];
- $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);
- $a = $newItem;
- $a['name'] = $a['name'] . ' A级';
- unset($a['id']);
- $b = $newItem;
- $b['name'] = $b['name'] . ' B级';
- unset($b['id']);
- $c = $newItem;
- $c['name'] = $c['name'] . ' C级';
- unset($c['id']);
- $d = $newItem;
- $d['name'] = $d['name'] . ' D级';
- unset($d['id']);
- $e = $newItem;
- $e['name'] = $e['name'] . ' E级';
- unset($e['id']);
- $arr = [$a, $b, $c, $d, $e];
- foreach ($arr as $levelKey => $levelItem) {
- $newItem = PtItemClass::add($levelItem, true);
- $newItemName = $newItem->name ?? '';
- $newItemPy = $newItem->py ?? '';
- $newItemId = $newItem->id ?? 0;
- $newAddCpItem = [
- 'cpId' => $newCpId,
- 'itemId' => $newItemId,
- 'auth' => $itemAuth,
- 'name' => $newItemName,
- 'py' => $newItemPy,
- 'cpName' => $itemName,
- 'cpPy' => $itemPy,
- ];
- PtCpItemClass::add($newAddCpItem, true);
- }
- }
- }
- //最后创建一个默认分类
- $addClass = ['cover' => 'item_class/mrfl.png', 'name' => '默认分类', 'inTurn' => 0, 'isDefault' => 1];
- PtCpClassClass::add($addClass, true);
- $transaction->commit();
- } catch (\Exception $e) {
- $transaction->rollBack();
- $msg = $e->getMessage();
- echo $msg;
- }
- }
- }
|