Browse Source

detail dao修改

Administrator 2 năm trước cách đây
mục cha
commit
fecd30240c
1 tập tin đã thay đổi với 53 bổ sung0 xóa
  1. 53 0
      data/dao/DetailDao.go

+ 53 - 0
data/dao/DetailDao.go

@@ -209,3 +209,56 @@ func GetSkuByKey(key string, pageNum, pageSize int) (vo.BaseListVo, string, erro
 	vo.PageSize = pageSize
 	return vo, "", nil
 }
+
+func SelectSkuInfoBySkuId(skuId int64) (any, error) {
+	//根据skuid 获取GoodsId
+	var sku domain.GoodsSku
+	_, err := configs.Engine.Table("goods_sku").Where("id = ?", skuId).Get(&sku)
+	if err != nil || sku.GoodsId == 0 {
+		return nil, err
+	}
+	var goods domain.Goods
+	_, err = configs.Engine.Table("goods_sku").Where("id = ?", sku.GoodsId).Get(&goods)
+	//查询属性
+	var areas = make([]domain.GoodsCommodityArea, 0)
+	err = configs.Engine.Table("goods_commodity_area").
+		Where("goods_id = ?", goods.Id).
+		Find(&areas)
+	if err != nil {
+		return nil, err
+	}
+	//查询文章下的所有
+	intrIds := make([]int64, 0)
+	intrIds = append(intrIds, goods.IntroductionId)
+	for i := range areas {
+		if areas[i].DetailIntroductionId != 0 {
+			intrIds = append(intrIds, areas[i].DetailIntroductionId)
+		}
+	}
+	var iis = ""
+	for i := range intrIds {
+		iis += fmt.Sprint(",", intrIds[i])
+	}
+	iis = iis[1:]
+
+	var intrs = make([]domain.GoodsIntroduction, 0)
+	err = configs.Engine.Table("goods_introduction").
+		Where("FIND_IN_SET(id,?)", iis).
+		Find(&intrs)
+	if err != nil {
+		return nil, err
+	}
+	var skus = make([]domain.GoodsSku, 0)
+	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"` //推荐商品
+}