Commit Graph

23 Commits

Author SHA1 Message Date
wh
b5f35a7414 Merge branch '001-label-backend-spec' 2026-04-09 14:09:02 +08:00
wh
4a002bd84e 提交gitignore 2026-04-09 13:57:25 +08:00
wh
0cd99aa22c On branch 001-label-backend-spec
Changes to be committed:
	new file:   src/main/java/com/label/common/shiro/BearerToken.java
	new file:   src/main/java/com/label/common/shiro/ShiroConfig.java
	new file:   src/main/java/com/label/common/shiro/TokenFilter.java
	new file:   src/main/java/com/label/common/shiro/TokenPrincipal.java
	new file:   src/main/java/com/label/common/shiro/UserRealm.java
	modified:   src/main/java/com/label/common/statemachine/DatasetStatus.java
	new file:   src/test/java/com/label/AbstractIntegrationTest.java
	new file:   src/test/java/com/label/unit/StateMachineTest.java
	new file:   src/test/resources/db/init.sql
2026-04-09 13:54:35 +08:00
wh
556f7b9672 feat(common): 添加 MybatisPlusConfig/StateValidator,修复 jsqlparser 依赖 (T010/T011)
- MybatisPlusConfig: TenantLineInnerInterceptor + PaginationInnerInterceptor
- StateValidator: 通用状态机校验,失败抛出 INVALID_STATE_TRANSITION
- pom.xml: 新增 mybatis-plus-jsqlparser 3.5.9(3.5.7+ 必须显式引入)
2026-04-09 13:31:14 +08:00
wh
8fb730d281 feat(common): 添加 @OperationLog 注解和 AuditAspect (T016/T017) 2026-04-09 13:28:38 +08:00
wh
3d1790ad64 feat(common): 添加 RedisKeyManager/RedisService/RedisConfig (T009) 2026-04-09 13:27:47 +08:00
wh
42fb748949 chore: 添加 .gitignore 和 tasks.md 到版本控制 2026-04-09 13:25:50 +08:00
wh
52d5dd9c24 feat(common): 添加 BusinessException/GlobalExceptionHandler/CompanyContext/状态枚举 (T007/T008/T012-T015) 2026-04-09 13:21:06 +08:00
wh
ae55e87e2c fix(init): 更新真实 BCrypt 哈希值,添加 actuator 依赖,修复健康检查 (T003/T004 followup) 2026-04-09 13:20:07 +08:00
wh
94cb27e95f feat(common): 添加 RustFsClient 和 AiServiceClient (T018/T019) 2026-04-09 13:16:53 +08:00
wh
0e2b1e291b feat(common): 添加统一响应格式 Result/ResultCode/PageResult (T006) 2026-04-09 13:16:31 +08:00
wh
3da0e49b38 feat(init): 添加 application.yml 配置文件 (T005) 2026-04-09 13:12:58 +08:00
wh
600a8b8669 feat(init): 配置全量依赖 (T002) 2026-04-09 13:10:33 +08:00
wh
672fe888c9 feat(db): 创建全部 11 张表 DDL 及初始数据 (T003) 2026-04-09 13:09:30 +08:00
wh
bc33194b6e feat(infra): 添加 Docker Compose 配置和后端 Dockerfile (T004) 2026-04-09 13:08:49 +08:00
wh
fba3701cb9 fix(init): 修复 pom.xml 冗余编译器属性,测试类加 webEnvironment=NONE (T001) 2026-04-09 13:05:47 +08:00
wh
3b99b1d8c3 feat(init): 创建 Maven 项目骨架 (T001) 2026-04-09 13:00:30 +08:00
wh
4054a1133b feat(plan): 生成 label_backend 完整实施规划文档
Phase 0:research.md(10项技术决策,无需澄清项)
Phase 1:data-model.md(11张表+Redis结构),contracts/(8个模块API契约),quickstart.md(Docker Compose启动+流水线验证)
plan.md:宪章11条全部通过,项目结构确认
2026-04-09 12:27:16 +08:00
wh
0891ae188d feat(spec): 新增 label_backend 需求规格说明文档
包含 8 个用户故事、35 条功能性需求、9 条可度量成功标准
涵盖认证、多租户隔离、双标注流水线、并发任务领取、异步视频处理等核心场景
2026-04-09 12:11:10 +08:00
wh
ba3b7389f0 docs: 添加文档目录及各章节返回目录链接 2026-04-09 11:47:31 +08:00
wh
badffd8bca docs: 添加文档目录及各章节返回目录链接 2026-04-09 11:43:10 +08:00
wh
6e0677e06a docs: 数据库表设计完善性专项评审(第三轮)
新增 §9.5 评审,10 项问题(N–W):
- N: sys_config 全局唯一约束修复(NULL != NULL 问题,改为两个局部唯一索引)
- O: annotation_result 新增 UNIQUE(task_id)
- P: training_dataset.export_batch_id 改为 BIGINT FK
- Q: 全部枚举字段添加 CHECK 约束(role/status/phase/task_type)
- R: annotation_task_history 补充 operator_name 快照字段
- S: annotation_task 新增 (company_id, source_id) 索引
- T: training_dataset 新增 task_id 索引
- U: sys_user 补充 created_by 字段
- V: source_data 补充 mime_type 字段
- W: 新增 set_updated_at() 触发器,覆盖全部有 updated_at 的表

附:DDL 修复补丁(ALTER TABLE + 触发器),可直接在开发库执行
2026-04-09 11:39:19 +08:00
wh
e382995718 docs: 审批流程合理性专项评审(第二轮)
- 新增 §9.4 审批流程合理性专项评审,5 项问题(I–M)
- 新增 GET /api/tasks/pending-review(REVIEWER 审批收件箱)
- 新增 POST /api/tasks/{id}/reclaim(REJECTED 任务重拾)
- GET /api/tasks/mine 说明补充:包含 REJECTED 状态
- ExtractionService.approve() 重构为两阶段:同步审批 + 异步 AI 调用(发布 ExtractionApprovedEvent)
- 修复 QaService.approve() 重复变量声明(编译错误)
- 修复 SourceStatus 状态机:移除不可达的 QA_REVIEW → REJECTED 转换
2026-04-09 11:34:31 +08:00