212 lines
6.8 KiB
PHP
212 lines
6.8 KiB
PHP
<?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 Shellone
|
||
{
|
||
//修改新高考mykemu字段
|
||
public function updateMykemu(){
|
||
set_time_limit(0);
|
||
$count = Db::table('rec_js')->count();
|
||
$num = 100;//每次导入条数
|
||
$limit = ceil($count/$num);
|
||
|
||
for($i=1;$i<=$limit;$i++) {
|
||
|
||
$offet = ($i-1)*$num;
|
||
|
||
$result = Db::table('rec_js')->field('id,mykemu')->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]);
|
||
|
||
}
|
||
|
||
}
|
||
echo ok;die;
|
||
|
||
}
|
||
|
||
/*
|
||
* 修改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 = 100;//每次导入条数
|
||
$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 = 1000;//每次导入条数
|
||
$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);
|
||
ini_set('max_execution_time', '0');
|
||
set_time_limit(0);
|
||
$id = Cache::store('redis')->get('NewSchMajorID');
|
||
if(empty($id)){
|
||
$id = 3589199;
|
||
}
|
||
$count = Db::table('rec_zhejiang_majors')->where('id','>',$id)->count();
|
||
$num = 1000;//每次导入条数
|
||
$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_yldx,is_ylxk")->where('sch_id', '=', $val['collegeId'])->find();
|
||
Db::table('rec_zhejiang_majors')->where([['id', '=', $val['id']], ['collegeId', '=', $val['collegeId']]])->update(['is_yldx' => $resSch['is_yldx'], 'is_ylxk' => $resSch['is_ylxk']]);
|
||
Cache::store('redis')->set("NewSchMajorID",$val['id'],72000);
|
||
|
||
}
|
||
}catch (\Exception $exception){
|
||
\think\facade\Log::error($exception);
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
} |