添加文件: types.go
This commit is contained in:
parent
5b0ea65938
commit
b93a3b87c1
|
|
@ -0,0 +1,519 @@
|
|||
package sdk_LinkedMall
|
||||
|
||||
import "encoding/json"
|
||||
|
||||
// CommonResponse 是所有接口统一返回的外层结构体。
|
||||
//
|
||||
// 注意:HTTP 200 不代表业务成功,必须判断 Success 字段是否为 true。
|
||||
// Code 为 SUCCESS 表示业务调用成功;否则看 SubCode、SubMessage 定位失败原因。
|
||||
// Data 为业务数据,不同接口 Data 内部结构不同,可配合各接口的响应数据类型使用,
|
||||
// 或调用 DataAs 方法解码到目标结构体。
|
||||
type CommonResponse struct {
|
||||
RequestId string `json:"RequestId"`
|
||||
Success bool `json:"Success"`
|
||||
Code string `json:"Code"`
|
||||
Message string `json:"Message"`
|
||||
SubCode string `json:"SubCode"`
|
||||
SubMessage string `json:"SubMessage"`
|
||||
Data interface{} `json:"Data"`
|
||||
}
|
||||
|
||||
// DataAs 将 Data 字段解码到目标结构体 out 中。
|
||||
func (r *CommonResponse) DataAs(out interface{}) error {
|
||||
if r == nil || r.Data == nil {
|
||||
return nil
|
||||
}
|
||||
b, err := json.Marshal(r.Data)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return json.Unmarshal(b, out)
|
||||
}
|
||||
|
||||
// rawResponse 用于内部解析响应,Data 使用 json.RawMessage 以支持按接口类型解码。
|
||||
type rawResponse struct {
|
||||
RequestId string `json:"RequestId"`
|
||||
Success bool `json:"Success"`
|
||||
Code string `json:"Code"`
|
||||
Message string `json:"Message"`
|
||||
SubCode string `json:"SubCode"`
|
||||
SubMessage string `json:"SubMessage"`
|
||||
Data json.RawMessage `json:"Data"`
|
||||
}
|
||||
|
||||
// ---------- 采购方店铺 ----------
|
||||
|
||||
// ListPurchaserShopsRequest 分页获取采购方店铺列表请求。
|
||||
type ListPurchaserShopsRequest struct {
|
||||
PageNum int `json:"PageNum"`
|
||||
PageSize int `json:"PageSize"`
|
||||
}
|
||||
|
||||
// ListPurchaserShopsRespData 分页获取采购方店铺列表响应数据。
|
||||
type ListPurchaserShopsRespData struct {
|
||||
Total int64 `json:"Total"`
|
||||
PageNum int `json:"PageNum"`
|
||||
PageSize int `json:"PageSize"`
|
||||
ShopList []PurchaserShopItem `json:"ShopList"`
|
||||
}
|
||||
|
||||
// PurchaserShopItem 采购方店铺项。
|
||||
type PurchaserShopItem struct {
|
||||
ShopId string `json:"ShopId"`
|
||||
PurchaserId string `json:"PurchaserId"`
|
||||
ShopName string `json:"ShopName"`
|
||||
ShopStatus string `json:"ShopStatus"`
|
||||
}
|
||||
|
||||
// GetPurchaserShopRequest 获取单个采购店铺详情请求。
|
||||
type GetPurchaserShopRequest struct {
|
||||
ShopId string `json:"-"`
|
||||
}
|
||||
|
||||
// GetPurchaserShopRespData 获取单个采购店铺详情响应数据。
|
||||
type GetPurchaserShopRespData struct {
|
||||
ShopId string `json:"ShopId"`
|
||||
PurchaserId string `json:"PurchaserId"`
|
||||
ShopName string `json:"ShopName"`
|
||||
ShopStatus string `json:"ShopStatus"`
|
||||
ContactInfo string `json:"ContactInfo"`
|
||||
}
|
||||
|
||||
// ---------- 选品池商品 ----------
|
||||
|
||||
// ListSelectionProductsRequest 分页查询选品池商品列表请求。
|
||||
type ListSelectionProductsRequest struct {
|
||||
PageNum int `json:"PageNum"`
|
||||
PageSize int `json:"PageSize"`
|
||||
PurchaserId string `json:"PurchaserId"`
|
||||
}
|
||||
|
||||
// ListSelectionProductsRespData 分页查询选品池商品列表响应数据。
|
||||
type ListSelectionProductsRespData struct {
|
||||
Total int64 `json:"Total"`
|
||||
PageNum int `json:"PageNum"`
|
||||
PageSize int `json:"PageSize"`
|
||||
ProductList []SelectionProductItem `json:"ProductList"`
|
||||
}
|
||||
|
||||
// SelectionProductItem 选品池商品项。
|
||||
type SelectionProductItem struct {
|
||||
ProductId string `json:"ProductId"`
|
||||
Title string `json:"Title"`
|
||||
MainImage string `json:"MainImage"`
|
||||
BrandName string `json:"BrandName"`
|
||||
CategoryId string `json:"CategoryId"`
|
||||
}
|
||||
|
||||
// GetSelectionProductRequest 查询选品池商品详情请求。
|
||||
type GetSelectionProductRequest struct {
|
||||
ProductId string `json:"-"`
|
||||
PurchaserId string `json:"PurchaserId"`
|
||||
DivisionCode string `json:"DivisionCode"`
|
||||
}
|
||||
|
||||
// GetSelectionProductRespData 查询选品池商品详情响应数据。
|
||||
type GetSelectionProductRespData struct {
|
||||
ProductId string `json:"ProductId"`
|
||||
Title string `json:"Title"`
|
||||
MainImage string `json:"MainImage"`
|
||||
Images []string `json:"Images"`
|
||||
BrandName string `json:"BrandName"`
|
||||
CategoryId string `json:"CategoryId"`
|
||||
Desc string `json:"Desc"`
|
||||
SkuList []SelectionSkuItem `json:"SkuList"`
|
||||
CanSale bool `json:"CanSale"`
|
||||
StockQuantity int64 `json:"StockQuantity"`
|
||||
}
|
||||
|
||||
// SelectionSkuItem 选品池商品 SKU 项。金额单位均为分。
|
||||
type SelectionSkuItem struct {
|
||||
SkuId string `json:"SkuId"`
|
||||
SkuSpec string `json:"SkuSpec"`
|
||||
SalePrice int64 `json:"SalePrice"`
|
||||
MarketPrice int64 `json:"MarketPrice"`
|
||||
StockQuantity int64 `json:"StockQuantity"`
|
||||
}
|
||||
|
||||
// ---------- 类目 ----------
|
||||
|
||||
// ListCategoriesRequest 查询类目列表请求。
|
||||
type ListCategoriesRequest struct {
|
||||
PurchaserId string `json:"PurchaserId"`
|
||||
ParentCategoryId string `json:"ParentCategoryId"`
|
||||
}
|
||||
|
||||
// ListCategoriesRespData 查询类目列表响应数据。
|
||||
type ListCategoriesRespData struct {
|
||||
CategoryList []CategoryItem `json:"CategoryList"`
|
||||
}
|
||||
|
||||
// CategoryItem 类目项。
|
||||
type CategoryItem struct {
|
||||
CategoryId string `json:"CategoryId"`
|
||||
CategoryName string `json:"CategoryName"`
|
||||
ParentId string `json:"ParentId"`
|
||||
Level int `json:"Level"`
|
||||
Leaf bool `json:"Leaf"`
|
||||
}
|
||||
|
||||
// ---------- 搜索 ----------
|
||||
|
||||
// SearchProductsRequest 搜索选品池商品请求。
|
||||
type SearchProductsRequest struct {
|
||||
Keyword string `json:"Keyword"`
|
||||
CategoryId string `json:"CategoryId"`
|
||||
PageNum int `json:"PageNum"`
|
||||
PageSize int `json:"PageSize"`
|
||||
PurchaserId string `json:"PurchaserId"`
|
||||
}
|
||||
|
||||
// SearchProductsRespData 搜索选品池商品响应数据。
|
||||
type SearchProductsRespData struct {
|
||||
Total int64 `json:"Total"`
|
||||
PageNum int `json:"PageNum"`
|
||||
PageSize int `json:"PageSize"`
|
||||
ProductList []SelectionProductItem `json:"ProductList"`
|
||||
}
|
||||
|
||||
// ---------- 选品池入库/出库 ----------
|
||||
|
||||
// SelectionGroupAddProductRequest 选品池商品入库请求。
|
||||
type SelectionGroupAddProductRequest struct {
|
||||
PurchaserId string `json:"PurchaserId"`
|
||||
ShopId string `json:"ShopId"`
|
||||
ProductIdList []string `json:"ProductIdList"`
|
||||
}
|
||||
|
||||
// SelectionGroupRemoveProductRequest 选品池商品出库请求。
|
||||
type SelectionGroupRemoveProductRequest struct {
|
||||
PurchaserId string `json:"PurchaserId"`
|
||||
ShopId string `json:"ShopId"`
|
||||
ProductIdList []string `json:"ProductIdList"`
|
||||
}
|
||||
|
||||
// SelectionGroupChangeProductRespData 选品池商品入库/出库响应数据。
|
||||
type SelectionGroupChangeProductRespData struct {
|
||||
SuccessCount int `json:"SuccessCount"`
|
||||
}
|
||||
|
||||
// ---------- 采购单渲染 ----------
|
||||
|
||||
// RenderPurchaseOrderReq 采购单渲染(下单预校验)请求。
|
||||
// SplitPurchaseOrder 请求体结构与之一致。
|
||||
type RenderPurchaseOrderReq struct {
|
||||
PurchaserId string `json:"PurchaserId"`
|
||||
ShopId string `json:"ShopId"`
|
||||
DivisionCode string `json:"DivisionCode"`
|
||||
ItemList []RenderOrderItem `json:"ItemList"`
|
||||
ReceiverInfo ReceiverInfo `json:"ReceiverInfo"`
|
||||
}
|
||||
|
||||
// RenderOrderItem 渲染请求中的商品项。
|
||||
type RenderOrderItem struct {
|
||||
SkuId string `json:"SkuId"`
|
||||
Quantity int64 `json:"Quantity"`
|
||||
}
|
||||
|
||||
// ReceiverInfo 收货人信息。DivisionCode 必须使用五级(乡镇街道)编码。
|
||||
type ReceiverInfo struct {
|
||||
ReceiverName string `json:"ReceiverName"`
|
||||
ReceiverPhone string `json:"ReceiverPhone"`
|
||||
ProvinceCode string `json:"ProvinceCode"`
|
||||
CityCode string `json:"CityCode"`
|
||||
DistrictCode string `json:"DistrictCode"`
|
||||
TownCode string `json:"TownCode"`
|
||||
DetailAddress string `json:"DetailAddress"`
|
||||
}
|
||||
|
||||
// RenderPurchaseOrderRespData 采购单渲染响应数据。
|
||||
type RenderPurchaseOrderRespData struct {
|
||||
CanSale bool `json:"CanSale"`
|
||||
UnSaleReason string `json:"UnSaleReason"`
|
||||
TotalAmount int64 `json:"TotalAmount"`
|
||||
FreightAmount int64 `json:"FreightAmount"`
|
||||
ItemList []RenderResultItem `json:"ItemList"`
|
||||
}
|
||||
|
||||
// RenderResultItem 渲染结果中的商品明细。
|
||||
type RenderResultItem struct {
|
||||
SkuId string `json:"SkuId"`
|
||||
ProductId string `json:"ProductId"`
|
||||
Quantity int64 `json:"Quantity"`
|
||||
SalePrice int64 `json:"SalePrice"`
|
||||
CanSale bool `json:"CanSale"`
|
||||
UnSaleReason string `json:"UnSaleReason"`
|
||||
}
|
||||
|
||||
// ---------- 拆单 ----------
|
||||
|
||||
// SplitPurchaseOrderRespData 采购单渲染并拆单响应数据。
|
||||
type SplitPurchaseOrderRespData struct {
|
||||
SubOrderList []SplitSubOrderItem `json:"SubOrderList"`
|
||||
}
|
||||
|
||||
// SplitSubOrderItem 拆单后的子单商品项。
|
||||
type SplitSubOrderItem struct {
|
||||
ShopId string `json:"ShopId"`
|
||||
SkuId string `json:"SkuId"`
|
||||
Quantity int64 `json:"Quantity"`
|
||||
SalePrice int64 `json:"SalePrice"`
|
||||
}
|
||||
|
||||
// ---------- 创建采购单 ----------
|
||||
|
||||
// CreatePurchaseOrderReq 创建采购单请求。
|
||||
type CreatePurchaseOrderReq struct {
|
||||
PurchaserId string `json:"PurchaserId"`
|
||||
ShopId string `json:"ShopId"`
|
||||
OuterPurchaseOrderId string `json:"OuterPurchaseOrderId"`
|
||||
DivisionCode string `json:"DivisionCode"`
|
||||
ReceiverInfo ReceiverInfo `json:"ReceiverInfo"`
|
||||
SubOrderList []CreateSubOrderItem `json:"SubOrderList"`
|
||||
}
|
||||
|
||||
// CreateSubOrderItem 创建采购单子单商品项。
|
||||
type CreateSubOrderItem struct {
|
||||
SkuId string `json:"SkuId"`
|
||||
Quantity int64 `json:"Quantity"`
|
||||
}
|
||||
|
||||
// CreatePurchaseOrderRespData 创建采购单响应数据。
|
||||
type CreatePurchaseOrderRespData struct {
|
||||
PurchaseOrderId string `json:"PurchaseOrderId"`
|
||||
}
|
||||
|
||||
// 采购单状态枚举。
|
||||
const (
|
||||
PurchaseOrderStatusInit = "INIT"
|
||||
PurchaseOrderStatusProcess = "PROCESS"
|
||||
PurchaseOrderStatusSuccess = "SUCCESS"
|
||||
PurchaseOrderStatusFail = "FAIL"
|
||||
PurchaseOrderStatusClosed = "CLOSED"
|
||||
)
|
||||
|
||||
// GetPurchaseOrderStatusRequest 获取采购单状态请求。
|
||||
type GetPurchaseOrderStatusRequest struct {
|
||||
PurchaseOrderId string `json:"-"`
|
||||
PurchaserId string `json:"PurchaserId"`
|
||||
}
|
||||
|
||||
// GetPurchaseOrderStatusRespData 获取采购单状态响应数据。
|
||||
type GetPurchaseOrderStatusRespData struct {
|
||||
PurchaseOrderId string `json:"PurchaseOrderId"`
|
||||
Status string `json:"Status"`
|
||||
OrderIdList []string `json:"OrderIdList"`
|
||||
}
|
||||
|
||||
// ---------- 订单 ----------
|
||||
|
||||
// GetOrderRequest 获取订单详情请求。
|
||||
type GetOrderRequest struct {
|
||||
OrderId string `json:"-"`
|
||||
PurchaserId string `json:"PurchaserId"`
|
||||
}
|
||||
|
||||
// GetOrderRespData 获取订单详情响应数据。
|
||||
type GetOrderRespData struct {
|
||||
OrderId string `json:"OrderId"`
|
||||
PurchaseOrderId string `json:"PurchaseOrderId"`
|
||||
Status string `json:"Status"`
|
||||
TotalAmount int64 `json:"TotalAmount"`
|
||||
PayAmount int64 `json:"PayAmount"`
|
||||
FreightAmount int64 `json:"FreightAmount"`
|
||||
CreateTime string `json:"CreateTime"`
|
||||
ItemList []OrderItem `json:"ItemList"`
|
||||
ReceiverInfo OrderReceiverInfo `json:"ReceiverInfo"`
|
||||
}
|
||||
|
||||
// OrderItem 订单商品明细。
|
||||
type OrderItem struct {
|
||||
OrderItemId string `json:"OrderItemId"`
|
||||
ProductId string `json:"ProductId"`
|
||||
SkuId string `json:"SkuId"`
|
||||
SkuSpec string `json:"SkuSpec"`
|
||||
Title string `json:"Title"`
|
||||
Quantity int64 `json:"Quantity"`
|
||||
PayAmount int64 `json:"PayAmount"`
|
||||
}
|
||||
|
||||
// OrderReceiverInfo 订单收货信息。
|
||||
type OrderReceiverInfo struct {
|
||||
ReceiverName string `json:"ReceiverName"`
|
||||
ReceiverPhone string `json:"ReceiverPhone"`
|
||||
ProvinceCode string `json:"ProvinceCode"`
|
||||
CityCode string `json:"CityCode"`
|
||||
DistrictCode string `json:"DistrictCode"`
|
||||
TownCode string `json:"TownCode"`
|
||||
DetailAddress string `json:"DetailAddress"`
|
||||
}
|
||||
|
||||
// QueryOrdersRequest 查询订单列表请求。
|
||||
type QueryOrdersRequest struct {
|
||||
PurchaserId string `json:"PurchaserId"`
|
||||
PurchaseOrderId string `json:"PurchaseOrderId"`
|
||||
PageNum int `json:"PageNum"`
|
||||
PageSize int `json:"PageSize"`
|
||||
StartTime string `json:"StartTime"`
|
||||
EndTime string `json:"EndTime"`
|
||||
}
|
||||
|
||||
// QueryOrdersRespData 查询订单列表响应数据。
|
||||
type QueryOrdersRespData struct {
|
||||
Total int64 `json:"Total"`
|
||||
PageNum int `json:"PageNum"`
|
||||
PageSize int `json:"PageSize"`
|
||||
OrderList []OrderSummary `json:"OrderList"`
|
||||
}
|
||||
|
||||
// OrderSummary 订单列表项。
|
||||
type OrderSummary struct {
|
||||
OrderId string `json:"OrderId"`
|
||||
Status string `json:"Status"`
|
||||
PayAmount int64 `json:"PayAmount"`
|
||||
CreateTime string `json:"CreateTime"`
|
||||
}
|
||||
|
||||
// ---------- 物流 ----------
|
||||
|
||||
// ListLogisticsOrdersRequest 查询订单物流信息请求。
|
||||
type ListLogisticsOrdersRequest struct {
|
||||
OrderId string `json:"-"`
|
||||
PurchaserId string `json:"PurchaserId"`
|
||||
}
|
||||
|
||||
// ListLogisticsOrdersRespData 查询订单物流信息响应数据。
|
||||
type ListLogisticsOrdersRespData struct {
|
||||
LogisticsList []LogisticsInfo `json:"LogisticsList"`
|
||||
}
|
||||
|
||||
// LogisticsInfo 物流信息。
|
||||
type LogisticsInfo struct {
|
||||
TrackingNumber string `json:"TrackingNumber"`
|
||||
CompanyName string `json:"CompanyName"`
|
||||
Traces []LogisticsTrace `json:"Traces"`
|
||||
}
|
||||
|
||||
// LogisticsTrace 物流轨迹节点。
|
||||
type LogisticsTrace struct {
|
||||
Time string `json:"Time"`
|
||||
Location string `json:"Location"`
|
||||
Description string `json:"Description"`
|
||||
}
|
||||
|
||||
// ---------- 确认收货 ----------
|
||||
|
||||
// ConfirmDisburseRequest 确认收货请求。
|
||||
type ConfirmDisburseRequest struct {
|
||||
OrderId string `json:"-"`
|
||||
PurchaserId string `json:"PurchaserId"`
|
||||
}
|
||||
|
||||
// ---------- 售后 ----------
|
||||
|
||||
// RenderRefundOrderReq 售后渲染预校验请求。
|
||||
type RenderRefundOrderReq struct {
|
||||
PurchaserId string `json:"PurchaserId"`
|
||||
OrderId string `json:"OrderId"`
|
||||
OrderItemId string `json:"OrderItemId"`
|
||||
RefundQuantity int64 `json:"RefundQuantity"`
|
||||
RefundType string `json:"RefundType"`
|
||||
}
|
||||
|
||||
// RenderRefundOrderRespData 售后渲染预校验响应数据。
|
||||
type RenderRefundOrderRespData struct {
|
||||
CanRefund bool `json:"CanRefund"`
|
||||
RefundAmount int64 `json:"RefundAmount"`
|
||||
MaxRefundQuantity int64 `json:"MaxRefundQuantity"`
|
||||
UnRefundReason string `json:"UnRefundReason"`
|
||||
}
|
||||
|
||||
// CreateRefundOrderReq 创建售后单请求。
|
||||
type CreateRefundOrderReq struct {
|
||||
PurchaserId string `json:"PurchaserId"`
|
||||
OrderId string `json:"OrderId"`
|
||||
OrderItemId string `json:"OrderItemId"`
|
||||
RefundQuantity int64 `json:"RefundQuantity"`
|
||||
RefundAmount int64 `json:"RefundAmount"`
|
||||
RefundType string `json:"RefundType"`
|
||||
RefundReason string `json:"RefundReason"`
|
||||
OuterRefundNo string `json:"OuterRefundNo"`
|
||||
}
|
||||
|
||||
// CreateRefundOrderRespData 创建售后单响应数据。
|
||||
type CreateRefundOrderRespData struct {
|
||||
RefundOrderId string `json:"RefundOrderId"`
|
||||
}
|
||||
|
||||
// CancelRefundOrderRequest 取消售后单请求。
|
||||
type CancelRefundOrderRequest struct {
|
||||
RefundOrderId string `json:"-"`
|
||||
PurchaserId string `json:"PurchaserId"`
|
||||
}
|
||||
|
||||
// GetRefundOrderRequest 获取售后单详情请求。
|
||||
type GetRefundOrderRequest struct {
|
||||
RefundOrderId string `json:"-"`
|
||||
PurchaserId string `json:"PurchaserId"`
|
||||
}
|
||||
|
||||
// GetRefundOrderRespData 获取售后单详情响应数据。
|
||||
type GetRefundOrderRespData struct {
|
||||
RefundOrderId string `json:"RefundOrderId"`
|
||||
OrderId string `json:"OrderId"`
|
||||
OrderItemId string `json:"OrderItemId"`
|
||||
Status string `json:"Status"`
|
||||
RefundQuantity int64 `json:"RefundQuantity"`
|
||||
RefundAmount int64 `json:"RefundAmount"`
|
||||
RefundType string `json:"RefundType"`
|
||||
RefundReason string `json:"RefundReason"`
|
||||
}
|
||||
|
||||
// CreateGoodsShippingNoticeReq 回填退货物流运单请求。
|
||||
type CreateGoodsShippingNoticeReq struct {
|
||||
PurchaserId string `json:"PurchaserId"`
|
||||
LogisticsCompany string `json:"LogisticsCompany"`
|
||||
TrackingNumber string `json:"TrackingNumber"`
|
||||
}
|
||||
|
||||
// ---------- 区域 ----------
|
||||
|
||||
// QueryChildDivisionCodeRequest 查询子区域编码请求。
|
||||
type QueryChildDivisionCodeRequest struct {
|
||||
ParentDivisionCode string `json:"ParentDivisionCode"`
|
||||
}
|
||||
|
||||
// QueryChildDivisionCodeRespData 查询子区域编码响应数据。
|
||||
type QueryChildDivisionCodeRespData struct {
|
||||
DivisionList []DivisionItem `json:"DivisionList"`
|
||||
}
|
||||
|
||||
// DivisionItem 区域编码项。
|
||||
type DivisionItem struct {
|
||||
DivisionCode string `json:"DivisionCode"`
|
||||
DivisionName string `json:"DivisionName"`
|
||||
Level int `json:"Level"`
|
||||
ParentCode string `json:"ParentCode"`
|
||||
}
|
||||
|
||||
// ---------- 回调通知 ----------
|
||||
|
||||
// CallbackEvent 阿里云消息回调事件。
|
||||
// 业务侧消费成功后需返回 {"success":true},否则阿里云会重试推送。
|
||||
type CallbackEvent struct {
|
||||
EventCode string `json:"EventCode"`
|
||||
PurchaseOrderId string `json:"PurchaseOrderId"`
|
||||
OrderIdList []string `json:"OrderIdList"`
|
||||
Status string `json:"Status"`
|
||||
RequestId string `json:"RequestId"`
|
||||
}
|
||||
|
||||
// 回调事件编码枚举。
|
||||
const (
|
||||
EventCodePurchaseOrderChange = "PURCHASE_ORDER_CHANGE"
|
||||
EventCodeOrderStatusChange = "ORDER_STATUS_CHANGE"
|
||||
EventCodeRefundOrderChange = "REFUND_ORDER_CHANGE"
|
||||
)
|
||||
```
|
||||
|
||||
```go
|
||||
Loading…
Reference in New Issue