Files
journal/application/super/controller/Publish.php
wangjinlei 0776e676d4 20201112
2021-03-18 16:12:58 +08:00

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;
}
}
}