wh
|
b65b1c6ee0
|
Merge branch 'main' of https://fun-md.com/whfh/label_backend
|
2026-04-15 10:44:30 +08:00 |
|
wh
|
d9486a8c75
|
ignore文件提交
|
2026-04-15 10:43:34 +08:00 |
|
wh
|
8d9e7cb027
|
撤销测试用例提交
|
2026-04-15 10:43:12 +08:00 |
|
|
|
5d5308cf57
|
打包简化,dockerfile简化
|
2026-04-15 10:09:53 +08:00 |
|
wh
|
e30b288894
|
修改readme
|
2026-04-15 00:24:27 +08:00 |
|
wh
|
325ea3b486
|
修改打包部署文件
|
2026-04-15 00:16:25 +08:00 |
|
wh
|
756734db44
|
修改gitignore
|
2026-04-14 21:14:06 +08:00 |
|
wh
|
8ba3de17ab
|
停止追踪specs,docs等目录文件
|
2026-04-14 21:04:37 +08:00 |
|
wh
|
5839bc2ece
|
修改redis地址
|
2026-04-14 20:45:23 +08:00 |
|
wh
|
b0e2b3c81a
|
黑盒测试用例
|
2026-04-14 20:00:37 +08:00 |
|
wh
|
999856e110
|
修改相关资源路径
|
2026-04-14 18:36:28 +08:00 |
|
wh
|
a30b648d30
|
去掉shiro框架
|
2026-04-14 16:33:34 +08:00 |
|
wh
|
158873d5ae
|
项目结构类名称优化
|
2026-04-14 15:26:08 +08:00 |
|
wh
|
ceaac48051
|
优化现有目录结构
|
2026-04-14 14:59:46 +08:00 |
|
wh
|
c524fb08e1
|
refactor: complete backend directory flattening
|
2026-04-14 13:50:51 +08:00 |
|
wh
|
ba42b6f50e
|
refactor: flatten controller packages
|
2026-04-14 13:47:38 +08:00 |
|
wh
|
ef1e4f5106
|
refactor: flatten service packages
|
2026-04-14 13:45:15 +08:00 |
|
wh
|
0dbb88b803
|
refactor: flatten dto entity and mapper packages
|
2026-04-14 13:39:24 +08:00 |
|
wh
|
3e33398dd2
|
Revert "refactor: flatten dto entity and mapper packages"
This reverts commit 29766ebd28.
|
2026-04-14 13:31:50 +08:00 |
|
wh
|
29766ebd28
|
refactor: flatten dto entity and mapper packages
|
2026-04-14 13:28:10 +08:00 |
|
wh
|
0af19cf1b5
|
refactor: flatten infrastructure packages
|
2026-04-14 13:19:39 +08:00 |
|
wh
|
e3c796da27
|
docs: add backend directory flattening design
|
2026-04-14 12:41:46 +08:00 |
|
wh
|
63ed9e6771
|
Merge branch 'main' of https://fun-md.com/whfh/label_backend
|
2026-04-14 01:10:25 +08:00 |
|
|
|
2c2aa116d6
|
Initial commit
|
2026-04-14 01:07:20 +08:00 |
|
wh
|
7b8bf21e51
|
delete readme
|
2026-04-14 00:51:41 +08:00 |
|
wh
|
21f3a92f7d
|
Merge branch 'main' of https://fun-md.com/whfh/label_backend
|
2026-04-14 00:50:11 +08:00 |
|
wh
|
3f3c355d4e
|
test
|
2026-04-14 00:47:30 +08:00 |
|
|
|
29b62b6ca0
|
添加 readme.md
|
2026-04-14 00:09:41 +08:00 |
|
wh
|
f4a8592c92
|
tokenfilter 修改
|
2026-04-13 20:46:33 +08:00 |
|
wh
|
c7201b03e1
|
将shiro切换至jdk17 servlet api,适配springboot3
|
2026-04-13 20:44:42 +08:00 |
|
wh
|
e8235eeec5
|
修改shiro 兼容性问题
|
2026-04-13 19:58:49 +08:00 |
|
wh
|
5d74578aa3
|
Merge branch 'main' into 001-label-backend-spec
|
2026-04-13 18:23:15 +08:00 |
|
wh
|
ef8b75a03e
|
修改中间件地址
|
2026-04-13 18:22:40 +08:00 |
|
wh
|
7172861e67
|
修改用户模块
|
2026-04-13 17:13:29 +08:00 |
|
wh
|
a489e2b204
|
修改mybatis版本启动报错,swagger注解问题
|
2026-04-12 00:15:59 +08:00 |
|
wh
|
c3308e069d
|
后台添加swagger支持
|
2026-04-10 10:47:51 +08:00 |
|
wh
|
b8d9aec4ca
|
docs(plan): 修正 pom.xml 中 includeScope=runtime(fix excludeScope 错误)
|
2026-04-09 19:47:40 +08:00 |
|
wh
|
5103dac16c
|
fix(deploy): pom.xml maven-dependency-plugin excludeScope 改为 includeScope=runtime
|
2026-04-09 19:47:12 +08:00 |
|
wh
|
c2a254cba4
|
fix+refactor: 代码审查修复(11 项安全/并发缺陷)+ log.debug → log.info(21 处)
代码审查修复:
- MybatisPlusConfig: video_process_job 加入 IGNORED_TABLES(修复回调路径多租户过滤导致全部回调静默丢失)
- TokenFilter: catch(Exception) 替代 catch(NumberFormatException),防止空指针泄漏为 500
- VideoController: createJob 空指针防护 + handleCallback 共享密钥校验(X-Callback-Secret)
- VideoProcessService: handleCallback 显式校验 companyId 非空;triggerAi 失败改为 error 级日志
- ExtractionService/QaService: validateAndGetTask 显式校验 companyId(纵深防御)
- TaskClaimService: reclaim 增加原子 WHERE status='REJECTED';claim 异常时释放 Redis 锁
- TaskService: reassign 校验 targetUserId 属于同一租户
- AuthService: user:sessions:{userId} Set 设置滑动 TTL,防止 Token 无限累积
- ExportService/SourceService: RustFS + DB 非原子操作增加失败回滚清理
- SourceService: getOriginalFilename 使用 Paths.get().getFileName() 防路径遍历
日志规范:
- 11 个 Service 类 21 处 log.debug 替换为 log.info
|
2026-04-09 19:42:20 +08:00 |
|
wh
|
d231180bff
|
feat(deploy): Dockerfile 改为多阶段构建(薄 jar + start.sh)
|
2026-04-09 19:39:49 +08:00 |
|
wh
|
3f0dee0826
|
feat(deploy): pom.xml 替换 fat JAR → 薄 jar + maven-dependency + maven-assembly
|
2026-04-09 19:39:28 +08:00 |
|
wh
|
8eb3c77abd
|
feat(deploy): 添加 Assembly 描述符 distribution.xml
|
2026-04-09 19:36:39 +08:00 |
|
wh
|
b7d6cbc1e2
|
feat(deploy): 添加 start.sh(Docker exec / VM nohup 双模式)
|
2026-04-09 19:35:58 +08:00 |
|
wh
|
7b25064593
|
feat(deploy): 添加 logback.xml(INFO 级,60 MB 滚动)
|
2026-04-09 19:31:15 +08:00 |
|
wh
|
ff3b38ab2e
|
docs(plan): 添加部署优化实施计划(deploy.md 8 条需求)
|
2026-04-09 19:27:17 +08:00 |
|
wh
|
011a731f4b
|
docs(spec): 补充九、部署与发布章节(deploy.md 需求落地)
- TOC 添加第九章入口
- 九.1 Maven 构建:移除 fat JAR,添加 maven-jar-plugin + maven-dependency-plugin + maven-assembly-plugin
- 九.2 分发包结构:bin/etc/libs/logs 四级目录
- 九.3 start.sh:Docker 用 exec 前台、VM 用 nohup 后台
- 九.4 logback.xml:INFO 级别,60 MB 滚动,30 天保留
- 九.5 Dockerfile 更新:多阶段构建,复制 etc/ 配置并调用 start.sh
- 九.6 log.debug → log.info:11 文件 21 处,附批量替换命令
- 八 合规清单新增 #12-14:包结构、start.sh Docker 兼容、日志级别
|
2026-04-09 19:14:56 +08:00 |
|
wh
|
0fa3981a85
|
格式化
|
2026-04-09 16:46:02 +08:00 |
|
wh
|
a14c3f5559
|
feat(phase9-10): US8 视频处理与系统配置模块 + 代码审查修复
Phase 9 (US8):
- VideoProcessJob 实体 + VideoProcessJobMapper
- SysConfig 实体 + SysConfigMapper(手动多租户查询)
- VideoProcessService:createJob/handleCallback(幂等)/reset
- T074 修复:AI 触发通过 TransactionSynchronization.afterCommit() 延迟至事务提交后
- VideoController:4 个端点,/api/video/callback 无需认证
- SysConfigService:公司专属优先 > 全局默认回退,UPSERT 仅允许已知键
- SysConfigController:GET /api/config + PUT /api/config/{key}
- TokenFilter:/api/video/callback 绕过 Token 认证
- 集成测试:VideoCallbackIdempotencyTest、SysConfigIntegrationTest
Phase 10 (代码审查与修复):
- T070 MultiTenantIsolationTest:跨公司资料/配置隔离验证
- T071 SourceController.upload():ResponseEntity<Result<T>> → Result<T> + @ResponseStatus
- T074 FinetuneService.trigger():移除 @Transactional,AI 调用在事务外执行
|
2026-04-09 16:18:39 +08:00 |
|
wh
|
f6c3b0b4c6
|
feat(phase8): US7 用户管理模块(角色变更立即生效、禁用即失效)
- RedisService:新增 hPut/sAdd/sRemove/sMembers Set 操作
- RedisKeyManager:新增 userSessionsKey(userId) = user:sessions:{userId}
- AuthService:login 后将 token 加入 user:sessions 集合;logout 时从集合移除
- UserService:createUser/updateUser/updateRole/updateStatus
- updateRole:DB 写入后更新所有活跃 Token 的 role 字段(立即生效,无需重新登录)
- updateStatus(DISABLED):删除所有活跃 Token(立即失效),清除 sessions 集合
- UserController:5 个端点全部 @RequiresRoles("ADMIN")
- 集成测试:角色变更同一 Token 立即生效;禁用后 Token 立即 401
|
2026-04-09 15:48:07 +08:00 |
|
wh
|
49666d1579
|
feat(phase7): US6 训练数据导出与 GLM 微调提交模块
- ExportBatch 实体 + ExportBatchMapper(updateFinetuneInfo)
- ExportService:createBatch(JSONL生成+RustFS上传+批量更新)、listSamples、listBatches
- 双重校验:sampleIds非空(EMPTY_SAMPLES 400)、全部APPROVED(INVALID_SAMPLES 400)
- FinetuneService:trigger(提交GLM微调)、getStatus(实时查询)
- AI调用不在@Transactional内,仅DB写入部分受事务保护
- ExportController:5个端点全部@RequiresRoles("ADMIN")
- 集成测试:权限403、空列表400、非APPROVED样本400、已审批样本查询200
|
2026-04-09 15:43:45 +08:00 |
|