Files
guoju0808/待优化遗留项.md
T
郭庆泰 5a0a892574 feat: 邀请函邮件发送 + 首次设密/密码为空 + 姓名单一可信源
邀请发送 (菜单暂隐藏, 待确认参数见 发送邀请-待确认参数.md):
- 后端: BizInvite / BizInviteRecipient + Controller/Service/Mapper/XML
- 邮件: InviteMailSender (spring-boot-starter-mail SMTP) + application*.yml 邮件配置
- 上传进度: UploadProgressRegistry + UploadProgressController
- 前端: InviteList / InviteNew / InviteDetail / InviteView + api/business/invite.js
- 原型: proto/html/components/invite-detail / new-invitation / send-invitation

登录/账号:
- 首次设密: /getInfo 返回 isPasswordEmpty, SysProfileController 密码为空时跳过旧密码校验, ForcePasswordDialog 强制弹窗
- 姓名单一可信源 resolveDisplayName: doctor→biz_expert.name, sponsor/executor→biz_person.name, 其余回退 nick_name
- OA compliance 门禁改为按手机号查 ecology 视图 (不再限定 manager/leader)

其它:
- OSS zip 在线查看 (列清单+取单文件, 公开只读) + SecurityConfig permitAll
- doctor 项目详情 ProjectDetail.vue
- 数据库/测试/设计文档 (md) 入库
2026-09-10 20:40:49 +08:00

2.9 KiB
Raw Blame History

待优化遗留项(本次 0/1→Y/N 未改的部分)

记录时间:2026-09-06

背景:已完成 biz_project.is_finished / is_publishedbiz_department.statusbiz_article.statusbiz_meeting.labor_signed 这 5 列 char(1) 0/1→Y/N 的迁移(test+prod 两库、后端、前端、文档四层同步)。

下面是发现但未修改的项,留待下次处理。


1. 其它表 status 仍存 0/1(未纳入本次 5 列范围)

这些 status 仍是 0/1,与新 Y/N 约定不一致。

表.列 后端字面量 前端文件 备注
biz_special_plan.status BizSpecialPlanMapper.xml:33 status='0' admin/BizSpecialPlanAdmin.vueBizSpecialPlanEdit.vue 专项计划
biz_doctor_title.status BizDoctorTitleMapper.xml:37 status='0' admin/Title.vue 医生职称
biz_org.status BizOrgMapper.xml:183 o.status='0' 待查(机构管理页) 机构
sys_user.status BizSysUserQueryMapper.xml:26 u.status='0' admin/Users.vue 框架标准字段
sys_role.status —(框架自带) admin/Roles.vue 框架标准字段
sys_dict.status —(框架自带) admin/ProjectCategory.vue 框架标准字段
biz_project_assign.status BizProjectAssignMapper.xml:33 status='0' 待查/可能无前端 项目分配

⚠️ 各表的 0/1 语义并不相同(有的 0=启用/1=停用,有的 0=正常/1=停用,biz_project_assign.status 含义又不同)。改之前逐个查 COLUMN_COMMENT 确认,不要照搬本批次的映射方向sys_user / sys_role / sys_dict 是 RuoYi 框架标准字段,改动会影响框架行为,建议单独评估是否值得动。

2. biz_project_plan.is_finished 是死字段

  • 查库确认:biz_project_plan没有 is_finished 列(全库只有 biz_meeting.is_finishedbiz_project.is_finished 两列)。
  • BizProjectPlan.java:49-50isFinished 字段无对应列、无 resultMap 映射,属残留,可直接删除。

3. biz_meeting.is_finished 是 tinyint 0/1(与项目级 is_finished 同名不同型)

  • DBbiz_meeting.is_finished tinyint NOT NULL DEFAULT 0
  • 后端:BizMeeting.javaisFinishedInteger(不是 String
  • 前端:utils/meetingStage.jsisTrue()views/meetings/Meetings.vueMeetingDetail.vue 都按 tinyint0/1)判断
  • 若也要统一成 char(1) Y/N,需改:列类型 → IntegerString → 前端这些 isOne/isTrue/isOneVal 判断,改动面较大,建议单独评估。

4. biz_meeting.labor_signed 签署链路未接线

  • 已改成 char(1) Y/N(默认 N),但全库该列从未出现过 Y:test 46 条、prod 3 条全 N
  • 代码里无 setLaborSigned(...) 调用,前端无 laborSigned 引用——「签署劳务」动作目前未实现。
  • 将来实现签署时,落库值要写 'Y'(不是旧 '1')。