package gome_live_show

//#region 获取商品品类信息

type GoodsCategoryListRes struct {
	Code      int64  `json:"code"`      // 响应码
	Timestamp int64  `json:"timestamp"` // 时间戳（秒）
	Message   string `json:"message"`   // 响应描述
	RequestId string `json:"requestId"` // 请求id
	Data      []*GoodsCategoryListRecordRes
}

// 商品品类查询 品类查询，创建商品规格和商品时需要维护品类信息。
type GoodsCategoryListRecordRes struct {
	CatCode  string                        `json:"catCode"`  // 品类 id
	CatLevel int                           `json:"catLevel"` // 品类级别 三级品类:1 一级品类2 二级品类3三级品类
	CatName  string                        `json:"catName"`  // 品类名称
	ChildCat []*GoodsCategoryListRecordRes `json:"childCat"` // 子类目信息
}

//#endregion

//#region 获取商铺尺寸列表

// 查询商品规格列表 创建商品时，可选择不同规格的组合商品进行售卖，,
//包含规格属性唯一标识(specCode)、规格属性名(specName) 、
//规格属性值唯一标识(specValueCode)、规格属性值(specValueName)等信息。
type QueryGoodsSpecSizeReq struct {
	Cat3Code string `json:"cat3Code"` // 根据3级品类code查询,长度50
	SpecName string `json:"specName"` // 规格属性名
	Page
}

// 返回值
type QueryGoodsSpecSizeRes struct {
	SystemParameterRes
	Data *GoodsSpecSizeList
}
type GoodsSpecSizeList struct {
	Records []*QueryGoodsSpecSizeRecords
	SystemRecordDataDetailRes
}
type QueryGoodsSpecSizeRecords struct {
	SpecCode    string `json:"specCode"`    // 规格属性名唯一标识
	SpecName    string `json:"specName"`    // 规格属性名
	FullCatName string `json:"fullCatName"` // 所属品类
	Cat3Code    string `json:"cat3Code"`    // 三级品类Code
	Remark      string `json:"remark"`      // 备注
}

//#endregion

//#region 查询商品规格详情

type QueryGoodsSpecDetailRes struct {
	SystemParameterRes
	Data *QueryGoodsSpecDetailRecordRes
}

type QueryGoodsSpecDetailRecordRes struct {
	QueryGoodsSpecDetailDataRes
	SystemRecordDataDetailRes
}

type QueryGoodsSpecDetailDataRes struct {
	SpecCode    string            `json:"specCode"`    // 规格属性名 id
	SpecName    string            `json:"specName"`    // 规格属性名
	SpecValues  []*SpecValuesList `json:"specValues"`  // 规格属性值集合
	FullCatName string            `json:"fullCatName"` // 所属品类
	Cat1Code    string            `json:"cat1Code"`    // 一级品类code
	Cat1Name    string            `json:"cat1Name"`    // 一级品类名
	Cat2Code    string            `json:"cat2Code"`    // 二级品类code
	Cat2Name    string            `json:"cat2Name"`    // 二级品类名
	Cat3Code    string            `json:"cat3Code"`    // 三级品类 code
	Cat3Name    string            `json:"cat3Name"`    // 三级品类名
	Remark      string            `json:"remark"`      // 备注
}

type SpecValuesList struct {
	SpecValueCode string `json:"specValueCode"` // 规格属性值唯一标示
	SpecValueName string `json:"specValueName"` // 规格属性值名称
}

//#endregion

//#region 新增商品尺寸规格

type CreateSpecDetailParam struct {
	SpecName   string           `json:"specName"`   // 规格属性名[必填]
	SpecValues []*SpecValueName `json:"specValues"` // 规格属性值[必填]
	Cat3Code   string           `json:"cat3Code"`   // 规格属性名[必填]
	Remark     string           `json:"remark"`     // 规格属性名
}
type SpecValueName struct {
	SpecValueName string `json:"specValueName"` // 规格属性名必填
}

//#endregion

//#region 编辑商品规格

type UpdateGoodsSizeReq struct {
	SpecCode   string                  `json:"specCode"`   // 规格属性名唯一标识[必填]
	SpecName   string                  `json:"specName"`   // 规格属性名[必填]
	SpecValues []*UpdateGoodsSpecValue `json:"specValues"` // 规格属性值[必填]
	Cat3Code   string                  `json:"cat3Code"`   // 三级品类code[必填]
	Remark     string                  `json:"remark"`     // 备注
}

type UpdateGoodsSpecValue struct {
	SpecValueName string `json:"specValueName"` // 规格属性名
	SpecValueCode string `json:"specValueCode"` // 规格属性名
}

//#endregion

//#region 删除商品规格

//#endregion

//#region 获取不同商品类型

type QueryGoodsTypeListRes struct {
	SystemParameterRes
	Data *QueryGoodsTypeListDataRes
}

type QueryGoodsTypeListDataRes struct {
	SystemRecordDataDetailRes
	Record []*struct {
		GoodsType     string `json:"goodsType"`     // 商品类型
		GoodsTypeName string `json:"goodsTypeName"` // 商品名称
	}
}

//#endregion
