This commit is contained in:
wangjinlei
2021-12-20 17:12:23 +08:00
parent c80c9f8da7
commit 49f170a778
12 changed files with 1784 additions and 390 deletions

View File

@@ -31,6 +31,8 @@ class Journal extends Controller {
protected $subscribe_topic_obj = '';
protected $board_obj = '';
protected $board_group_obj = '';
protected $base_topic_obj = '';
protected $subscribe_base_topic_obj = '';
public function __construct(\think\Request $request = null) {
parent::__construct($request);
@@ -52,6 +54,8 @@ class Journal extends Controller {
$this->subscribe_topic_obj = Db::name('subscribe_topic');
$this->board_obj = Db::name('board');
$this->board_group_obj = Db::name('board_group');
$this->base_topic_obj = Db::name('base_topic');
$this->subscribe_base_topic_obj = Db::name('subscribe_base_topic');
}
/**
@@ -171,6 +175,9 @@ class Journal extends Controller {
}
}
/**
* @title 修改期刊详情
* @description 修改期刊详情
@@ -449,6 +456,7 @@ class Journal extends Controller {
* @param name:title type:string require:1 desc:标题
* @param name:icon type:string require:1 desc:缩略图
* @param name:intro type:string require:1 desc:介绍
* @param name:come type:string require:1 desc:图片证书
* @param name:position type:string require:1 desc:摆放位置
* @param name:is_final type:int require:1 desc:是否终结点0no1yes
* @param name:sort type:int require:1 default:0 desc:权重
@@ -467,6 +475,7 @@ class Journal extends Controller {
$insert['title'] = $data['title'];
$insert['icon'] = $data['icon'];
$insert['intro'] = $data['intro'];
$insert['come'] = isset($data['come'])?$data['come']:'';
if($data['parent_id']==0){
$insert['position'] = $data['position'];
}
@@ -492,6 +501,7 @@ class Journal extends Controller {
* @param name:title type:string require:1 desc:标题
* @param name:icon type:string require:1 desc:缩略图
* @param name:intro type:string require:1 desc:介绍
* @param name:come type:string require:1 desc:图片证书
* @param name:position type:string require:1 desc:摆放位置
* @param name:is_final type:int require:1 desc:是否终结点0no1yes
* @param name:sort type:int require:1 default:0 desc:权重
@@ -502,15 +512,12 @@ class Journal extends Controller {
$update['title'] = $data['title'];
$update['icon'] = $data['icon'];
$update['intro'] = $data['intro'];
$update['come'] = $data['come'];
$update['position'] = isset($data['position'])?$data['position']:'';
$update['is_final'] = $data['is_final'];
$update['sort'] = $data['sort'];
$res = $this->journal_topic_obj->update($update);
if($res){
return json(['code'=>0,'msg'=>'success']);
}else{
return json(['code'=>1,'msg'=>'system error']);
}
return json(['code'=>0,'msg'=>'success']);
}
/**
@@ -653,6 +660,7 @@ class Journal extends Controller {
$insert['topic_id'] = $data['topic_id'];
$res = $this->article_to_topic_obj->insert($insert);
$this->msg_subscript_topic($data['topic_id'], $data['article_id']);
$this->msg_subscribe_base_topic($data['topic_id'], $data['article_id']);
if($res){
return json(['code'=>0,'msg'=>'success']);
}else{
@@ -660,6 +668,45 @@ class Journal extends Controller {
}
}
public function mmm(){
$this->msg_subscribe_base_topic(14, 5);
}
private function msg_subscribe_base_topic($topic_id,$article_id){
$article_info = $this->article_obj->where('article_id',$article_id)->find();
$topic_info = $this->journal_topic_obj->where('journal_topic_id',$topic_id)->find();
$base_topic_info = $this->base_topic_obj->where('title',$topic_info['title'])->find();
$journal_info = $this->journal_obj->where('journal_id',$article_info['journal_id'])->find();
if($base_topic_info==null){
return ;
}
$list = $this->subscribe_base_topic_obj->where('base_topic_id',$base_topic_info['base_topic_id'])->where('state',0)->select();
$title = 'These new articles included in TMRDE database are available online.';
$tt = 'Dear Researcher,<br>';
$tt .= 'It is our great honor to present you the articles included in TMRDE.The following new articles have just been included.<br>';
$tt .= '<a href="https://www.tmrjournals.com/article.html?J_num='.$article_info['journal_id'].'&a_id='.$article_id.'">'.$article_info['title'].'</a><br>';
foreach ($list as $v){
$tt1='';
$tt1 .= $tt;
$tt1 .= '<a href="http://journalapi.tmrjournals.com/public/index.php/api/Journal/UnsubscribeBaseTopic/snum/' . $v['subscribe_base_topic_id'] . '">Unsubscribe</a><br><br>';
$tt1 .= 'Email:'.$journal_info['email'].'<br>';
$tt1 .= 'Website:'.$journal_info['website'].'<br><br>';
$tt1 .= 'TMR Publishing Group Ltd.<br>';
$tt1 .= '11 Cockle Bay Rd, Cockle Bay, Auckland, New Zealand<br>';
$tt1 .= 'Tel: +64 02108293806.';
$maidata['email'] = $v['email'];
$maidata['title'] = $title;
$maidata['content'] = $tt1;
$maidata['tmail'] = 'publicrelations@tmrjournals.com';
$maidata['tpassword'] = 'pRWU999999';
Queue::push('app\api\job\mail@fire', $maidata, "mail");
}
}
private function msg_subscript_topic($topic_id,$article_id){
$article_info = $this->article_obj->where('article_id',$article_id)->find();
$stage_info = $this->journal_stage_obj->where('journal_stage_id', $article_info['journal_stage_id'])->find();
@@ -707,7 +754,7 @@ class Journal extends Controller {
$maidata['title'] = $journal_info['title'];
$maidata['content'] = $cache;
$maidata['tmail'] = 'publicrelations@tmrjournals.com';
$maidata['tpassword'] = '999999Wu';
$maidata['tpassword'] = 'pRWU999999';
Queue::push('app\api\job\mail@fire', $maidata, "mail");
}
}
@@ -1040,7 +1087,6 @@ class Journal extends Controller {
$stage_info = $this->journal_stage_obj->where('journal_stage_id', $journal_stage_id)->find();
$journal_info = $this->journal_obj->where('journal_id',$journal_id)->find();
$list = $this->subscribe_journal_obj->where('journal_id',$journal_id)->where('state',0)->select();
//组成文章信息
$tt1 = '<div style="background-color: #ededed;margin: 0;">
<div class="con_content" style="font-family: Arial;
@@ -1072,7 +1118,6 @@ class Journal extends Controller {
$tt2 .= 'Tel: +64 02108293806.';
$tt2 .= '</div>
</div>';
foreach ($list as $v){
$cache = $tt1.'<a href="http://journalapi.tmrjournals.com/public/index.php/api/Journal/UnsubscribeJournal/snum/'.$v['subscribe_journal_id'].'">Unsubscribe</a><br><br>'.$tt2;
$maidata['email'] = $v['email'];
@@ -1130,7 +1175,6 @@ class Journal extends Controller {
* @method POST
*
* @param name:journal_notices_id type:int require:1 desc:期刊id
*
*/
public function delNotices(){
$data = $this->request->post();
@@ -1149,7 +1193,6 @@ class Journal extends Controller {
* @param name:title type:string require:1 desc:消息标题
* @param name:content type:string require:1 desc:内容
* @param name:ctime type:string require:1 desc:时间
*
*/
public function changeNotices(){
$data = $this->request->post();
@@ -1347,6 +1390,134 @@ class Journal extends Controller {
return jsonSuccess([]);
}
/**
* @title 获取期刊缩略图
* @description 获取期刊缩略图
* @author wangjinlei
* @url /master/Journal/getJournalIcon
* @method POST
*
* @param name:issn type:int require:1 desc:issn号
*
* @return icon:图片地址#
*/
public function getJournalIcon(){
$data = $this->request->post();
$journal_info = $this->journal_obj->where('issn',$data['issn'])->find();
$re['icon'] = $journal_info['licon'];
return jsonSuccess($re);
}
/**
* @title 通用话题--获取通用话题列表
* @description 通用话题--获取通用话题列表
* @author wangjinlei
* @url /master/Journal/getBaseTopicList
* @method POST
*
* @return topics:通用话题#
*/
public function getBaseTopicList(){
$father = $this->base_topic_obj->where('parent_id',0)->where('state',0)->order('sort desc')->select();
foreach ($father as $k => $v){
$cache = $this->base_topic_obj->where('parent_id',$v['base_topic_id'])->where('state',0)->order('sort desc')->select();
$father[$k]['children'] = $cache;
}
$re['topics'] = $father;
return jsonSuccess($re);
}
/**
* @title 通用话题--增加通用话题
* @description 通用话题--增加通用话题
* @author wangjinlei
* @url /master/Journal/addBaseTopic
* @method POST
*
* @param name:title type:string require:1 desc:话题名称标题
* @param name:parent_id type:int require:1 desc:父级话题id
* @param name:sort type:int require:1 desc:权重值
* @param name:icon type:string require:1 desc:图标
*
*/
public function addBaseTopic(){
$data = $this->request->post();
$check = $this->base_topic_obj->where('title',$data['title'])->where('state',0)->find();
if($check != null){
return jsonError('此话题已存在,话题名不能重复!!');
}
$insert['title'] = trim($data['title']);
$insert['parent_id'] = $data['parent_id'];
$insert['sort'] = $data['sort'];
$insert['icon'] = $data['icon'];
$this->base_topic_obj->insert($insert);
return jsonSuccess([]);
}
/**
* @title 通用话题--编辑通用话题
* @description 通用话题--编辑通用话题
* @author wangjinlei
* @url /master/Journal/editBaseTopic
* @method POST
*
* @param name:base_topic_id type:int require:1 desc:通用话题id
* @param name:title type:string require:1 desc:话题名称标题
* @param name:sort type:int require:1 desc:权重值
*/
public function editBaseTopic(){
$data = $this->request->post();
$update['title'] = trim($data['title']);
$update['sort'] = $data['sort'];
if(isset($data['icon'])){
$update['icon'] = $data['icon'];
}
$this->base_topic_obj->where('base_topic_id',$data['base_topic_id'])->update($update);
return jsonSuccess([]);
}
/**
* @title 通用话题--删除通用话题
* @description 通用话题--删除通用话题
* @author wangjinlei
* @url /master/Journal/delBaseTopic
* @method POST
*
* @param name:base_topic_id type:int require:1 desc:通用话题id
*/
public function delBaseTopic(){
$data = $this->request->post();
$this->base_topic_obj->where('base_topic_id',$data['base_topic_id'])->update(['state'=>1]);
return jsonSuccess([]);
}
/**
* @title 通用话题--图片上传
* @description 通用话题--图片上传
* @author wangjinlei
* @url /master/Journal/baseTopic_up_file
* @method POST
*
* @param name:name type:string require:1 default:baseTopic desc:文件域名称
*
* @return upurl:图片地址
*/
public function baseTopic_up_file() {
$file = request()->file('baseTopic');
if ($file) {
$info = $file->move(ROOT_PATH . 'public' . DS . 'baseTopic');
if ($info) {
return json(['code'=>0 , 'msg'=>'success', 'upurl' => str_replace("\\", "/", $info->getSaveName())]);
} else {
return json(['code' => 1, 'msg' => $file->getError()]);
}
}
}
/**
* @title 增加期刊paper文章
* @description 增加期刊paper文章
@@ -1406,6 +1577,7 @@ class Journal extends Controller {
$data = $this->request->post();
$update['title'] = $data['title'];
$update['content'] = $data['content'];
$update['sort']=$data['sort'];
$this->journal_paper_art_obj->where('journal_paper_art_id',$data['journal_paper_art_id'])->update($update);
return jsonSuccess([]);
}