feat: 记录产品价格变化

main
熊二 2 years ago
parent d0d131dd09
commit b56bce9de7
  1. 33
      app/rts.go

@ -307,9 +307,17 @@ func UpdateGoods(w *ResponseWriter, r *Request) {
w.Error(err)
return
}
if goods.Name != name || goods.Price != price {
// 信息未改变
if goods.Name == name && goods.Price == price {
w.Error(NewError(2, "数据未变化"))
return
}
// 价格未改变
if goods.Price == price {
if goods.Name != name {
goods.Name = name
goods.Price = price
err = DB.Save(&goods).Error
if err != nil {
w.Error(err)
@ -317,6 +325,27 @@ func UpdateGoods(w *ResponseWriter, r *Request) {
}
}
w.Ok(goods, "修改成功")
return
}
// 修改商品信息并记录价格变化
err = DB.Transaction(func(tx *gorm.DB) error {
goods.Name = name
goods.Price = price
if err = tx.Save(&goods).Error; err != nil {
return err
}
// 记录价格变化
return tx.Create(&Price{
GoodsID: goods.ID,
Price: goods.Price,
}).Error
})
if err != nil {
w.Error(err)
} else {
w.Ok(goods, "修改成功")
}
}
// GetGoodsList 查询商品列表

Loading…
Cancel
Save