209 lines
6.6 KiB
PHP
209 lines
6.6 KiB
PHP
<?php
|
|
namespace app\master\controller;
|
|
use think\Controller;
|
|
use think\Db;
|
|
|
|
/**
|
|
* @title 数据库接口
|
|
* @description 数据库接口
|
|
* @group 数据库接口
|
|
*/
|
|
class Datebase extends Controller{
|
|
|
|
protected $admin_obj = '';
|
|
protected $journal_obj = '';
|
|
protected $article_obj = '';
|
|
protected $journal_topic_obj = '';
|
|
protected $journal_stage_obj = '';
|
|
protected $journal_line_obj = '';
|
|
protected $journal_notices_obj = '';
|
|
protected $journal_abs_obj = '';
|
|
protected $article_to_topic_obj = '';
|
|
protected $article_to_line_obj = '';
|
|
protected $journal_cfp_obj = '';
|
|
protected $journal_paper_obj = '';
|
|
protected $journal_paper_art_obj = '';
|
|
protected $db_obj = '';
|
|
protected $db_data_obj = '';
|
|
|
|
public function __construct(\think\Request $request = null) {
|
|
parent::__construct($request);
|
|
$this->admin_obj = Db::name('admin');
|
|
$this->journal_obj = Db::name('journal');
|
|
$this->article_obj = Db::name('article');
|
|
$this->journal_topic_obj = Db::name('journal_topic');
|
|
$this->journal_stage_obj = Db::name('journal_stage');
|
|
$this->journal_line_obj = Db::name('journal_line');
|
|
$this->journal_notices_obj = Db::name('journal_notices');
|
|
$this->journal_abs_obj = Db::name('journal_abstracting');
|
|
$this->article_to_topic_obj = Db::name('article_to_topic');
|
|
$this->article_to_line_obj = Db::name('article_to_line');
|
|
$this->journal_cfp_obj = Db::name('journal_cfp');
|
|
$this->journal_paper_obj = Db::name('journal_paper');
|
|
$this->journal_paper_art_obj = Db::name('journal_paper_art');
|
|
$this->db_obj = Db::name('db');
|
|
$this->db_data_obj = Db::name('db_data');
|
|
}
|
|
|
|
/**
|
|
* @title 增加数据库
|
|
* @description 增加数据库
|
|
* @author wangjinlei
|
|
* @url /master/Datebase/addDb
|
|
* @method POST
|
|
*
|
|
* @param name:name type:string require:1 desc:数据库名字
|
|
* @param name:intro type:string require:1 desc:简介
|
|
*/
|
|
public function addDb(){
|
|
$data = $this->request->post();
|
|
$insert['name'] = $data['name'];
|
|
$insert['intro'] = $data['intro'];
|
|
$insert['ctime'] = time();
|
|
|
|
$this->db_obj->insert($insert);
|
|
return jsonSuccess([]);
|
|
}
|
|
|
|
/**
|
|
* @title 删除数据库
|
|
* @description 删除数据库
|
|
* @author wangjinlei
|
|
* @url /master/Datebase/delDb
|
|
* @method POST
|
|
*
|
|
* @param name:db_id type:int require:1 desc:数据库id
|
|
*/
|
|
public function delDb(){
|
|
$data = $this->request->post();
|
|
$this->db_obj->where('db_id',$data['db_id'])->update(['state'=>1]);
|
|
return jsonSuccess([]);
|
|
}
|
|
|
|
/**
|
|
* @title 获取数据库
|
|
* @description 获取数据库
|
|
* @author wangjinlei
|
|
* @url /master/Datebase/getDbs
|
|
* @method POST
|
|
*
|
|
* @return dblist:数据库列表array#
|
|
*/
|
|
public function getDbs(){
|
|
$list = $this->db_obj->where('state',0)->select();
|
|
|
|
$re['dblist'] = $list;
|
|
return jsonSuccess($re);
|
|
}
|
|
|
|
/**
|
|
* @title 获取数据库主页
|
|
* @description 获取数据库主页
|
|
* @author wangjinlei
|
|
* @url /master/Datebase/getDbMain
|
|
* @method POST
|
|
*
|
|
* @param name:db_id type:int require:1 desc:数据库id
|
|
* @param name:journal_id type:int require:1 desc:期刊id
|
|
*
|
|
* @return dbInfo:数据库信息#
|
|
*/
|
|
public function getDbMain(){
|
|
$data = $this->request->post();
|
|
$info = $this->db_obj->where('db_id',$data['db_id'])->find();
|
|
|
|
//获取数据库完成情况(预留)
|
|
|
|
$re['dbInfo'] = $info;
|
|
return jsonSuccess($re);
|
|
}
|
|
|
|
/**
|
|
* @title 增加数据库资料
|
|
* @description 增加数据库资料
|
|
* @author wangjinlei
|
|
* @url /master/Datebase/addData
|
|
* @method POST
|
|
*
|
|
* @param name:db_id type:int require:1 desc:数据库id
|
|
* @param name:name type:string require:1 desc:资料名称
|
|
* @param name:url type:string require:1 desc:资料地址
|
|
*/
|
|
public function addData(){
|
|
$data = $this->request->post();
|
|
$insert['db_id'] = $data['db_id'];
|
|
$insert['title'] = $data['name'];
|
|
$insert['url'] = $data['url'];
|
|
$insert['ctime'] = time();
|
|
$this->db_data_obj->insert($insert);
|
|
return jsonSuccess([]);
|
|
}
|
|
|
|
/**
|
|
* @title 删除数据库资料
|
|
* @description 删除数据库资料
|
|
* @author wangjinlei
|
|
* @url /master/Datebase/delData
|
|
* @method POST
|
|
*
|
|
* @param name:db_data_id type:int require:1 desc:数据库资料id
|
|
*/
|
|
public function delData(){
|
|
$data = $this->request->post();
|
|
$this->db_data_obj->where('db_data_id',$data['db_data_id'])->update(['state'=>1]);
|
|
return jsonSuccess([]);
|
|
}
|
|
|
|
/**
|
|
* @title 获取数据库资料
|
|
* @description 获取数据库资料
|
|
* @author wangjinlei
|
|
* @url /master/Datebase/getDatas
|
|
* @method POST
|
|
*
|
|
* @param name:db_id type:int require:1 desc:数据库id
|
|
* @param name:pageIndex type:int require:1 desc:当前页码数
|
|
* @param name:pageSize type:int require:1 desc:单页数据条数
|
|
*
|
|
* @return dbinfo:数据库信息#
|
|
* @return count:总数据数
|
|
* @return dataList:array#
|
|
*/
|
|
public function getDatas(){
|
|
$data = $this->request->post();
|
|
|
|
$db_info = $this->db_obj->where('db_id',$data['db_id'])->find();
|
|
$limit_start = ($data['pageIndex'] - 1) * $data['pageSize'];
|
|
$list = $this->db_data_obj->where('db_id',$data['db_id'])->where('state',0)->limit($limit_start,$data['pageSize'])->select();
|
|
$count = $this->db_data_obj->where('db_id',$data['db_id'])->count();
|
|
|
|
$re['dbinfo'] = $db_info;
|
|
$re['dataList'] = $list;
|
|
$re['count'] = $count;
|
|
return jsonSuccess($re);
|
|
}
|
|
|
|
/**
|
|
* @title 图片上传
|
|
* @description 图片上传
|
|
* @author wangjinlei
|
|
* @url /master/Datebase/up_file
|
|
* @method POST
|
|
*
|
|
* @param name:name type:string require:1 default:dbdata desc:文件域名称
|
|
*
|
|
* @return upurl:图片地址
|
|
*/
|
|
public function up_file() {
|
|
$file = request()->file('dbdata');
|
|
if ($file) {
|
|
$info = $file->move(ROOT_PATH . 'public' . DS . 'dbdata');
|
|
if ($info) {
|
|
return json(['code'=>0 , 'msg'=>'success', 'upurl' => str_replace("\\", "/", $info->getSaveName())]);
|
|
} else {
|
|
return json(['code' => 1, 'msg' => $file->getError()]);
|
|
}
|
|
}
|
|
}
|
|
}
|