feat: 成长记录

This commit is contained in:
Blizzard
2026-02-11 10:40:21 +08:00
parent 88aeb86296
commit 6be24bdbda
7 changed files with 108 additions and 4 deletions
+46
View File
@@ -101,6 +101,11 @@ func (s *MyPlantService) PlantDetail(id string) (p plant.MyPlant, err error) {
}).
Preload("CarePlans").
Preload("CareRecords").
Preload("GrowthRecords", func(db *gorm.DB) *gorm.DB {
return db.Preload("ImgList", func(db *gorm.DB) *gorm.DB {
return db.Order("created_at desc")
})
}).
First(&res).Error
//不存在的时候不要返回错误,而是返回nil
@@ -375,3 +380,44 @@ func (s *MyPlantService) DeletePlan(id string) error {
return nil
})
}
// AddGrowthRecord 添加成长记录
func (s *MyPlantService) AddGrowthRecord(req plantReq.CreateGrowthRecord, userId string) error {
return global.DB.Transaction(func(tx *gorm.DB) error {
//1.验证图片是否存在
var ossList []*system.Oss
err := tx.Where("id in ?", req.OssIds).Find(&ossList).Error
if err != nil {
return err
}
//2.保存记录
record := plant.GrowthRecord{
UserId: userId,
PlantId: req.PlantId,
Name: req.Name,
Content: req.Content,
Desc: req.Desc,
Tag: req.Tag,
}
err = tx.Create(&record).Error
if err != nil {
return err
}
//3.保存图片关系
if len(ossList) > 0 {
var relations []map[string]interface{}
for _, oss := range ossList {
relations = append(relations, map[string]interface{}{
"growth_record_id": record.Id,
"oss_id": oss.Id,
})
}
err = tx.Table("sundynix_growth_record_oss").Create(relations).Error
if err != nil {
return err
}
}
return nil
})
}