diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportVehicle.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportVehicle.java index 2e309bc6..1fe16eb9 100644 --- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportVehicle.java +++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportVehicle.java @@ -243,7 +243,7 @@ public class TransportVehicle extends TenantEntity { * 「该车辆是否已认证」的唯一判据。为 null 表示从未认证通过; * 一经设置永不回退——重新提交、待审、被驳回都不得修改它, * 因此重新提交认证不会让一辆已认证的车掉出可用池。 - * 改造后 {@link #certificationStatus} 降级为「最新提交状态」的展示缓存。 + * {@link #certificationStatus} 是「最新提交状态」的展示缓存,不代表是否已认证。 *
* ⚠️ {@code READ_ONLY}:本字段只能由审核通过时写入。 * {@code POST /transport-vehicle/submit} 直接以本实体接收请求体, diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/CertAuditServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/CertAuditServiceImpl.java index d1bedbb3..07248769 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/CertAuditServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/CertAuditServiceImpl.java @@ -55,10 +55,10 @@ import java.util.List; /** * 认证审核服务实现 *
- * 审核作用于**一条记录**。两条路径的差别是本次改造的关键: + * 审核作用于一条记录,两条路径的差别在于是否切换生效快照: *
- * 在原有的运营状态(启用 / 停用)之上**叠加**一层「是否已认证」: - *
- * ⚠️ 判据是**生效快照指针**,不是「最新提交状态」展示缓存。 - * 这一区别是本改造的核心:司机重新提交认证会把展示缓存变成「审核中」, - * 若照它判定,司机一提交认证就立刻接不了单——正是要避免的事。 - * 生效快照只在审核通过时才切换,故「曾认证通过即持续可用」。 + * 判据是生效快照指针,不是「最新提交状态」展示缓存——重新提交认证会把展示缓存 + * 变成「审核中」,照它判定会让司机一提交就接不了单。生效快照只在审核通过时切换。 *
- * 两个开关默认开启,可通过配置关闭以便线上快速回退到改造前的行为: + * 两个开关默认开启,可关掉以回退到不校验认证的行为: *
* transport:
* certification:
diff --git a/blade-service/blade-transport/src/test/java/org/springblade/transport/service/impl/CertAuditServiceImplTest.java b/blade-service/blade-transport/src/test/java/org/springblade/transport/service/impl/CertAuditServiceImplTest.java
index ae268991..93416743 100644
--- a/blade-service/blade-transport/src/test/java/org/springblade/transport/service/impl/CertAuditServiceImplTest.java
+++ b/blade-service/blade-transport/src/test/java/org/springblade/transport/service/impl/CertAuditServiceImplTest.java
@@ -97,7 +97,7 @@ class CertAuditServiceImplTest {
}
@Test
- @DisplayName("通过车辆认证:快照是改造前的旧格式时明确失败,不能「通过但什么也没写」")
+ @DisplayName("通过车辆认证:快照是旧格式时明确失败,不能「通过但什么也没写」")
void approveRejectsLegacySnapshot() {
// 旧快照的键名与当前字段定义不同,会解析成「全是 null」而不报错——最危险的一种情况
TransportCertRecord record = vehicleRecord(TransportCertRecord.STATUS_PENDING,
diff --git a/blade-service/blade-transport/src/test/java/org/springblade/transport/service/impl/PersonCertRoundTripTest.java b/blade-service/blade-transport/src/test/java/org/springblade/transport/service/impl/PersonCertRoundTripTest.java
index b72b4182..ca07ae88 100644
--- a/blade-service/blade-transport/src/test/java/org/springblade/transport/service/impl/PersonCertRoundTripTest.java
+++ b/blade-service/blade-transport/src/test/java/org/springblade/transport/service/impl/PersonCertRoundTripTest.java
@@ -322,11 +322,11 @@ class PersonCertRoundTripTest {
@Test
@DisplayName("历史快照:读不懂就跳过写回,审核本身照常通过")
void legacySnapshotSkipsWriteBackWithoutFailingAudit() {
- // 改造前的快照没有 idCardNo / driverFileNo,解析出来字段全是 null;
+ // 早期格式的快照没有 idCardNo / driverFileNo,解析出来字段全是 null;
// 此时既不能把 null 当成「司机没填」写进档案,也不能让这次审核直接失败
Long recordId = driverCertService.submitPersonCert(personCert("张三", "110101199001011234"));
TransportCertRecord record = recordStore.get(recordId);
- record.setSnapshotJson("{\"legacyField\":\"改造前的旧内容\"}");
+ record.setSnapshotJson("{\"legacyField\":\"早期格式的旧内容\"}");
certAuditService.audit(recordId, true, null);
diff --git a/blade-service/blade-transport/src/test/java/org/springblade/transport/support/CertificationGateTest.java b/blade-service/blade-transport/src/test/java/org/springblade/transport/support/CertificationGateTest.java
index 08ee25b7..afa32c0f 100644
--- a/blade-service/blade-transport/src/test/java/org/springblade/transport/support/CertificationGateTest.java
+++ b/blade-service/blade-transport/src/test/java/org/springblade/transport/support/CertificationGateTest.java
@@ -10,10 +10,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* 认证可用性门槛测试。
*
- * 这是整个认证改造的**核心验收点**:一辆已认证的车被重新提交认证后,必须**仍可接单**。
- * 改造前的判定只看车辆的启用/停用状态;本门槛叠加一层「是否已认证」。
- * 之所以必须叠加在生效快照上而不是「最新提交状态」,正是因为重新提交会把
- * 「最新提交状态」变成「审核中」——若照它判定,司机一提交认证就立刻接不了单。
+ * 关键场景:已认证的车被重新提交认证后仍可接单——判定必须走生效快照,
+ * 而重新提交会把「最新提交状态」变成「审核中」。
*/
class CertificationGateTest {
@@ -34,7 +32,7 @@ class CertificationGateTest {
}
@Test
- @DisplayName("关闭后行为回到改造前:不因未认证而拦截(便于快速回退)")
+ @DisplayName("关闭后不因未认证而拦截(便于快速回退)")
void disabledLetsEveryoneThrough() {
gate.setVehicleGateEnabled(false);
gate.setDriverGateEnabled(false);
@@ -54,9 +52,7 @@ class CertificationGateTest {
@Test
@DisplayName("车辆:重新提交后【状态变成审核中】但仍有生效快照 → 仍可用")
void resubmittedVehicleStaysAvailable() {
- // 关键场景:司机提交了新资料,展示缓存变成「审核中」,
- // 但 effective_cert_record_id 仍指着上一次通过的记录。
- // 门槛只看指针,故这辆车照跑不误——这就是本次改造要保住的东西。
+ // 展示缓存变成「审核中」,但 effective_cert_record_id 仍指着上一次通过的记录。
assertTrue(gate.isVehicleAvailable(Boolean.TRUE, 7001L),
"已认证的车重新提交后必须仍可接单,否则司机一提交就停工");
}
@@ -90,7 +86,7 @@ class CertificationGateTest {
}
@Test
- @DisplayName("司机门槛可单独关闭(改造期间用于渐进放开)")
+ @DisplayName("司机门槛可单独关闭")
void driverGateCanBeDisabledIndependently() {
gate.setDriverGateEnabled(false);
assertTrue(gate.isDriverAvailable(null), "司机门槛关闭时不应拦截");