98 lines
4.3 KiB
PHP
98 lines
4.3 KiB
PHP
<?php
|
|
namespace app\super\controller;
|
|
|
|
use think\Controller;
|
|
use think\Db;
|
|
|
|
/**
|
|
* @title 总监Main接口
|
|
* @description 文章web相关操作
|
|
* @group 文章web相关
|
|
*/
|
|
class Publish extends Controller
|
|
|
|
{
|
|
protected $admin_obj = '';
|
|
protected $journal_obj = '';
|
|
protected $article_obj = '';
|
|
protected $article_author_obj = '';
|
|
protected $article_ltai_obj = '';
|
|
protected $journal_topic_obj = '';
|
|
protected $journal_stage_obj = '';
|
|
protected $journal_notices_obj = '';
|
|
protected $journal_abs_obj = '';
|
|
protected $journal_cfp_obj = '';
|
|
protected $journal_line_obj = '';
|
|
protected $article_to_topic_obj = '';
|
|
protected $article_to_line_obj = '';
|
|
protected $journal_paper_obj = '';
|
|
protected $journal_paper_art_obj = '';
|
|
protected $subscribe_journal_obj = '';
|
|
protected $subscribe_topic_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->article_author_obj = Db::name('article_author');
|
|
$this->article_ltai_obj = Db::name('article_ltai');
|
|
$this->journal_topic_obj = Db::name('journal_topic');
|
|
$this->journal_stage_obj = Db::name('journal_stage');
|
|
$this->journal_notices_obj = Db::name('journal_notices');
|
|
$this->journal_abs_obj = Db::name('journal_abstracting');
|
|
$this->journal_cfp_obj = Db::name('journal_cfp');
|
|
$this->journal_line_obj = Db::name('journal_line');
|
|
$this->article_to_topic_obj = Db::name('article_to_topic');
|
|
$this->article_to_line_obj = Db::name('article_to_line');
|
|
$this->journal_paper_obj = Db::name('journal_paper');
|
|
$this->journal_paper_art_obj = Db::name('journal_paper_art');
|
|
$this->subscribe_journal_obj = Db::name('subscribe_journal');
|
|
$this->subscribe_topic_obj = Db::name('subscribe_topic');
|
|
}
|
|
|
|
public function getMain(){
|
|
}
|
|
|
|
public function test(){
|
|
echo $this->calMark(1);
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
echo THINK_VERSION;
|
|
// return '<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} a{color:#2E5CD5;cursor: pointer;text-decoration: none} a:hover{text-decoration:underline; } body{ background: #fff; font-family: "Century Gothic","Microsoft yahei"; color: #333;font-size:18px;} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.6em; font-size: 42px }</style><div style="padding: 24px 48px;"> <h1>:)</h1><p> ThinkPHP V5<br/><span style="font-size:30px">十年磨一剑 - 为API开发设计的高性能框架</span></p><span style="font-size:22px;">[ V5.0 版本由 <a href="http://www.qiniu.com" target="qiniu">七牛云</a> 独家赞助发布 ]</span></div><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script><script type="text/javascript" src="http://ad.topthink.com/Public/static/client.js"></script><thinkad id="ad_bd568ce7058a1091"></thinkad>';
|
|
}
|
|
|
|
/**
|
|
* 计算危险指数
|
|
*/
|
|
private function calMark($journal_id){
|
|
$journal_info = $this->journal_obj->where('journal_id',$journal_id)->find();
|
|
$stages = $this->journal_stage_obj->where('journal_id',$journal_id)->where('is_publish',0)->where('state',0)->column('journal_stage_id');
|
|
$count = $this->article_obj->where('journal_stage_id','in',$stages)
|
|
->where('state',0)
|
|
->count();
|
|
$last_stage = $this->journal_stage_obj
|
|
->where('journal_id',$journal_id)
|
|
->where('is_publish',1)
|
|
->where('state',0)
|
|
->order('journal_stage_id desc')
|
|
->limit(1)
|
|
->select();
|
|
$stage_now = $last_stage[0];
|
|
$cday = intval((time()-strtotime($stage_now['issue_date']))/(3600*24));
|
|
$cycle = $journal_info['cycle']==0?2:$journal_info['cycle'];
|
|
$art_num = $journal_info['art_num']==0?5:$journal_info['art_num'];
|
|
if($cday>($cycle*30)){
|
|
return 100;
|
|
}
|
|
$lart = intval($cday*$art_num/($cycle*30));
|
|
if($count>=$lart){
|
|
return 0;
|
|
}else{
|
|
return ($lart - $count)*100/$art_num;
|
|
}
|
|
}
|
|
}
|