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.
service/wholesale/channel/order.go

76 lines
2.1 KiB

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
}