refactor:购物车

master
howell 3 years ago
parent 7be376e475
commit e5bf55cd5f

@ -47,6 +47,8 @@ type ShopCartSku struct {
Min int `json:"min"`
SkuName string `json:"sku_name"`
GoodsName string `json:"goods_name,omitempty"`
SalePublish uint `json:"sale_publish"`
PicUrl string `json:"pic_url"`
}
type ShopCartEntry struct {
@ -57,7 +59,7 @@ type ShopCartEntry struct {
SalePublish uint `json:"sale_publish"`
}
func (o logic) ShopCartEntries(args ArgsEntryReq) (res []ShopCartEntry) {
func (o logic) ShopCartEntries(args ArgsEntryReq) (res []ShopCartSku) {
sc := make([]jyy.ShopCartEntry, 0)
mysql.Db.Model(&jyy.ShopCartEntry{}).Where("user_id = ?", args.UserID).Find(&sc)
ids := make([]uint, 0)
@ -73,11 +75,10 @@ func (o logic) ShopCartEntries(args ArgsEntryReq) (res []ShopCartEntry) {
mysql.Db.First(&u1, "user_id = ?", args.UserID)
skuList := make([]goods2.RecookGoodsSkuModel, 0)
mysql.Db.Preload("GoodsInfo.MainPhoto").Where("id in (?)", ids).Find(&skuList)
mysql.Db.Preload("GoodsInfo").Where("id in (?)", ids).Find(&skuList)
goodsMap := make(map[uint][]ShopCartSku)
for _, v := range skuList {
goodsMap[v.GoodsId] = append(goodsMap[v.GoodsId], ShopCartSku{
res = append(res, ShopCartSku{
ID: skuMap[v.Id],
SkuID: v.Id,
DiscountPrice: v.DiscountPrice,
@ -86,22 +87,38 @@ func (o logic) ShopCartEntries(args ArgsEntryReq) (res []ShopCartEntry) {
Limit: v.Limit,
Min: v.Min,
SkuName: v.Name,
PicUrl: v.PicURL,
SalePublish: v.GoodsInfo.SalePublish,
})
}
inRes := make(map[uint]bool)
for _, v := range skuList {
if inRes[v.GoodsId] {
continue
}
inRes[v.GoodsId] = true
res = append(res, ShopCartEntry{
GoodsID: v.GoodsId,
GoodsName: v.GoodsInfo.GoodsName,
MainPhoto: v.GoodsInfo.MainPhoto.Url,
SkuList: goodsMap[v.GoodsId],
SalePublish: v.GoodsInfo.SalePublish,
})
}
// goodsMap := make(map[uint][]ShopCartSku)
// for _, v := range skuList {
// goodsMap[v.GoodsId] = append(goodsMap[v.GoodsId], ShopCartSku{
// ID: skuMap[v.Id],
// SkuID: v.Id,
// DiscountPrice: v.DiscountPrice,
// SalePrice: v.GetSalePrice(u1.Level),
// Quantity: idsMap[v.Id],
// Limit: v.Limit,
// Min: v.Min,
// SkuName: v.Name,
// })
// }
// inRes := make(map[uint]bool)
// for _, v := range skuList {
// if inRes[v.GoodsId] {
// continue
// }
// inRes[v.GoodsId] = true
// res = append(res, ShopCartEntry{
// GoodsID: v.GoodsId,
// GoodsName: v.GoodsInfo.GoodsName,
// MainPhoto: v.GoodsInfo.MainPhoto.Url,
// SkuList: goodsMap[v.GoodsId],
// SalePublish: v.GoodsInfo.SalePublish,
// })
// }
return
}

Loading…
Cancel
Save