|
|
|
@ -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
|
|
|
|
|
}
|
|
|
|
|