小bug提交

This commit is contained in:
wangjinlei
2025-07-25 17:28:03 +08:00
parent 73cbf94a53
commit ca9d2a7412
3 changed files with 529 additions and 433 deletions

View File

@@ -7,6 +7,7 @@ use think\Db;
use think\Queue; use think\Queue;
use think\Validate; use think\Validate;
use PhpOffice\PhpWord\IOFactory; use PhpOffice\PhpWord\IOFactory;
use app\common\OpenAi;
/** /**
* @title 文章接口 * @title 文章接口
@@ -22,8 +23,6 @@ class Article extends Base
} }
public function refusePassword() public function refusePassword()
{ {
$data = $this->request->post(); $data = $this->request->post();
@@ -165,7 +164,8 @@ class Article extends Base
} }
public function myttt(){ public function myttt()
{
$res = $this->addProductionEx("3689"); $res = $this->addProductionEx("3689");
echo "<pre>"; echo "<pre>";
var_dump($res); var_dump($res);
@@ -176,7 +176,8 @@ class Article extends Base
/**获取预接收内容状态 /**获取预接收内容状态
* @return void * @return void
*/ */
public function getPreacceptStatus(){ public function getPreacceptStatus()
{
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"article_id" => "require" "article_id" => "require"
@@ -205,7 +206,8 @@ class Article extends Base
/**接收文章 /**接收文章
* @return void * @return void
*/ */
public function articleAccept(){ public function articleAccept()
{
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"article_id" => "require" "article_id" => "require"
@@ -272,8 +274,6 @@ class Article extends Base
} }
/** /**
* @title 获取文章列表(编辑) * @title 获取文章列表(编辑)
* @description 获取文章列表(编辑) * @description 获取文章列表(编辑)
@@ -748,7 +748,8 @@ class Article extends Base
/**获取关联作者的信息 /**获取关联作者的信息
* @return \think\response\Json|void * @return \think\response\Json|void
*/ */
public function getRelationAuthor(){ public function getRelationAuthor()
{
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"user_id" => "require" "user_id" => "require"
@@ -804,7 +805,8 @@ class Article extends Base
/**通过邮件地址获取相关作者信息 /**通过邮件地址获取相关作者信息
* @return void * @return void
*/ */
public function getRelationAuthorByEmail(){ public function getRelationAuthorByEmail()
{
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"email" => "require", "email" => "require",
@@ -929,7 +931,7 @@ class Article extends Base
//发送邮件 //发送邮件
$editor_info = $this->user_obj->where('user_id', $journal_info['editor_id'])->find(); $editor_info = $this->user_obj->where('user_id', $journal_info['editor_id'])->find();
$tt = 'Dear editor,<br>'; $tt = 'Dear editor,<br>';
$tt .= 'The author has repair, please check.<br><br>'; $tt .= 'The author has repair, please check. SN:'.$article_info['accept_sn'].'<br><br>';
$tt .= 'TMR Publishing Group'; $tt .= 'TMR Publishing Group';
sendEmail($editor_info['email'], $journal_info['title'], $journal_info['title'], $tt, $journal_info['email'], $journal_info['epassword']); sendEmail($editor_info['email'], $journal_info['title'], $journal_info['title'], $tt, $journal_info['email'], $journal_info['epassword']);
@@ -1067,7 +1069,8 @@ class Article extends Base
* @throws \think\db\exception\ModelNotFoundException * @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException * @throws \think\exception\DbException
*/ */
public function getArticlesByArticle(){ public function getArticlesByArticle()
{
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"article_id" => "require" "article_id" => "require"
@@ -1159,7 +1162,8 @@ class Article extends Base
} }
public function checkArticleStart(){ public function checkArticleStart()
{
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"article_id" => "require" "article_id" => "require"
@@ -2103,8 +2107,8 @@ class Article extends Base
// } // }
public function addArticleTable()
public function addArticleTable(){ {
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"article_id" => "require", "article_id" => "require",
@@ -2130,7 +2134,8 @@ class Article extends Base
} }
public function reloadArticleTable(){ public function reloadArticleTable()
{
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"article_id" => "require" "article_id" => "require"
@@ -2143,7 +2148,8 @@ class Article extends Base
} }
public function getArticleTable(){ public function getArticleTable()
{
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"article_id" => "require" "article_id" => "require"
@@ -2157,7 +2163,8 @@ class Article extends Base
return jsonSuccess($re); return jsonSuccess($re);
} }
public function myMarkTmage(){ public function myMarkTmage()
{
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"article_id" => "require" "article_id" => "require"
@@ -2172,7 +2179,8 @@ class Article extends Base
/**分解文章的图片和表格 /**分解文章的图片和表格
* @return void * @return void
*/ */
private function markArticleImage($article_id){ private function markArticleImage($article_id)
{
// $article_info = $this->article_obj->where("article_id",$article_id)->find(); // $article_info = $this->article_obj->where("article_id",$article_id)->find();
//处理word的图片内容 //处理word的图片内容
$files = $this->article_file_obj->where("article_id", $article_id)->where("type_name", "manuscirpt")->where("state", 0)->order("ctime desc")->limit(1)->select(); $files = $this->article_file_obj->where("article_id", $article_id)->where("type_name", "manuscirpt")->where("state", 0)->order("ctime desc")->limit(1)->select();
@@ -2320,7 +2328,6 @@ class Article extends Base
} }
$insert = [ $insert = [
'article_id' => $article_id, 'article_id' => $article_id,
'image' => $ff, 'image' => $ff,
@@ -2401,7 +2408,8 @@ class Article extends Base
$this->markWord("https://submission.tmrjournals.com/public/articleCache/" . $article_id . "/" . $word_file, $article_id); $this->markWord("https://submission.tmrjournals.com/public/articleCache/" . $article_id . "/" . $word_file, $article_id);
} }
private function markWord($file,$article_id){ private function markWord($file, $article_id)
{
$url = $this->ts_base_url . "api/typeset/markImages"; $url = $this->ts_base_url . "api/typeset/markImages";
$program['file'] = $file; $program['file'] = $file;
$program['article_id'] = $article_id; $program['article_id'] = $article_id;
@@ -2436,7 +2444,8 @@ class Article extends Base
// } // }
public function getArticleImages(){ public function getArticleImages()
{
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"article_id" => "require" "article_id" => "require"
@@ -2455,7 +2464,8 @@ class Article extends Base
} }
public function reloadArticleImages(){ public function reloadArticleImages()
{
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"article_id" => "require" "article_id" => "require"
@@ -2484,7 +2494,8 @@ class Article extends Base
return jsonSuccess([]); return jsonSuccess([]);
} }
public function getArticleTables(){ public function getArticleTables()
{
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"article_id" => "require" "article_id" => "require"
@@ -2499,7 +2510,8 @@ class Article extends Base
} }
public function addArticleTable1(){ public function addArticleTable1()
{
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"article_id" => "require", "article_id" => "require",
@@ -2541,8 +2553,6 @@ class Article extends Base
// } // }
/** /**
* 编辑添加审稿实例(临时开启,为了补充审稿实例不够) * 编辑添加审稿实例(临时开启,为了补充审稿实例不够)
*/ */
@@ -2815,7 +2825,8 @@ class Article extends Base
/**添加作者 /**添加作者
* @return void * @return void
*/ */
public function addAuthor(){ public function addAuthor()
{
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"article_id" => "require", "article_id" => "require",
@@ -2846,7 +2857,8 @@ class Article extends Base
return jsonSuccess([]); return jsonSuccess([]);
} }
public function editAuthor(){ public function editAuthor()
{
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"art_aut_id" => "require", "art_aut_id" => "require",
@@ -2880,7 +2892,8 @@ class Article extends Base
/** /**
* @return void * @return void
*/ */
public function getAuthors(){ public function getAuthors()
{
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"article_id" => "require" "article_id" => "require"
@@ -2896,7 +2909,8 @@ class Article extends Base
/**上调文章作者顺序 /**上调文章作者顺序
* @return void * @return void
*/ */
public function upAuthors(){ public function upAuthors()
{
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"art_aut_id" => "require" "art_aut_id" => "require"
@@ -2917,7 +2931,8 @@ class Article extends Base
/**下调文章作者顺序 /**下调文章作者顺序
* @return \think\response\Json|void * @return \think\response\Json|void
*/ */
public function downAuthors(){ public function downAuthors()
{
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"art_aut_id" => "require" "art_aut_id" => "require"
@@ -2938,7 +2953,8 @@ class Article extends Base
/** /**
* @return void * @return void
*/ */
public function delAuthor(){ public function delAuthor()
{
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"art_aut_id" => "require" "art_aut_id" => "require"
@@ -2954,8 +2970,6 @@ class Article extends Base
} }
/** /**
* 获取已暂存的文章列表 * 获取已暂存的文章列表
*/ */
@@ -3017,7 +3031,8 @@ class Article extends Base
} }
public function changeJournal(){ public function changeJournal()
{
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"article_id" => "require", "article_id" => "require",
@@ -3134,11 +3149,12 @@ class Article extends Base
} }
public function mytest()
public function mytest(){ {
changeArticleMajor(5774, "97"); changeArticleMajor(5774, "97");
} }
/**获取期刊话题 /**获取期刊话题
* @return void * @return void
*/ */
@@ -3398,7 +3414,6 @@ class Article extends Base
} }
sendEmail($user_res['email'], $journal_info['title'], $journal_info['title'], $tt_t . $tt1, $journal_info['email'], $journal_info['epassword']); sendEmail($user_res['email'], $journal_info['title'], $journal_info['title'], $tt_t . $tt1, $journal_info['email'], $journal_info['epassword']);
foreach ($author_email as $v) { foreach ($author_email as $v) {
@@ -3493,7 +3508,8 @@ class Article extends Base
/**刷新评分 /**刷新评分
* @return void * @return void
*/ */
public function refuseScore(){ public function refuseScore()
{
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"article_id" => 'require' "article_id" => 'require'
@@ -3628,7 +3644,6 @@ class Article extends Base
} }
// $all_num = $p_num + $tp; // $all_num = $p_num + $tp;
// if ($all_num > 3) { // if ($all_num > 3) {
// $b_fen = 2; // $b_fen = 2;
@@ -3799,6 +3814,14 @@ class Article extends Base
$jj_fen = 0.5; $jj_fen = 0.5;
$fen += 0.5; $fen += 0.5;
} }
//对于以往文章的投递情况加分
$history_fen = $this->historyFen($article_id);
if($history_fen>0){
$fen += $history_fen;
}
// return $fen; // return $fen;
$updata['scoring'] = $fen; $updata['scoring'] = $fen;
$updata['h_fen'] = $h_fen; $updata['h_fen'] = $h_fen;
@@ -3812,6 +3835,61 @@ class Article extends Base
return jsonSuccess([]); return jsonSuccess([]);
} }
public function hf_test(){
$data = $this->request->post();
$rule = new Validate([
"article_id"=>"require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
echo $this::historyFen($data['article_id']);
}
private function historyFen($article_id){
$es = $this->article_author_obj->where("article_id",$article_id)->where("is_report",1)->where("state",0)->column("email");
$authors = $this->article_author_obj
->field("t_article.*")
->join("t_article","t_article.article_id = t_article_author.article_id","left")
->whereIn("t_article_author.email",$es)
->where("t_article_author.is_report",1)
->where("t_article_author.article_id","<>",$article_id)
->where("t_article_author.state",0)
->where("t_article.ctime",">",strtotime("-3 years"))
->group("t_article_author.article_id")
->select();
if(count($authors)==0){
return 0;
}elseif (count($authors)==1){
if($authors[0]['ctime']<strtotime("-2 years")){
return 0;
}else{
return 0.2;
}
}else{
$yes = 0;
foreach ($authors as $v){
if($v['state']==5||$v['state']==6){
$yes++;
}
}
$fl = $yes/floatval(count($authors));
if($fl>0.8){
return 0.5;
}elseif ($fl>0.7){
return 0.4;
}elseif ($fl>0.6){
return 0.3;
}else{
return 0.2;
}
}
}
private function readZip($file) private function readZip($file)
{ {
$zip = new \ZipArchive(); $zip = new \ZipArchive();
@@ -3823,8 +3901,6 @@ class Article extends Base
} }
/** /**
* 添加推荐审稿人 * 添加推荐审稿人
*/ */
@@ -4035,6 +4111,17 @@ class Article extends Base
$insert['ftype'] = 1; $insert['ftype'] = 1;
$insert['ctime'] = time(); $insert['ctime'] = time();
$this->article_msg_obj->insert($insert); $this->article_msg_obj->insert($insert);
$article_info = $this->article_obj->where("article_id",$data['articleId'])->find();
$journal_info = $this->journal_obj->where("journal_id",$article_info['journal_id'])->find();
$editor_info = $this->user_obj->where('user_id', $journal_info['editor_id'])->find();
$tt = 'Dear editor,<br>';
$tt .= 'The author sent a new message, please check. SN:'.$article_info['accept_sn'].'<br><br>';
$tt .= 'TMR Publishing Group';
sendEmail($editor_info['email'], $journal_info['title'], $journal_info['title'], $tt, $journal_info['email'], $journal_info['epassword']);
return json(['code' => 0]); return json(['code' => 0]);
} }
@@ -4095,7 +4182,8 @@ class Article extends Base
} }
} }
public function up_approval_file(){ public function up_approval_file()
{
$file = request()->file('articleApproval'); $file = request()->file('articleApproval');
if ($file) { if ($file) {
$info = $file->move(ROOT_PATH . 'public' . DS . 'articleApproval'); $info = $file->move(ROOT_PATH . 'public' . DS . 'articleApproval');
@@ -4209,7 +4297,8 @@ class Article extends Base
return json($res); return json($res);
} }
public function getJournalByAbbr(){ public function getJournalByAbbr()
{
$data = $this->request->post(); $data = $this->request->post();
$rule = new Validate([ $rule = new Validate([
"abbr" => "require" "abbr" => "require"
@@ -4418,7 +4507,8 @@ class Article extends Base
* @param $num 字符长度 * @param $num 字符长度
* @return void * @return void
*/ */
private function checkMinChars($str = '',$num = 200) { private function checkMinChars($str = '', $num = 200)
{
// 过滤非汉字和英文的字符(保留汉字、大小写字母) // 过滤非汉字和英文的字符(保留汉字、大小写字母)
$filteredStr = preg_replace('/[^\x{4e00}-\x{9fa5}a-zA-Z0-9]/u', '', $str); $filteredStr = preg_replace('/[^\x{4e00}-\x{9fa5}a-zA-Z0-9]/u', '', $str);
@@ -4426,12 +4516,14 @@ class Article extends Base
$total = mb_strlen($filteredStr, 'UTF-8'); $total = mb_strlen($filteredStr, 'UTF-8');
return $total >= $num; return $total >= $num;
} }
/** /**
* 审稿人审稿质量 * 审稿人审稿质量
* @param $article_id 文章ID * @param $article_id 文章ID
* @return void * @return void
*/ */
private function reviewQuality($article_id = ''){ private function reviewQuality($article_id = '')
{
$article_id = empty($article_id) ? $this->request->post('article_id') : $article_id; $article_id = empty($article_id) ? $this->request->post('article_id') : $article_id;
if (empty($article_id)) { if (empty($article_id)) {
return json(['status' => 2, 'msg' => '请选择要查询的文章']); return json(['status' => 2, 'msg' => '请选择要查询的文章']);
@@ -4519,7 +4611,8 @@ class Article extends Base
* @param reviewer_id 审核人ID * @param reviewer_id 审核人ID
* @param * @param
*/ */
public function getArticleField($aParam = []){ public function getArticleField($aParam = [])
{
$aParam = empty($aParam) ? $this->request->post() : $this->request->post(); $aParam = empty($aParam) ? $this->request->post() : $this->request->post();
@@ -4541,12 +4634,14 @@ class Article extends Base
} }
return json_encode(['status' => 1, 'msg' => "success", 'data' => $aReviewerMajor]); return json_encode(['status' => 1, 'msg' => "success", 'data' => $aReviewerMajor]);
} }
/** /**
* 修改文章所属领域 * 修改文章所属领域
* @param reviewer_id 审核人ID * @param reviewer_id 审核人ID
* @param * @param
*/ */
public function updateArticleField($aParam = []){ public function updateArticleField($aParam = [])
{
$aParam = empty($aParam) ? $this->request->post() : $this->request->post(); $aParam = empty($aParam) ? $this->request->post() : $this->request->post();
$iArticleId = empty($aParam['article_id']) ? 0 : $aParam['article_id']; $iArticleId = empty($aParam['article_id']) ? 0 : $aParam['article_id'];

View File

@@ -266,6 +266,7 @@ class Order extends base{
} }
private function creatPaystation($article_id){ private function creatPaystation($article_id){
$article_info = $this->article_obj->where("article_id",$article_id)->find(); $article_info = $this->article_obj->where("article_id",$article_id)->find();
$journal_info = $this->journal_obj->where("journal_id",$article_info['journal_id'])->find(); $journal_info = $this->journal_obj->where("journal_id",$article_info['journal_id'])->find();
@@ -276,7 +277,7 @@ class Order extends base{
'gateway_id' => "PAYSTATION",//GATEWAY_ID, 'gateway_id' => "PAYSTATION",//GATEWAY_ID,
"merchant_session" => $ca_sn, "merchant_session" => $ca_sn,
"merchant_reference"=>$ca_sn, "merchant_reference"=>$ca_sn,
"amount" =>(int)((((int)$journal_info['fee'])*726/416)*100), "amount" =>(int)(prin($journal_info['fee'])*100),//(int)((((int)$journal_info['fee'])*726/416)*100),
"return_url"=>"https://submission.tmrjournals.com/success?id=".$article_info['article_id'], "return_url"=>"https://submission.tmrjournals.com/success?id=".$article_info['article_id'],
"response_url"=>"http://api.tmrjournals.com/public/index.php/api/Order/completePaystation" "response_url"=>"http://api.tmrjournals.com/public/index.php/api/Order/completePaystation"
]; ];

View File

@@ -2607,7 +2607,7 @@ class Reviewer extends Base
//发送email->编辑 //发送email->编辑
$tt = 'Dear editor,<br>'; $tt = 'Dear editor,<br>';
$tt .= 'Please check the new comments from the reviewer.<br>'; $tt .= 'Please check the new comments from the reviewer.sn:'.$article_info['accept_sn'].'<br>';
$tt .= 'Journal:' . $journal_info['title'] . ' and article title:' . $article_info['title']; $tt .= 'Journal:' . $journal_info['title'] . ' and article title:' . $article_info['title'];
$sendEditor = [ $sendEditor = [