123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326 |
- <?php
- /**
- * 产品老配置跑到新配置
- */
- class NewConfigCommand extends CConsoleCommand {
- public function init() {
- parent::init();
-
- @ini_set('memory_limit', '1024M');
- set_time_limit(0);
- }
-
- public function actionConndatabase($YII_ENV='development'){
- $db = Yii::app()->db;
- $sql = "select * from `database`";
- $databaseInfo = $db->createCommand($sql)->queryAll();
- foreach($databaseInfo as $key => $value){
- try{
- $tempDsn = "mysql:host={$value['database_host']};dbname={$value['database_name']};";
- $tempDbh = new PDO($tempDsn,$value['database_user'],$value['database_password'],array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES "utf8";'));
-
- // $bool = $this->addData($tempDsn,$tempDbh);
- $bool = $this->delData($tempDbh);
- echo $value['database_name'].' insert data '.($bool?'success':'faile').PHP_EOL;
- } catch (PDOException $ex) {
- echo $value['database_name'].' connect faile'.PHP_EOL;
- }
- }
- }
- public function delData($tempDbh){
- //清空表
- $tempDbh->exec("TRUNCATE TABLE product_setting");
- $bool = $tempDbh->exec("TRUNCATE TABLE product_class_relation");
- return true;
- }
- public function addData($tempDsn,$tempDbh) {
- // $tempDsn = 'mysql:host=192.168.1.234:3306;dbname=spider_school_118;';
- // $tempDbh = new PDO($tempDsn,'spider','cJ7QvRWSKbMYun7U',array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES "utf8";'));
-
- $classInfo = $tempDbh->query('SELECT * FROM `class`')->fetchAll(PDO::FETCH_ASSOC);
-
- //清空表
- $tempDbh->exec("TRUNCATE TABLE product_setting");
- $tempDbh->exec("TRUNCATE TABLE product_class_relation");
-
- $classRelPro = array();//产品关联班级索引
- $classRelSemester = array();
- foreach($classInfo as $value){
- $classRelSemester[$value['class_id']] = $value['semester_id'];
- $this->getPerVersionRelClass($value,$classRelPro);
- }
-
- //插入product_setting数据
- $productVer = $this->getPerVersion();
- $setIdRelSetType = array();
- foreach($productVer as $key => $value){
- $i = 2;
- foreach($value as $k => $v){
- //没有班级使用则不添加产品,默认版本必须添加
- if(isset($classRelPro[$key.'_'.$k]) || $k==0){
- if($k>0){
- $v['name'] = "版本".$i;
- $i++;
- }
- $sql = "INSERT INTO `product_setting` VALUES (0,'".$v['name']."',".$v['product_type'].",".$v['show_map'].",".$v['show_kp'].",".$v['show_wrg_origin'].",".$v['show_wrg_analyze'].",".$v['show_guide'].",'".$v['st_tuozhan']."','".$v['st_wrong']."','".$v['st_reduce']."',".$v['show_level'].",".$v['create_time'].",".$v['is_default'].")";
- $bool = $tempDbh->exec($sql);
- $versionRelPsId[$key.'_'.$k] = (int)$tempDbh->lastInsertId();
- $classRelSetType[$versionRelPsId[$key.'_'.$k]] = $v['product_type'];
- }
- }
- }
-
-
- //插入product_class_relation数据
- $sql = "INSERT INTO `product_class_relation` (ps_id, class_id, semester_id, set_type) VALUES ";
-
- $valueArr = array();
- foreach($classRelPro as $key => $value){
- if(isset($versionRelPsId[$key]) && $versionRelPsId[$key] > 0){
- foreach($value as $k => $v){
- $semesterId = isset($classRelSemester[$v])?$classRelSemester[$v]:0;
- $setType = isset($classRelSetType[$versionRelPsId[$key]])?$classRelSetType[$versionRelPsId[$key]]:0;
- $valueArr[] = " ({$versionRelPsId[$key]},'{$v}',$semesterId,$setType) ";
- }
- }
- }
- $sqlValue = implode(',', $valueArr);
- $sql2 = $sql.$sqlValue;
- $bool = $tempDbh->exec($sql2);
- return true;
- }
-
- /**
- * 新老版本对应关系
- 错题本类型 0:精简版 1:完整版
- 提分方案类型 0:精简版 1:完整版
- 分层提分方案类型 0:个性 1:分层
- */
- public function getPerVersionRelClass($oldVersion,&$classRelPro){
-
- // $oldVersion = array(
- // 'class_id' => 0,
- // 'wrong_book_type' => 0,
- // 'improve_book_type' => 0,
- // 'wb_isp_version' => 0,
- // );
-
- //错题本
- if($oldVersion['wrong_book_type'] == 1){
- $productIndex = '1_0';
- $classRelPro[$productIndex][] = $oldVersion['class_id'];
- }elseif($oldVersion['wrong_book_type'] == 0){
- $productIndex = '1_1';
- $classRelPro[$productIndex][] = $oldVersion['class_id'];
- }
-
- //个性化学习方案
- if($oldVersion['improve_book_type'] == 1 && $oldVersion['wb_isp_version'] == 0){
- $productIndex = '2_0';
- $classRelPro[$productIndex][] = $oldVersion['class_id'];
- }elseif($oldVersion['improve_book_type'] == 0 && $oldVersion['wb_isp_version'] == 0){
- $productIndex = '2_1';
- $classRelPro[$productIndex][] = $oldVersion['class_id'];
- }elseif($oldVersion['improve_book_type'] == 1 && $oldVersion['wb_isp_version'] == 1){
- $productIndex = '2_2';
- $classRelPro[$productIndex][] = $oldVersion['class_id'];
- }elseif($oldVersion['improve_book_type'] == 0 && $oldVersion['wb_isp_version'] == 1){
- $productIndex = '2_3';
- $classRelPro[$productIndex][] = $oldVersion['class_id'];
- }
-
- //个性化学习方案
- if($oldVersion['improve_book_type'] == 1 && $oldVersion['wb_isp_version'] == 0){
- $productIndex = '3_0';
- $classRelPro[$productIndex][] = $oldVersion['class_id'];
- }elseif($oldVersion['improve_book_type'] == 0 && $oldVersion['wb_isp_version'] == 0){
- $productIndex = '3_1';
- $classRelPro[$productIndex][] = $oldVersion['class_id'];
- }elseif($oldVersion['improve_book_type'] == 1 && $oldVersion['wb_isp_version'] == 1){
- $productIndex = '3_2';
- $classRelPro[$productIndex][] = $oldVersion['class_id'];
- }elseif($oldVersion['improve_book_type'] == 0 && $oldVersion['wb_isp_version'] == 1){
- $productIndex = '3_3';
- $classRelPro[$productIndex][] = $oldVersion['class_id'];
- }
-
- }
-
-
- //预设版本
- public function getPerVersion(){
-
- //1-错题本 2-个性化学习方案 3-个性化学习宝
- $time = time();
- $productVer = array(
- 1 => array(
- 0 => array(
- 'name' => '版本1',
- 'product_type' => 1,//1-错题本 2-个性化学习方案 3-个性化学习宝
- 'show_map' => 1,//显示成长轨迹 1-是 0-否
- 'show_kp' => 1,//显示薄弱知识点掌握分析 1-是 0-否
- 'show_wrg_origin' => 1,//显示错题原型 1-是 0-否
- 'show_wrg_analyze' => 1,//显示错因分析 1-是 0-否
- 'show_guide' => 1,//显示名师指导 1-是 0-否
- 'st_tuozhan' => '1|2|3|4',//拓展训练题使用的学生 1--尖子生 2--优秀生 3--中等生 4--学困生
- 'st_wrong' => '',//错题本过滤难题
- 'st_reduce' => '',//减少提分题
- 'show_level' => 0,//提分题分层 1-是 0-否
- 'create_time' => $time,//创建时间
- 'is_default' => 1,//是否默认设置 1-是 0-否
- ),
- 1 => array(
- 'name' => '版本2',
- 'product_type' => 1,//1-错题本 2-个性化学习方案 3-个性化学习宝
- 'show_map' => 1,//显示成长轨迹 1-是 0-否
- 'show_kp' => 1,//显示薄弱知识点掌握分析 1-是 0-否
- 'show_wrg_origin' => 1,//显示错题原型 1-是 0-否
- 'show_wrg_analyze' => 1,//显示错因分析 1-是 0-否
- 'show_guide' => 1,//显示名师指导 1-是 0-否
- 'st_tuozhan' => '1|2|3|4',//拓展训练题使用的学生 1--尖子生 2--优秀生 3--中等生 4--学困生
- 'st_wrong' => '4',//错题本过滤难题
- 'st_reduce' => '',//减少提分题
- 'show_level' => 0,//提分题分层 1-是 0-否
- 'create_time' => $time,//创建时间
- 'is_default' => 0,//是否默认设置 1-是 0-否
- ),
- ),
- 2 => array(
- 0 => array(
- 'name' => '版本1',
- 'product_type' => 2,//1-错题本 2-个性化学习方案 3-个性化学习宝
- 'show_map' => 1,//显示成长轨迹 1-是 0-否
- 'show_kp' => 1,//显示薄弱知识点掌握分析 1-是 0-否
- 'show_wrg_origin' => 0,//显示错题原型 1-是 0-否
- 'show_wrg_analyze' => 0,//显示错因分析 1-是 0-否
- 'show_guide' => 0,//显示名师指导 1-是 0-否
- 'st_tuozhan' => '1|2|3|4',//拓展训练题使用的学生 1--尖子生 2--优秀生 3--中等生 4--学困生
- 'st_wrong' => '',//错题本过滤难题
- 'st_reduce' => '',//减少提分题
- 'show_level' => 0,//提分题分层 1-是 0-否
- 'create_time' => $time,//创建时间
- 'is_default' => 1,//是否默认设置 1-是 0-否
- ),
- 1 => array(
- 'name' => '版本2',
- 'product_type' => 2,//1-错题本 2-个性化学习方案 3-个性化学习宝
- 'show_map' => 1,//显示成长轨迹 1-是 0-否
- 'show_kp' => 1,//显示薄弱知识点掌握分析 1-是 0-否
- 'show_wrg_origin' => 0,//显示错题原型 1-是 0-否
- 'show_wrg_analyze' => 0,//显示错因分析 1-是 0-否
- 'show_guide' => 0,//显示名师指导 1-是 0-否
- 'st_tuozhan' => '1|2|3|4',//拓展训练题使用的学生 1--尖子生 2--优秀生 3--中等生 4--学困生
- 'st_wrong' => '',//错题本过滤难题
- 'st_reduce' => '4',//减少提分题
- 'show_level' => 0,//提分题分层 1-是 0-否
- 'create_time' => $time,//创建时间
- 'is_default' => 0,//是否默认设置 1-是 0-否
- ),
- 2 => array(
- 'name' => '版本3',
- 'product_type' => 2,//1-错题本 2-个性化学习方案 3-个性化学习宝
- 'show_map' => 1,//显示成长轨迹 1-是 0-否
- 'show_kp' => 1,//显示薄弱知识点掌握分析 1-是 0-否
- 'show_wrg_origin' => 0,//显示错题原型 1-是 0-否
- 'show_wrg_analyze' => 0,//显示错因分析 1-是 0-否
- 'show_guide' => 0,//显示名师指导 1-是 0-否
- 'st_tuozhan' => '1|2|3|4',//拓展训练题使用的学生 1--尖子生 2--优秀生 3--中等生 4--学困生
- 'st_wrong' => '',//错题本过滤难题
- 'st_reduce' => '',//减少提分题
- 'show_level' => 1,//提分题分层 1-是 0-否
- 'create_time' => $time,//创建时间
- 'is_default' => 0,//是否默认设置 1-是 0-否
- ),
- 3 => array(
- 'name' => '版本4',
- 'product_type' => 2,//1-错题本 2-个性化学习方案 3-个性化学习宝
- 'show_map' => 1,//显示成长轨迹 1-是 0-否
- 'show_kp' => 1,//显示薄弱知识点掌握分析 1-是 0-否
- 'show_wrg_origin' => 0,//显示错题原型 1-是 0-否
- 'show_wrg_analyze' => 0,//显示错因分析 1-是 0-否
- 'show_guide' => 0,//显示名师指导 1-是 0-否
- 'st_tuozhan' => '1|2|3|4',//拓展训练题使用的学生 1--尖子生 2--优秀生 3--中等生 4--学困生
- 'st_wrong' => '',//错题本过滤难题
- 'st_reduce' => '4',//减少提分题
- 'show_level' => 1,//提分题分层 1-是 0-否
- 'create_time' => $time,//创建时间
- 'is_default' => 0,//是否默认设置 1-是 0-否
- ),
- ),
- 3 => array(
- 0 => array(
- 'name' => '版本1',
- 'product_type' => 3,//1-错题本 2-个性化学习方案 3-个性化学习宝
- 'show_map' => 1,//显示成长轨迹 1-是 0-否
- 'show_kp' => 1,//显示薄弱知识点掌握分析 1-是 0-否
- 'show_wrg_origin' => 1,//显示错题原型 1-是 0-否
- 'show_wrg_analyze' => 1,//显示错因分析 1-是 0-否
- 'show_guide' => 1,//显示名师指导 1-是 0-否
- 'st_tuozhan' => '1|2|3|4',//拓展训练题使用的学生 1--尖子生 2--优秀生 3--中等生 4--学困生
- 'st_wrong' => '',//错题本过滤难题
- 'st_reduce' => '',//减少提分题
- 'show_level' => 0,//提分题分层 1-是 0-否
- 'create_time' => $time,//创建时间
- 'is_default' => 1,//是否默认设置 1-是 0-否
- ),
- 1 => array(
- 'name' => '版本2',
- 'product_type' => 3,//1-错题本 2-个性化学习方案 3-个性化学习宝
- 'show_map' => 1,//显示成长轨迹 1-是 0-否
- 'show_kp' => 1,//显示薄弱知识点掌握分析 1-是 0-否
- 'show_wrg_origin' => 1,//显示错题原型 1-是 0-否
- 'show_wrg_analyze' => 1,//显示错因分析 1-是 0-否
- 'show_guide' => 1,//显示名师指导 1-是 0-否
- 'st_tuozhan' => '1|2|3|4',//拓展训练题使用的学生 1--尖子生 2--优秀生 3--中等生 4--学困生
- 'st_wrong' => '',//错题本过滤难题
- 'st_reduce' => '4',//减少提分题
- 'show_level' => 0,//提分题分层 1-是 0-否
- 'create_time' => $time,//创建时间
- 'is_default' => 0,//是否默认设置 1-是 0-否
- ),
- 2 => array(
- 'name' => '版本3',
- 'product_type' => 3,//1-错题本 2-个性化学习方案 3-个性化学习宝
- 'show_map' => 1,//显示成长轨迹 1-是 0-否
- 'show_kp' => 1,//显示薄弱知识点掌握分析 1-是 0-否
- 'show_wrg_origin' => 1,//显示错题原型 1-是 0-否
- 'show_wrg_analyze' => 1,//显示错因分析 1-是 0-否
- 'show_guide' => 1,//显示名师指导 1-是 0-否
- 'st_tuozhan' => '1|2|3|4',//拓展训练题使用的学生 1--尖子生 2--优秀生 3--中等生 4--学困生
- 'st_wrong' => '',//错题本过滤难题
- 'st_reduce' => '',//减少提分题
- 'show_level' => 1,//提分题分层 1-是 0-否
- 'create_time' => $time,//创建时间
- 'is_default' => 0,//是否默认设置 1-是 0-否
- ),
- 3 => array(
- 'name' => '版本4',
- 'product_type' => 3,//1-错题本 2-个性化学习方案 3-个性化学习宝
- 'show_map' => 1,//显示成长轨迹 1-是 0-否
- 'show_kp' => 1,//显示薄弱知识点掌握分析 1-是 0-否
- 'show_wrg_origin' => 1,//显示错题原型 1-是 0-否
- 'show_wrg_analyze' => 1,//显示错因分析 1-是 0-否
- 'show_guide' => 1,//显示名师指导 1-是 0-否
- 'st_tuozhan' => '1|2|3|4',//拓展训练题使用的学生 1--尖子生 2--优秀生 3--中等生 4--学困生
- 'st_wrong' => '',//错题本过滤难题
- 'st_reduce' => '4',//减少提分题
- 'show_level' => 1,//提分题分层 1-是 0-否
- 'create_time' => $time,//创建时间
- 'is_default' => 0,//是否默认设置 1-是 0-否
- ),
- ),
- );
-
- return $productVer;
-
- }
-
- }
|