rwadurian/backend/services/admin-service/src
Developer 3385997b86 refactor(admin-service): 完全按DDD架构重构,添加值对象层
值对象层 (Value Objects):
- VersionCode: 整数版本号,支持比较操作
- VersionName: 语义化版本格式 (major.minor.patch)
- BuildNumber: 构建号验证 (字母数字+点/下划线/连字符)
- DownloadUrl: HTTP/HTTPS URL 格式验证
- FileSha256: 64字符十六进制字符串验证
- FileSize: BigInt类型,2GB上限,支持人类可读格式转换
- Changelog: 更新日志 (10-5000字符)
- MinOsVersion: 最低操作系统版本格式验证

领域层重构:
- AppVersion Entity: 从贫血模型重构为充血模型
  - 私有字段 + getter 封装
  - 业务方法: disable(), enable(), setForceUpdate(), setReleaseDate()
  - 工厂方法: create() (新建), reconstitute() (重建)
  - 使用值对象替代所有原始类型

基础设施层:
- AppVersionMapper: 领域对象与持久化模型转换
- AppVersionRepositoryImpl: 使用 Mapper 进行数据转换
- 更新方法签名使用值对象类型

应用层:
- CreateVersionHandler: 创建值对象后构建领域实体
- CheckUpdateHandler: 从值对象提取值用于响应

共享层:
- DomainException: 领域异常基类

架构改进:
- 完整的 DDD 分层架构
- 值对象封装验证逻辑和业务规则
- 领域实体包含业务行为
- 清晰的领域-持久化边界

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 17:33:32 -08:00
..
api feat(admin-service): 实现移动应用版本管理服务 2025-12-02 11:22:30 -08:00
application refactor(admin-service): 完全按DDD架构重构,添加值对象层 2025-12-02 17:33:32 -08:00
config feat(admin-service): 实现移动应用版本管理服务 2025-12-02 11:22:30 -08:00
domain refactor(admin-service): 完全按DDD架构重构,添加值对象层 2025-12-02 17:33:32 -08:00
infrastructure/persistence refactor(admin-service): 完全按DDD架构重构,添加值对象层 2025-12-02 17:33:32 -08:00
shared/exceptions refactor(admin-service): 完全按DDD架构重构,添加值对象层 2025-12-02 17:33:32 -08:00
app.module.ts refactor(admin-service): 完全按DDD架构重构,添加值对象层 2025-12-02 17:33:32 -08:00
main.ts feat(admin-service): 实现移动应用版本管理服务 2025-12-02 11:22:30 -08:00