diff --git a/internal/dao/vendor.go b/internal/dao/vendor.go index 37d374f..73b9ff4 100644 --- a/internal/dao/vendor.go +++ b/internal/dao/vendor.go @@ -1,7 +1,7 @@ /* * @Date: 2021-06-10 22:53:09 * @LastEditors: viletyy - * @LastEditTime: 2021-06-10 23:59:15 + * @LastEditTime: 2021-06-11 10:37:45 * @FilePath: /potato/internal/dao/vendor.go */ package dao @@ -25,7 +25,7 @@ func (d *Dao) GetVendorList(name string, uuid int, page, pageSize int) ([]basic. func (d *Dao) GetVendor(id int64) (basic.Vendor, error) { vendor := basic.Vendor{ - Model: model.Model{ID: id}, + Model: &model.Model{ID: id}, } return vendor.Get(d.Engine) @@ -44,15 +44,21 @@ func (d *Dao) UpdateVendor(id int64, name string, uuid int) (basic.Vendor, error vendor := basic.Vendor{ Name: name, Uuid: uuid, - Model: model.Model{ID: id}, + Model: &model.Model{ID: id}, } - return vendor, vendor.Update(d.Engine) + dbVendor, err := vendor.Get(d.Engine) + + if err != nil { + return vendor, err + } + + return dbVendor, dbVendor.Update(d.Engine) } func (d *Dao) DeleteVendor(id int64) error { vendor := basic.Vendor{ - Model: model.Model{ID: id}, + Model: &model.Model{ID: id}, } return vendor.Delete(d.Engine) diff --git a/internal/model/auth.go b/internal/model/auth.go index a75ba63..0c6b259 100644 --- a/internal/model/auth.go +++ b/internal/model/auth.go @@ -1,7 +1,7 @@ /* * @Date: 2021-06-10 18:21:37 * @LastEditors: viletyy - * @LastEditTime: 2021-06-11 01:00:59 + * @LastEditTime: 2021-06-11 10:38:15 * @FilePath: /potato/internal/model/auth.go */ package model @@ -9,7 +9,7 @@ package model import "github.com/jinzhu/gorm" type Auth struct { - Model + *Model AppKey string `json:"app_key"` AppSecret string `json:"app_secret"` } diff --git a/internal/model/basic/vendor.go b/internal/model/basic/vendor.go index eaadace..56987ff 100644 --- a/internal/model/basic/vendor.go +++ b/internal/model/basic/vendor.go @@ -1,7 +1,7 @@ /* * @Date: 2021-03-21 19:54:57 * @LastEditors: viletyy - * @LastEditTime: 2021-06-10 23:20:22 + * @LastEditTime: 2021-06-11 10:30:18 * @FilePath: /potato/internal/model/basic/vendor.go */ package basic @@ -12,7 +12,7 @@ import ( ) type Vendor struct { - model.Model + *model.Model Name string `json:"name"` Uuid int `json:"uuid"` @@ -59,14 +59,15 @@ func (v Vendor) Get(db *gorm.DB) (vendor Vendor, err error) { return vendor, nil } -func (v Vendor) Create(db *gorm.DB) error { - return db.Create(&v).Error +func (v *Vendor) Create(db *gorm.DB) error { + return db.Create(v).Error } -func (v Vendor) Update(db *gorm.DB) error { - return db.Model(&Vendor{}).Where("id = ?", v.ID).Update(v).Error +func (v *Vendor) Update(db *gorm.DB) error { + err := db.Save(v).Error + return err } func (v Vendor) Delete(db *gorm.DB) error { - return db.Where("id = ?", v.ID).Delete(&v).Error + return db.Where("id = ? AND deleted_at = ?", v.ID, nil).Delete(&v).Error } diff --git a/internal/model/user.go b/internal/model/user.go index b0bef12..3cefc5c 100644 --- a/internal/model/user.go +++ b/internal/model/user.go @@ -1,13 +1,13 @@ /* * @Date: 2021-03-21 19:54:57 * @LastEditors: viletyy - * @LastEditTime: 2021-06-10 18:20:33 + * @LastEditTime: 2021-06-11 10:38:24 * @FilePath: /potato/internal/model/user.go */ package model type User struct { - Model + *Model Username string `json:"username"` Password string `json:"-"`