/
wares.go
79 lines (68 loc) · 1.92 KB
/
wares.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
package service
import (
"errors"
"github.com/gin-gonic/gin"
"github.com/youlingdada/street-stall/model"
"github.com/youlingdada/street-stall/query"
"github.com/youlingdada/street-stall/utils"
"log"
"time"
)
type waresService struct{}
var WaresService waresService
// Add 添加商品
func (ws waresService) Add(query query.WaresAddQuery, c *gin.Context) error {
var wares model.Wares
loginUser := utils.GetLoginUser(c)
wares.CreateAt = time.Now()
wares.UpdateAt = time.Now()
wares.Stock = query.Stock
wares.UserId = loginUser.UId
wares.Price = query.Price
wares.Status = query.Status
tx := model.DB.Model(&model.Wares{}).Create(&wares)
return tx.Error
}
// Edit 编辑商品
func (ws waresService) Edit(query query.WaresEditQuery) error {
var wares model.Wares
wares.UpdateAt = time.Now()
wares.Stock = query.Stock
wares.Status = query.Status
wares.Price = query.Price
wares.Name = query.Name
wares.WId = query.WId
tx := model.DB.Model(&model.Wares{}).Where("w_id", wares.WId).Updates(&wares)
return tx.Error
}
// Detail 商品详情
func (ws waresService) Detail(id uint64) (model.Wares, error) {
var wares model.Wares
tx := model.DB.Model(&model.Wares{}).Where("w_id", id).First(&wares)
if tx.Error != nil {
return wares, errors.New("未找到相关的商品信息")
}
return wares, nil
}
// Page 商品列表
func (ws waresService) Page(query query.WaresPageQuery) (utils.PageData, error) {
var ret utils.PageData
var rows []model.Wares
tx := model.DB.Model(&model.Wares{})
if query.Status != 0 {
tx.Where("status", query.Status)
}
if query.Type != 0 {
tx.Where("type", query.Type)
}
if query.BoothId != 0 {
tx.Where("booth_id", query.BoothId)
}
tx.Offset(int((query.PageNo - 1) * query.PageSize)).Limit(int(query.PageSize))
tx.Find(&rows)
if tx.Error != nil {
log.Printf("分页查询商品信息失败,err->%s\n", tx.Error)
return ret, errors.New("查询商品失败")
}
return ret, nil
}