Переглянути джерело

交易市场平台(供应商)

wwh 1 місяць тому
батько
коміт
e978c4569b

+ 1 - 1
baqing-admin/src/main/java/com/ruoyi/web/modules/architecture/support/EquipmentWorkStandardRules.java

@@ -60,7 +60,7 @@ public final class EquipmentWorkStandardRules
60 60
     {
61 61
         String ext = extensionOf(filenameOrPath);
62 62
         return ext.equals("pdf") || ext.equals("md") || ext.equals("doc") || ext.equals("docx")
63
-                || ext.equals("xls") || ext.equals("xlsx") || ext.equals("ppt") || ext.equals("pptx");
63
+                || ext.equals("xls") || ext.equals("xlsx") || ext.equals("pptx");
64 64
     }
65 65
 
66 66
     public static boolean isCoverExtensionAllowed(String filenameOrPath)

+ 3 - 0
baqing-admin/src/test/java/com/ruoyi/web/modules/architecture/support/EquipmentWorkStandardRulesTest.java

@@ -96,6 +96,9 @@ class EquipmentWorkStandardRulesTest
96 96
     void ut011_contentExt()
97 97
     {
98 98
         assertTrue(EquipmentWorkStandardRules.isContentExtensionAllowed("a.pdf"));
99
+        assertTrue(EquipmentWorkStandardRules.isContentExtensionAllowed("readme.md"));
100
+        assertTrue(EquipmentWorkStandardRules.isContentExtensionAllowed("slides.pptx"));
101
+        assertFalse(EquipmentWorkStandardRules.isContentExtensionAllowed("legacy.ppt"));
99 102
         assertFalse(EquipmentWorkStandardRules.isContentExtensionAllowed("a.exe"));
100 103
     }
101 104
 

+ 2 - 1
doc/养殖标准体系/设备实施作业标准/设备实施作业标准管理前端技术方案.md

@@ -103,7 +103,7 @@
103 103
 | 成功回调 | `code === 200` 时取 `url`、`fileName`、`originalFilename`(正文名优先 `originalFilename`,否则取本地 `file.name`) |
104 104
 | 失败 | `on-error` 关闭 loading 并 `msgError` |
105 105
 
106
-正文允许后缀(与页面一致):`pdf`、`md`、`doc`、`docx`、`xls`、`xlsx`、`ppt`、`pptx`。物理文件删除、知识库联动由**后端**在修改/删除等接口内完成(总方案 **§4**),前端不直接调用知识库 HTTP。
106
+**正文后缀(需求/服务端)**:`pdf`、`md`、`doc`、`docx`、`xls`、`xlsx`、`pptx`(`EquipmentWorkStandardRules`)。**说明**:当前页面 `contentFileExts` 暂未同步调整,**保存以服务端校验为准**。物理文件删除、知识库联动由**后端**在修改/删除等接口内完成(总方案 **§4**),前端不直接调用知识库 HTTP。
107 107
 
108 108
 ---
109 109
 
@@ -227,3 +227,4 @@ import { listInformationCategoryChildren } from '@/api/category/informationCateg
227 227
 | --- | --- | --- |
228 228
 | v1.0 | 2026-05-11 | 初稿,与 `equipmentOperation/index.vue`、`equipmentWorkStandard.js` 及总方案 **§2~§3** 对齐 |
229 229
 | **v1.1** | **2026-06-01** | **标准类型改资讯类别编码**:动态加载 `parentCode=001&categoryType=3`;筛选/表单传 `code`;存量 `1`~`4` 回退展示;编辑/上传仅 **未发布+未同步**;补充类型加载失败与已同步编辑提示 |
230
+| **v1.2** | **2026-05-20** | 正文服务端白名单:`pdf`、`md`、`doc`、`docx`、`xls`、`xlsx`、`pptx`(移除 `ppt`);前端 `contentFileExts` 本次不改 |

+ 1 - 1
doc/养殖标准体系/设备实施作业标准/设备实施作业标准管理功能需求-草稿.md

@@ -2,7 +2,7 @@
2 2
 
3 3
 
4 4
 
5
-1. 新增设备实施作业标准:标准名称不能为空,长度 1–20;标准类型:设备操作/设备维护/设备排障/设备维修,必填,支持单选;标准简介:限制50字内;标准内容:必填,支持后缀名为pdf、md、doc、docx、xls、xlsx、ppt,pptx等非结构化文档单选上传,文件大小30M以内;封面:支持后缀名为jpg、jpeg、png等图片单选上传,文件大小10M以内。
5
+1. 新增设备实施作业标准:标准名称不能为空,长度 1–20;标准类型:设备操作/设备维护/设备排障/设备维修,必填,支持单选;标准简介:限制50字内;标准内容:必填,支持后缀名为 pdf、md、doc、docx、xls、xlsx、pptx 等非结构化文档单选上传,文件大小30M以内;封面:支持后缀名为jpg、jpeg、png等图片单选上传,文件大小10M以内。
6 6
 2. 查询设备实施作业标准列表:支持关键字(标准名称或标准简介)模糊匹配、标准类型精确匹配分页列出设备实施作业标准列表。
7 7
 3. 修改设备实施作业标准:标准名称、标准类型、标准简介、标准内容、封面均可修改。
8 8
 4. 删除设备实施作业标准:删除数据同时删除相关文件,并通知知识库删除该设备实施作业标准。

+ 2 - 1
doc/养殖标准体系/设备实施作业标准/设备实施作业标准管理功能需求.md

@@ -101,7 +101,7 @@
101 101
 | 标准名称 | 必填;长度 1~20 个字符(字符计数规则与项目全局一致,如按 Unicode 字符数或字节长度须单独约定) |
102 102
 | 标准类型 | 必填;单选,取值须为第 **2.1** 节所列资讯类别编码之一 |
103 103
 | 标准简介 | **选填**;若有内容,长度不超过 **50 字**(字数口径与项目全局一致,如是否含标点、中英文计数方式) |
104
-| 标准内容 | **必填**;通过**单个**附件上传;允许后缀:`pdf`、`md`、`doc`、`docx`、`xls`、`xlsx`、`ppt`、`pptx`;单文件 ≤ **30 MB** |
104
+| 标准内容 | **必填**;通过**单个**附件上传;允许后缀:`pdf`、`md`、`doc`、`docx`、`xls`、`xlsx`、`pptx`;单文件 ≤ **30 MB** |
105 105
 | 封面 | **选填**;通过**单个**图片上传;允许后缀:`jpg`、`jpeg`、`png`(若产品要求支持 `webp` 等可追加);单文件 ≤ **10 MB** |
106 106
 
107 107
 **必填字段汇总:** 标准名称、标准类型、标准内容。
@@ -222,3 +222,4 @@
222 222
 - 理顺 **同步 / 发布 / 下架 / 移出 / 删除** 关系;矩阵汇总;**已同步禁止编辑**(与休药期/药物禁配对齐)。  
223 223
 - **下架 ≠ 移出**、删除须通知知识库等与养殖标准语义对齐;**不包含**数据库与接口设计;原草稿中的技术栈不在本文展开(由项目统一说明)。  
224 224
 - **标准名称**长度由 **3~20** 调整为 **1~20** 个字符,与 `设备实施作业标准管理功能需求-草稿.md` 及养殖/饲喂等标准模块对齐。
225
+- **标准内容**正文附件白名单调整为:`pdf`、`md`、`doc`、`docx`、`xls`、`xlsx`、`pptx`(不再支持旧版 `ppt`);与 `EquipmentWorkStandardRules` 及通用上传白名单(含 `md`)一致;**前端上传校验数组本次不调整**,以服务端校验为准。

+ 1 - 1
doc/养殖标准体系/设备实施作业标准/设备实施作业标准管理技术方案.md

@@ -130,7 +130,7 @@ CREATE TABLE `biz_equipment_work_standard` (
130 130
 | 3.8 | 发布 | POST | `/equipment/workStandard/publish/{id}` | `equipment:workStandard:publish` | 前置 `publish_status=0` 且 `kb_sync_status=1` |
131 131
 | 3.9 | 下架 | POST | `/equipment/workStandard/offline/{id}` | `equipment:workStandard:offline` | 前置 `publish_status=1`;本地回流 `publish_status=0`,`kb_sync_status=1`,`offline_time=now()` |
132 132
 
133
-**校验(摘要)**:名称 1~20;`standard_type` 非空且为资讯类别有效编码(**2.2**);简介 ≤50 字;正文白名单与 ≤30MB;封面白名单与 ≤10MB
133
+**校验(摘要)**:名称 1~20;`standard_type` 非空且为资讯类别有效编码(**2.2**);简介 ≤50 字;正文后缀白名单 **`pdf`/`md`/`doc`/`docx`/`xls`/`xlsx`/`pptx`** 与 ≤30MB;封面后缀 **`jpg`/`jpeg`/`png`** 与 ≤10MB(`EquipmentWorkStandardRules.isContentExtensionAllowed`)
134 134
 
135 135
 ---
136 136
 

+ 3 - 2
doc/养殖标准体系/设备实施作业标准/设备实施作业标准管理测试用例.md

@@ -3,7 +3,7 @@
3 3
 > 依据:`设备实施作业标准管理功能需求.md`、`设备实施作业标准管理技术方案.md`  
4 4
 > **接口 Base Path(示例)**:`/breedingStandards/equipmentOperation`;若含 `context-path` 或网关前缀须补齐。鉴权与若依一致(Cookie / Token)。
5 5
 
6
-**通用前置**:具备本模块菜单与按钮权限;正文白名单后缀:`pdf`/`md`/`doc`/`docx`/`xls`/`xlsx`/`ppt`/`pptx`(≤30MB);封面:`jpg`/`jpeg`/`png`(≤10MB)。`biz_information_category` 已种子化;标准类型编码:`001007` 设备操作、`001008` 设备保养、`001009` 设备排障、`001010` 设备维修(`parentCode=001`,`categoryType=3`)。
6
+**通用前置**:具备本模块菜单与按钮权限;正文白名单后缀:`pdf`/`md`/`doc`/`docx`/`xls`/`xlsx`/`pptx`(≤30MB);封面:`jpg`/`jpeg`/`png`(≤10MB)。`biz_information_category` 已种子化;标准类型编码:`001007` 设备操作、`001008` 设备保养、`001009` 设备排障、`001010` 设备维修(`parentCode=001`,`categoryType=3`)。
7 7
 
8 8
 **界面测试(UI)**:借助 **Playwright** 启动 **Chromium**(与 **Google Chrome 同源内核**,可配置 `channel: 'chrome'` 调用本机谷歌浏览器)模拟真实用户操作。
9 9
 
@@ -23,7 +23,7 @@
23 23
 | SS-BZ-UT-008 | 参数校验 | 标准名称长度 | 单元测试 | JUnit5 | 1~20 字 | 无 | 空、单字、2 字、20 字、21 字调用校验 | 空与 21 字失败;1~20 字通过 |
24 24
 | SS-BZ-UT-009 | 参数校验 | 简介字数 | 单元测试 | JUnit5 | 选填 ≤50 | 无 | null/空通过;51 字失败 | 符合需求 |
25 25
 | SS-BZ-UT-010 | 参数校验 | 标准类型 | 单元测试 | JUnit5 | 须为有效资讯编码 | Mock 类别子集含 001007~001010 | 传入空、`999999`、未在集合内的编码 | 失败;合法编码通过 |
26
-| SS-BZ-UT-011 | 附件校验 | 正文后缀 | 单元测试 | JUnit5 | 白名单 | 无 | `.pdf` 通过;`.exe` 拒绝 | 与需求一致 |
26
+| SS-BZ-UT-011 | 附件校验 | 正文后缀 | 单元测试 | JUnit5 | 白名单 | 无 | `a.pdf`、`readme.md`、`slides.pptx` 通过;`.ppt`、`.exe` 拒绝 | 与需求一致 |
27 27
 | SS-BZ-UT-012 | 附件校验 | 封面后缀 | 单元测试 | JUnit5 | 白名单 | 无 | `.jpg` 通过;`.bmp` 拒绝 | 与需求一致 |
28 28
 | SS-BZ-UT-013 | Service | 更新已发布 | 单元测试 | JUnit5+Mockito | 禁止修改 | Mock `publish=1` | 调用 `update` | 业务失败;不写库 |
29 29
 | SS-BZ-UT-014 | Service | 同步成功 | 单元测试 | JUnit5+Mockito | 翻转 kb | Mock KB 成功 | `syncKb(id)` | `kb_sync_status=1`;`kb_doc_id` 非空 |
@@ -158,3 +158,4 @@
158 158
 | — | 初稿:对齐功能需求与技术方案;SS-BZ 编号;四类标准类型 |
159 159
 | — | **标准名称**校验由 3~20 调整为 **1~20** 字:同步 SS-BZ-UT-008、API-006/025、UI-009 等步骤与预期 |
160 160
 | 2026-05-20 | **标准类型**由数字枚举改为资讯类别编码(`varchar`);同步 UT-010、API-003/007、UI-033 及通用前置 |
161
+| 2026-05-20 | 正文白名单调整为 `pdf/md/doc/docx/xls/xlsx/pptx`(不含 `ppt`);**SS-BZ-UT-011** 补充 `md`、`pptx` 通过及 `.ppt` 拒绝 |