|
|
@@ -2,6 +2,9 @@
|
|
|
|
|
|
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;
|
|
|
@@ -13,28 +16,73 @@ class PtCpController extends Controller
|
|
|
{
|
|
|
|
|
|
//生成平台需要的产品和产品的分类 ssh 20240215
|
|
|
- public function actionInitCpAndClass()
|
|
|
+ public function actionInitCp()
|
|
|
{
|
|
|
ini_set('memory_limit', '2045M');
|
|
|
set_time_limit(0);
|
|
|
- $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;
|
|
|
+
|
|
|
+ $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('没有花材的分类');
|
|
|
}
|
|
|
- $ids = array_keys($itemList);
|
|
|
- $newItemList = PtItemClass::getAllByCondition(['id' => ['in', $ids]], null, '*');
|
|
|
- foreach ($newItemList as $newItem) {
|
|
|
+ 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;
|
|
|
}
|
|
|
}
|
|
|
|