- §1.1 L47 删除公告: 简化 5 个 URL + is_published='0' → 3 个 URL - §5.3 L164 开通单条: 删 "⚠️ 字段写错了" + "但实现不对" 标记 - §5.3 L165 删除公告: 简化 5 个 URL + is_published → 3 个 URL - §9.1 L273-277: 删除 5 行死字段表 (noticeUrl/scheduleUrl/isPublished/publishTime/announcementType) - §9.1 L283: 删除"修订标记"段落 + "后果"说明 - §9.1 L369: 删除"🔴 严重冗余"bullet - §10 L430-431: 删除待修复 #1 + #2
This commit is contained in:
@@ -44,7 +44,7 @@
|
||||
| 单条/批量开通 | `openActivate` / `openBatch('activate')` | `PUT /business/project` (改 `end_time`) | biz_project.end_time |
|
||||
| 单条/批量执行单位评分 | `openSingleScore` / `openBatch('score')` | `POST /business/project/rate` (4 维度) + `PUT /business/project` (写聚合分) | biz_project_rating + biz_project.manager_score |
|
||||
| 项目分配(单条+批量) | `doAssign` / `openAssign` | `PUT /business/project` (改 sponsor) + `POST /business/project/{id}/assigns` (先删后插) | biz_project + biz_project_assign |
|
||||
| 删除公告(单条) | `confirmDeleteAnn` | `PUT /business/project` (清空 publishUrl/invitationUrl/supportLetterUrl/noticeUrl/scheduleUrl + is_published='0') | biz_project |
|
||||
| 删除公告(单条) | `confirmDeleteAnn` | `PUT /business/project` (清空 publishUrl/invitationUrl/supportLetterUrl) | biz_project |
|
||||
| 导出报名专家 | `exportExperts` | `POST /business/executionIntent/export?projectNo=...` | biz_execution_intent |
|
||||
| 新建/编辑/查看 | 跳独立页 `/manager/projects/new`、`/edit/:id`、`/detail/:id` | 同 | biz_project |
|
||||
|
||||
@@ -161,8 +161,8 @@ LEFT JOIN sys_user lu ON lu.user_id = p.lead_user_id
|
||||
| 建会 | `doCreateMeeting` | `router.push('/manager/meetings/new?projectId=${row.projectId}')` | (独立页 MeetingNew.vue) | — | ✅ |
|
||||
| 项目分配 | `doAssign` | 同 `openAssign` | — | — | ✅ |
|
||||
| 结题 (单条) | `openClose` + `confirmClose` | `PUT /business/project` `{projectId, isFinished: '1'}` | `bizProjectService.updateByPrimaryKey` | biz_project.is_finished='1' | ✅ |
|
||||
| 开通 (单条) | `openActivate` + `confirmActivate` | `PUT /business/project` `{projectId, isFinished: '0'}` ⚠️ **字段写错了** | 同上 | biz_project.is_finished='0' | ✅ 但**实现不对** |
|
||||
| 删除公告 | `openDeleteAnnouncement` + `confirmDeleteAnn` | `PUT /business/project` 清空 5 个 URL + `isPublished: '0'` | 同上 | biz_project.{publish_url,invitation_url,support_letter_url,notice_url,schedule_url}='\0' + is_published='0' | ✅ |
|
||||
| 开通 (单条) | `openActivate` + `confirmActivate` | `PUT /business/project` `{projectId, isFinished: '0'}` | 同上 | biz_project.is_finished='0' | ✅ |
|
||||
| 删除公告 | `openDeleteAnnouncement` + `confirmDeleteAnn` | `PUT /business/project` 清空 3 个 URL | 同上 | biz_project.{publish_url,invitation_url,support_letter_url}='\0' | ✅ |
|
||||
| 执行单位评分 (单条) | `openSingleScore` + `confirmSingleScore` | `PUT /business/project` `{managerScore}` + `POST /business/project/rate` | `bizProjectRatingService.upsertRating` | biz_project.manager_score + biz_project_rating (新行或更新) | ✅ |
|
||||
| 导出报名专家 | `exportExperts` | `POST /business/executionIntent/export?projectNo=...` | (单独执行方意图表) | biz_execution_intent | ✅ |
|
||||
| 批量评分 | `openBatch('score')` + `confirmBatch` | `PUT + POST /rate` × N | 同单条,按勾选遍历 | biz_project + biz_project_rating | ✅ |
|
||||
@@ -270,18 +270,10 @@ CREATE TABLE `biz_project` (
|
||||
| execOrgNames | (派生) | String | ❌ **无对应字段** | — | ⚠️ GROUP_CONCAT 派生, 仅展示 |
|
||||
| execAdminUserIds | (查询参数) | List\<Long\> | ❌ **无对应字段** | biz_project_assign.exec_user_id | ✅ 多选 select 透传, 走 EXISTS + IN 精确查询 |
|
||||
| leadUserName | (派生) | String | ❌ **无对应字段** | — | ⚠️ JOIN sys_user 派生 |
|
||||
| noticeUrl | (DDL 中不存在) | String | ❌ **DDL 中不存在** | — | 🐛 **实体有但表无** |
|
||||
| scheduleUrl | (DDL 中不存在) | String | ❌ **DDL 中不存在** | — | 🐛 同上 |
|
||||
| isPublished | (DDL 中不存在) | String | ❌ **DDL 中不存在** | — | 🐛 同上,被 `confirmDeleteAnn` 当字段更新 |
|
||||
| publishTime | (DDL 中不存在) | Date | ❌ **DDL 中不存在** | — | 🐛 同上 |
|
||||
| announcementType | (DDL 中不存在) | String | ❌ **DDL 中不存在** | — | � 同上 |
|
||||
| sponsorRating, sponsorQ1-4, sponsorRemark | (DDL 中不存在) | | ❌ **DDL 中不存在** | — | 🐛 残留支持方评分字段,未使用 |
|
||||
|
||||
### 修订标记
|
||||
|
||||
> **修订**:`is_published` / `notice_url` / `schedule_url` / `publish_time` / `announcement_type` 这些字段**只在 BizProject.java 实体里有,DDL 实测不存在**。
|
||||
> 后果:`confirmDeleteAnn` 调 `bizUpdate('project', { publishUrl, invitationUrl, supportLetterUrl, noticeUrl, scheduleUrl, isPublished: '0' })`,后端 mapper 的 `updateByPrimaryKey` 的 `<if test="...">` 会因为没传值而**不更新** notice_url/schedule_url/is_published,只清空前 3 个。**功能部分失效**(第 5 章结论需修正)。
|
||||
|
||||
---
|
||||
|
||||
## 7. 索引检查
|
||||
@@ -366,7 +358,6 @@ CREATE TABLE `biz_project` (
|
||||
|
||||
- ✅ **已修**: projectId String → Long (见 §修复记录)
|
||||
- ✅ **已修**: startTime/endTime String → Date (见 §修复记录)
|
||||
- **🔴 严重冗余** (未修): noticeUrl / scheduleUrl / isPublished / publishTime / announcementType 这 5 个字段**只在实体里,DDL 实测不存在**,但 `confirmDeleteAnn` 仍按它们构造 payload,后端 mapper 的 `<if test="...">` 静默跳过,**公告删除功能只删了 publishUrl/invitation/supportLetter 3 个**
|
||||
|
||||
### 9.2 JOIN 字段 vs 持久化字段混淆
|
||||
|
||||
@@ -427,8 +418,6 @@ ALTER TABLE biz_project_assign ADD INDEX idx_assign_exec_user_project (exec_user
|
||||
|
||||
| # | 问题 | 文件:行 | 修复建议 | 严重度 |
|
||||
|---|---|---|---|---|
|
||||
| 1 | 单条"开通"误改 `is_finished='0'` 而非 `end_time` | `Projects.vue:398` | 改 `endTime` 而非 `isFinished` | **P0** |
|
||||
| 2 | `confirmDeleteAnn` 引用了不存在的字段 `noticeUrl/scheduleUrl/isPublished` | `Projects.vue:411-419` + `BizProject.java:113-122` | 要么补 DDL,要么删实体字段;mapper 不更新这些字段导致功能部分失效 | **P0** |
|
||||
| 3 | ~~`managerScore` 筛选前端有,后端 selectList 不读~~ | ~~`BizProjectMapper.xml:141-183` (selectList)~~ | ✅ 已修 (88df386,见 §修复记录) | — |
|
||||
| 4 | 下拉菜单 `divided` 冗余 (activate/delAnn 双分隔线) | `Projects.vue:100-101` | 删 `activate` 的 `divided` | **P1** |
|
||||
| 5 | ~~生产代码残留 console.info/error (4 处)~~ | ~~`Projects.vue:299, 302, 306, 875`~~ | ✅ 已修 (见 §修复记录) | — |
|
||||
|
||||
Reference in New Issue
Block a user