|
|
|
package _interface
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
"github.com/shopspring/decimal"
|
|
|
|
)
|
|
|
|
|
|
|
|
type OrderInterface interface {
|
|
|
|
// FreightFee 获取运费
|
|
|
|
FreightFee(ctx context.Context, args ArgsOrderFreightFee, freightFee *ReplyOrderFreightFee) error
|
|
|
|
// Submit 下单
|
|
|
|
Submit(ctx context.Context, args ArgsOrderSubmit, sourceOrderSn *string) error
|
|
|
|
// LadingBill @Title 提单
|
|
|
|
LadingBill(ctx context.Context, orderSn string, reply *int) error
|
|
|
|
// Close @Title 关闭订单
|
|
|
|
Close(ctx context.Context, orderSn string, reply *int) error
|
|
|
|
// Cancel @Title 取消订单
|
|
|
|
Cancel(ctx context.Context, args ArgsOrderCancel, reply *int) error
|
|
|
|
// Trajectory @Title 物流轨迹
|
|
|
|
Trajectory(ctx context.Context, orderSn string, reply *[]ReplyTrajectory) error
|
|
|
|
// Finish @Title 确认收货
|
|
|
|
Finish(ctx context.Context, orderSn string, reply *int) error
|
|
|
|
// SubmitData @Title 订单下单数据
|
|
|
|
SubmitData(ctx context.Context, supplyOrderSn string, reply *ReplySubmitData) error
|
|
|
|
}
|
|
|
|
type ArgsOrderCancel struct {
|
|
|
|
OrderSn string // 订单编号
|
|
|
|
Reason string // 取消原因
|
|
|
|
}
|
|
|
|
type ArgsOrderFreightFee struct {
|
|
|
|
Skus []OrderFreightFeeSkuItem // 商品信息
|
|
|
|
Address string // 地址
|
|
|
|
}
|
|
|
|
type ReplyOrderFreightFee struct {
|
|
|
|
FreightFee decimal.Decimal // 运费
|
|
|
|
ErrMsg string // 错误信息
|
|
|
|
}
|
|
|
|
|
|
|
|
type OrderFreightFeeSkuItem struct {
|
|
|
|
SourceSkuId string // 源skuId
|
|
|
|
SourceSkuPrice decimal.Decimal // 采购价
|
|
|
|
Quantity uint // 数量
|
|
|
|
}
|
|
|
|
|
|
|
|
type ArgsOrderSubmit struct {
|
|
|
|
OrderSn uint64 // 订单号
|
|
|
|
Skus []OrderFreightFeeSkuItem // 商品信息
|
|
|
|
Address string // 地址
|
|
|
|
FreightFee decimal.Decimal // 运费
|
|
|
|
Receiver OrderReceiver // 收件信息
|
|
|
|
UserIp string // 用户ip
|
|
|
|
BuyerMsg string // 用户备注
|
|
|
|
}
|
|
|
|
|
|
|
|
type OrderReceiver struct {
|
|
|
|
Name string // 姓名
|
|
|
|
Phone string // 手机号
|
|
|
|
Email string // 邮件
|
|
|
|
ZipCode string // 邮编
|
|
|
|
}
|
|
|
|
|
|
|
|
type ReplyTrajectory struct {
|
|
|
|
LogisticsName string `json:"logisticsName"`
|
|
|
|
WaybillCode string `json:"waybillCode"`
|
|
|
|
Steps []PackageStep `json:"steps"`
|
|
|
|
}
|
|
|
|
type PackageStep struct {
|
|
|
|
State string `json:"state"`
|
|
|
|
Content string `json:"content"`
|
|
|
|
OperatorAt int64 `json:"operatorAt"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type ReplySubmitData struct {
|
|
|
|
OrderSn string `json:"orderSn"`
|
|
|
|
Status int64 `json:"status"`
|
|
|
|
OrderFee decimal.Decimal `json:"orderFee"`
|
|
|
|
FreightFee decimal.Decimal `json:"freightFee"`
|
|
|
|
LadingBillAt int64 `json:"ladingBillAt"`
|
|
|
|
Skus []ReplySubmitDataSku `json:"skus"`
|
|
|
|
}
|
|
|
|
type ReplySubmitDataSku struct {
|
|
|
|
SkuId string `json:"skuId"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
Quantity int64 `json:"quantity"`
|
|
|
|
SupplyPrice decimal.Decimal `json:"supplyPrice"`
|
|
|
|
GuidePrice decimal.Decimal `json:"guidePrice"`
|
|
|
|
Amount decimal.Decimal `json:"amount"`
|
|
|
|
}
|