first commit
This commit is contained in:
@@ -0,0 +1,355 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Administrator
|
||||
* Date: 2020/4/28
|
||||
* Time: 13:54
|
||||
*/
|
||||
|
||||
namespace app\admin\controller;
|
||||
|
||||
use think\Db;
|
||||
use think\Exception;
|
||||
use think\facade\Cache;
|
||||
use think\Log;
|
||||
|
||||
class Shell
|
||||
{
|
||||
//修改新高考mykemu字段
|
||||
public function updateMykemu(){
|
||||
ignore_user_abort(true);
|
||||
set_time_limit(0);
|
||||
$id = Cache::store('redis')->get('recLikekemus');
|
||||
if(empty($id)){
|
||||
$id = 3793738;
|
||||
}
|
||||
$count = Db::table('rec_js')->where('id','between',[$id,7592360])->count();
|
||||
$num = 1000;//每次导入条数
|
||||
$limit = ceil($count/$num);
|
||||
|
||||
for($i=1;$i<=$limit;$i++) {
|
||||
|
||||
$offet = ($i-1)*$num;
|
||||
|
||||
$result = Db::table('rec_js')->field('id,mykemu')->where('id','between',[$id,7592360])->limit($offet,$num)->select();
|
||||
$level = config('setsub.levelArr');
|
||||
foreach ($result as $key => $val) {
|
||||
$val['mykemu'] = $result = explode(',',$val['mykemu']);
|
||||
$res = '';
|
||||
foreach($val['mykemu'] as $k=>$v){
|
||||
|
||||
$res .= $level[$v];
|
||||
}
|
||||
|
||||
Db::table('rec_js')->where('id','=',$val['id'])->update(['mykemu'=>$res]);
|
||||
Cache::store('redis')->set("recLikekemus",$val['id'],36000);
|
||||
}
|
||||
|
||||
}
|
||||
echo 1;die;
|
||||
|
||||
}
|
||||
/*
|
||||
* 江苏同步public和majorNum
|
||||
* */
|
||||
|
||||
public function pubMajorNumTojs(){
|
||||
ignore_user_abort(true);
|
||||
set_time_limit(0);
|
||||
$id = Cache::store('redis')->get('recjsIDs');
|
||||
|
||||
if(empty($id)){
|
||||
$id = 0;
|
||||
}
|
||||
|
||||
$count = Db::table('rec_js')->where('id','between',[$id,7592360])->count();
|
||||
$num = 10000;//每次导入条数
|
||||
$limit = ceil($count/$num);
|
||||
|
||||
for($i=1;$i<=$limit;$i++) {
|
||||
|
||||
$offet = ($i - 1) * $num;
|
||||
|
||||
$result = Db::table('rec_js')->field("id,sch_id")->where('id','between',[$id,7592360])->limit($offet, $num)->select();
|
||||
|
||||
foreach ($result as $key => $val) {
|
||||
$resSch = Db::table('yzy_school')->field("is_public")->where('sch_id', '=', $val['sch_id'])->find();
|
||||
$resCount = Db::table('rec_js_major')->where('rec_id','=',$val['id'])->find();
|
||||
$count = count(json_decode($resCount['professions']));
|
||||
Db::table('rec_js')->where([['id', '=', $val['id']]])->update(['is_public' => $resSch['is_public'],'majorNum'=>$count]);
|
||||
Cache::store('redis')->set("recjsIDs",$val['id'],36000);
|
||||
}
|
||||
}
|
||||
echo 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* 同步数据到yzy_major_score表,sch_name,cost,typeName
|
||||
*/
|
||||
|
||||
public function getSchNameTypeNameToJs(){
|
||||
ignore_user_abort(true);
|
||||
set_time_limit(0);
|
||||
$id = Cache::store('redis')->get('majorScoreID');
|
||||
|
||||
if(empty($id)){
|
||||
$id = 0;
|
||||
}
|
||||
|
||||
$count = Db::table('yzy_major_score')->where('id','between',[$id,3626706])->count();
|
||||
$num = 10000;//每次导入条数
|
||||
$limit = ceil($count/$num);
|
||||
|
||||
for($i=1;$i<=$limit;$i++) {
|
||||
|
||||
$offet = ($i - 1) * $num;
|
||||
|
||||
$result = Db::table('yzy_major_score')->field("id,sch_id,majorCode")->where('id','between',[$id,3626706])->limit($offet, $num)->select();
|
||||
|
||||
foreach ($result as $key => $val) {
|
||||
$resCode = Db::table('yzy_majors')->field('pid')->where([['level','=',3],['code','=',$val['majorCode']]])->find();
|
||||
$relCode = empty($resCode)?Db::table('yzy_majors')->field('pid,title')->where([['level','=',2],['code','=',$val['majorCode']]])->find():Db::table('yzy_majors')->field('title')->where('id','=',$resCode['pid'])->find();
|
||||
if(empty($relCode)){
|
||||
$relCode['title'] = '';
|
||||
}
|
||||
$resSch = Db::table('yzy_school')->field("title")->where('sch_id', '=', $val['sch_id'])->find();
|
||||
Db::table('yzy_major_score')->where('id','=',$val['id'])->update(['sch_name'=>$resSch['title'],'typeName'=>$relCode['title']]);
|
||||
Cache::store('redis')->set("majorScoreID",$val['id'],36000);
|
||||
}
|
||||
}
|
||||
echo 1;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 修改rec_zhejiang_majors表,将classify中文转换成数字
|
||||
* */
|
||||
public function updateCollegeType(){
|
||||
$result = Db::table('rec_zhejiang_schs')->field('id,classify')->select();
|
||||
$cate = config('setsub.cateArr');
|
||||
foreach ($result as $key => $val) {
|
||||
$cateid = $cate[$val['classify']];
|
||||
|
||||
Db::table('rec_zhejiang_schs')->where('id','=',$val['id'])->update(['collegeType'=>$cateid]);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* 最低分和位次迁移
|
||||
* */
|
||||
public function updateMajor(){
|
||||
$result = Db::table('rec_wen_major')->select();
|
||||
|
||||
foreach($result as $key=>$val){
|
||||
|
||||
$res = json_decode($val['professions']);
|
||||
foreach($res as $k => $v){
|
||||
$data['rec_id'] = $result[$key]['rec_id'];
|
||||
$data['title'] = $v->alias;
|
||||
$data['code'] = $v->majorCode;
|
||||
$resRank = json_decode($v->extended);
|
||||
$data['lowestRank'] = $resRank[0]->ls;
|
||||
$data['minScore'] = $resRank[0]->ms;
|
||||
$data['scoreLineYear'] = $v->scoreLineYear;
|
||||
$data['year'] = $v->year;
|
||||
$data['enterNum'] = $v->enterNum;
|
||||
$data['planNum'] = $v->planNum;
|
||||
$data['probability'] = $v->probability;
|
||||
Db::table('rec_majors')->insert($data);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 新高考
|
||||
* 数据迁移yzy_zj_major_score 新增字段 sch_cate rankOfCn
|
||||
* */
|
||||
|
||||
public function updateMajorScore(){
|
||||
$result = Db::table('yzy_zj_major_score')->field("id,sch_id")->select();
|
||||
$cate = config('setsub.cateName');
|
||||
foreach ($result as $key =>$val){
|
||||
$resClass = Db::table('yzy_school')->field('cate_id')->where('sch_id','=',$val['sch_id'])->find();
|
||||
$cateName = $cate[$resClass['cate_id']];
|
||||
$resRank = Db::table("yzy_school_exts")->field('rankOfCn')->where("sch_id",'=',$val['sch_id'])->find();
|
||||
|
||||
Db::table('yzy_zj_major_score')->where([['id','=',$val['id']],['sch_id','=',$val['sch_id']]])->update(['classify'=>$cateName,'rankOfCn'=>$resRank['rankOfCn']]);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* school表排名更新
|
||||
* */
|
||||
|
||||
public function updateSchoolRank(){
|
||||
$result = Db::table('yzy_school')->field("id,sch_id")->select();
|
||||
foreach ($result as $key =>$val){
|
||||
|
||||
$resRank = Db::table("yzy_school_exts")->field('rankOfCn')->where("sch_id",'=',$val['sch_id'])->find();
|
||||
|
||||
Db::table('yzy_school')->where([['id','=',$val['id']],['sch_id','=',$val['sch_id']]])->update(['rankOfCn'=>$resRank['rankOfCn']]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 新高考
|
||||
* 专业数量同步到院校表
|
||||
* */
|
||||
public function majorCountToSch(){
|
||||
set_time_limit(0);
|
||||
$count = Db::table('rec_zhejiang_majors')->count();
|
||||
$num = 1000;//每次导入条数
|
||||
$limit = ceil($count/$num);
|
||||
|
||||
for($i=1;$i<=$limit;$i++) {
|
||||
$offet = ($i - 1) * $num;
|
||||
$result = Db::table('rec_zhejiang_schs')->field("id")->limit($offet, $num)->select();
|
||||
foreach ($result as $key => $val) {
|
||||
$resMajor = Db::table('rec_zhejiang_schs_majors')->field('professions')->where('rec_id', '=', $val['id'])->find();
|
||||
$count = count(json_decode($resMajor['professions']));
|
||||
Db::table('rec_zhejiang_schs')->where('id', '=', $val['id'])->update(['majorNum' => $count]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 院校logo地址查询
|
||||
* */
|
||||
public function getSchoolLogos(){
|
||||
$result = Db::table('yzy_school')->field("sch_id,logo")->select();
|
||||
return api_return('ok',$result);
|
||||
}
|
||||
|
||||
/*
|
||||
* 新高考院校表同步is_yldx,is_ylxk
|
||||
* */
|
||||
|
||||
public function ylxkyldxToNewSch(){
|
||||
set_time_limit(0);
|
||||
$count = Db::table('rec_zhejiang_schs')->count();
|
||||
$num = 100;//每次导入条数
|
||||
$limit = ceil($count/$num);
|
||||
|
||||
for($i=1;$i<=$limit;$i++) {
|
||||
|
||||
$offet = ($i - 1) * $num;
|
||||
$result = Db::table('rec_zhejiang_schs')->field("id,collegeId")->limit($offet, $num)->select();
|
||||
foreach ($result as $key => $val) {
|
||||
$resSch = Db::table('yzy_school')->field("is_yldx,is_ylxk")->where('sch_id', '=', $val['collegeId'])->find();
|
||||
Db::table('rec_zhejiang_schs')->where([['id', '=', $val['id']], ['collegeId', '=', $val['collegeId']]])->update(['is_yldx' => $resSch['is_yldx'], 'is_ylxk' => $resSch['is_ylxk']]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 新高考專業表同步is_yldx,is_ylxk
|
||||
* */
|
||||
|
||||
public function ylxkyldxToNewSchMajor(){
|
||||
|
||||
ignore_user_abort(true);
|
||||
set_time_limit(0);
|
||||
$id = Cache::store('redis')->get('NewSchMajorIDso');
|
||||
if(empty($id)){
|
||||
$id = 0;
|
||||
}
|
||||
$count = Db::table('rec_zhejiang_majors')->where('id','>',$id)->count();
|
||||
$num = 10000;//每次导入条数
|
||||
$limit = ceil($count/$num);
|
||||
|
||||
for($i=1;$i<=$limit;$i++) {
|
||||
$offet = ($i - 1) * $num;
|
||||
$result = Db::table('rec_zhejiang_majors')->field("id,collegeId")->where('id','>',$id)->limit($offet, $num)->select();
|
||||
try {
|
||||
foreach ($result as $key => $val) {
|
||||
$resSch = Db::table('yzy_school')->field("is_public")->where('sch_id', '=', $val['collegeId'])->find();
|
||||
Db::table('rec_zhejiang_majors')->where([['id', '=', $val['id']]])->update(['is_public' => $resSch['is_public']]);
|
||||
Cache::store('redis')->set("NewSchMajorIDso",$val['id'],36000);
|
||||
\think\facade\Log::error($val['id']);
|
||||
|
||||
}
|
||||
}catch (\Exception $exception){
|
||||
\think\facade\Log::error($exception);
|
||||
}
|
||||
}
|
||||
echo 1;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 普通高考院校文科同步雙一流字段和majorNum,public
|
||||
* */
|
||||
|
||||
public function sylMajorNumToWen(){
|
||||
ignore_user_abort(true);
|
||||
set_time_limit(0);
|
||||
$id = Cache::store('redis')->get('recWenIDso');
|
||||
|
||||
if(empty($id)){
|
||||
$id = 0;
|
||||
}
|
||||
|
||||
$count = Db::table('rec_wen')->where('id','between',[$id,8175158])->count();
|
||||
$num = 10000;//每次导入条数
|
||||
$limit = ceil($count/$num);
|
||||
|
||||
for($i=1;$i<=$limit;$i++) {
|
||||
|
||||
$offet = ($i - 1) * $num;
|
||||
|
||||
$result = Db::table('rec_wen')->field("id,sch_id")->where('id','between',[$id,8175158])->limit($offet, $num)->select();
|
||||
|
||||
foreach ($result as $key => $val) {
|
||||
$resSch = Db::table('yzy_school')->field("is_public")->where('sch_id', '=', $val['sch_id'])->find();
|
||||
Db::table('rec_wen')->where([['id', '=', $val['id']]])->update(['is_public' => $resSch['is_public']]);
|
||||
Cache::store('redis')->set("recWenIDso",$val['id'],36000);
|
||||
}
|
||||
}
|
||||
echo 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* 普通高考院校理科同步雙一流字段和majorNum
|
||||
* */
|
||||
|
||||
public function sylMajorNumToLi(){
|
||||
|
||||
ignore_user_abort(true);
|
||||
set_time_limit(0);
|
||||
$id = Cache::store('redis')->get('recLikeIDo');
|
||||
if(empty($id)){
|
||||
$id = 0;
|
||||
}
|
||||
$count = Db::table('rec_li')->where('id','between',[$id,10491664])->count();
|
||||
$num = 10000;//每次导入条数
|
||||
$limit = ceil($count/$num);
|
||||
|
||||
for($i=1;$i<=$limit;$i++) {
|
||||
|
||||
$offet = ($i - 1) * $num;
|
||||
|
||||
$result = Db::table('rec_li')->field("id,sch_id")->where('id','between',[$id,10491664])->limit($offet, $num)->select();
|
||||
|
||||
foreach ($result as $key => $val) {
|
||||
$resSch = Db::table('yzy_school')->field("is_public")->where('sch_id', '=', $val['sch_id'])->find();
|
||||
Db::table('rec_li')->where([['id', '=', $val['id']]])->update(['is_public' => $resSch['is_public']]);
|
||||
Cache::store('redis')->set("recLikeIDo",$val['id'],36000);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
echo 1;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user