定义病猪用药两个repo
This commit is contained in:
@@ -78,6 +78,8 @@ func NewApplication(configPath string) (*Application, error) {
|
||||
pigPenRepo := repository.NewGormPigPenRepository(storage.GetDB())
|
||||
pigTransferLogRepo := repository.NewGormPigTransferLogRepository(storage.GetDB())
|
||||
pigTradeRepo := repository.NewGormPigTradeRepository(storage.GetDB())
|
||||
pigSickPigLogRepo := repository.NewGormPigSickLogRepository(storage.GetDB())
|
||||
pigGroupMedicationLogRepo := repository.NewGormGroupMedicationLogRepository(storage.GetDB())
|
||||
|
||||
// 初始化事务管理器
|
||||
unitOfWork := repository.NewGormUnitOfWork(storage.GetDB(), logger)
|
||||
|
||||
1
internal/domain/pig/pig_sick_manager.go
Normal file
1
internal/domain/pig/pig_sick_manager.go
Normal file
@@ -0,0 +1 @@
|
||||
package pig
|
||||
@@ -27,20 +27,22 @@ const (
|
||||
SickPigReasonTypeOther PigBatchSickPigReasonType = "其他" // 其他原因
|
||||
)
|
||||
|
||||
// PigBatchSickPigLog 记录了猪批次中病猪数量的变化日志
|
||||
type PigBatchSickPigLog struct {
|
||||
// PigSickLog 记录了猪批次中病猪数量的变化日志
|
||||
type PigSickLog struct {
|
||||
gorm.Model
|
||||
PigBatchID uint `gorm:"primaryKey;comment:关联的猪批次ID"`
|
||||
PenID uint `gorm:"not null;index;comment:所在猪圈ID"`
|
||||
PigIDs string `gorm:"size:500;comment:涉及的猪只ID列表,逗号分隔"`
|
||||
ChangeCount int `gorm:"not null;comment:变化数量, 正数表示新增, 负数表示移除"`
|
||||
Reason PigBatchSickPigReasonType `gorm:"size:20;not null;comment:变化原因 (如: 患病, 康复, 死亡, 转入, 转出, 其他)"`
|
||||
BeforeCount int `gorm:"comment:变化前的数量"`
|
||||
AfterCount int `gorm:"comment:变化后的数量"`
|
||||
Remarks string `gorm:"size:255;comment:备注"`
|
||||
TreatmentLocation PigBatchSickPigTreatmentLocation `gorm:"size:50;comment:治疗地点"`
|
||||
OperatorID uint `gorm:"comment:操作员ID"`
|
||||
HappenedAt time.Time `gorm:"primaryKey;comment:事件发生时间"`
|
||||
}
|
||||
|
||||
func (PigBatchSickPigLog) TableName() string {
|
||||
return "pig_batch_sick_pig_logs"
|
||||
func (PigSickLog) TableName() string {
|
||||
return "pig_sick_logs"
|
||||
}
|
||||
|
||||
26
internal/infra/repository/group_medication_log_repository.go
Normal file
26
internal/infra/repository/group_medication_log_repository.go
Normal file
@@ -0,0 +1,26 @@
|
||||
package repository
|
||||
|
||||
import (
|
||||
"git.huangwc.com/pig/pig-farm-controller/internal/infra/models"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
// GroupMedicationLogRepository 定义了与群体用药日志模型相关的数据库操作接口。
|
||||
type GroupMedicationLogRepository interface {
|
||||
CreateGroupMedicationLog(log *models.GroupMedicationLog) error
|
||||
}
|
||||
|
||||
// gormGroupMedicationLogRepository 是 GroupMedicationLogRepository 接口的 GORM 实现。
|
||||
type gormGroupMedicationLogRepository struct {
|
||||
db *gorm.DB
|
||||
}
|
||||
|
||||
// NewGormGroupMedicationLogRepository 创建一个新的 GroupMedicationLogRepository GORM 实现实例。
|
||||
func NewGormGroupMedicationLogRepository(db *gorm.DB) GroupMedicationLogRepository {
|
||||
return &gormGroupMedicationLogRepository{db: db}
|
||||
}
|
||||
|
||||
// CreateGroupMedicationLog 创建一条新的群体用药日志记录
|
||||
func (r *gormGroupMedicationLogRepository) CreateGroupMedicationLog(log *models.GroupMedicationLog) error {
|
||||
return r.db.Create(log).Error
|
||||
}
|
||||
26
internal/infra/repository/pig_sick_repository.go
Normal file
26
internal/infra/repository/pig_sick_repository.go
Normal file
@@ -0,0 +1,26 @@
|
||||
package repository
|
||||
|
||||
import (
|
||||
"git.huangwc.com/pig/pig-farm-controller/internal/infra/models"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
// PigSickLogRepository 定义了与病猪日志模型相关的数据库操作接口。
|
||||
type PigSickLogRepository interface {
|
||||
CreatePigSickLog(log *models.PigSickLog) error
|
||||
}
|
||||
|
||||
// gormPigSickLogRepository 是 PigSickLogRepository 接口的 GORM 实现。
|
||||
type gormPigSickLogRepository struct {
|
||||
db *gorm.DB
|
||||
}
|
||||
|
||||
// NewGormPigSickLogRepository 创建一个新的 PigSickLogRepository GORM 实现实例。
|
||||
func NewGormPigSickLogRepository(db *gorm.DB) PigSickLogRepository {
|
||||
return &gormPigSickLogRepository{db: db}
|
||||
}
|
||||
|
||||
// CreatePigSickLog 创建一条新的病猪日志记录
|
||||
func (r *gormPigSickLogRepository) CreatePigSickLog(log *models.PigSickLog) error {
|
||||
return r.db.Create(log).Error
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user