commit
aa60a12f4d
@ -0,0 +1,75 @@
|
||||
package channel
|
||||
|
||||
import (
|
||||
"context"
|
||||
"git.oa00.com/supply-chain/service/client"
|
||||
"github.com/shopspring/decimal"
|
||||
"github.com/smallnest/rpcx/share"
|
||||
)
|
||||
|
||||
const (
|
||||
ReplyOrderFreightFeeErrCodeNone = 0 // 无错误
|
||||
ReplyOrderFreightFeeErrCodeErr = 1 // 有错误
|
||||
ReplyOrderFreightFeeErrCodeDone = 2 // 已下架
|
||||
|
||||
OrderStatusSubmit = 1 // 下单
|
||||
OrderStatusFreightFee = 2 // 已确认运费
|
||||
OrderStatusPay = 3 // 已支付
|
||||
OrderStatusClose = 4 // 关闭
|
||||
|
||||
OrderSubStatusSubmit = 1 // 下单
|
||||
OrderSubStatusFreightFee = 2 // 确认运费
|
||||
OrderSubStatusPay = 3 // 已支付
|
||||
OrderSubStatusCheckout = 4 // 出库
|
||||
OrderSubStatusFinish = 5 // 完成
|
||||
|
||||
OrderCancelSubStatusFalse = 1 // 未取消
|
||||
OrderCancelSubStatusTrue = 2 // 已取消
|
||||
|
||||
OrderSubIsSplitFalse = 1 // 无
|
||||
OrderSubIsSplitTrue = 2 // 被拆单
|
||||
|
||||
OrderSubTypeApi = 1 // api接口下单
|
||||
OrderSubTypeCustomerWeb = 2 // 客户商城下单
|
||||
|
||||
)
|
||||
|
||||
type order struct {
|
||||
}
|
||||
type SkuOrderItem struct {
|
||||
SkuId uint // skuId
|
||||
Price decimal.Decimal // 单价
|
||||
Quantity uint // 数量 (箱)
|
||||
PackingRate uint // 装箱率
|
||||
}
|
||||
type ArgsOrderSubmit struct {
|
||||
ChannelOrderSn string // 渠道订单编号
|
||||
Address string // 地址
|
||||
Skus []SkuOrderItem // sku信息
|
||||
Receiver Receiver // 收件信息
|
||||
OrderFee decimal.Decimal // 订单金额-不含运费
|
||||
UserIp string // 下单用户ip
|
||||
Type uint // 下单方式
|
||||
}
|
||||
|
||||
type Receiver struct {
|
||||
Name string // 姓名
|
||||
Mobile string // 手机号
|
||||
Email string // 邮箱
|
||||
ZipCode string // 邮编
|
||||
}
|
||||
|
||||
type ReplyOrderSubmit struct {
|
||||
OrderSn string `json:"orderSn"`
|
||||
ChannelOrderSn string `json:"channelOrderSn"`
|
||||
}
|
||||
|
||||
// Submit @Title 下单
|
||||
func (o *order) Submit(ctx context.Context, channelId string, args ArgsOrderSubmit) (reply ReplyOrderSubmit, err error) {
|
||||
xClient, err := client.GetClient(o)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = xClient.Call(context.WithValue(ctx, share.ReqMetaDataKey, map[string]string{"channelId": channelId}), "Submit", args, &reply)
|
||||
return
|
||||
}
|
@ -0,0 +1,67 @@
|
||||
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
|
||||
}
|
||||
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 // 地址
|
||||
Receiver OrderReceiver // 收件信息
|
||||
UserIp string // 用户ip
|
||||
}
|
||||
|
||||
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"`
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
package wholesale
|
||||
|
||||
import (
|
||||
"context"
|
||||
"git.oa00.com/supply-chain/service/client"
|
||||
"github.com/shopspring/decimal"
|
||||
)
|
||||
|
||||
const (
|
||||
OrderCancelStatusSuccess = 1 // 取消成功
|
||||
OrderCancelStatusFail = 2 // 取消失败
|
||||
)
|
||||
|
||||
type order struct {
|
||||
}
|
||||
type ArgsOrderSplit struct {
|
||||
Source source // 商品来源
|
||||
ParentSourceOrderSn string // 上级订单号
|
||||
OrderSubs []OrderSub // 子订单
|
||||
}
|
||||
type OrderSub struct {
|
||||
SourceOrderSn string // 供应商订单号
|
||||
FreightFee decimal.Decimal // 运费
|
||||
OrderFee decimal.Decimal // 订单金额
|
||||
Skus []OrderSplitSkuItem // 拆分订单sku
|
||||
}
|
||||
type OrderSplitSkuItem struct {
|
||||
SourceSkuId string
|
||||
Quantity uint
|
||||
SupplyPrice decimal.Decimal
|
||||
}
|
||||
|
||||
// Split @Title 拆单
|
||||
func (o *order) Split(ctx context.Context, args ArgsOrderSplit) (err error) {
|
||||
xClient, err := client.GetClient(o)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
reply := 0
|
||||
err = xClient.Call(ctx, "Split", args, &reply)
|
||||
return
|
||||
}
|
Loading…
Reference in new issue