first commit

This commit is contained in:
编码猿
2024-09-27 01:32:49 +08:00
commit 28ebe05a64
7399 changed files with 1174529 additions and 0 deletions

View File

@@ -0,0 +1,212 @@
<?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);
}
}
}
}