2026-01-27 14:13:52 +08:00
"id" , " priority " , " phase " , " area " , " title " , " description " , " acceptance_criteria " , " test_mcp " , " review_initial_requirements " , " review_regression_requirements " , " dev_state " , " review_initial_state " , " review_regression_state " , " git_state " , " owner " , " refs " , " notes "
2026-01-28 15:40:44 +08:00
" WLOS-010 " , " P0 " , " 1 " , " backend " , " 澄清白名单修正规则与验收口径 " , " 明确白名单支付订单的判定字段与状态修正边界,形成可实现/可测试的规则清单。 " , " 明确并在PR/变更说明中写清: 1) 白名单判定字段( order_basic_info.pay_mode 是否足够,是否需校验 order_pay_record.pay_mode) ; 2) 仅当 payMode=3 且订单状态为 ABNORMAL(4) 或 STAY_SETTLEMENT(2) 才允许修正; 3) 修正为 ORDER_COMPLETE(6) 时需要同步的字段列表( settlement_time/金额字段/pay_status 等)与缺失数据的默认策略。 " , " AUTOSERVER " , " Review过程中持续检查: 规则是否与枚举一致; 字段同步是否会影响分账/退款/通知/解锁等后续链路;是否需要审计/日志记录原状态。 " , " 完成后复核:规则与验收口径在代码/测试/接口行为三者一致;对非白名单/非目标状态无副作用。 " , " 已完成 " , " 已完成 " , " 已完成 " , " 已提交 " , " " , " plan/2026-01-23_16-45-56-whitelist-order-status-complete.md:16; plan/2026-01-23_16-45-56-whitelist-order-status-complete.md:17; plan/2026-01-23_16-45-56-whitelist-order-status-complete.md:18; plan/2026-01-23_16-45-56-whitelist-order-status-complete.md:20; jsowell-common/src/main/java/com/jsowell/common/enums/ykc/OrderPayModeEnum.java:11; jsowell-common/src/main/java/com/jsowell/common/enums/ykc/OrderPayRecordEnum.java:8; jsowell-common/src/main/java/com/jsowell/common/enums/ykc/OrderStatusEnum.java:12; jsowell-common/src/main/java/com/jsowell/common/enums/ykc/OrderStatusEnum.java:14; jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java:1244; jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java:5618; jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java:5693 " , " picked_reason:define concrete rule set before wiring behavior in WLOS-040; done_at:2026-01-28; evidence:documented executable rule set in plan/2026-01-23_16-45-56-whitelist-order-status-complete.md; risk:low doc-only "
2026-01-28 15:50:44 +08:00
" WLOS-020 " , " P0 " , " 2 " , " backend " , " 定位异常/待结算状态写入点并梳理影响面 " , " 确认订单进入 ABNORMAL/待结算/完成 的关键写入路径,决定修正应放在写入点还是补偿点,并列出受影响链路。 " , " 输出可审计的影响面清单( 写在PR描述或变更说明中) : 至少包含白名单批量入口、订单标记异常位置、结算后落库完成位置; 明确最终选择的修正插入点( 例如统一补偿方法 + 入口调用)。 " , " AUTOSERVER " , " 检查是否存在并发/重复调用场景;是否有事务边界;是否会触发远程停机/拉取交易记录等外部依赖;异常原因字段/审计日志是否保留。 " , " 回归时覆盖:修正路径不会破坏正常结算完成流程;不会将真实异常订单误判为完成。 " , " 已完成 " , " 已完成 " , " 已完成 " , " 已提交 " , " " , " plan/2026-01-23_16-45-56-whitelist-order-status-complete.md:20; plan/2026-01-23_16-45-56-whitelist-order-status-complete.md:22; plan/2026-01-23_16-45-56-whitelist-order-status-complete.md:42; plan/2026-01-23_16-45-56-whitelist-order-status-complete.md:51; jsowell-admin/src/main/java/com/jsowell/service/TempService.java:1504; jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java:1043; jsowell-admin/src/main/java/com/jsowell/service/OrderService.java:528; jsowell-netty/src/main/java/com/jsowell/netty/strategy/ykc/RemoteStopChargingStrategy.java:85; jsowell-netty/src/main/java/com/jsowell/netty/strategy/ykc/TransactionRecordsStrategy.java:617; jsowell-netty/src/main/java/com/jsowell/netty/strategy/ykc/TransactionRecordsStrategy.java:642; jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/AbstractProgramLogic.java:247 " , " picked_reason:map status write paths before changing TempService入口逻辑; done_at:2026-01-28; evidence:documented status write paths + insertion point decision in plan/2026-01-23_16-45-56-whitelist-order-status-complete.md; risk:low doc-only "
2026-01-28 15:27:25 +08:00
" WLOS-030 " , " P0 " , " 3 " , " backend " , " 设计并落地统一的白名单订单完成补偿方法 " , " 在订单领域服务中新增可复用且幂等的补偿方法,专门用于白名单订单从异常/待结算修正为完成,并补齐必要字段。 " , " 新增补偿方法(如 completeWhitelistOrderIfNeeded(orderCode) 或等价实现) : 1) 判定 payMode=3 且状态在 {ABNORMAL, STAY_SETTLEMENT}; 2) 幂等( 重复调用不产生额外副作用) ; 3) 更新为 ORDER_COMPLETE 并处理 settlement_time( 为空则置当前时间) 及约定的金额/状态字段默认值; 4) 记录可追溯日志(至少包含订单号、原状态、新状态)。 " , " AUTOSERVER " , " 检查金额字段默认策略是否会影响对账;时间字段是否符合既有语义;方法是否避免不必要的外部调用(如远程停机/拉交易)。 " , " 回归验证:在真实/模拟数据上重复调用、并发调用无异常;下游依赖(通知/解锁/MQ/分账退款)要么保持一致,要么明确不触发并有说明。 " , " 已完成 " , " 已完成 " , " 已完成 " , " 已提交 " , " " , " plan/2026-01-23_16-45-56-whitelist-order-status-complete.md:27; plan/2026-01-23_16-45-56-whitelist-order-status-complete.md:30; plan/2026-01-23_16-45-56-whitelist-order-status-complete.md:54; jsowell-common/src/main/java/com/jsowell/common/enums/ykc/OrderStatusEnum.java:14; jsowell-common/src/main/java/com/jsowell/common/enums/ykc/OrderPayModeEnum.java:11; jsowell-admin/src/main/java/com/jsowell/service/OrderService.java:1629; jsowell-admin/src/main/java/com/jsowell/service/WhitelistOrderCompletionDefaults.java:17; jsowell-admin/src/test/java/com/jsowell/service/WhitelistOrderCompletionDefaultsTest.java:1 " , " picked_reason:unblocks core capability for WLOS-040/WLOS-050; done_at:2026-01-28; evidence:added completeWhitelistOrderIfNeeded + defaults helper + unit test; validation_limited:jsowell-admin module compilation fails due to missing types (e.g., CarNumberBindDTO, com.jsowell.pile.jcpp.*), tests not runnable until fixed; manual_test:mvn -pl jsowell-admin test -Dtest=WhitelistOrderCompletionDefaultsTest; risk:low additive method not yet wired into flows "
2026-01-28 16:06:18 +08:00
" WLOS-040 " , " P0 " , " 4 " , " backend " , " 改造白名单结算入口以支持异常/待结算并复用补偿逻辑 " , " 调整 TempService.whiteListSettlement 及对应接口,使其支持 ABNORMAL/待结算两种状态并调用统一补偿方法,避免硬编码与不必要外部依赖。 " , " 1) TempService.whiteListSettlement 支持状态=ABNORMAL 或 STAY_SETTLEMENT; 2) payMode 判断改为使用 OrderPayModeEnum.PAYMENT_OF_WHITELIST.getValue(); 3) 默认走统一补偿方法完成状态修正; 4) 若保留 manualSettlementOrder 调用,需明确触发条件与降级策略(避免依赖外部设备/交易服务导致批量失败)。 " , " AUTOSERVER " , " Review时重点: 权限/入参校验是否合理;批量处理时的错误隔离与日志;是否需要对调用方预期做兼容(原先只允许异常)。 " , " 回归时验证:接口对非白名单/非目标状态不改动;批量输入中单个失败不影响其他(如有此需求则实现并说明)。 " , " 已完成 " , " 已完成 " , " 已完成 " , " 已提交 " , " " , " plan/2026-01-23_16-45-56-whitelist-order-status-complete.md:35; plan/2026-01-23_16-45-56-whitelist-order-status-complete.md:39; jsowell-admin/src/main/java/com/jsowell/service/TempService.java:1504; jsowell-admin/src/main/java/com/jsowell/service/TempService.java:1516; jsowell-admin/src/main/java/com/jsowell/service/TempService.java:1525; jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java:1043; jsowell-admin/src/main/java/com/jsowell/service/OrderService.java:1629; jsowell-common/src/main/java/com/jsowell/common/enums/ykc/OrderPayModeEnum.java:11 " , " picked_reason:wire whitelist入口 to unified compensation method; done_at:2026-01-28; evidence:whiteListSettlement now allows ABNORMAL/STAY_SETTLEMENT + uses OrderPayModeEnum + delegates to completeWhitelistOrderIfNeeded; validation_limited:jsowell-admin module compilation fails due to missing types (e.g., CarNumberBindDTO, com.jsowell.pile.jcpp.*), tests not runnable until fixed; manual_test:POST /whiteListSettlement with whitelist orders in status 4/2 then verify order_basic_info.order_status=6 and settlement_time set when null; risk:medium endpoint behavior changed (no longer calls manualSettlementOrder/remote stop) "
2026-01-28 16:18:07 +08:00
" WLOS-050 " , " P0 " , " 5 " , " backend " , " 补齐白名单状态修正的单测/集成测试与回归场景 " , " 为白名单订单状态修正逻辑新增测试用例,确保异常/待结算均可修正且非白名单不会被误改。 " , " 新增/更新测试并通过: 1) 白名单+异常(4) -> 完成(6); 2) 白名单+待结算(2) -> 完成(6); 3) 非白名单订单不变; 4) 关键字段(如 settlement_time) 按约定填充; 执行 `mvn -pl jsowell-admin test` 通过。 " , " AUTOSERVER " , " Review时关注: 测试数据构造是否贴近真实( 金额/时间/状态);是否覆盖幂等与边界输入(空字段、重复调用)。 " , " 完成后回归: 全量后端测试通过; 若有接口层变化, 补充接口测试或Mock验证。 " , " 已完成 " , " 已完成 " , " 已完成 " , " 已提交 " , " " , " plan/2026-01-23_16-45-56-whitelist-order-status-complete.md:41; plan/2026-01-23_16-45-56-whitelist-order-status-complete.md:46; jsowell-admin/src/main/java/com/jsowell/service/TempService.java:1504; jsowell-admin/src/main/java/com/jsowell/service/TempService.java:1525; jsowell-admin/src/main/java/com/jsowell/service/OrderService.java:1629; jsowell-admin/src/test/java/com/jsowell/service/OrderServiceWhitelistCompletionTest.java:1; jsowell-admin/src/test/java/com/jsowell/service/WhitelistOrderCompletionDefaultsTest.java:1 " , " picked_reason:add tests for whitelist compensation + rerun mvn with -am; done_at:2026-01-28; evidence:added unit tests covering whitelist ABNORMAL/STAY_SETTLEMENT -> COMPLETE and non-whitelist no-op; validation_limited:mvn build fails in jsowell-common with javac NoSuchFieldError (JDK/toolchain mismatch), cannot run tests in this environment; manual_test:set JAVA_HOME to JDK8 then run mvn -pl jsowell-admin -am test; risk:low tests only "
2026-01-28 16:25:08 +08:00
" WLOS-060 " , " P0 " , " 6 " , " backend " , " 测试环境演练与上线前数据校验/回滚预案 " , " 在测试环境按订单号列表演练修正接口, 校验DB字段变化, 并准备可执行的回滚/审计方案。 " , " 1) 在测试环境对选定订单号列表调用 /whiteListSettlement( 或等价入口) 成功; 2) DB 校验: order_basic_info.order_status=6 且 settlement_time/金额字段符合约定; 3) 形成可执行回滚步骤( SQL/脚本/手工流程) 并记录在PR描述或运维文档中; 4) 日志中可追溯到修正前后状态。 " , " AUTOE2E " , " Review过程中确认: 是否需要灰度/限流;批量处理失败的可观测性(日志/告警);是否保留原状态用于追溯。 " , " 上线前回归:随机抽样多笔订单复测;验证不会导致下游不一致(通知/解锁/MQ/分账退款)或已明确不会触发并可接受。 " , " 已完成 " , " 已完成 " , " 已完成 " , " 已提交 " , " " , " plan/2026-01-23_16-45-56-whitelist-order-status-complete.md:77; plan/2026-01-23_16-45-56-whitelist-order-status-complete.md:88; jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java:54; jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java:1043; jsowell-admin/src/main/java/com/jsowell/service/OrderService.java:1673 " , " picked_reason:write executable manual runbook + rollback plan for test/prod; done_at:2026-01-28; evidence:added runnable rehearsal + rollback runbook in plan/2026-01-23_16-45-56-whitelist-order-status-complete.md; validation_limited:no access to test environment/DB/logs from this session to execute rehearsal; manual_test:follow plan runbook (snapshot DB -> POST /temp/whiteListSettlement -> verify SQL/logs -> rollback if needed); risk:medium rehearsal not executed yet "