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.
109 lines
2.8 KiB
109 lines
2.8 KiB
package supply
|
|
|
|
import (
|
|
"context"
|
|
"git.oa00.com/supply-chain/service/client"
|
|
"github.com/shopspring/decimal"
|
|
)
|
|
|
|
type sku struct {
|
|
}
|
|
|
|
type source uint
|
|
|
|
const (
|
|
SkuSourceJd source = 1 // 京东开普勒渠道
|
|
)
|
|
|
|
const (
|
|
SkuAdjustTypeRate = 1 // 加价比例
|
|
SkuAdjustTypeAmount = 2 // 加价金额
|
|
|
|
SkuPlatformStatusUp = 1 // 平台上架
|
|
SkuPlatformStatusDown = 2 // 平台下架
|
|
|
|
SkuSourceStatusUp = 1 // 供应商上架
|
|
SkuSourceStatusDown = 2 // 供应商下架
|
|
|
|
SkuHandleNone = 1 // 未处理
|
|
SkuHandleFinal = 2 // 已处理
|
|
|
|
SkuAuditStatusNone = 0 // 无
|
|
SkuAuditStatusWait = 1 // 待审核
|
|
SkuAuditStatusAdopt = 2 // 审核通过
|
|
SkuAuditStatusReject = 3 // 审核驳回
|
|
)
|
|
|
|
type ArgsSkuAdd struct {
|
|
SourceSkuId string // 源skuId
|
|
Name string // 商品名称
|
|
BrandId uint // 品牌id
|
|
ThirdCategoryId uint // 三级分类id
|
|
SupplyPrice decimal.Decimal // 采购价
|
|
GuidePrice decimal.Decimal // 指导价-建议售价
|
|
Size string // 尺码
|
|
Color string // 颜色
|
|
Tax string // 税率
|
|
Unit string // 销售单位
|
|
UpcCode string // 商品条码
|
|
Source source // 商品来源
|
|
Content string // 商品详情
|
|
Imgs []SkuImg // 商品图片 第一张主图
|
|
Specifications []SkuSpecification // 商品参数信息
|
|
}
|
|
|
|
type SkuImg struct {
|
|
Id uint `json:"id"`
|
|
Path string `json:"path"`
|
|
}
|
|
|
|
type SkuSpecification struct {
|
|
Name string `json:"name"`
|
|
Attributes []SkuAttribute `json:"attributes"`
|
|
}
|
|
|
|
type SkuAttribute struct {
|
|
Name string `json:"name"`
|
|
Value []string `json:"value"`
|
|
}
|
|
|
|
// Add @Title 添加商品
|
|
func (s *sku) Add(ctx context.Context, args ArgsSkuAdd) error {
|
|
reply := 0
|
|
return client.GetClient(s).Call(ctx, "Add", args, &reply)
|
|
}
|
|
|
|
type ArgsSkuAdjust struct {
|
|
ApplyUserId uint // 修改人
|
|
SkuIds []uint // 商品id
|
|
AdjustType uint // 加价类型
|
|
AdjustPrice decimal.Decimal // 加价金额
|
|
}
|
|
|
|
// Adjust @Title 加价
|
|
func (s *sku) Adjust(ctx context.Context, args ArgsSkuAdjust) error {
|
|
reply := 0
|
|
return client.GetClient(s).Call(ctx, "Adjust", args, &reply)
|
|
}
|
|
|
|
type ArgsSkuStock struct {
|
|
Address string // 地址
|
|
Skus []SkuStockItem // sku信息
|
|
}
|
|
|
|
type SkuStockItem struct {
|
|
SkuId uint // 源skuId
|
|
Quantity uint // 数量
|
|
}
|
|
|
|
type ReplySkuStock struct {
|
|
SkuId uint `json:"skuId"` // skuId
|
|
State uint `json:"state"` // 库存状态
|
|
}
|
|
|
|
// Stock @Title 库存查询
|
|
func (s *sku) Stock(ctx context.Context, args ArgsSkuStock) (reply []ReplySkuStock, err error) {
|
|
err = client.GetClient(s).Call(ctx, "Stock", args, &reply)
|
|
return
|
|
}
|