大更新,1投稿系统参考文献的类型增加功能,,,2官网数据库功能

This commit is contained in:
wangjinlei
2026-07-08 11:15:44 +08:00
parent 186126a726
commit 05af67bc1a
22 changed files with 1634 additions and 81 deletions

View File

@@ -1708,11 +1708,20 @@ class Journal extends Controller
public function addJournalAbs()
{
$data = $this->request->post();
$rule = new Validate([
'journal_id' => 'require',
'title' => 'require',
'url' => 'require',
]);
if (!$rule->check($data)) {
return json(['code' => 1, 'msg' => $rule->getError()]);
}
$add_data['journal_id'] = $data['journal_id'];
$add_data['title'] = $data['title'];
$add_data['url'] = $data['url'];
$add_data['sort'] = $data['sort'];
$add_data['is_show'] = $data['is_show'];
$add_data['sort'] = isset($data['sort']) ? intval($data['sort']) : 0;
$add_data['is_show'] = isset($data['is_show']) ? intval($data['is_show']) : 1;
$add_data['state'] = 0;
$res = $this->journal_abs_obj->insert($add_data);
if ($res) {
return json(['code' => 0, 'msg' => 'success']);
@@ -1754,7 +1763,46 @@ class Journal extends Controller
public function editJournalAbs()
{
$data = $this->request->post();
$this->journal_abs_obj->update($data);
$rule = new Validate([
'journal_abstracting_id' => 'require',
]);
if (!$rule->check($data)) {
return json(['code' => 1, 'msg' => $rule->getError()]);
}
// 白名单,避免误更新未知字段(数据库开启了 fields_strict
$update = [];
foreach (['journal_id', 'title', 'url', 'sort', 'is_show'] as $f) {
if (isset($data[$f])) {
$update[$f] = $data[$f];
}
}
if (empty($update)) {
return json(['code' => 1, 'msg' => 'nothing to update']);
}
$this->journal_abs_obj->where('journal_abstracting_id', $data['journal_abstracting_id'])->update($update);
return json(['code' => 0, 'msg' => 'success']);
}
/**
* @title 批量排序期刊外链
* @description 拖拽排序后批量保存收录数据库外链顺序
* @url /master/Journal/sortJournalAbs
* @method POST
*
* @param name:ids type:string require:1 desc:journal_abstracting_id 顺序数组(从大到小排序权重递减)
*/
public function sortJournalAbs()
{
$data = $this->request->post();
$ids = isset($data['ids']) ? $data['ids'] : [];
if (!is_array($ids) || empty($ids)) {
return json(['code' => 1, 'msg' => 'ids 不能为空']);
}
// 数组顺序即展示顺序:越靠前 sort 越大
$total = count($ids);
foreach ($ids as $index => $id) {
$this->journal_abs_obj->where('journal_abstracting_id', $id)->update(['sort' => $total - $index]);
}
return json(['code' => 0, 'msg' => 'success']);
}