feat: 成长记录
This commit is contained in:
@@ -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
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user