|
@@ -1167,4 +1167,51 @@ class User extends Api
|
|
|
|
|
|
$this->success('', $data);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 手稿列表
|
|
|
+ *
|
|
|
+ * @return void
|
|
|
+ * @throws \think\Exception
|
|
|
+ * @throws \think\exception\DbException
|
|
|
+ */
|
|
|
+ public function display_submitted()
|
|
|
+ {
|
|
|
+ $author_edit_status = config('site.author_edit_status');
|
|
|
+ $author_comments_status = config('site.author_comments_status');
|
|
|
+ // 构建分页参数
|
|
|
+ $limit = $this->request->param('limit', 10);
|
|
|
+ $status = $this->request->param('status', 'all');
|
|
|
+ $keyword = $this->request->param('keyword');
|
|
|
+ $manuscripts = AuthorManuscript::where(['user_id' => $this->auth->id])
|
|
|
+ ->where(function ($query) use ($keyword, $status) {
|
|
|
+ if ($status != 'all') {
|
|
|
+ return $query->where(['status' => $status]);
|
|
|
+ }
|
|
|
+ if ($keyword != '') {
|
|
|
+ return $query->where(['title' => ['like', '%'. $keyword .'%']]);
|
|
|
+ }
|
|
|
+ })->field('id,title,image,createtime,journal,status')
|
|
|
+ ->order('createtime', 'DESC')
|
|
|
+ ->paginate($limit);
|
|
|
+ foreach ($manuscripts as $manuscript) {
|
|
|
+ $manuscript['createtime'] = date('Y-m-d', $manuscript['createtime']);
|
|
|
+ $manuscript['journal'] = Channel::where(['id' => $manuscript['journal']])->value('name') ?? '';
|
|
|
+ $manuscript['is_edit'] = false;
|
|
|
+ $manuscript['is_comments'] = false;
|
|
|
+ $manuscript['is_view_comments'] = false;
|
|
|
+ if (in_array($manuscript['status'], $author_edit_status)) {
|
|
|
+ $manuscript['is_edit'] = true;
|
|
|
+ }
|
|
|
+ if (in_array($manuscript['status'], $author_comments_status)) {
|
|
|
+ $manuscript['is_comments'] = true;
|
|
|
+ }
|
|
|
+ // 查询当前手稿下是否有可查看的审稿意见数量
|
|
|
+ $comment_count = Comments::where(['manuscript_id' => $manuscript['id'], 'type' => 'reviewer', 'is_send' => 'normal'])->count();
|
|
|
+ if ($comment_count > 0) {
|
|
|
+ $manuscript['is_view_comments'] = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $this->success('', $manuscripts);
|
|
|
+ }
|
|
|
}
|