From a90b1cc012cff4916e60198bf1822a09aea7f5aa Mon Sep 17 00:00:00 2001 From: huang <1724659546@qq.com> Date: Fri, 7 Nov 2025 22:26:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E4=B9=89=E4=BB=93=E5=BA=93=E5=B1=82?= =?UTF-8?q?=E5=AF=B9=E8=B1=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- design/exceeding-threshold-alarm/index.md | 3 ++- internal/core/component_initializers.go | 2 ++ internal/infra/repository/alarm_repository.go | 25 +++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 internal/infra/repository/alarm_repository.go 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, + } +}