feat: 批发购物车更新

master
howell 3 years ago
parent cda1b5fff1
commit 7a9a1a2baf

@ -43,3 +43,30 @@ func (o Proxy) AddSku(c *gin.Context) {
back.Suc(c, "ok", "")
}
}
func (o Proxy) UpdateSku(c *gin.Context) {
var args jyy.ArgsAddSku
if err := tools.ParseParams(&args, c); err != nil {
back.Err(c, err.Error())
return
}
args.IsUpdate = true
if err := jyy.Logic.ShopCartAddSku(args); err != nil {
back.Fail(c, err.Error())
} else {
back.Suc(c, "ok", "")
}
}
func (o Proxy) DeleteSku(c *gin.Context) {
var args jyy.ArgsAddSku
if err := tools.ParseParams(&args, c); err != nil {
back.Err(c, err.Error())
return
}
if err := jyy.Logic.ShopCartDeleteSku(args); err != nil {
back.Fail(c, err.Error())
} else {
back.Suc(c, "ok", "")
}
}

@ -107,6 +107,7 @@ type skuEntry struct {
type ArgsAddSku struct {
UserID uint `json:"user_id"`
IsUpdate bool
SkuList []skuEntry `json:"sku_list" validate:"required,gte=1"`
}
@ -142,7 +143,11 @@ func (o logic) ShopCartAddSku(args ArgsAddSku) (err error) {
for _, v := range data {
if idMap[v.SkuID] != 0 {
if args.IsUpdate {
v.Quantity = uint(idMap[v.SkuID])
} else {
v.Quantity += uint(idMap[v.SkuID])
}
mysql.Db.Save(v)
isUsed[v.SkuID] = true
}
@ -167,3 +172,12 @@ func (o logic) ShopCartAddSku(args ArgsAddSku) (err error) {
}
return
}
func (o logic) ShopCartDeleteSku(args ArgsAddSku) (err error) {
ids := make([]uint, 0)
for _, v := range args.SkuList {
ids = append(ids, v.SkuID)
}
err = mysql.Db.Delete(&jyy.ShopCartEntry{}, "sku_id in (?)", ids).Error
return
}

@ -229,6 +229,8 @@ func routerApp(appRouter *gin.RouterGroup) {
{
ShopCartRouter.POST("list", proxy.ShopCartEntries)
ShopCartRouter.POST("add", proxy.AddSku)
ShopCartRouter.POST("update", proxy.UpdateSku)
ShopCartRouter.POST("delete", proxy.DeleteSku)
}
}

Loading…
Cancel
Save