修改海旅接口

finance
黄伟 2 years ago
parent d5ea51ce71
commit 2523a27ba3

@ -0,0 +1,195 @@
package otosaas
import (
"context"
"git.oa00.com/supply-chain/service/client"
"git.oa00.com/supply-chain/service/lib/bean"
"github.com/shopspring/decimal"
)
const (
CommodityStatusNone = 1 // 待处理
CommodityStatusAdopt = 2 // 同步入库
CommodityStatusReject = 3 // 废弃商品
CommodityHandleNone = 1 // 未处理
CommodityHandleStart = 2 // 开始处理
CommoditySaasSkuStatusUp = 1 // 商品上架
CommoditySaasSkuStatusDown = 2 // 商品下架
)
type commodity struct {
}
type CommoditySearch struct {
Name string // 商品名称
CategoryIds []uint // 类目id
SkuCode string // 商品条码
Handle uint // 处理状态 1=待处理 2=入库 3=废弃
SkuId uint // 供应商skuId
MinSupplyPrice decimal.Decimal // 最小采购价
MaxSupplyPrice decimal.Decimal // 最大采购价
}
type ArgsGoodsList struct {
Search CommoditySearch
Page bean.Page
}
type CommodityItem struct {
Id uint `json:"id"`
Name string `json:"name"`
Img string `json:"img"`
CategoryId uint `json:"categoryId"`
CategoryNames string `json:"categoryNames"`
Skus []CommoditySkuItem `json:"skus"`
GuidePrices []decimal.Decimal `json:"guidePrices"`
SupplyPrices []decimal.Decimal `json:"supplyPrices"`
Status uint `json:"status"`
CreatedAt int64 `json:"createdAt"`
}
type CommoditySkuItem struct {
Id uint `json:"id"`
Img string `json:"img"`
SupplyPrice decimal.Decimal `json:"supplyPrice"`
SpecValue string `json:"specValue"`
SkuCode string `json:"skuCode"`
}
type GoodsSpecificationItem struct {
Name string `json:"name"`
Values []string `json:"values"`
}
type ReplyCommodityLists struct {
List []CommodityItem `json:"list"`
Total int64 `json:"total"`
}
// Lists @Title 获取商品列表
func (g *commodity) Lists(ctx context.Context, args ArgsGoodsList) (reply ReplyCommodityLists, err error) {
xClient, err := client.GetClient(g)
if err != nil {
return
}
err = xClient.Call(ctx, "Lists", args, &reply)
return
}
type ArgsGoodsInfo struct {
SkuId uint
}
type ReplyGoodsInfo struct {
Id uint `json:"id"`
Name string `json:"name"`
SupplierId uint `json:"supplierId"`
SupplierName string `json:"supplierName"`
CategoryId uint `json:"categoryId"`
BrandId uint `json:"brandId"`
Imgs []string `json:"imgs"`
Content string `json:"content"`
Attributes []GoodsAttributeItem `json:"attributes"`
Skus []SkuItem `json:"skus"`
Status uint `json:"status"`
}
type GoodsAttributeItem struct {
Name string `json:"name"`
Value string `json:"value"`
GroupName string `json:"groupName"`
}
type SkuSpecItem struct {
Name string `json:"name"`
Value string `json:"value"`
}
type SkuItem struct {
SkuId uint `json:"skuId"`
Color string `json:"color"`
Size string `json:"size"`
SupplyPrice decimal.Decimal `json:"supplyPrice"`
MarketPrice decimal.Decimal `json:"marketPrice"`
UpcCode string `json:"upcCode"`
UnitId uint `json:"uintId"`
TaxCategoryId uint `json:"taxCategoryId"`
TaxName string `json:"taxName"`
TaxCode string `json:"taxCode"`
Unit string `json:"uint"`
Tax decimal.Decimal `json:"tax"`
Img string `json:"img"`
}
// Info @Title 商品详情
func (g *commodity) Info(ctx context.Context, goodsId uint) (reply ReplyGoodsInfo, err error) {
xClient, err := client.GetClient(g)
if err != nil {
return
}
err = xClient.Call(ctx, "Info", goodsId, &reply)
return
}
// GetImgs @Title 获取商品主图
func (g *commodity) GetImgs(ctx context.Context, goodsId uint) (reply []string, err error) {
xClient, err := client.GetClient(g)
if err != nil {
return
}
err = xClient.Call(ctx, "GetImgs", goodsId, &reply)
return
}
type AdoptItem struct {
Id uint `json:"id"`
Name string `json:"name"`
Error string `json:"error"`
}
// Adopt @Title 批量入库
func (g *commodity) Adopt(ctx context.Context, goodsIds []uint) (reply []AdoptItem, err error) {
xClient, err := client.GetClient(g)
if err != nil {
return
}
err = xClient.Call(ctx, "Adopt", goodsIds, &reply)
return
}
// Discard @Title 批量废弃
func (g *commodity) Discard(ctx context.Context, goodsIds []uint) (err error) {
xClient, err := client.GetClient(g)
if err != nil {
return
}
reply := 0
err = xClient.Call(ctx, "Discard", goodsIds, &reply)
return
}
// ReHandle @Title 重新处理商品
func (g *commodity) ReHandle(ctx context.Context, goodsIds []uint) (reply []AdoptItem, err error) {
xClient, err := client.GetClient(g)
if err != nil {
return nil, err
}
err = xClient.Call(ctx, "ReHandle", goodsIds, &reply)
return
}
type ReplyByIdItem struct {
SkuId uint `json:"skuId"`
SupplierId uint `json:"supplierIds"`
SupplierName string `json:"supplierName"`
}
// FindBySkuIds @Title 根据商品Ids获取商品信息
func (g *commodity) FindBySkuIds(ctx context.Context, skuIds []uint) (reply []ReplyByIdItem, err error) {
xClient, err := client.GetClient(g)
if err != nil {
return nil, err
}
err = xClient.Call(ctx, "FindBySkuIds", skuIds, &reply)
return
}

@ -2,4 +2,5 @@ package otosaas
type OtoSaas struct { type OtoSaas struct {
Category category Category category
Commodity commodity
} }

@ -1,253 +0,0 @@
package otosaas
import (
"context"
"git.oa00.com/supply-chain/service/client"
"git.oa00.com/supply-chain/service/lib/bean"
"github.com/shopspring/decimal"
)
const (
SkuStatusNone = 1 // 待处理
SkuStatusAdopt = 2 // 同步入库
SkuStatusReject = 3 // 废弃商品
SkuHandleNone = 1 // 未处理
SkuHandleStart = 2 // 开始处理
OtoSaasSkuStatusUp = 1 // 商品上架
OtoSaasSkuStatusDown = 2 // 商品下架
)
type sku struct {
}
type GoodsSearch struct {
Status uint // 状态
Handle uint // 处理状态
Name string // 商品名称
SkuCode string // 商品编码
CategoryId uint64 // 类目id
MinSupplyPrice decimal.Decimal // 采购价最小
MaxSupplyPrice decimal.Decimal // 采购价最大
}
type ArgsGoodsList struct {
Search GoodsSearch
Page bean.Page
}
type GoodsItem struct {
Id uint `json:"id"`
Name string `json:"name"`
FirstCategoryId uint `json:"firstCategoryId"`
FirstCategoryName string `json:"firstCategoryName"`
SecondCategoryId uint `json:"secondCategoryId"`
SecondCategoryName string `json:"secondCategoryName"`
ThirdCategoryId uint `json:"thirdCategoryId"`
ThirdCategoryName string `json:"thirdCategoryName"`
SupplyPrices []decimal.Decimal `json:"supplyPrices"`
GuidePrices []decimal.Decimal `json:"guidePrices"`
Skus []SkuItem `json:"skus"`
CreatedAt int64 `json:"createdAt"`
}
type SkuItem struct {
Id uint `json:"id"`
SkuCode string `json:"skuCode"`
SupplyPrice decimal.Decimal `json:"supplyPrice"`
GuidePrice decimal.Decimal `json:"guidePrice"`
SpecName string `json:"specName"`
SpecValue string `json:"specValue"`
}
type ReplyGoodsList struct {
Lists []GoodsItem `json:"lists"`
Total int64 `json:"total"`
}
// Lists @Title 获取商品列表
func (s *sku) Lists(ctx context.Context, args ArgsGoodsList) (reply ReplyGoodsList, err error) {
xClient, err := client.GetClient(s)
if err != nil {
return
}
err = xClient.Call(ctx, "Lists", args, &reply)
return
}
// Start @Title 开始处理
func (s *sku) Start(ctx context.Context, skuIds []uint) error {
reply := 0
xClient, err := client.GetClient(s)
if err != nil {
return err
}
return xClient.Call(ctx, "Start", skuIds, &reply)
}
type ReplySkuInfo struct {
Id uint `json:"id"`
Name string `json:"name"`
JdSkuId uint64 `json:"jdSkuId"`
SupplyPrice decimal.Decimal `json:"supplyPrice"`
GuidePrice decimal.Decimal `json:"guidePrice"`
Profit decimal.Decimal `json:"profit"`
UpcCode string `json:"upcCode"`
Color string `json:"color"`
Size string `json:"size"`
FirstCategoryName string `json:"firstCategoryName"`
SecondCategoryName string `json:"secondCategoryName"`
ThirdCategoryName string `json:"thirdCategoryName"`
SupplyCategoryId uint `json:"supplyCategoryId"`
BrandName string `json:"brandName"`
SupplyBrandId uint `json:"supplyBrandId"`
Content string `json:"content"`
Tax string `json:"tax"`
Unit string `json:"unit"`
Imgs []SkuImg `json:"imgs"`
Specifications []SkuSpecification `json:"specifications"`
JdSkuStatus uint `json:"jdSkuStatus"`
}
type SkuImg struct {
Id uint `json:"id"`
Path string `json:"path"`
ReplacePath string `json:"replacePath"`
}
// GetImgs @Title 获取预览图
func (s *sku) GetImgs(ctx context.Context, skuId uint) (reply []SkuImg, err error) {
xClient, err := client.GetClient(s)
if err != nil {
return
}
err = xClient.Call(ctx, "GetImgs", skuId, &reply)
return
}
type SkusImg struct {
Id uint `json:"id"`
SkuId uint `json:"skuId"`
Path string `json:"path"`
ReplacePath string `json:"replacePath"`
Sort uint `json:"sort"`
}
// GetSkusImgs @Title 批量获取预览图
func (s *sku) GetSkusImgs(ctx context.Context, skuId []uint) (reply []SkusImg, err error) {
xClient, err := client.GetClient(s)
if err != nil {
return
}
err = xClient.Call(ctx, "GetSkusImgs", skuId, &reply)
return
}
type SkuSpecification struct {
Name string `json:"name"`
Attributes []SkuAttribute `json:"attributes"`
}
type SkuAttribute struct {
Name string `json:"name"`
Value []string `json:"value"`
}
// Info @Title 获取商品详情
func (s *sku) Info(ctx context.Context, skuId uint) (reply ReplySkuInfo, err error) {
xClient, err := client.GetClient(s)
if err != nil {
return
}
err = xClient.Call(ctx, "Info", skuId, &reply)
return
}
type ArgsSkuEdit struct {
SkuId uint
SupplyBandId uint
SupplyCategoryId uint
Content string
Imgs []SkuImgEdit
}
type SkuImgEdit struct {
Id uint
ReplacePath string
}
// Edit @Title 商品编辑
func (s *sku) Edit(ctx context.Context, args ArgsSkuEdit) error {
reply := 0
xClient, err := client.GetClient(s)
if err != nil {
return err
}
return xClient.Call(ctx, "Edit", args, &reply)
}
// Discard @Title 废弃
func (s *sku) Discard(ctx context.Context, skuIds []uint) error {
reply := 0
xClient, err := client.GetClient(s)
if err != nil {
return err
}
return xClient.Call(ctx, "Discard", skuIds, &reply)
}
type AdoptItem struct {
Id uint `json:"id"`
JdSkuId uint64 `json:"jdSkuId"`
Name string `json:"name"`
Error string `json:"error"`
}
// Adopt @Title 入库
func (s *sku) Adopt(ctx context.Context, skuIds []uint) (reply []AdoptItem, err error) {
xClient, err := client.GetClient(s)
if err != nil {
return
}
err = xClient.Call(ctx, "Adopt", skuIds, &reply)
return
}
type ArgsSkuReplaceImg struct {
SkuId uint // 商品id
ImgId uint // 图片id
ImgPath string // 图片路径
}
// ReplaceImg @Title 替换图片
func (s *sku) ReplaceImg(ctx context.Context, args ArgsSkuReplaceImg) error {
reply := 0
xClient, err := client.GetClient(s)
if err != nil {
return err
}
return xClient.Call(ctx, "ReplaceImg", args, &reply)
}
type ArgsSkuReplaceImgJdSku struct {
JdSkuId uint64 // 京东skuId
ImgSort uint // 图片排序
ImgPath string // 图片路径
}
// ReplaceImgJdSku @Title 根据JdSkuId sort替换图片
func (s *sku) ReplaceImgJdSku(ctx context.Context, args ArgsSkuReplaceImgJdSku) error {
reply := 0
xClient, err := client.GetClient(s)
if err != nil {
return err
}
return xClient.Call(ctx, "ReplaceImgJdSku", args, &reply)
}
// ReHandle @Title 重新处理商品
func (s *sku) ReHandle(ctx context.Context, skuId uint) error {
reply := 0
xClient, err := client.GetClient(s)
if err != nil {
return err
}
return xClient.Call(ctx, "ReHandle", skuId, &reply)
}
Loading…
Cancel
Save