状态:已验证(本地代码与定向检查)。当前分支 test-202609v2;本轮与 029 一并提交;尚未发布。
del_flag=1,平台停用用 status=1;仅普通用户获得翻悔期。@Auth 接口要求有效会话;失效返回 HTTP/业务 401。cancellation_deadline_at,补齐实体、Mapper 映射与专用 SQL;通用实体更新不能写入截止时间。spec.md、plan.md、迁移 SQL 及 frontend-app-integration.md;未修改 App。git diff --check 通过。使用本机 GraalVM JDK21,执行:
mvn -q -pl ruoyi-admin -am '-Dtest=UserCancellationServiceTest,UserCancellationMapperTest,InfoUserControllerTest,DeviceTrustFlowTest,LineCallbackControllerTest,LineCallbackDeviceTrustTest,AuthAspectTest,MerchantSessionAuthAnnotationTest' '-Dsurefire.failIfNoSpecifiedTests=false' package
8 个测试类共 121 项,失败 0、错误 0、跳过 0。Mapper 测试实际解析 MyBatis XML 并检查账号锁、角色/停用/截止时间条件和平台删除清理。业务测试覆盖七天、截止时刻、历史删除、停用、非用户、重复申请、短信失败、各恢复入口、刷新不恢复与旧会话拒绝。
构建日志:ruoyi-admin/target/grace-package.log;产物:ruoyi-admin/target/ruoyi-admin.jar。
未执行:真实 MySQL/Redis 并发集成、用户 App 联调及环境发布。迁移 SQL 仅登记在 updatesql/sql.md,须由开发者手动执行后再部署。没有依赖定时任务的到期操作。
用户要求 029 同设备换号解绑与 040 注销翻悔期一并提交。使用 JDK21 执行:
mvn -q -pl ruoyi-admin -am '-Dtest=UserCancellationServiceTest,UserCancellationMapperTest,DeviceBindingSwitchTest,DeviceTrustServiceTest,DeviceTrustFlowTest,InfoUserControllerTest,LineCallback*Test,AuthAspectTest,MerchantSessionAuthAnnotationTest' '-Dsurefire.failIfNoSpecifiedTests=false' package
结果:143 项测试,0 失败、0 错误、0 跳过;package 成功,git diff --cached --check 通过。日志:ruoyi-admin/target/029-040-package.log。
未执行真实 MySQL/Redis 并发集成、App 联调及环境发布。用户已确认 029 关联表 SQL 在测试库执行;040 cancellation_deadline_at 字段迁移是否已执行尚未单独确认。
字典增量验证:JDK21 执行 mvn -q -pl ruoyi-admin -am -Dtest=UserCancellationServiceTest,UserCancellationMapperTest,InfoUserControllerTest -Dsurefire.failIfNoSpecifiedTests=false package,94项测试通过,模块打包成功,git diff --check 通过。新测试先复现字典设为14仍返回7,再随实现通过。日志:ruoyi-admin/target/040-dict-package.log。
本次新增字典 INSERT 尚未执行;此前测试库关联表执行确认不包括本次字典 SQL。未执行真实数据库/Redis及App联调,本轮字典调整单独提交,发票打印等其他改动不纳入本次提交。
状态:已验证(本次改动独立源码副本)。
本轮验证(2026-11-05):原登录直接签发token的4个OAuth渠道断言先失败;复审发现数据库秒精度下旧兄弟凭证可能跨注销周期,新增用例先复现,再加入Redis周期标识解决。H2配合真实DataSourceTransactionManager和Controller事务代理验证恢复提交及签会话失败回滚。
执行 JDK21 mvn -q -pl ruoyi-admin -am -Dtest=UserCancellationServiceTest,CancellationLoginConfirmationTest,UserCancellationMapperTest,DeviceBindingSwitchTest,DeviceTrustServiceTest,DeviceTrustFlowTest,InfoUserControllerTest,LineCallback*Test,AuthAspectTest,MerchantSessionAuthAnnotationTest -Dsurefire.failIfNoSpecifiedTests=false package,独立副本共171项测试通过,失败/错误/跳过均0,package退出码0。副本为当前HEAD加本次注销相关代码、测试与语言key,与工作区交付文件逐字节核对一致;JSON示例及git diff --check通过,独立复审无剩余重要问题。
工作区首次回归另有MerchantSessionAuthAnnotationTest失败:其他任务删除了PosOrderShOprateController.orderDetail,非本次改动;保留原工作区内容,独立副本未纳入该删除。真实MySQL/Redis并发集成、App与第三方实机联调、全量回归及部署未执行。无新SQL、无分支、未提交或推送。日志:ruoyi-admin/target/cancellation-confirm-red.log、cancellation-confirm-cycle-red.log、cancellation-confirm-green.log(含上述无关失败)、cancellation-confirm-isolated.log(最终通过)。