|
@@ -210,25 +210,26 @@ func GetSkuByKey(key string, pageNum, pageSize int) (vo.BaseListVo, string, erro
|
|
|
return vo, "", nil
|
|
return vo, "", nil
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-func SelectSkuInfoBySkuId(skuId int64) (any, error) {
|
|
|
|
|
|
|
+func SelectSkuInfoBySkuId(skuId int64) (vo.DetailInfoVo, error) {
|
|
|
//根据skuid 获取GoodsId
|
|
//根据skuid 获取GoodsId
|
|
|
var sku domain.GoodsSku
|
|
var sku domain.GoodsSku
|
|
|
|
|
+ var infoVo vo.DetailInfoVo
|
|
|
_, err := configs.Engine.Table("goods_sku").Where("id = ?", skuId).Get(&sku)
|
|
_, err := configs.Engine.Table("goods_sku").Where("id = ?", skuId).Get(&sku)
|
|
|
if err != nil || sku.GoodsId == 0 {
|
|
if err != nil || sku.GoodsId == 0 {
|
|
|
- return nil, err
|
|
|
|
|
|
|
+ return infoVo, err
|
|
|
}
|
|
}
|
|
|
var goods domain.Goods
|
|
var goods domain.Goods
|
|
|
- _, err = configs.Engine.Table("goods_sku").Where("id = ?", sku.GoodsId).Get(&goods)
|
|
|
|
|
|
|
+ _, err = configs.Engine.Table("goods").Where("id = ?", sku.GoodsId).Get(&goods)
|
|
|
//查询属性
|
|
//查询属性
|
|
|
var areas = make([]domain.GoodsCommodityArea, 0)
|
|
var areas = make([]domain.GoodsCommodityArea, 0)
|
|
|
err = configs.Engine.Table("goods_commodity_area").
|
|
err = configs.Engine.Table("goods_commodity_area").
|
|
|
- Where("goods_id = ?", goods.Id).
|
|
|
|
|
- Find(&areas)
|
|
|
|
|
|
|
+ Where("goods_id = ?", goods.Id).Find(&areas)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return nil, err
|
|
|
|
|
|
|
+ return infoVo, err
|
|
|
}
|
|
}
|
|
|
//查询文章下的所有
|
|
//查询文章下的所有
|
|
|
intrIds := make([]int64, 0)
|
|
intrIds := make([]int64, 0)
|
|
|
|
|
+
|
|
|
intrIds = append(intrIds, goods.IntroductionId)
|
|
intrIds = append(intrIds, goods.IntroductionId)
|
|
|
for i := range areas {
|
|
for i := range areas {
|
|
|
if areas[i].DetailIntroductionId != 0 {
|
|
if areas[i].DetailIntroductionId != 0 {
|
|
@@ -243,22 +244,24 @@ func SelectSkuInfoBySkuId(skuId int64) (any, error) {
|
|
|
|
|
|
|
|
var intrs = make([]domain.GoodsIntroduction, 0)
|
|
var intrs = make([]domain.GoodsIntroduction, 0)
|
|
|
err = configs.Engine.Table("goods_introduction").
|
|
err = configs.Engine.Table("goods_introduction").
|
|
|
- Where("FIND_IN_SET(id,?)", iis).
|
|
|
|
|
- Find(&intrs)
|
|
|
|
|
|
|
+ Where("FIND_IN_SET(id,?)", iis).Find(&intrs)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return nil, err
|
|
|
|
|
|
|
+ return infoVo, err
|
|
|
}
|
|
}
|
|
|
var skus = make([]domain.GoodsSku, 0)
|
|
var skus = make([]domain.GoodsSku, 0)
|
|
|
err = configs.Engine.Table("goods_sku").Where("goods_id = ?", goods.Id).Find(&skus)
|
|
err = configs.Engine.Table("goods_sku").Where("goods_id = ?", goods.Id).Find(&skus)
|
|
|
- return DetailInfo{
|
|
|
|
|
- sku, goods, intrs, skus, skus,
|
|
|
|
|
- }, nil
|
|
|
|
|
-}
|
|
|
|
|
|
|
|
|
|
-type DetailInfo struct {
|
|
|
|
|
- Sku domain.GoodsSku `json:"sku"`
|
|
|
|
|
- Goods domain.Goods `json:"goods"`
|
|
|
|
|
- Introduction []domain.GoodsIntroduction `json:"introduction"`
|
|
|
|
|
- Skus []domain.GoodsSku `json:"skus"`
|
|
|
|
|
- RecommendedGoods []domain.GoodsSku `json:"recommendedGoods"` //推荐商品
|
|
|
|
|
|
|
+ infoVo.Sku = sku
|
|
|
|
|
+ infoVo.Goods = goods
|
|
|
|
|
+ infoVo.Introductions = intrs
|
|
|
|
|
+ infoVo.Skus = skus
|
|
|
|
|
+ infoVo.Areas = areas
|
|
|
|
|
+
|
|
|
|
|
+ if len(skus) > 8 {
|
|
|
|
|
+ infoVo.RecommendedGoods = skus[0:8]
|
|
|
|
|
+ } else {
|
|
|
|
|
+ infoVo.RecommendedGoods = skus
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return infoVo, nil
|
|
|
}
|
|
}
|