/
goods.go
97 lines (86 loc) · 2.04 KB
/
goods.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
// Code generated by 'freedom new-crud'
package object
import (
"github.com/jinzhu/gorm"
"time"
)
type Goods struct {
changes map[string]interface{}
Id int `gorm:"primary_key;column:id"`
Name string `gorm:"column:name"` // 商品名称
Price int `gorm:"column:price"` // 价格
Stock int `gorm:"column:stock"` // 库存
Created time.Time `gorm:"column:created"`
Updated time.Time `gorm:"column:updated"`
}
func (obj *Goods) TableName() string {
return "goods"
}
// TakeChanges .
func (obj *Goods) TakeChanges() map[string]interface{} {
if obj.changes == nil {
return nil
}
result := make(map[string]interface{})
for k, v := range obj.changes {
result[k] = v
}
obj.changes = nil
return result
}
// SetName .
func (obj *Goods) SetName(name string) {
if obj.changes == nil {
obj.changes = make(map[string]interface{})
}
obj.Name = name
obj.changes["name"] = name
}
// SetPrice .
func (obj *Goods) SetPrice(price int) {
if obj.changes == nil {
obj.changes = make(map[string]interface{})
}
obj.Price = price
obj.changes["price"] = price
}
// SetStock .
func (obj *Goods) SetStock(stock int) {
if obj.changes == nil {
obj.changes = make(map[string]interface{})
}
obj.Stock = stock
obj.changes["stock"] = stock
}
// SetCreated .
func (obj *Goods) SetCreated(created time.Time) {
if obj.changes == nil {
obj.changes = make(map[string]interface{})
}
obj.Created = created
obj.changes["created"] = created
}
// SetUpdated .
func (obj *Goods) SetUpdated(updated time.Time) {
if obj.changes == nil {
obj.changes = make(map[string]interface{})
}
obj.Updated = updated
obj.changes["updated"] = updated
}
// AddPrice .
func (obj *Goods) AddPrice(price int) {
if obj.changes == nil {
obj.changes = make(map[string]interface{})
}
obj.Price += price
obj.changes["price"] = gorm.Expr("price + ?", price)
}
// AddStock .
func (obj *Goods) AddStock(stock int) {
if obj.changes == nil {
obj.changes = make(map[string]interface{})
}
obj.Stock += stock
obj.changes["stock"] = gorm.Expr("stock + ?", stock)
}