状态:已验证(本地代码与定向检查)。当前分支 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联调,本轮字典调整单独提交,发票打印等其他改动不纳入本次提交。