This commit is contained in:
wangjinlei
2021-02-04 11:29:15 +08:00
parent 9f13e3ccc6
commit 72b16d5a7a
5 changed files with 491 additions and 4 deletions

View File

@@ -0,0 +1,205 @@
<?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 count:总数据数
* @return dataList:array#
*/
public function getDatas(){
$data = $this->request->post();
$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['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()]);
}
}
}
}