🐛 个人认证通过后写回司机档案,并补齐资格证字段

个人认证通过时只切了生效指针与认证状态,证件内容一个字都没落到
blade_transport_driver:认证状态显示「已通过」,司机档案里却仍是
管理端当初录入的旧值(甚至为空),管理端与司机端各看各的。
车辆侧早有 applySnapshotToVehicle 做这件事,司机侧一直没有对应实现。

- 新增 applySnapshotToDriver,审核通过时与指针合并在同一次 UPDATE 写回。
  只搬司机申报的证件内容,不碰身份标识(姓名/身份证号,由管理端建档确定)
  与内部管理归属(司机类型/岗位/驾驶车辆/所属组织)。
- 快照缺失、解析失败或字段对不上时只跳过写回,不阻断审核:审核是独立于
  写回的业务动作,不该因为一份读不懂的快照而失败,否则历史快照对应的
  对象再也审不过去。
- PersonCertSubmitRequest 补 qualificationType / qualificationBack /
  qualificationValidStart / qualificationLongTerm 四个字段。
- qualificationUrl 改名为 qualificationFront,与司机档案列
  qualification_front 及管理端用词统一;改名前的记录存的仍是旧键,
  写回时回退读一次旧键,避免已填的封面页在审核通过时被丢掉。
- 补测试:证件内容写回、不覆盖身份字段、驳回不写回、历史快照跳过写回
  但仍照常通过审核。

qualificationValidStart 只进快照、不写档案:司机档案表没有对应的开始日期列,
管理端的「从业资格证有效期起」同样是只收不存。此处保持一致,不新增列。
This commit is contained in:
2026-10-04 22:11:04 +08:00
parent 17ae367100
commit 4fa6d4c430
3 changed files with 217 additions and 3 deletions
@@ -77,12 +77,20 @@ public class PersonCertSubmitRequest implements Serializable {
@Schema(description = "驾驶证长期有效")
private Integer driverLongTerm;
@Schema(description = "从业资格证类型")
private String qualificationType;
@Schema(description = "从业资格证号")
private String qualificationNo;
@Schema(description = "从业资格证照片")
private String qualificationUrl;
@Schema(description = "从业资格证封面页")
private String qualificationFront;
@Schema(description = "从业资格证内容页")
private String qualificationBack;
@Schema(description = "从业资格证有效期起")
private LocalDate qualificationValidStart;
@Schema(description = "从业资格证有效期止")
private LocalDate qualificationValidEnd;
@Schema(description = "从业资格证长期有效")
private Integer qualificationLongTerm;
@Schema(description = "大头照")
private String headPhoto;