feat(biz_project): 加 create_user_id 列, JOIN biz_person 取创建人姓名

This commit is contained in:
郭庆泰
2026-08-18 23:00:41 +08:00
parent ac31387b95
commit ffda9c618e
5 changed files with 45 additions and 7 deletions
+12
View File
@@ -36,6 +36,18 @@
| CSS 不是原型风格 (Element Plus 默认) | 完整照搬原型 CSS: #169bd5 主按钮 + 32px input + 12px 灰字面包屑 + 22px h1 + ff4d4f 红字 + grid 1fr 1fr + 768px 响应式 |
| 字段映射 | 项目编号→projectNo, 项目名称→projectName, 总场次/总期数→totalSessions (不是 totalPeriods, biz_project 没此字段), 支持单位→sponsorOrgName (JOIN biz_org), 创建时间→createTime, 创建人员→createBy, 会议名称默认=项目名称 |
### 第三轮: biz_project 加 create_user_id 列 (commit `待push`)
| 问题 | 修复 |
|---|---|
| `biz_project` 没存"创建人 user_id", 只存 `create_by varchar(64)` (兼容字段, 来自 BaseEntity MetaObjectHandler 自动填当前登录用户名), 新建会议页 `snap.createBy` 显示原始用户名而非真实姓名 | DB: `ALTER TABLE biz_project ADD COLUMN create_user_id bigint DEFAULT NULL COMMENT '创建人user_id (JOIN biz_person 取 name)' AFTER create_by;` |
| BizProject 实体无 `createUserId` / `createUserName` 字段 | `BizProject.java:80-83` 加 2 字段 + getter/setter; createUserName 不入库 (派生) |
| BizProjectMapper.xml 不查 `create_user_id` | `BizProjectMapper.xml:4-42 resultMap` 加 2 result; `selectFields` (主) + `selectFieldsForSponsor` + `selectExecutorList` 全部加 `p.create_user_id` 列 + `LEFT JOIN biz_person bp ON bp.user_id = p.create_user_id``bp.name as create_user_name`; INSERT/UPDATE 加 `create_user_id` (INSERT 由 service 自动写, 旧调用方兼容) |
| BizProjectServiceImpl.insert 不写 create_user_id | `BizProjectServiceImpl:32-37``entity.setCreateUserId(SecurityUtils.getUserId())` (留 null 给手工 import/seed 入口) |
| MeetingNew.vue 用 `snap.createBy` | 改 `snap.createUserName`; onMounted 兼容 `d.createUserName \|\| d.createBy \|\| ''` |
| 旧数据 (11 行) create_user_id 全 NULL, project 13 是 seed (create_time=NULL, lead_user_id=101) | **不回填** (用户指示: 测试数据, 无修改价值); 后续新项目 INSERT 自动带 user_id |
| 受影响角色 (免费) | sponsor/executor 端 `Projects.vue` 列表的"创建人"列 (如有) 也走新字段 — 暂未引用, 不破坏 |
---
## 0. 4 跳定位 (铁律: 不按名字猜)