商品列表sku价格
This commit is contained in:
parent
2baf62d990
commit
e19dd2e368
|
@ -60,6 +60,24 @@ func GoodsList(c *gin.Context) {
|
||||||
app.Error(c, http.StatusInternalServerError, errors.New("goods list err"), msg)
|
app.Error(c, http.StatusInternalServerError, errors.New("goods list err"), msg)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var ids []uint32
|
||||||
|
for _, goods := range goodsList {
|
||||||
|
ids = append(ids, goods.GoodsId)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(ids) > 0 {
|
||||||
|
cm := models.GetGoodsFirstSkuCombo(ids)
|
||||||
|
if cm != nil {
|
||||||
|
for _, combo := range cm {
|
||||||
|
for i, goods := range goodsList {
|
||||||
|
if combo.GoodsId == goods.GoodsId {
|
||||||
|
goodsList[i].Combo = &combo
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
ret := map[string]interface{}{
|
ret := map[string]interface{}{
|
||||||
"count": totalCount,
|
"count": totalCount,
|
||||||
"list": goodsList,
|
"list": goodsList,
|
||||||
|
|
|
@ -67,10 +67,12 @@ type Goods struct {
|
||||||
PriceVm uint32 `json:"price_vm"` // 积分价格
|
PriceVm uint32 `json:"price_vm"` // 积分价格
|
||||||
PriceRm uint32 `json:"price_rm"` // 人民币价格
|
PriceRm uint32 `json:"price_rm"` // 人民币价格
|
||||||
//Stock uint32 `json:"stock"` // 库存
|
//Stock uint32 `json:"stock"` // 库存
|
||||||
|
ShowDiscount int `json:"show_discount"` //是否展示折扣价
|
||||||
|
|
||||||
GoodsCat *GoodsCat `json:"goods_cat" gorm:"-"`
|
GoodsCat *GoodsCat `json:"goods_cat" gorm:"-"`
|
||||||
GoodsDiscount *GoodsDiscount `json:"goods_discount" gorm:"-"`
|
GoodsDiscount *GoodsDiscount `json:"goods_discount" gorm:"-"`
|
||||||
Attributes []GoodsAttribute `json:"attributes" gorm:"-"`
|
Attributes []GoodsAttribute `json:"attributes" gorm:"-"`
|
||||||
|
Combo *GoodsAttributeCombo `json:"combo" gorm:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*Goods) TableName() string {
|
func (*Goods) TableName() string {
|
||||||
|
@ -120,6 +122,7 @@ type GoodsAttribute struct {
|
||||||
|
|
||||||
Stock uint32 `json:"stock"` // 库存
|
Stock uint32 `json:"stock"` // 库存
|
||||||
SoldCount uint32 `json:"sold_count"` // 已销售数量
|
SoldCount uint32 `json:"sold_count"` // 已销售数量
|
||||||
|
Sort int `json:"sort"` //排序
|
||||||
|
|
||||||
//PriceRm uint32 `json:"price_rm"` // 人民币价格
|
//PriceRm uint32 `json:"price_rm"` // 人民币价格
|
||||||
PriceOriginal uint32 `json:"price_original"` // 市场价
|
PriceOriginal uint32 `json:"price_original"` // 市场价
|
||||||
|
@ -525,7 +528,9 @@ func (m *Goods) GetDetail() error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
var goodsAttributes []GoodsAttribute
|
var goodsAttributes []GoodsAttribute
|
||||||
err = orm.Eloquent.Table("goods_attribute").Where("goods_id=?", m.GoodsId).
|
err = orm.Eloquent.Table("goods_attribute").
|
||||||
|
Where("goods_id=?", m.GoodsId).
|
||||||
|
Order("sort desc").
|
||||||
Find(&goodsAttributes).Error
|
Find(&goodsAttributes).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error().Msgf("goods attribute err:%#v", err)
|
log.Error().Msgf("goods attribute err:%#v", err)
|
||||||
|
@ -1395,3 +1400,17 @@ func (o *GoodsOrder) SetDeliverStore() error {
|
||||||
o.DeliverStore = store
|
o.DeliverStore = store
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetGoodsFirstSkuCombo(goodsId []uint32) []GoodsAttributeCombo {
|
||||||
|
var list []GoodsAttributeCombo
|
||||||
|
err := orm.Eloquent.
|
||||||
|
Raw("SELECT b.* FROM (SELECT goods_id, MAX(sort) FROM goods_attribute GROUP BY goods_id) AS a INNER JOIN goods_attribute_combo b ON a.goods_id = b.goods_id where a.goods_id in (?) GROUP BY b.goods_id", goodsId).
|
||||||
|
Scan(&list).
|
||||||
|
Error
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("get goods first sku failed", err)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return list
|
||||||
|
}
|
||||||
|
|
|
@ -32,7 +32,7 @@ settings:
|
||||||
enabledjob: false
|
enabledjob: false
|
||||||
jwt:
|
jwt:
|
||||||
# token 密钥,生产环境时及的修改
|
# token 密钥,生产环境时及的修改
|
||||||
secret: adminqYrhCcQRvVNAaEo4h4osoW
|
secret: go-admin
|
||||||
# token 过期时间 单位:秒
|
# token 过期时间 单位:秒
|
||||||
timeout: 3600
|
timeout: 3600
|
||||||
database:
|
database:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user