Sfoglia il codice sorgente

docs(进件): T3 补 @Service - 漏了它本批次零测试会红

R-scan-3 同族:T3 的「照 Lsy*Service 既有写法」后面只枚举了
@RequiredArgsConstructor + @Slf4j,而枚举看着像穷举 —— 同包七个既有服务
(LsyQueryService:13-16 可对照)都是 @Slf4j + @Service + @RequiredArgsConstructor。

漏 @Service 的代价不是本批次能发现的:T3-T6 的单测都直接 new 这个类,
PaymentApplicationContextTest 只是「容器能起来」,一个没被任何 bean 注入的类
少个注解它照样绿。要到三-B(controller 注入它)才炸,那时 T4/T5/T6 已建在它上面。
alphaH 3 settimane fa
parent
commit
ac8ec748e2
1 ha cambiato i file con 5 aggiunte e 1 eliminazioni
  1. 5 1
      .claude/plan/2026-09-22-lsy-onboarding-A.md

+ 5 - 1
.claude/plan/2026-09-22-lsy-onboarding-A.md

@@ -257,7 +257,11 @@ git commit -m "feat(进件): LeshouyingClient 补 /api/* 出站腿 - 信封与 /
 
 实现要点:
 
-- `LsyOnboardingService` 构造器注入 `LeshouyingClient`(照 `Lsy*Service` 既有写法,`@RequiredArgsConstructor` + `@Slf4j`)。
+- `LsyOnboardingService` 构造器注入 `LeshouyingClient`(照 `Lsy*Service` 既有写法,**`@Slf4j` + `@Service` + `@RequiredArgsConstructor` 三个注解一个不少**
+  —— 同包七个既有服务全是这三个,`LsyQueryService:13-16` 可对照)。
+  ⚠ **`@Service` 必须写**:漏了它**本批次一条测试都不会红** —— T3–T6 的单测都直接 `new` 这个类,
+  而 `PaymentApplicationContextTest` 只是「容器能起来」,一个没被任何 bean 注入的类少个注解它照样绿。
+  代价推迟到**三-B**(controller 注入它)才以 `NoSuchBeanDefinitionException` 暴露,那时 T4/T5/T6 已经全部建在它上面。
 - 路径字面量就地写:`client.postApi("/api/info/area", p)`(与 `LsyQueryService` 写 `"/v3/queryorder"` 一致)。
 - DTO 用 `@Data`,字段 `areaName` / `areaCode`,**`areaCode` 必须是 `String`**,javadoc 指向 page 196236568 的 `100G` 反例。
 - `area_list` 取值要做**防御性读取**:上游没返回该键、返回 null、或返回的不是 List,都归成空列表。不引入 Jackson 反序列化 —— 本模块既有风格是直接读 `Map<String,Object>` 再手工映射。