diff --git a/design/exceeding-threshold-alarm/index.md b/design/exceeding-threshold-alarm/index.md index 48f1016..b4e6361 100644 --- a/design/exceeding-threshold-alarm/index.md +++ b/design/exceeding-threshold-alarm/index.md @@ -126,4 +126,5 @@ # 实现记录 1. 定义告警表和告警历史表 -2. 重构部分枚举, 让models包不依赖其他项目中的包 \ No newline at end of file +2. 重构部分枚举, 让models包不依赖其他项目中的包 +3. 创建仓库层对象(不包含方法) \ No newline at end of file diff --git a/internal/core/component_initializers.go b/internal/core/component_initializers.go index ee8b4cd..79316bb 100644 --- a/internal/core/component_initializers.go +++ b/internal/core/component_initializers.go @@ -86,6 +86,7 @@ type Repositories struct { medicationLogRepo repository.MedicationLogRepository rawMaterialRepo repository.RawMaterialRepository notificationRepo repository.NotificationRepository + alarmRepo repository.AlarmRepository unitOfWork repository.UnitOfWork } @@ -114,6 +115,7 @@ func initRepositories(ctx context.Context, db *gorm.DB) *Repositories { medicationLogRepo: repository.NewGormMedicationLogRepository(logs.AddCompName(baseCtx, "MedicationLogRepo"), db), rawMaterialRepo: repository.NewGormRawMaterialRepository(logs.AddCompName(baseCtx, "RawMaterialRepo"), db), notificationRepo: repository.NewGormNotificationRepository(logs.AddCompName(baseCtx, "NotificationRepo"), db), + alarmRepo: repository.NewGormAlarmRepository(logs.AddCompName(baseCtx, "AlarmRepo"), db), unitOfWork: repository.NewGormUnitOfWork(logs.AddCompName(baseCtx, "UnitOfWork"), db), } } diff --git a/internal/infra/repository/alarm_repository.go b/internal/infra/repository/alarm_repository.go new file mode 100644 index 0000000..4a1893d --- /dev/null +++ b/internal/infra/repository/alarm_repository.go @@ -0,0 +1,25 @@ +package repository + +import ( + "context" + + "gorm.io/gorm" +) + +// AlarmRepository 定义了对告警模型的数据库操作接口 +type AlarmRepository interface { +} + +// gormAlarmRepository 是 AlarmRepository 的 GORM 实现。 +type gormAlarmRepository struct { + ctx context.Context + db *gorm.DB +} + +// NewGormAlarmRepository 创建一个新的 AlarmRepository GORM 实现实例。 +func NewGormAlarmRepository(ctx context.Context, db *gorm.DB) AlarmRepository { + return &gormAlarmRepository{ + ctx: ctx, + db: db, + } +}