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 }