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.

101 lines
4.3 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package req
import (
"fmt"
"github.com/shopspring/decimal"
"time"
)
// Item 商品明细.
type Item struct {
SkuID string `json:"sku_id"` // ERP内商品编码 长度<=40
ShopSkuId string `json:"shop_sku_id"` // 店铺商品编码 长度<=128
Amount decimal.Decimal `json:"amount"` // 应付金额,保留两位小数,单位(元)
BasePrice decimal.Decimal `json:"base_price"` // 基本价
Qty uint `json:"qty"` // 数量
Name string `json:"name"` // 商品名字
OuterOiID string `json:"outer_oi_id"` // 商家系统订单商品明细主键,为了拆单合单时溯源,最长不超过 50,保持唯一
Pic string `json:"pic"` // 图片
PropertiesValue string `json:"properties_value"` // 属性
}
// PayDetail WAIT_BUYER_PAY 状态可以不给.
type PayDetail struct {
OuterPayID string `json:"outer_pay_id"` // 外部支付单号最大50
PayDate string `json:"pay_date"` // 支付日期
Payment string `json:"payment"` // 支付方式最大20
SellerAccount string `json:"seller_account"` // 卖家支付账号,最大 50
BuyerAccount string `json:"buyer_account"` // 买家支付账号,最大 200
Amount decimal.Decimal `json:"amount"` // 支付金额
}
// Order 聚水潭订单.
type Order struct {
ShopID uint `json:"shop_id"` // 店铺编号
SoID string `json:"so_id"` // 线上订单号 长度 <= 50
OrderDate string `json:"order_date"` // 订单日期 2018-09-01 23:59:11
ShopStatus string `json:"shop_status"` // ["订单: 等待买家付款=WAIT_BUYER_PAY 等待卖家发货=WAIT_SELLER_SEND_GOODS,等待买家确认收货=WAIT_BUYER_CONFIRM_GOODS, 交易成功=TRADE_FINISHED, 付款后交易关闭=TRADE_CLOSED,付款前交易关闭=TRADE_CLOSED_BY_TAOBAO发货前可更新"]
ShopBuyerID string `json:"shop_buyer_id"` // 买家帐号 长度 <= 50
ReceiverState string `json:"receiver_state"` // 收货省份 长度 <= 50
ReceiverCity string `json:"receiver_city"` // 收货市 长度 <= 50
ReceiverDistrict string `json:"receiver_district"` // 收货街区
ReceiverAddress string `json:"receiver_address"` // 收货地址
ReceiverName string `json:"receiver_name"` // 收货人
ReceiverPhone string `json:"receiver_phone"` // 联系电话
PayAmount decimal.Decimal `json:"pay_amount"` // 应付金额 保留两位小数
Freight decimal.Decimal `json:"freight"` // 运费
ShopModified string `json:"shop_modified"` // 订单日期 2018-09-01 23:59:11
Items []*Item `json:"items"` // 商品明细
Pay *PayDetail `json:"pay,omitempty"`
}
// OrderSyncReq 上传order请求.
type OrderSyncReq struct {
Data []*Order
}
// OrderCancel 取消order.
type OrderCancel struct {
ShopID int `json:"shop_id"` // 店铺编号
SoID string `json:"so_id"` // 线上订单号 长度 <= 50
}
// OrderCancelReq 取消order请求.
type OrderCancelReq struct {
Data []*OrderCancel // 最多20个
}
//OrderQuery 查询order.
type OrderQuery struct {
SoIDS []string `json:"so_ids"`
}
//OrderQueryReq 查询order请求.
type OrderQueryReq struct {
Data *OrderQuery
}
// DateTime 序列化时间.
type DateTime time.Time
func (t DateTime) MarshalJSON() ([]byte, error) {
var stamp = fmt.Sprintf("\"%s\"", time.Time(t).Format("2006-01-02 15:04:05"))
return []byte(stamp), nil
}
// OrderSent 订单派送.
type OrderSent struct {
ShopID uint `json:"shop_id"` // 店铺id
OID uint `json:"o_id"` // ERP 内部订单号, 聚水潭请求获得
SoID string `json:"so_id"` // 线上订单号
LcName string `json:"lc_name"` // 快递公司
LID string `json:"l_id"` // 快递单号
LcID string `json:"lc_id"` // 快递编号
Modified DateTime `json:"modified"` // datetime 2020-03-12 12:00:00
}
// OrderSentSyncReq 订单派送请求.
type OrderSentSyncReq struct {
Data []*OrderSent
}