golang 的 rabbitmq 消费项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

goods.go 6.3 KiB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package md
  2. import "applet/supply/enum"
  3. type AddGoodsReq struct {
  4. Base MallBaseGoods `json:"base" binding:"required" label:"商品基本信息"` // 基本信息
  5. SkuList []*MallGoodsSku `json:"sku_list" binding:"required,gt=0" label:"商品规格"` // sku列表
  6. IsCopy bool `json:"is_copy,omitempty"` // 是否是复制商品
  7. }
  8. type MallBaseGoods struct {
  9. GoodsId string `json:"goods_id,omitempty" label:"商品ID"` // 商品id,0或不传为新建
  10. GoodsCode string `json:"goods_code,omitempty" label:"商品編碼"`
  11. GoodsType enum.MallGoodsType `json:"goods_type" default:"1" label:"商品类型"` // 商品类型:1实体商品
  12. Title string `json:"title" binding:"required,lte=200" label:"标题"` // 商品标题
  13. CategoryId int `json:"category_id" binding:"required" label:"商品类目"` // 商品类目id
  14. ImageList []string `json:"image_list" binding:"required,gt=0" label:"商品主图"` // 主图列表
  15. ImageListUrl []string `json:"image_list_url" ` // 主图列表
  16. Service []int `json:"service,omitempty" label:"支持服务"`
  17. ShippingType enum.MallShippingType `json:"shipping_type" default:"1" label:"配送方式"` // 配送方式
  18. ShippingFeeType enum.MallShippingFeeType `json:"shipping_fee_type" binding:"required,oneof=1 2" label:"运费计费方式"` // 运费计费方式
  19. ShippingTplID int `json:"shipping_tpl_id" binding:"required_if=ShippingFeeType 2" label:"运费模板"` //运费模板id
  20. ShippingFee string `json:"shipping_fee" binding:"required_if=ShippingFeeType 1" label:"统一运费"` // 统一运费的值(计费方式为)
  21. SaleState enum.MallGoodsSaleState `json:"sale_state" label:"开售时间"` // 销售状态
  22. SaleStartTime string `json:"sale_start_time" label:"定时开售"` // 定时上架时间
  23. CustomProperty []struct {
  24. GroupName string `json:"group_name" label:"属性组别名称"`
  25. Index int `json:"index" label:"属性值索引"`
  26. Name string `json:"name" label:"属性值"`
  27. } `json:"custom_property" label:"自定义参数"` // 自定义参数
  28. Spe []Spe `json:"spe" binding:"required,gt=0" label:"商品规格"` // 规格
  29. SpeImages []string `json:"spe_images" binding:"required_if=IsSpeImageOn 1" label:"规格图片"` // 规格图片,与第一组规格名对应
  30. SpeImagesUrl []string `json:"spe_images_url" label:"规格图片"` // 规格图片,与第一组规格名对应
  31. Detail []string `json:"detail" label:"商品详情"` // 商品详情
  32. DetailUrl []string `json:"detail_url" ` // 商品详情
  33. MerchantId int `json:"merchant_id" ` // 商品详情
  34. IsSpeImageOn int `json:"is_spe_image_on" default:"0" label:"是否开启规格图片"` // 是否要规格图
  35. IsSpeImageInDetail int `json:"is_spe_image_in_detail" default:"0" label:"规格图片是否显示在详情中"` // 规格图是否要显示在详情页
  36. ShippingTimeType int `json:"shipping_time_type" default:"3" label:"承诺发货时间"` // 配送时间类型:1.当日发货 2.24小时内发货 3.48小时内发货 4自定义
  37. ShippingTimeCustom string `json:"shipping_time_custom" label:"自动义发货时间"`
  38. PriceAddType int `json:"price_add_type" label:"加价方式(1:按金额加 2:按比例加)"`
  39. RatioBaseType int `json:"ratio_base_type" label:"比例基数方式(1:按进货价 2:按市场指导价 3:按利润空间"`
  40. AddPriceValue string `json:"add_price_value" label:"调整值(百分比或具体金额数值)"`
  41. PriceValueType int `json:"price_value_type" label:"价格数值设置(1:整数 2:小数点后两位)"`
  42. IsOpenAddPrice int `json:"is_open_add_price" label:"是否开启商品加价"`
  43. //云链的产品id(1688)
  44. CloudChainGoodsId string `json:"cloud_chain_goods_id"` //云链产品id
  45. MinOrderQuantity string `json:"min_order_quantity"` //最小购买数
  46. }
  47. type Spe struct {
  48. Name string `json:"name" label:"规格名"` // 规格名
  49. Values []string `json:"values" label:"规格值"` // 规格值
  50. }
  51. type MallGoodsSku struct {
  52. SkuID int `json:"sku_id,omitempty" label:"skuID" copier:"-"` // sku_id 0或不传为新建
  53. GoodsID int `json:"goods_id,omitempty" label:"商品ID"` // 0或不传为新建
  54. SkuCode string `json:"sku_code,omitempty" label:"sku編碼"`
  55. Price string `json:"price" binding:"required" label:"价格"` // 价格
  56. LinePrice string `json:"line_price" binding:"required" label:"市场价"`
  57. Weight string `json:"weight" binding:"required" label:"重量"` // 重量
  58. Stock int `json:"stock" default:"0" label:"库存"` // 库存
  59. Sku []MallGoodsSkuSku `json:"sku" label:"规格组合"` // 规格组合
  60. //云链的产品属性
  61. SpecID string `json:"spec_id"`
  62. CloudChainSkuId string `json:"cloud_chain_sku_id"`
  63. CloudChainSkuImgUrl string `json:"cloud_chain_sku_img_url"`
  64. }
  65. type MallGoodsSkuSku struct {
  66. Name string `json:"name" binding:"required" label:"规格名"` // 规格名
  67. Value string `json:"value" binding:"required" label:"规格值"` // 规格值
  68. }
  69. type AddAdminGoodsWarehouse struct {
  70. Kind string `json:"kind" binding:"required"` //1、指定商品 2、全部商品 3、指定主營类目 4、指定供貨商
  71. GoodsId []string `json:"goods_id"`
  72. MainCategoryIds []string `json:"main_category_ids"`
  73. MerchantIds []string `json:"merchant_ids"`
  74. PriceAddType string `json:"price_add_type"`
  75. RatioBaseType string `json:"ratio_base_type"`
  76. PriceValueType string `json:"price_value_type"`
  77. AddPriceValue string `json:"add_price_value"`
  78. }