|
@@ -22,8 +22,12 @@ func (a *Product) Init(_db *gorm.DB) *Product {
|
|
|
func (a *Product) Create(product *models.Product) error {
|
|
|
cache := getCache()
|
|
|
key := fmt.Sprintf("Product:%s", product.ProductKey)
|
|
|
- cache.Set(key, product)
|
|
|
- return a.db.Save(product).Error
|
|
|
+
|
|
|
+ err := a.db.Save(product).Error
|
|
|
+ if err == nil {
|
|
|
+ cache.Set(key, product)
|
|
|
+ }
|
|
|
+ return err
|
|
|
}
|
|
|
|
|
|
// Delete 删除
|
|
@@ -38,13 +42,16 @@ func (a *Product) Delete(product *models.Product) error {
|
|
|
|
|
|
// Update 更新
|
|
|
func (a *Product) Update(product *models.Product) (pro models.Product, err error) {
|
|
|
- cache := getCache()
|
|
|
- key := fmt.Sprintf("Product:%s", product.ProductKey)
|
|
|
- if _, ok := cache.Get(key); ok {
|
|
|
- cache.Delete(key)
|
|
|
- }
|
|
|
- cache.Set(key, product)
|
|
|
+
|
|
|
err = a.db.Model(&pro).Save(product).Error
|
|
|
+ if err == nil {
|
|
|
+ cache := getCache()
|
|
|
+ key := fmt.Sprintf("Product:%s", product.ProductKey)
|
|
|
+ if _, ok := cache.Get(key); ok {
|
|
|
+ cache.Delete(key)
|
|
|
+ }
|
|
|
+ cache.Set(key, product)
|
|
|
+ }
|
|
|
return
|
|
|
}
|
|
|
|