diff --git a/app/daemon/daemon.go b/app/daemon/daemon.go index 6e9916363..0ca96e600 100755 --- a/app/daemon/daemon.go +++ b/app/daemon/daemon.go @@ -273,9 +273,9 @@ func (d *defaultService) PaymentOrderObs(order *proto.SPaymentOrder) bool { // 测试是否为子订单,并返回编号 func (d *defaultService) testSubId(o *proto.SSingleOrder) (string, bool) { - if o.ParentOrderId <= 0 { - return o.OrderNo, true - } + // if o.ParentOrderId <= 0 { + // return o.OrderNo, true + // } return o.OrderNo, false } @@ -291,20 +291,20 @@ func (d *defaultService) batchDelKeys(conn redis.Conn, key string) { // 设置订单过期时间 func (d *defaultService) updateOrderExpires(conn redis.Conn, o *proto.SSingleOrder) { - //订单刚创建时,设置过期时间 - if o.Status == order.StatAwaitingPayment { - trans, cli, _ := service.FoundationServiceClient() - defer trans.Close() - ss, _ := cli.GetGlobMchSaleConf_(context.TODO(), &proto.Empty{}) - unix := o.UpdateTime + int64(ss.OrderTimeOutMinute)*60 - t := time.Unix(unix, 0) - tk := getTick(t) - orderNo, sub := d.testSubId(o) - prefix := types.StringCond(sub, "sub!", "") - key := fmt.Sprintf("%s:%s%s:%s", variable.KvOrderExpiresTime, prefix, orderNo, tk) - //log.Println(" [Daemon][Exprire][ Key]:", key) - conn.Do("SET", key, unix) - } + // //订单刚创建时,设置过期时间 + // if o.Status == order.StatAwaitingPayment { + // trans, cli, _ := service.FoundationServiceClient() + // defer trans.Close() + // ss, _ := cli.GetGlobMchSaleConf_(context.TODO(), &proto.Empty{}) + // unix := o.UpdateTime + int64(ss.OrderTimeOutMinute)*60 + // t := time.Unix(unix, 0) + // tk := getTick(t) + // orderNo, sub := d.testSubId(o) + // prefix := types.StringCond(sub, "sub!", "") + // key := fmt.Sprintf("%s:%s%s:%s", variable.KvOrderExpiresTime, prefix, orderNo, tk) + // //log.Println(" [Daemon][Exprire][ Key]:", key) + // conn.Do("SET", key, unix) + // } } // 取消订单过期时间 @@ -332,19 +332,19 @@ func (d *defaultService) orderAutoConfirm(conn redis.Conn, o *proto.SSingleOrder // 订单自动收货 func (d *defaultService) orderAutoReceive(conn redis.Conn, o *proto.SSingleOrder) { - if o.Status == order.StatShipped { - trans, cli, _ := service.FoundationServiceClient() - defer trans.Close() - ss, _ := cli.GetGlobMchSaleConf_(context.TODO(), &proto.Empty{}) - unix := o.UpdateTime + int64(ss.OrderTimeOutReceiveHour)*60*60 - t := time.Unix(unix, 0) - tk := getTick(t) - orderNo, sub := d.testSubId(o) - prefix := types.StringCond(sub, "sub!", "") - key := fmt.Sprintf("%s:%s%s:%s", variable.KvOrderAutoReceive, prefix, orderNo, tk) - //log.Println(" [Daemon][AutoReceive][ Key]:", key) - conn.Do("SET", key, unix) - } + // if o.Status == order.StatShipped { + // trans, cli, _ := service.FoundationServiceClient() + // defer trans.Close() + // ss, _ := cli.GetGlobMchSaleConf_(context.TODO(), &proto.Empty{}) + // unix := o.UpdateTime + int64(ss.OrderTimeOutReceiveHour)*60*60 + // t := time.Unix(unix, 0) + // tk := getTick(t) + // orderNo, sub := d.testSubId(o) + // prefix := types.StringCond(sub, "sub!", "") + // key := fmt.Sprintf("%s:%s%s:%s", variable.KvOrderAutoReceive, prefix, orderNo, tk) + // //log.Println(" [Daemon][AutoReceive][ Key]:", key) + // conn.Do("SET", key, unix) + // } } // 完成订单自动收货 diff --git a/app/daemon/supervise.go b/app/daemon/supervise.go index 50625e98a..5521ffe39 100755 --- a/app/daemon/supervise.go +++ b/app/daemon/supervise.go @@ -36,8 +36,8 @@ func superviseOrder(ss []Service) { // OrderNo: orderNo, // SubOrder: sub, //}) - o, _ := cli.GetOrder(context.TODO(), &proto.OrderNoV2{ - Value: orderNo, + o, _ := cli.GetOrder(context.TODO(), &proto.OrderRequest{ + OrderNo: orderNo, }) trans.Close() if o != nil { diff --git a/core/domain/interface/order/complex_order.go b/core/domain/interface/order/complex_order.go index cb2528155..da0abe3d2 100644 --- a/core/domain/interface/order/complex_order.go +++ b/core/domain/interface/order/complex_order.go @@ -21,6 +21,8 @@ type ( OrderNo string // 购买人编号 BuyerId int64 + // 卖家编号- + SellerId int64 // 买家用户名 BuyerUser string // 订单标题 diff --git a/core/domain/interface/order/normal_order.go b/core/domain/interface/order/normal_order.go index ecedf2ad4..d683915ac 100755 --- a/core/domain/interface/order/normal_order.go +++ b/core/domain/interface/order/normal_order.go @@ -2,6 +2,7 @@ package order import ( "github.com/ixre/go2o/core/domain/interface/cart" + "github.com/ixre/go2o/core/domain/interface/payment" "github.com/ixre/go2o/core/domain/interface/promotion" ) @@ -16,6 +17,8 @@ type ( OnlinePaymentTradeFinish() error // Submit 提交订单。如遇拆单,需均摊优惠抵扣金额到商品 Submit() error + // BreakPaymentOrder 拆分支付单 + BreakPaymentOrder() ([]payment.IPaymentOrder, error) // Cancel 取消订单 Cancel(buyerCancel bool, reason string) error @@ -49,6 +52,8 @@ type ( Complex() *ComplexOrder // ParentOrder 获取父订单 ParentOrder() IOrder + // GetPaymentOrder 获取支付单 + GetPaymentOrder() payment.IPaymentOrder // Items 获取商品项 Items() []*SubOrderItem // 更改收货人信息 diff --git a/core/domain/interface/order/order.go b/core/domain/interface/order/order.go index a2b835291..8c499d1ec 100755 --- a/core/domain/interface/order/order.go +++ b/core/domain/interface/order/order.go @@ -317,14 +317,14 @@ type ( SubmitReturnData struct { // 订单号,多个订单号,用","分割 OrderNo string - // 交易号 - TradeNo string // 交易金额 TradeAmount int64 // 合并支付 - MergePay bool + IsMergePay bool // 支付单号 PaymentOrderNo string + // 支付状态 + PaymentState int } // Order 订单 diff --git a/core/domain/interface/payment/payment.go b/core/domain/interface/payment/payment.go index ce9361790..14d581f10 100755 --- a/core/domain/interface/payment/payment.go +++ b/core/domain/interface/payment/payment.go @@ -163,6 +163,10 @@ type ( IPaymentRepo interface { // GetPaymentOrderById 根据编号获取支付单 GetPaymentOrderById(id int) IPaymentOrder + // DeletePaymentOrder 拆分后删除父支付单 + DeletePaymentOrder(id int) error + // DeletePaymentTradeData 删除支付单的支付数据 + DeletePaymentTradeData(orderId int) error // GetPaymentOrder 根据支付单号获取支付单 GetPaymentOrder(paymenOrderNo string) IPaymentOrder // GetPaymentBySalesOrderId 根据订单号获取支付单 @@ -195,16 +199,6 @@ type ( GetAwaitCloseOrders(lastId int, size int) []IPaymentOrder } - // RequestPayData 请求支付数据 - RequestPayData struct { - // 支付方式 - method int - // 支付方式代码 - code string - // 支付金额 - amount int - } - // Order 支付单 Order struct { // 编号 @@ -227,10 +221,8 @@ type ( BuyerId int64 `db:"buyer_id"` // 支付用户编号 PayerId int64 `db:"payer_id"` - // 商品金额 - ItemAmount int64 `db:"item_amount"` - // 优惠金额 - DiscountAmount int64 `db:"discount_amount"` + // 优惠金额,todo: 删除但目前依赖于优惠券 + DiscountAmount int64 `db:"-"` // 调整金额 AdjustAmount int64 `db:"adjust_amount"` // 共计金额,包含抵扣金额 @@ -272,7 +264,9 @@ type ( // TradeMethodData 支付单项 TradeMethodData struct { // 编号 - ID int `db:"id" pk:"yes" auto:"yes"` + Id int `db:"id" pk:"yes" auto:"yes"` + // 支付订单号Id + OrderId int `db:"order_id"` // 交易单号 TradeNo string `db:"trade_no"` // 支付途径 @@ -301,26 +295,6 @@ type ( SubmitTime int64 `db:"submit_time"` } - // PaySpTrade SP支付交易 - PaySpTrade struct { - // 编号 - ID int `db:"id"` - // 交易SP - TradeSp string `db:"trade_sp"` - // 交易号 - TradeNo string `db:"trade_no"` - // 合并的订单号,交易号用"|"分割 - TradeOrders string `db:"trade_orders"` - // 交易状态 - TradeState int `db:"trade_state"` - // 交易结果 - TradeResult int `db:"trade_result"` - // 交易备注 - TradeRemark string `db:"trade_remark"` - // 交易时间 - TradeTime int `db:"trade_time"` - } - // IntegrateApp 集成支付应用 IntegrateApp struct { // 编号 diff --git a/core/domain/order/normal_order.go b/core/domain/order/normal_order.go index a7df2b436..f0d705221 100755 --- a/core/domain/order/normal_order.go +++ b/core/domain/order/normal_order.go @@ -471,6 +471,38 @@ func (o *normalOrderImpl) GetPaymentOrder() payment.IPaymentOrder { return o._payOrder } +// BreakPaymentOrder implements order.INormalOrder +func (o *normalOrderImpl) BreakPaymentOrder() ([]payment.IPaymentOrder, error) { + ip := o.GetPaymentOrder() + if ip == nil { + return nil, errors.New("payment order has been breaked") + } + subOrders := o.GetSubOrders() + if len(subOrders) < 2 { + return nil, errors.New("payment order not nesseary break") + } + arr := make([]payment.IPaymentOrder, 0) + for _, v := range subOrders { + sp, err := o.createSubPaymentOrder(ip, v) + if err != nil { + return nil, err + } + arr = append(arr, sp) + } + o.destoryMergePaymentOrder(ip) + o._payOrder = nil + return arr, nil +} + +// destoryMergePaymentOrder 销毁合并支付单 +func (o *normalOrderImpl) destoryMergePaymentOrder(ip payment.IPaymentOrder) error { + err := o.payRepo.DeletePaymentOrder(ip.GetAggregateRootId()) + if err == nil { + err = o.payRepo.DeletePaymentTradeData(ip.GetAggregateRootId()) + } + return err +} + // BuildCart 通过订单创建购物车 func (o *normalOrderImpl) BuildCart() cart.ICart { bv := o.baseOrderImpl.baseValue @@ -518,38 +550,35 @@ func (o *normalOrderImpl) avgDiscountToItem() { func (o *normalOrderImpl) createPaymentForOrder() error { v := o.baseOrderImpl.baseValue // 计算订单金额 - itemAmount := v.ItemAmount + v.ExpressFee + v.PackageFee + //itemAmount := v.ItemAmount + v.ExpressFee + v.PackageFee finalAmount := v.FinalAmount - discountAmount := v.DiscountAmount + //discountAmount := v.DiscountAmount // 计算订单超时时间 expiresMiniutes := o.registryRepo.Get(registry.OrderPaymentOverMinutes).IntValue() expiresTime := v.CreateTime + int64(expiresMiniutes)*60 po := &payment.Order{ - SellerId: 0, - TradeNo: v.OrderNo, - SubOrder: 0, - OrderType: int(order.TRetail), - OutOrderNo: v.OrderNo, - Subject: v.Subject, - BuyerId: v.BuyerId, - PayerId: v.BuyerId, - ItemAmount: itemAmount, - DiscountAmount: discountAmount, - DeductAmount: 0, - AdjustAmount: 0, - FinalAmount: finalAmount, - TotalAmount: finalAmount, - PayFlag: payment.PAllFlag, - TradeChannel: 0, - ExtraData: "", - OutTradeSp: "", - OutTradeNo: "", - State: payment.StateAwaitingPayment, - SubmitTime: v.CreateTime, - ExpiresTime: expiresTime, - PaidTime: 0, - UpdateTime: v.CreateTime, - TradeMethods: []*payment.TradeMethodData{}, + SellerId: 0, + TradeNo: v.OrderNo, + SubOrder: 0, + OrderType: int(order.TRetail), + OutOrderNo: v.OrderNo, + Subject: v.Subject, + BuyerId: v.BuyerId, + PayerId: v.BuyerId, + AdjustAmount: 0, + FinalAmount: finalAmount, + TotalAmount: finalAmount, + PayFlag: payment.PAllFlag, + TradeChannel: 0, + ExtraData: "", + OutTradeSp: "", + OutTradeNo: "", + State: payment.StateAwaitingPayment, + SubmitTime: v.CreateTime, + ExpiresTime: expiresTime, + PaidTime: 0, + UpdateTime: v.CreateTime, + TradeMethods: []*payment.TradeMethodData{}, } o._payOrder = o.payRepo.CreatePaymentOrder(po) err := o._payOrder.Submit() @@ -708,23 +737,6 @@ func (o *normalOrderImpl) getBalanceDeductFee(acc member.IAccount) int64 { return acv.Balance } -// 获取Json格式的商品数据 -func (o *normalOrderImpl) getJsonItems() []byte { - //todo:??? 订单商品JSON表示 - return []byte("{}") - //var goods []*order.OrderGoods = make([]*order.OrderGoods, len(c.value.Items)) - //for i, v := range c.cart.Items { - // goods[i] = &order.OrderGoods{ - // GoodsId: v.SkuId, - // GoodsImage: v.Sku.Image, - // Quantity: v.Quantity, - // Name: v.Sku.Title, - // } - //} - //d, _ := json.Marshal(goods) - //return d -} - // 释放购物车并销毁 func (o *normalOrderImpl) destroyCart() error { if o.cart.Release(nil) { @@ -847,25 +859,26 @@ func (o *normalOrderImpl) breakUpByVendor() ([]order.ISubOrder, error) { "订单编号:%d,订单号:%s,vendor len:%d", parentOrderId, o.OrderNo(), len(o.vendorItemsMap)) } - + // requireCart后已创建商品与买家的映射 l := len(o.vendorItemsMap) list := make([]order.ISubOrder, l) i := 0 - // 生成一个用于支付的子订单 - orderId := 0 - if l > 1 { - iso, err := o.createPaymentSubOrder() - if err != nil { - log.Println("生成子订单失败:" + err.Error()) - return nil, err - } - list = append(list, iso) - orderId = int(iso.GetDomainId()) - } + orderId := o.GetAggregateRootId() + + // // 生成一个用于支付的子订单 + // if l > 1 { + // iso, err := o.createPaymentSubOrder() + // if err != nil { + // log.Println("生成子订单失败:" + err.Error()) + // return nil, err + // } + // list = append(list, iso) + // //orderId = int(iso.GetDomainId()) + // } buyerId := o.buyer.GetAggregateRootId() for vendorId, v := range o.vendorItemsMap { - // 绑定商品项的订单编号到支付单 + // 绑定商品项的订单编号到父订单 //支付单 for _, it := range v { it.OrderId = int64(orderId) } @@ -885,35 +898,58 @@ func (o *normalOrderImpl) breakUpByVendor() ([]order.ISubOrder, error) { return list, nil } -// createPaymentSubOrder 生成一个用于合并支付的子订单 -func (o *normalOrderImpl) createPaymentSubOrder() (order.ISubOrder, error) { - orderNo := o.OrderNo() - breakStatus := order.BreakDefault - vo := o.baseValue - v := &order.NormalSubOrder{ - OrderNo: orderNo, - BuyerId: o.baseValue.BuyerId, - VendorId: 0, - OrderId: o.GetAggregateRootId(), - Subject: "支付子订单", - ShopId: 0, - ShopName: "", - ItemCount: vo.ItemCount, - // 总金额 - ItemAmount: vo.ItemAmount, - // 减免金额(包含优惠券金额) - DiscountAmount: vo.DiscountAmount, - ExpressFee: vo.ExpressFee, - PackageFee: vo.PackageFee, - FinalAmount: vo.FinalAmount, - BuyerComment: "", - Remark: "", - Status: order.StatAwaitingPayment, - BreakStatus: breakStatus, - UpdateTime: o.baseValue.UpdateTime, - } - isp := o.repo.CreateNormalSubOrder(v) - _, err := isp.Submit() +// createSubPaymentOrder 生成一个子订单的支付单 +func (o *normalOrderImpl) createSubPaymentOrder(ip payment.IPaymentOrder, iso order.ISubOrder) (payment.IPaymentOrder, error) { + so := iso.GetValue() + po := ip.Get() + sp := o.payRepo.GetPaymentOrder(so.OrderNo) + if sp != nil { + return sp, errors.New("子订单已拆分支付单") + } + no := o.baseValue + // 分摊比例 + rate := float64(so.FinalAmount) / float64(no.FinalAmount) + // 分摊金额 + deductAmount := int(math.Round(float64(po.DeductAmount) * rate)) + // 生成支付单 + v := &payment.Order{ + Id: 0, + SellerId: int(so.VendorId), + TradeType: "", + TradeNo: so.OrderNo, + OrderType: int(order.TRetail), + SubOrder: 1, + OutOrderNo: so.OrderNo, + Subject: "支付单#拆分子订单", + BuyerId: o.baseValue.BuyerId, + PayerId: 0, + AdjustAmount: 0, + TotalAmount: so.ItemAmount, + DeductAmount: int64(deductAmount), + ProcedureFee: 0, + PaidAmount: 0, + PayFlag: po.PayFlag, + FinalFlag: po.FinalFlag, + State: po.State, + SubmitTime: po.SubmitTime, + ExpiresTime: po.ExpiresTime, + UpdateTime: time.Now().Unix(), + TradeMethods: []*payment.TradeMethodData{}, + } + // 更新支付方式 + for _, tv := range ip.TradeMethods() { + v.TradeMethods = append(v.TradeMethods, &payment.TradeMethodData{ + TradeNo: so.OrderNo, + Method: tv.Method, + Code: tv.Code, + Internal: tv.Internal, + Amount: int64(math.Round(float64(tv.Amount) * rate)), + OutTradeNo: tv.OutTradeNo, + PayTime: tv.PayTime, + }) + } + isp := o.payRepo.CreatePaymentOrder(v) + err := isp.Submit() return isp, err } diff --git a/core/domain/order/order.go b/core/domain/order/order.go index e9c658e1f..6b6409f2e 100755 --- a/core/domain/order/order.go +++ b/core/domain/order/order.go @@ -254,7 +254,6 @@ func (o *baseOrderImpl) createPaymentOrder() *payment.Order { PayerId: buyerId, TotalAmount: 0, DiscountAmount: 0, - DeductAmount: 0, AdjustAmount: 0, FinalAmount: 0, PayFlag: payment.PAllFlag, diff --git a/core/domain/order/order_manager.go b/core/domain/order/order_manager.go index 69e050ff0..b807ea7bd 100755 --- a/core/domain/order/order_manager.go +++ b/core/domain/order/order_manager.go @@ -305,10 +305,11 @@ func (t *orderManagerImpl) submitNormalOrder(data order.SubmitOrderData) (order. // //... // } - rd.TradeNo = ipv.TradeNo + rd.IsMergePay = len(no.GetSubOrders()) > 1 rd.TradeAmount = ipv.FinalAmount rd.OrderNo = ipv.OutOrderNo - rd.PaymentOrderNo = o.GetPaymentOrder().TradeNo() + rd.PaymentState = ipv.State + rd.PaymentOrderNo = ipv.TradeNo return o, rd, err // 剩下单个订单未支付 diff --git a/core/domain/order/sub_order.go b/core/domain/order/sub_order.go index 0268a2366..36eca180d 100644 --- a/core/domain/order/sub_order.go +++ b/core/domain/order/sub_order.go @@ -44,6 +44,7 @@ type subOrderImpl struct { valRepo valueobject.IValueRepo mchRepo merchant.IMerchantRepo registryRepo registry.IRegistryRepo + _payOrder payment.IPaymentOrder _stateIsChange bool // 订单状态是否变更,如果变更后将推送信息 } @@ -646,7 +647,8 @@ func (o *subOrderImpl) updateAccountForOrder(m member.IMember) error { // 取消订单 func (o *subOrderImpl) Cancel(buyerCancel bool, reason string) error { if o.value.Status == order.StatCancelled { - return order.ErrOrderCancelled + // 取消支付单也会回调取消订单,故当已取消时返回nil + return nil } // 已发货订单无法取消 if o.value.Status >= order.StatShipped { @@ -696,13 +698,17 @@ func (o *subOrderImpl) cancelGoods() error { return nil } +// GetPaymentOrder 获取支付单 +func (o *subOrderImpl) GetPaymentOrder() payment.IPaymentOrder { + if o._payOrder == nil { + o._payOrder = o.paymentRepo.GetPaymentOrder(o.value.OrderNo) + } + return o._payOrder +} + // 取消支付单 func (o *subOrderImpl) cancelPaymentOrder() error { - od := o.ParentOrder() - if od.Type() != order.TRetail { - panic("not support order type") - } - ip := od.GetPaymentOrder() + ip := o.GetPaymentOrder() if ip != nil { return ip.Cancel() //todo: there have a bug, when other order has shipmented. all sub order will be cancelled. } diff --git a/core/domain/order/trade_order.go b/core/domain/order/trade_order.go index 2d29b3426..9490e8cb1 100755 --- a/core/domain/order/trade_order.go +++ b/core/domain/order/trade_order.go @@ -197,7 +197,7 @@ func (o *tradeOrderImpl) fixFinalAmount() { func (o *tradeOrderImpl) createPaymentForOrder() error { v := o.baseOrderImpl.createPaymentOrder() v.SellerId = int(o.value.VendorId) - v.ItemAmount = o.value.FinalAmount + v.TotalAmount = o.value.FinalAmount o.paymentOrder = o.payRepo.CreatePaymentOrder(v) return o.paymentOrder.Submit() } diff --git a/core/domain/order/wholesale_order.go b/core/domain/order/wholesale_order.go index f66d279e0..af15371a3 100755 --- a/core/domain/order/wholesale_order.go +++ b/core/domain/order/wholesale_order.go @@ -422,7 +422,7 @@ func (o *wholesaleOrderImpl) SetComment(comment string) { func (o *wholesaleOrderImpl) createPaymentForOrder() error { v := o.baseOrderImpl.createPaymentOrder() v.SellerId = int(o.value.VendorId) - v.ItemAmount = o.baseValue.FinalAmount + v.TotalAmount = o.baseValue.FinalAmount o.paymentOrder = o.payRepo.CreatePaymentOrder(v) return o.paymentOrder.Submit() } diff --git a/core/domain/payment/payment.go b/core/domain/payment/payment.go index 2acadd258..6d073aeb4 100755 --- a/core/domain/payment/payment.go +++ b/core/domain/payment/payment.go @@ -89,7 +89,15 @@ func (p *paymentOrderImpl) Submit() error { if b := p.repo.CheckTradeNoMatch(p.value.TradeNo, p.GetAggregateRootId()); !b { return payment.ErrExistsTradeNo } - return p.saveOrder() + err := p.saveOrder() + if err == nil { + // 保存支付单的支付方式,主要用于拆分子订单提交 + for _, v := range p.value.TradeMethods { + v.OrderId = p.GetAggregateRootId() + v.Id, _ = p.repo.SavePaymentTradeChan(p.TradeNo(), v) + } + } + return err } // MergePay 合并支付 @@ -157,20 +165,19 @@ func (p *paymentOrderImpl) CheckPaymentState() error { // 检查是否支付完成, 且返回是否为第一次支付成功, func (p *paymentOrderImpl) checkOrderFinalAmount() error { if p.value.State == payment.StateAwaitingPayment { - if p.value.ItemAmount <= 0 { // 检查支付金额 + if p.value.TotalAmount <= 0 { // 检查支付金额 return payment.ErrItemAmount } // 修正支付单共计金额 - p.value.TotalAmount = p.value.ItemAmount - p.value.DiscountAmount + p.value.AdjustAmount + //p.value.TotalAmount = p.value.ItemAmount - p.value.DiscountAmount + p.value.AdjustAmount // 修正支付单金额 - p.value.FinalAmount = p.value.ItemAmount - p.value.DeductAmount + p.value.ProcedureFee - unix := time.Now().Unix() + p.value.FinalAmount = p.value.TotalAmount - p.value.DeductAmount + p.value.ProcedureFee // 如果支付完成,则更新订单状态 if p.value.FinalAmount == 0 { p.value.State = payment.StateFinished p.firstFinishPayment = true + p.value.PaidTime = time.Now().Unix() } - p.value.PaidTime = unix } return nil } @@ -221,7 +228,7 @@ func (p *paymentOrderImpl) Cancel() (err error) { } if err == nil { err = p.orderManager.Cancel(p.value.OutOrderNo, - false, + p.value.SubOrder == 1, pv.SubOrder == 1, "超时未付款") } @@ -498,6 +505,7 @@ func (p *paymentOrderImpl) SystemPayment(fee int) error { func (p *paymentOrderImpl) saveTradeChan(amount int, method int, code string, outTradeNo string) error { c := &payment.TradeMethodData{ TradeNo: p.TradeNo(), + OrderId: p.GetAggregateRootId(), Method: method, Internal: 1, Amount: int64(amount), @@ -584,6 +592,7 @@ func (p *paymentOrderImpl) PaymentWithCard(cardCode string, amount int) error { return errors.New("not support") } +// 保存订单 func (p *paymentOrderImpl) saveOrder() error { // 检查支付单 err := p.checkOrderFinalAmount() diff --git a/core/dto/order.go b/core/dto/order.go index f00044486..43a10a950 100755 --- a/core/dto/order.go +++ b/core/dto/order.go @@ -33,17 +33,17 @@ type ( // 商品数量 ItemCount int `json:"itemCount"` // 商品总金额 - ItemAmount int64 `json:"itemAmount"` + ItemAmount int32 `json:"itemAmount"` // 抵扣金额 - DiscountAmount int64 `json:"discountAmount"` + DiscountAmount int32 `json:"discountAmount"` // 优惠金额 - DeductAmount int64 `json:"deductAmount"` + DeductAmount int32 `json:"deductAmount"` // 快递费 - ExpressFee int64 `json:"expressFee"` + ExpressFee int32 `json:"expressFee"` // 包装费 - PackageFee int64 `json:"packageFee"` + PackageFee int32 `json:"packageFee"` // 最终金额 - FinalAmount int64 `json:"finalAmount"` + FinalAmount int32 `json:"finalAmount"` // 是否支付 IsPaid int32 `json:"isPaid"` // 状态 @@ -91,6 +91,8 @@ type ( Id int `json:"id"` // 订单编号 OrderId int64 `json:"orderId"` + // 卖家订单编号 + SellerOrderId int64 `json:"sellerOrderId"` // 商品快照编号 SnapshotId int `json:"snapshotId"` // Sku规格 diff --git a/core/query/order_query.go b/core/query/order_query.go index 9d3882e1a..5a8af7a88 100755 --- a/core/query/order_query.go +++ b/core/query/order_query.go @@ -134,8 +134,8 @@ func (o *OrderQuery) QueryPagingNormalOrder(memberId, begin, size int64, paginat items := o.queryNormalOrderItems(idList) for _, v := range items { - if _, ok := orderMap[v.OrderId]; ok { - orderMap[v.OrderId].Items = append(orderMap[v.OrderId].Items, v) + if _, ok := orderMap[v.SellerOrderId]; ok { + orderMap[v.SellerOrderId].Items = append(orderMap[v.SellerOrderId].Items, v) } } } @@ -409,7 +409,7 @@ func (o *OrderQuery) PagingTradeOrderOfBuyer(memberId, begin, size int64, pagina } // 查询分页的订单 - err := d.Query(fmt.Sprintf(`SELECT o.id,o.order_no,vendor_id,ot.subject, + err := d.Query(fmt.Sprintf(`SELECT o.id,o.order_no,vendor_id, ot.order_amount,ot.discount_amount, ot.final_amount,ot.cash_pay,ot.ticket_image, o.status,o.create_time FROM order_list o INNER JOIN order_trade_order ot ON ot.order_id = o.id @@ -420,7 +420,7 @@ func (o *OrderQuery) PagingTradeOrderOfBuyer(memberId, begin, size int64, pagina var ticket string for rs.Next() { e := &proto.SSingleOrder{} - rs.Scan(&e.OrderId, &e.OrderNo, &e.SellerId, &e.Subject, + rs.Scan(&e.OrderId, &e.OrderNo, &e.SellerId, &e.ItemAmount, &e.DiscountAmount, &e.FinalAmount, &cashPay, &ticket, &e.Status, &e.SubmitTime) e.Data = map[string]string{ @@ -504,23 +504,24 @@ func (o *OrderQuery) PagedTradeOrderOfVendor(vendorId int64, begin, size int, pa func (o *OrderQuery) queryNormalOrderItems(idArr []string) []*dto.OrderItem { list := make([]*dto.OrderItem, 0) + cmd := fmt.Sprintf(`SELECT si.id,si.seller_order_id,si.snap_id,sn.item_id,sn.sku,sn.sku_id, + sn.goods_title,sn.img,sn.price,si.quantity,si.return_quantity,si.amount,si.final_amount, + si.is_shipped FROM sale_order_item si INNER JOIN item_trade_snapshot sn + ON sn.id=si.snap_id WHERE si.seller_order_id IN (%s) + ORDER BY si.id ASC`, strings.Join(idArr, ",")) + + log.Println(cmd) // 查询分页订单的Item - _ = o.Query(fmt.Sprintf(`SELECT si.id,si.order_id,si.snap_id,sn.item_id,sn.sku,sn.sku_id, - sn.goods_title,sn.img,sn.price,si.quantity,si.return_quantity,si.amount,si.final_amount, - si.is_shipped FROM sale_order_item si INNER JOIN item_trade_snapshot sn - ON sn.id=si.snap_id WHERE si.order_id IN (%s) - ORDER BY si.id ASC`, - strings.Join(idArr, ",")), - func(rs *sql.Rows) { - for rs.Next() { - e := &dto.OrderItem{} - _ = rs.Scan(&e.Id, &e.OrderId, &e.SnapshotId, &e.ItemId, - &e.SpecWord, &e.SkuId, &e.ItemTitle, - &e.Image, &e.Price, &e.Quantity, &e.ReturnQuantity, &e.Amount, &e.FinalAmount, &e.IsShipped) - e.FinalPrice = int64(float64(e.FinalAmount) / float64(e.Quantity)) - e.Image = format.GetGoodsImageUrl(e.Image) - list = append(list, e) - } - }) + _ = o.Query(cmd, func(rs *sql.Rows) { + for rs.Next() { + e := &dto.OrderItem{} + _ = rs.Scan(&e.Id, &e.SellerOrderId, &e.SnapshotId, &e.ItemId, + &e.SpecWord, &e.SkuId, &e.ItemTitle, + &e.Image, &e.Price, &e.Quantity, &e.ReturnQuantity, &e.Amount, &e.FinalAmount, &e.IsShipped) + e.FinalPrice = int64(float64(e.FinalAmount) / float64(e.Quantity)) + e.Image = format.GetGoodsImageUrl(e.Image) + list = append(list, e) + } + }) return list } diff --git a/core/repos/payment_repo.go b/core/repos/payment_repo.go index 1d4f0ad4a..e3a57e0e7 100755 --- a/core/repos/payment_repo.go +++ b/core/repos/payment_repo.go @@ -82,6 +82,19 @@ func (p *paymentRepoImpl) getPaymentOrderCkByNo(orderNO string) string { return fmt.Sprintf("go2o:repo:pay:order:%s", orderNO) } +// DeletePaymentOrder 拆分后删除父支付单 +func (p *paymentRepoImpl) DeletePaymentOrder(id int) error { + key := p.getPaymentOrderCk(id) + p.Storage.Delete(key) + return p._orm.DeleteByPk(payment.Order{}, id) +} + +// DeletePaymentTradeData 删除支付单的支付数据 +func (p *paymentRepoImpl) DeletePaymentTradeData(orderId int) error { + _, err := p._orm.Delete(payment.TradeMethodData{}, "order_id=$1", orderId) + return err +} + // 根据编号获取支付单 func (p *paymentRepoImpl) GetPaymentOrderById(id int) payment.IPaymentOrder { if id <= 0 { @@ -168,7 +181,7 @@ func (p *paymentRepoImpl) GetTradeChannelItems(tradeNo string) []*payment.TradeM func (p *paymentRepoImpl) SavePaymentTradeChan(tradeNo string, tradeChan *payment.TradeMethodData) (int, error) { tradeChan.TradeNo = tradeNo - id, err := orm.Save(p._orm, tradeChan, tradeChan.ID) + id, err := orm.Save(p._orm, tradeChan, tradeChan.Id) if err != nil && err != sql.ErrNoRows { log.Println("[ Orm][ Error]:", err.Error(), "; Entity:PayTradeChan") } diff --git a/core/service/idl/message/order_dto.proto b/core/service/idl/message/order_dto.proto index 2f066f13e..d7c355456 100644 --- a/core/service/idl/message/order_dto.proto +++ b/core/service/idl/message/order_dto.proto @@ -157,61 +157,61 @@ message SSubOrder{ message SSingleOrder { // 订单编号 int64 orderId = 1; - // 父订单编号 - int64 parentOrderId = 2; + // 订单类型 + int32 orderType = 2; // 订单号 string orderNo = 3; - // 订单类型 - int32 orderType = 4; // 买家编号 - int64 buyerId = 5; + int64 buyerId = 4; // 卖家编号 - int64 sellerId = 6; - // 店铺编号 - int64 shopId = 7; - //int64 SubOrderId = 2; - // 订单标题 - string subject = 8; + int64 sellerId = 5; + // 卖家名称 + string sellerName = 6; + // 订单商品项 + repeated SOrderItem items = 7; // 商品总金额 - int64 itemAmount = 9; + sint32 itemAmount = 8; // 优惠金额 - int64 discountAmount = 10; - // 抵扣金额 - int32 deductAmount = 11; - // 调整金额 - int32 adjustAmount = 12; + sint32 discountAmount = 9; // 配送费 - int64 expressFee = 13; + sint32 expressFee = 10; // 包装费 - int64 packageFee = 14; - // 手续费 - int32 procedureFee = 15; + sint32 packageFee = 11; // 订单总金额 - int32 totalAmount = 16; - // 最终金额 - int64 finalAmount = 17; + sint32 totalAmount = 12; + // 抵扣金额 + sint32 deductAmount = 13; + // 手续费 + sint32 procedureFee = 14; + // 调整金额 + int32 adjustAmount = 15; + // 最终金额(订单总金额-抵扣金额+手续费+调整金额) + sint32 finalAmount = 16; + // 买家留言 + string buyerComment = 17; // 收货人 SConsigneeInfo consignee = 18; - // 收货地址是否已修改 - bool consigneeModified = 19; - // 买家留言 - string buyerComment = 20; - // 是否支付 - bool isPaid = 21; - //sint32 IsBreak = 18; - sint32 status = 22; // 下单时间 - sint64 submitTime = 23; - // 商品详情 - repeated SOrderItem items = 24; - // 支付交易号 - string paymentTradeNo = 25; + sint64 submitTime = 19; + // 订单状态 + sint32 status = 20; + // 订单状态描述 + string stateDesc = 21; + + // 过期时间 + sint64 expiresTime = 22; + // 支付时间 + sint64 payTime = 23; + // 支付方式 + repeated SOrderPayChanData tradeData = 24; + // 发货时间 + sint64 shipTime = 25; + // 快递单号 + string shipLogisticCode = 26; + // 快递名称 + string shipExpressName = 27; // 扩展信息 - map data = 26; - // 更新时间 - int64 updateTime = 27; - // 是否为子订单 - //bool SubOrder = 27; + map data = 28; } // 收货人信息 @@ -222,6 +222,23 @@ message SConsigneeInfo { string consigneePhone = 2; // 配送地址 string shippingAddress = 3; + // 收货人是否已更改 + bool isModified = 4; +} + + +/** 交易方式数据 */ +message SOrderPayChanData { + /** 支付途径 */ + sint32 chanId = 1; + // 方式描述 + string chanName = 2; + /** 交易代码 */ + string chanCode = 3; + /** 支付金额 */ + int64 amount = 4; + /** 外部交易单号 */ + string outTradeNo = 5; } // 更改订单收货人请求 @@ -297,14 +314,14 @@ message OrderSubmitResponse { string errMsg = 2; // 订单号,多个订单号,用","分割 string orderNo = 3; + // 是否已支付 + bool isPayFinish = 4; // 合并支付 - bool mergePay = 4; - // 交易号 - string tradeNo = 5; - // 交易金额 - int64 tradeAmount = 6; + bool isMergePay = 5; // 支付单号 - string paymentOrderNo = 7; + string paymentOrderNo = 6; + // 交易金额 + int64 tradeAmount = 7; } // 获取订单请求 diff --git a/core/service/idl/order_service.proto b/core/service/idl/order_service.proto index ab685c293..6b8bbf9b9 100755 --- a/core/service/idl/order_service.proto +++ b/core/service/idl/order_service.proto @@ -20,17 +20,10 @@ service OrderService { rpc GetParentOrder (OrderNoV2) returns (SParentOrder) { } // 获取子订单,orderId - rpc GetOrder (OrderNoV2) returns (SSingleOrder) { + rpc GetOrder (OrderRequest) returns (SSingleOrder) { } - - // 获取订单和商品项信息 - // rpc GetOrderAndItems (GetOrderItemsRequest) returns (SSingleOrder) { - // } - // 根据订单号获取子订单,orderNo - // rpc GetSubOrderByNo (String) returns (SSingleOrder) {} - // 获取订单商品项,subOrderId - // rpc GetSubOrderItems (Int64) returns (ComplexItemsResponse) { - // }~ + // 拆分支付单(多店下单支付未成功时拆分为每个子订单一个支付单) + rpc BreakPaymentOrder(BreakPaymentRequest)returns(Result){} // 交易单现金支付,orderId rpc TradeOrderCashPay (Int64) returns (Result) { } @@ -66,3 +59,17 @@ service OrderService { rpc QueryRebateListList (QueryRebateListRequest) returns (QueryRebateListResponse) { } } + +// 获取订单请求 +message OrderRequest{ + // 订单号 + string orderNo = 1; + // 是否返回详细信息 + bool withDetail = 2; +} + +// 拆分支付单请求 +message BreakPaymentRequest{ + // 支付单 + string paymentOrderNo = 1; +} \ No newline at end of file diff --git a/core/service/idl/payment_service.proto b/core/service/idl/payment_service.proto index cd36bfed0..6487c5921 100644 --- a/core/service/idl/payment_service.proto +++ b/core/service/idl/payment_service.proto @@ -234,10 +234,6 @@ message SPaymentOrder { int64 buyerId = 9; /** 支付用户编号 */ int64 payerId = 10; - /** 商品金额 */ - int64 itemAmount = 11; - /** 优惠金额 */ - int64 discountAmount = 12; /** 调整金额 */ int64 adjustAmount = 13; /** 抵扣金额 */ diff --git a/core/service/idl/query_service.proto b/core/service/idl/query_service.proto index bacc85f02..06ac1f03a 100644 --- a/core/service/idl/query_service.proto +++ b/core/service/idl/query_service.proto @@ -130,17 +130,17 @@ message SMemberPagingOrder { // 商品 int64 itemCount = 6; // 商品总金额 - int64 itemAmount = 7; + sint32 itemAmount = 7; // 抵扣金额 - int64 discountAmount = 8; + sint32 discountAmount = 8; // 优惠金额 - int64 deductAmount = 9; + sint32 deductAmount = 9; // 快递费 - int64 expressFee = 10; + sint32 expressFee = 10; // 包装费 - int64 packageFee = 11; + sint32 packageFee = 11; // 最终金额 - int64 finalAmount = 12; + sint32 finalAmount = 12; // 商品列表 repeated SOrderItem items = 13; // 状态 diff --git a/core/service/impl/2.order_service.go b/core/service/impl/2.order_service.go index 1cf3e431a..369c1d1e5 100755 --- a/core/service/impl/2.order_service.go +++ b/core/service/impl/2.order_service.go @@ -13,8 +13,10 @@ import ( "bytes" "context" "errors" + "log" "github.com/ixre/go2o/core/domain/interface/cart" + "github.com/ixre/go2o/core/domain/interface/express" "github.com/ixre/go2o/core/domain/interface/item" "github.com/ixre/go2o/core/domain/interface/member" "github.com/ixre/go2o/core/domain/interface/merchant" @@ -22,6 +24,7 @@ import ( "github.com/ixre/go2o/core/domain/interface/order" "github.com/ixre/go2o/core/domain/interface/payment" "github.com/ixre/go2o/core/domain/interface/product" + "github.com/ixre/go2o/core/domain/interface/shipment" "github.com/ixre/go2o/core/infrastructure/domain" "github.com/ixre/go2o/core/query" "github.com/ixre/go2o/core/service/parser" @@ -32,15 +35,18 @@ import ( var _ proto.OrderServiceServer = new(orderServiceImpl) type orderServiceImpl struct { - repo order.IOrderRepo - prodRepo product.IProductRepo - itemRepo item.IItemRepo - cartRepo cart.ICartRepo - mchRepo merchant.IMerchantRepo - shopRepo shop.IShopRepo - manager order.IOrderManager - memberRepo member.IMemberRepo - orderQuery *query.OrderQuery + repo order.IOrderRepo + prodRepo product.IProductRepo + itemRepo item.IItemRepo + cartRepo cart.ICartRepo + mchRepo merchant.IMerchantRepo + shopRepo shop.IShopRepo + manager order.IOrderManager + memberRepo member.IMemberRepo + payRepo payment.IPaymentRepo + shipRepo shipment.IShipmentRepo + expressRepo express.IExpressRepo + orderQuery *query.OrderQuery serviceUtil proto.UnimplementedOrderServiceServer } @@ -49,6 +55,8 @@ func NewShoppingService(r order.IOrderRepo, cartRepo cart.ICartRepo, memberRepo member.IMemberRepo, prodRepo product.IProductRepo, goodsRepo item.IItemRepo, mchRepo merchant.IMerchantRepo, shopRepo shop.IShopRepo, + payRepo payment.IPaymentRepo, shipRepo shipment.IShipmentRepo, + expressRepo express.IExpressRepo, orderQuery *query.OrderQuery) *orderServiceImpl { return &orderServiceImpl{ repo: r, @@ -58,6 +66,8 @@ func NewShoppingService(r order.IOrderRepo, itemRepo: goodsRepo, mchRepo: mchRepo, shopRepo: shopRepo, + payRepo: payRepo, + shipRepo: shipRepo, manager: r.Manager(), orderQuery: orderQuery, } @@ -141,8 +151,8 @@ func (s *orderServiceImpl) SubmitOrder(_ context.Context, r *proto.SubmitOrderRe ret.ErrMsg = err.Error() } else { ret.OrderNo = rd.OrderNo - ret.MergePay = rd.MergePay - ret.TradeNo = rd.TradeNo + ret.IsMergePay = rd.IsMergePay + ret.IsPayFinish = rd.PaymentState == payment.StateFinished ret.TradeAmount = rd.TradeAmount ret.PaymentOrderNo = rd.PaymentOrderNo } @@ -312,18 +322,107 @@ func (s *orderServiceImpl) GetParentOrder(c context.Context, req *proto.OrderNoV return parser.ParentOrderDto(ord), nil } +// breakPaymentOrder 拆分支付单,返回拆分结果和子支付单 +func (s *orderServiceImpl) breakPaymentOrder(orderNo string, state int, parentOrderId int) (bool, payment.IPaymentOrder, error) { + // 获取支付单信息 + po := s.payRepo.GetPaymentOrder(orderNo) + // 待支付,且无子订单相关的支付单,则需要拆分支付单 + if po == nil && state == order.StatAwaitingPayment { + if parentOrderId <= 0 { + return false, po, nil + } + io := s.manager.GetOrderById(int64(parentOrderId)) + if io != nil { + poList, err := io.(order.INormalOrder).BreakPaymentOrder() + if err != nil { + log.Printf("[ GO2O][ ERROR]: Break payment order failed, orderNo=%s,error=%s \n", orderNo, err.Error()) + } + for _, v := range poList { + if v.TradeNo() == orderNo { + return true, v, nil + } + } + } + } + return false, po, nil +} + // GetOrder 获取订单和商品项信息 -func (s *orderServiceImpl) GetOrder(_ context.Context, orderNo *proto.OrderNoV2) (*proto.SSingleOrder, error) { - if len(orderNo.Value) == 0 { +func (s *orderServiceImpl) GetOrder(_ context.Context, r *proto.OrderRequest) (*proto.SSingleOrder, error) { + if len(r.OrderNo) == 0 { return nil, order.ErrNoSuchOrder } - c := s.manager.Unified(orderNo.Value, true).Complex() + c := s.manager.Unified(r.OrderNo, true).Complex() if c != nil { - return parser.OrderDto(c), nil + ret := parser.OrderDto(c) + if r.WithDetail { + _, po, _ := s.breakPaymentOrder(r.OrderNo, int(ret.Status), int(c.OrderId)) + if po != nil { + pv := po.Get() + ret.DeductAmount = int32(pv.DeductAmount) + ret.FinalAmount = int32(pv.FinalAmount) + ret.ExpiresTime = pv.ExpiresTime + ret.TotalAmount = int32(pv.TotalAmount) + ret.PayTime = pv.PaidTime + for _, t := range po.TradeMethods() { + pm := s.parseTradeMethodDataDto(t) + pm.ChanName = po.ChanName(t.Method) + if len(pm.ChanName) == 0 { + pm.ChanName = pv.OutTradeSp + } + ret.TradeData = append(ret.TradeData, pm) + } + } + // 获取发货单信息 + if c.Status >= order.StatShipped && c.Status <= order.StatCompleted { + list := s.shipRepo.GetShipOrders(c.OrderId, true) + for _, v := range list { + // 绑定快递名称 + ex := s.expressRepo.GetExpressProvider(int32(v.Value().SpId)) + if ex != nil { + ret.ShipExpressName = ex.Name + } + ret.ShipLogisticCode = v.Value().SpOrder + } + } + } + return ret, nil } return nil, order.ErrNoSuchOrder } +// BreakPaymentOrder 拆分支付单(多店下单支付未成功时拆分为每个子订单一个支付单) +func (s *orderServiceImpl) BreakPaymentOrder(_ context.Context, r *proto.BreakPaymentRequest) (*proto.Result, error) { + ip := s.payRepo.GetPaymentOrder(r.PaymentOrderNo) + if ip == nil { + return s.error(payment.ErrNoSuchPaymentOrder), nil + } + rv := ip.Get() + io := s.manager.GetOrderByNo(rv.OutOrderNo) + if io == nil { + return s.error(order.ErrNoSuchOrder), nil + } else { + ino := io.(order.INormalOrder) + if ino == nil { + return &proto.Result{ErrCode: 2, ErrMsg: "订单不支持拆分支付单"}, nil + } + _, err := ino.BreakPaymentOrder() + if err != nil { + return s.error(err), nil + } + } + return &proto.Result{}, nil +} + +func (s *orderServiceImpl) parseTradeMethodDataDto(src *payment.TradeMethodData) *proto.SOrderPayChanData { + return &proto.SOrderPayChanData{ + ChanId: int32(src.Method), + Amount: src.Amount, + ChanCode: src.Code, + OutTradeNo: src.OutTradeNo, + } +} + // TradeOrderCashPay 交易单现金支付 func (s *orderServiceImpl) TradeOrderCashPay(_ context.Context, orderId *proto.Int64) (ro *proto.Result, err error) { o := s.manager.GetOrderById(orderId.Value) diff --git a/core/service/impl/2.payment_service.go b/core/service/impl/2.payment_service.go index 5049f033b..19a9135f1 100755 --- a/core/service/impl/2.payment_service.go +++ b/core/service/impl/2.payment_service.go @@ -286,10 +286,8 @@ func (p *paymentService) parsePaymentOrder(src *proto.SPaymentOrder) *payment.Or BuyerId: src.BuyerId, PayerId: src.PayerId, TotalAmount: src.TotalAmount, - DiscountAmount: src.DiscountAmount, DeductAmount: src.DeductAmount, AdjustAmount: src.AdjustAmount, - ItemAmount: src.ItemAmount, ProcedureFee: src.ProcedureFee, FinalAmount: src.FinalAmount, PaidAmount: src.PaidAmount, @@ -318,10 +316,8 @@ func (p *paymentService) parsePaymentOrderDto(src *payment.Order) *proto.SPaymen BuyerId: src.BuyerId, PayerId: src.PayerId, TotalAmount: src.TotalAmount, - DiscountAmount: src.DiscountAmount, DeductAmount: src.DeductAmount, AdjustAmount: src.AdjustAmount, - ItemAmount: src.ItemAmount, ProcedureFee: src.ProcedureFee, FinalAmount: src.FinalAmount, PaidAmount: src.PaidAmount, diff --git a/core/service/impl/orm_mapping.go b/core/service/impl/orm_mapping.go index e8d37443d..9dfcff436 100644 --- a/core/service/impl/orm_mapping.go +++ b/core/service/impl/orm_mapping.go @@ -156,7 +156,6 @@ func OrmMapping(orm orm.Orm) { orm.Mapping(payment.Order{}, "pay_order") orm.Mapping(payment.TradeMethodData{}, "pay_trade_data") orm.Mapping(payment.MergeOrder{}, "pay_merge_order") - orm.Mapping(payment.PaySpTrade{}, "pay_sp_trade") // 促销 orm.Mapping(promotion.ValueCoupon{}, "pm_coupon") diff --git a/core/service/impl/services.go b/core/service/impl/services.go index 7ce55c505..fc47f0388 100755 --- a/core/service/impl/services.go +++ b/core/service/impl/services.go @@ -180,7 +180,8 @@ func initService(ctx gof.App, db db.Connector, orm orm.Orm, sto storage.Interfac FoundationService = NewFoundationService(valueRepo, registryRepo, sto, notifyRepo) PromService = NewPromotionService(promRepo) OrderService = NewShoppingService(orderRepo, cartRepo, memberRepo, - productRepo, itemRepo, mchRepo, shopRepo, orderQuery) + productRepo, itemRepo, mchRepo, shopRepo, + paymentRepo, shipRepo, expressRepo, orderQuery) CartService = NewCartService(cartRepo, itemRepo, mchRepo, shopRepo) AfterSalesService = NewAfterSalesService(asRepo, afterSalesQuery, orderRepo) MerchantService = NewMerchantService(mchRepo, memberRepo, mchQuery, orderQuery) diff --git a/core/service/parser/parser.go b/core/service/parser/parser.go index 6f7ce1592..78de5c780 100755 --- a/core/service/parser/parser.go +++ b/core/service/parser/parser.go @@ -252,30 +252,30 @@ func OrderItemDto(src *order.ComplexItem) *proto.SOrderItem { func OrderDto(src *order.ComplexOrder) *proto.SSingleOrder { d := src.Details[0] o := &proto.SSingleOrder{ - OrderId: d.Id, - ParentOrderId: src.OrderId, - OrderType: src.OrderType, - OrderNo: d.OrderNo, - BuyerId: src.BuyerId, - //SellerId: src.VendorId, - ShopId: d.ShopId, - Subject: src.Subject, - ItemAmount: src.ItemAmount, - DiscountAmount: src.DiscountAmount, - ExpressFee: src.ExpressFee, - PackageFee: src.PackageFee, - FinalAmount: src.FinalAmount, - Consignee: &proto.SConsigneeInfo{ - ConsigneeName: src.Consignee.ConsigneeName, - ConsigneePhone: src.Consignee.ConsigneePhone, - ShippingAddress: src.Consignee.ShippingAddress, - }, - ConsigneeModified: src.ConsigneeModified == 1, - BuyerComment: d.BuyerComment, - SubmitTime: src.CreateTime, - Status: int32(d.Status), - Items: make([]*proto.SOrderItem, len(d.Items)), - Data: src.Data, + OrderId: d.Id, + OrderType: src.OrderType, + OrderNo: d.OrderNo, + BuyerId: src.BuyerId, + SellerId: src.SellerId, + SellerName: "", + Items: make([]*proto.SOrderItem, len(d.Items)), + ItemAmount: int32(src.ItemAmount), + DiscountAmount: int32(src.DiscountAmount), + ExpressFee: int32(src.ExpressFee), + PackageFee: int32(src.PackageFee), + FinalAmount: int32(src.FinalAmount), + BuyerComment: d.BuyerComment, + Consignee: &proto.SConsigneeInfo{ConsigneeName: src.Consignee.ConsigneeName, ConsigneePhone: src.Consignee.ConsigneePhone, ShippingAddress: src.Consignee.ShippingAddress, IsModified: src.ConsigneeModified == 1}, + SubmitTime: src.CreateTime, + Status: int32(d.Status), + StateDesc: "", + ExpiresTime: 0, + PayTime: 0, + TradeData: []*proto.SOrderPayChanData{}, + ShipTime: 0, + ShipLogisticCode: "", + ShipExpressName: "", + Data: src.Data, } if d.Items != nil { for i, v := range d.Items { diff --git a/core/service/proto/order_dto.pb.go b/core/service/proto/order_dto.pb.go index 455b36547..8b6690b72 100644 --- a/core/service/proto/order_dto.pb.go +++ b/core/service/proto/order_dto.pb.go @@ -684,59 +684,60 @@ type SSingleOrder struct { // 订单编号 OrderId int64 `protobuf:"varint,1,opt,name=orderId,proto3" json:"orderId"` - // 父订单编号 - ParentOrderId int64 `protobuf:"varint,2,opt,name=parentOrderId,proto3" json:"parentOrderId"` + // 订单类型 + OrderType int32 `protobuf:"varint,2,opt,name=orderType,proto3" json:"orderType"` // 订单号 OrderNo string `protobuf:"bytes,3,opt,name=orderNo,proto3" json:"orderNo"` - // 订单类型 - OrderType int32 `protobuf:"varint,4,opt,name=orderType,proto3" json:"orderType"` // 买家编号 - BuyerId int64 `protobuf:"varint,5,opt,name=buyerId,proto3" json:"buyerId"` + BuyerId int64 `protobuf:"varint,4,opt,name=buyerId,proto3" json:"buyerId"` // 卖家编号 - SellerId int64 `protobuf:"varint,6,opt,name=sellerId,proto3" json:"sellerId"` - // 店铺编号 - ShopId int64 `protobuf:"varint,7,opt,name=shopId,proto3" json:"shopId"` - // int64 SubOrderId = 2; - // 订单标题 - Subject string `protobuf:"bytes,8,opt,name=subject,proto3" json:"subject"` + SellerId int64 `protobuf:"varint,5,opt,name=sellerId,proto3" json:"sellerId"` + // 卖家名称 + SellerName string `protobuf:"bytes,6,opt,name=sellerName,proto3" json:"sellerName"` + // 订单商品项 + Items []*SOrderItem `protobuf:"bytes,7,rep,name=items,proto3" json:"items"` // 商品总金额 - ItemAmount int64 `protobuf:"varint,9,opt,name=itemAmount,proto3" json:"itemAmount"` + ItemAmount int32 `protobuf:"zigzag32,8,opt,name=itemAmount,proto3" json:"itemAmount"` // 优惠金额 - DiscountAmount int64 `protobuf:"varint,10,opt,name=discountAmount,proto3" json:"discountAmount"` - // 抵扣金额 - DeductAmount int32 `protobuf:"varint,11,opt,name=deductAmount,proto3" json:"deductAmount"` - // 调整金额 - AdjustAmount int32 `protobuf:"varint,12,opt,name=adjustAmount,proto3" json:"adjustAmount"` + DiscountAmount int32 `protobuf:"zigzag32,9,opt,name=discountAmount,proto3" json:"discountAmount"` // 配送费 - ExpressFee int64 `protobuf:"varint,13,opt,name=expressFee,proto3" json:"expressFee"` + ExpressFee int32 `protobuf:"zigzag32,10,opt,name=expressFee,proto3" json:"expressFee"` // 包装费 - PackageFee int64 `protobuf:"varint,14,opt,name=packageFee,proto3" json:"packageFee"` - // 手续费 - ProcedureFee int32 `protobuf:"varint,15,opt,name=procedureFee,proto3" json:"procedureFee"` + PackageFee int32 `protobuf:"zigzag32,11,opt,name=packageFee,proto3" json:"packageFee"` // 订单总金额 - TotalAmount int32 `protobuf:"varint,16,opt,name=totalAmount,proto3" json:"totalAmount"` - // 最终金额 - FinalAmount int64 `protobuf:"varint,17,opt,name=finalAmount,proto3" json:"finalAmount"` + TotalAmount int32 `protobuf:"zigzag32,12,opt,name=totalAmount,proto3" json:"totalAmount"` + // 抵扣金额 + DeductAmount int32 `protobuf:"zigzag32,13,opt,name=deductAmount,proto3" json:"deductAmount"` + // 手续费 + ProcedureFee int32 `protobuf:"zigzag32,14,opt,name=procedureFee,proto3" json:"procedureFee"` + // 调整金额 + AdjustAmount int32 `protobuf:"varint,15,opt,name=adjustAmount,proto3" json:"adjustAmount"` + // 最终金额(订单总金额-抵扣金额+手续费+调整金额) + FinalAmount int32 `protobuf:"zigzag32,16,opt,name=finalAmount,proto3" json:"finalAmount"` + // 买家留言 + BuyerComment string `protobuf:"bytes,17,opt,name=buyerComment,proto3" json:"buyerComment"` // 收货人 Consignee *SConsigneeInfo `protobuf:"bytes,18,opt,name=consignee,proto3" json:"consignee"` - // 收货地址是否已修改 - ConsigneeModified bool `protobuf:"varint,19,opt,name=consigneeModified,proto3" json:"consigneeModified"` - // 买家留言 - BuyerComment string `protobuf:"bytes,20,opt,name=buyerComment,proto3" json:"buyerComment"` - // 是否支付 - IsPaid bool `protobuf:"varint,21,opt,name=isPaid,proto3" json:"isPaid"` - // sint32 IsBreak = 18; - Status int32 `protobuf:"zigzag32,22,opt,name=status,proto3" json:"status"` // 下单时间 - SubmitTime int64 `protobuf:"zigzag64,23,opt,name=submitTime,proto3" json:"submitTime"` - // 商品详情 - Items []*SOrderItem `protobuf:"bytes,24,rep,name=items,proto3" json:"items"` - // 支付交易号 - PaymentTradeNo string `protobuf:"bytes,25,opt,name=paymentTradeNo,proto3" json:"paymentTradeNo"` + SubmitTime int64 `protobuf:"zigzag64,19,opt,name=submitTime,proto3" json:"submitTime"` + // 订单状态 + Status int32 `protobuf:"zigzag32,20,opt,name=status,proto3" json:"status"` + // 订单状态描述 + StateDesc string `protobuf:"bytes,21,opt,name=stateDesc,proto3" json:"stateDesc"` + // 过期时间 + ExpiresTime int64 `protobuf:"zigzag64,22,opt,name=expiresTime,proto3" json:"expiresTime"` + // 支付时间 + PayTime int64 `protobuf:"zigzag64,23,opt,name=payTime,proto3" json:"payTime"` + // 支付方式 + TradeData []*SOrderPayChanData `protobuf:"bytes,24,rep,name=tradeData,proto3" json:"tradeData"` + // 发货时间 + ShipTime int64 `protobuf:"zigzag64,25,opt,name=shipTime,proto3" json:"shipTime"` + // 快递单号 + ShipLogisticCode string `protobuf:"bytes,26,opt,name=shipLogisticCode,proto3" json:"shipLogisticCode"` + // 快递名称 + ShipExpressName string `protobuf:"bytes,27,opt,name=shipExpressName,proto3" json:"shipExpressName"` // 扩展信息 - Data map[string]string `protobuf:"bytes,26,rep,name=data,proto3" json:"data" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // 更新时间 - UpdateTime int64 `protobuf:"varint,27,opt,name=updateTime,proto3" json:"updateTime"` + Data map[string]string `protobuf:"bytes,28,rep,name=data,proto3" json:"data" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *SSingleOrder) Reset() { @@ -778,9 +779,9 @@ func (x *SSingleOrder) GetOrderId() int64 { return 0 } -func (x *SSingleOrder) GetParentOrderId() int64 { +func (x *SSingleOrder) GetOrderType() int32 { if x != nil { - return x.ParentOrderId + return x.OrderType } return 0 } @@ -792,13 +793,6 @@ func (x *SSingleOrder) GetOrderNo() string { return "" } -func (x *SSingleOrder) GetOrderType() int32 { - if x != nil { - return x.OrderType - } - return 0 -} - func (x *SSingleOrder) GetBuyerId() int64 { if x != nil { return x.BuyerId @@ -813,58 +807,58 @@ func (x *SSingleOrder) GetSellerId() int64 { return 0 } -func (x *SSingleOrder) GetShopId() int64 { +func (x *SSingleOrder) GetSellerName() string { if x != nil { - return x.ShopId + return x.SellerName } - return 0 + return "" } -func (x *SSingleOrder) GetSubject() string { +func (x *SSingleOrder) GetItems() []*SOrderItem { if x != nil { - return x.Subject + return x.Items } - return "" + return nil } -func (x *SSingleOrder) GetItemAmount() int64 { +func (x *SSingleOrder) GetItemAmount() int32 { if x != nil { return x.ItemAmount } return 0 } -func (x *SSingleOrder) GetDiscountAmount() int64 { +func (x *SSingleOrder) GetDiscountAmount() int32 { if x != nil { return x.DiscountAmount } return 0 } -func (x *SSingleOrder) GetDeductAmount() int32 { +func (x *SSingleOrder) GetExpressFee() int32 { if x != nil { - return x.DeductAmount + return x.ExpressFee } return 0 } -func (x *SSingleOrder) GetAdjustAmount() int32 { +func (x *SSingleOrder) GetPackageFee() int32 { if x != nil { - return x.AdjustAmount + return x.PackageFee } return 0 } -func (x *SSingleOrder) GetExpressFee() int64 { +func (x *SSingleOrder) GetTotalAmount() int32 { if x != nil { - return x.ExpressFee + return x.TotalAmount } return 0 } -func (x *SSingleOrder) GetPackageFee() int64 { +func (x *SSingleOrder) GetDeductAmount() int32 { if x != nil { - return x.PackageFee + return x.DeductAmount } return 0 } @@ -876,20 +870,27 @@ func (x *SSingleOrder) GetProcedureFee() int32 { return 0 } -func (x *SSingleOrder) GetTotalAmount() int32 { +func (x *SSingleOrder) GetAdjustAmount() int32 { if x != nil { - return x.TotalAmount + return x.AdjustAmount } return 0 } -func (x *SSingleOrder) GetFinalAmount() int64 { +func (x *SSingleOrder) GetFinalAmount() int32 { if x != nil { return x.FinalAmount } return 0 } +func (x *SSingleOrder) GetBuyerComment() string { + if x != nil { + return x.BuyerComment + } + return "" +} + func (x *SSingleOrder) GetConsignee() *SConsigneeInfo { if x != nil { return x.Consignee @@ -897,67 +898,74 @@ func (x *SSingleOrder) GetConsignee() *SConsigneeInfo { return nil } -func (x *SSingleOrder) GetConsigneeModified() bool { +func (x *SSingleOrder) GetSubmitTime() int64 { if x != nil { - return x.ConsigneeModified + return x.SubmitTime } - return false + return 0 } -func (x *SSingleOrder) GetBuyerComment() string { +func (x *SSingleOrder) GetStatus() int32 { if x != nil { - return x.BuyerComment + return x.Status } - return "" + return 0 } -func (x *SSingleOrder) GetIsPaid() bool { +func (x *SSingleOrder) GetStateDesc() string { if x != nil { - return x.IsPaid + return x.StateDesc } - return false + return "" } -func (x *SSingleOrder) GetStatus() int32 { +func (x *SSingleOrder) GetExpiresTime() int64 { if x != nil { - return x.Status + return x.ExpiresTime } return 0 } -func (x *SSingleOrder) GetSubmitTime() int64 { +func (x *SSingleOrder) GetPayTime() int64 { if x != nil { - return x.SubmitTime + return x.PayTime } return 0 } -func (x *SSingleOrder) GetItems() []*SOrderItem { +func (x *SSingleOrder) GetTradeData() []*SOrderPayChanData { if x != nil { - return x.Items + return x.TradeData } return nil } -func (x *SSingleOrder) GetPaymentTradeNo() string { +func (x *SSingleOrder) GetShipTime() int64 { + if x != nil { + return x.ShipTime + } + return 0 +} + +func (x *SSingleOrder) GetShipLogisticCode() string { if x != nil { - return x.PaymentTradeNo + return x.ShipLogisticCode } return "" } -func (x *SSingleOrder) GetData() map[string]string { +func (x *SSingleOrder) GetShipExpressName() string { if x != nil { - return x.Data + return x.ShipExpressName } - return nil + return "" } -func (x *SSingleOrder) GetUpdateTime() int64 { +func (x *SSingleOrder) GetData() map[string]string { if x != nil { - return x.UpdateTime + return x.Data } - return 0 + return nil } // 收货人信息 @@ -972,6 +980,8 @@ type SConsigneeInfo struct { ConsigneePhone string `protobuf:"bytes,2,opt,name=consigneePhone,proto3" json:"consigneePhone"` // 配送地址 ShippingAddress string `protobuf:"bytes,3,opt,name=shippingAddress,proto3" json:"shippingAddress"` + // 收货人是否已更改 + IsModified bool `protobuf:"varint,4,opt,name=isModified,proto3" json:"isModified"` } func (x *SConsigneeInfo) Reset() { @@ -1027,6 +1037,98 @@ func (x *SConsigneeInfo) GetShippingAddress() string { return "" } +func (x *SConsigneeInfo) GetIsModified() bool { + if x != nil { + return x.IsModified + } + return false +} + +// * 交易方式数据 +type SOrderPayChanData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // * 支付途径 + ChanId int32 `protobuf:"zigzag32,1,opt,name=chanId,proto3" json:"chanId"` + // 方式描述 + ChanName string `protobuf:"bytes,2,opt,name=chanName,proto3" json:"chanName"` + // * 交易代码 + ChanCode string `protobuf:"bytes,3,opt,name=chanCode,proto3" json:"chanCode"` + // * 支付金额 + Amount int64 `protobuf:"varint,4,opt,name=amount,proto3" json:"amount"` + // * 外部交易单号 + OutTradeNo string `protobuf:"bytes,5,opt,name=outTradeNo,proto3" json:"outTradeNo"` +} + +func (x *SOrderPayChanData) Reset() { + *x = SOrderPayChanData{} + if protoimpl.UnsafeEnabled { + mi := &file_message_order_dto_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SOrderPayChanData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SOrderPayChanData) ProtoMessage() {} + +func (x *SOrderPayChanData) ProtoReflect() protoreflect.Message { + mi := &file_message_order_dto_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SOrderPayChanData.ProtoReflect.Descriptor instead. +func (*SOrderPayChanData) Descriptor() ([]byte, []int) { + return file_message_order_dto_proto_rawDescGZIP(), []int{5} +} + +func (x *SOrderPayChanData) GetChanId() int32 { + if x != nil { + return x.ChanId + } + return 0 +} + +func (x *SOrderPayChanData) GetChanName() string { + if x != nil { + return x.ChanName + } + return "" +} + +func (x *SOrderPayChanData) GetChanCode() string { + if x != nil { + return x.ChanCode + } + return "" +} + +func (x *SOrderPayChanData) GetAmount() int64 { + if x != nil { + return x.Amount + } + return 0 +} + +func (x *SOrderPayChanData) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + // 更改订单收货人请求 type ChangeOrderAddressRequest struct { state protoimpl.MessageState @@ -1044,7 +1146,7 @@ type ChangeOrderAddressRequest struct { func (x *ChangeOrderAddressRequest) Reset() { *x = ChangeOrderAddressRequest{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[5] + mi := &file_message_order_dto_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1057,7 +1159,7 @@ func (x *ChangeOrderAddressRequest) String() string { func (*ChangeOrderAddressRequest) ProtoMessage() {} func (x *ChangeOrderAddressRequest) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[5] + mi := &file_message_order_dto_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1070,7 +1172,7 @@ func (x *ChangeOrderAddressRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ChangeOrderAddressRequest.ProtoReflect.Descriptor instead. func (*ChangeOrderAddressRequest) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{5} + return file_message_order_dto_proto_rawDescGZIP(), []int{6} } func (x *ChangeOrderAddressRequest) GetOrderNo() string { @@ -1125,7 +1227,7 @@ type SubmitOrderRequest struct { func (x *SubmitOrderRequest) Reset() { *x = SubmitOrderRequest{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[6] + mi := &file_message_order_dto_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1138,7 +1240,7 @@ func (x *SubmitOrderRequest) String() string { func (*SubmitOrderRequest) ProtoMessage() {} func (x *SubmitOrderRequest) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[6] + mi := &file_message_order_dto_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1151,7 +1253,7 @@ func (x *SubmitOrderRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SubmitOrderRequest.ProtoReflect.Descriptor instead. func (*SubmitOrderRequest) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{6} + return file_message_order_dto_proto_rawDescGZIP(), []int{7} } func (x *SubmitOrderRequest) GetOrderType() int32 { @@ -1241,7 +1343,7 @@ type TradeOrderRequest struct { func (x *TradeOrderRequest) Reset() { *x = TradeOrderRequest{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[7] + mi := &file_message_order_dto_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1254,7 +1356,7 @@ func (x *TradeOrderRequest) String() string { func (*TradeOrderRequest) ProtoMessage() {} func (x *TradeOrderRequest) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[7] + mi := &file_message_order_dto_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1267,7 +1369,7 @@ func (x *TradeOrderRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TradeOrderRequest.ProtoReflect.Descriptor instead. func (*TradeOrderRequest) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{7} + return file_message_order_dto_proto_rawDescGZIP(), []int{8} } func (x *TradeOrderRequest) GetStoreId() int64 { @@ -1318,7 +1420,7 @@ type SubmitNormalOrderV2Request struct { func (x *SubmitNormalOrderV2Request) Reset() { *x = SubmitNormalOrderV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[8] + mi := &file_message_order_dto_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1331,7 +1433,7 @@ func (x *SubmitNormalOrderV2Request) String() string { func (*SubmitNormalOrderV2Request) ProtoMessage() {} func (x *SubmitNormalOrderV2Request) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[8] + mi := &file_message_order_dto_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1344,7 +1446,7 @@ func (x *SubmitNormalOrderV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use SubmitNormalOrderV2Request.ProtoReflect.Descriptor instead. func (*SubmitNormalOrderV2Request) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{8} + return file_message_order_dto_proto_rawDescGZIP(), []int{9} } func (x *SubmitNormalOrderV2Request) GetBuyerId() int64 { @@ -1415,20 +1517,20 @@ type OrderSubmitResponse struct { ErrMsg string `protobuf:"bytes,2,opt,name=errMsg,proto3" json:"errMsg"` // 订单号,多个订单号,用","分割 OrderNo string `protobuf:"bytes,3,opt,name=orderNo,proto3" json:"orderNo"` + // 是否已支付 + IsPayFinish bool `protobuf:"varint,4,opt,name=isPayFinish,proto3" json:"isPayFinish"` // 合并支付 - MergePay bool `protobuf:"varint,4,opt,name=mergePay,proto3" json:"mergePay"` - // 交易号 - TradeNo string `protobuf:"bytes,5,opt,name=tradeNo,proto3" json:"tradeNo"` - // 交易金额 - TradeAmount int64 `protobuf:"varint,6,opt,name=tradeAmount,proto3" json:"tradeAmount"` + IsMergePay bool `protobuf:"varint,5,opt,name=isMergePay,proto3" json:"isMergePay"` // 支付单号 - PaymentOrderNo string `protobuf:"bytes,7,opt,name=paymentOrderNo,proto3" json:"paymentOrderNo"` + PaymentOrderNo string `protobuf:"bytes,6,opt,name=paymentOrderNo,proto3" json:"paymentOrderNo"` + // 交易金额 + TradeAmount int64 `protobuf:"varint,7,opt,name=tradeAmount,proto3" json:"tradeAmount"` } func (x *OrderSubmitResponse) Reset() { *x = OrderSubmitResponse{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[9] + mi := &file_message_order_dto_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1441,7 +1543,7 @@ func (x *OrderSubmitResponse) String() string { func (*OrderSubmitResponse) ProtoMessage() {} func (x *OrderSubmitResponse) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[9] + mi := &file_message_order_dto_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1454,7 +1556,7 @@ func (x *OrderSubmitResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderSubmitResponse.ProtoReflect.Descriptor instead. func (*OrderSubmitResponse) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{9} + return file_message_order_dto_proto_rawDescGZIP(), []int{10} } func (x *OrderSubmitResponse) GetErrCode() int32 { @@ -1478,32 +1580,32 @@ func (x *OrderSubmitResponse) GetOrderNo() string { return "" } -func (x *OrderSubmitResponse) GetMergePay() bool { +func (x *OrderSubmitResponse) GetIsPayFinish() bool { if x != nil { - return x.MergePay + return x.IsPayFinish } return false } -func (x *OrderSubmitResponse) GetTradeNo() string { +func (x *OrderSubmitResponse) GetIsMergePay() bool { if x != nil { - return x.TradeNo + return x.IsMergePay } - return "" + return false } -func (x *OrderSubmitResponse) GetTradeAmount() int64 { +func (x *OrderSubmitResponse) GetPaymentOrderNo() string { if x != nil { - return x.TradeAmount + return x.PaymentOrderNo } - return 0 + return "" } -func (x *OrderSubmitResponse) GetPaymentOrderNo() string { +func (x *OrderSubmitResponse) GetTradeAmount() int64 { if x != nil { - return x.PaymentOrderNo + return x.TradeAmount } - return "" + return 0 } // 获取订单请求 @@ -1521,7 +1623,7 @@ type GetOrderRequest struct { func (x *GetOrderRequest) Reset() { *x = GetOrderRequest{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[10] + mi := &file_message_order_dto_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1534,7 +1636,7 @@ func (x *GetOrderRequest) String() string { func (*GetOrderRequest) ProtoMessage() {} func (x *GetOrderRequest) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[10] + mi := &file_message_order_dto_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1547,7 +1649,7 @@ func (x *GetOrderRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetOrderRequest.ProtoReflect.Descriptor instead. func (*GetOrderRequest) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{10} + return file_message_order_dto_proto_rawDescGZIP(), []int{11} } func (x *GetOrderRequest) GetOrderNo() string { @@ -1579,7 +1681,7 @@ type TradeOrderSubmitRequest struct { func (x *TradeOrderSubmitRequest) Reset() { *x = TradeOrderSubmitRequest{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[11] + mi := &file_message_order_dto_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1592,7 +1694,7 @@ func (x *TradeOrderSubmitRequest) String() string { func (*TradeOrderSubmitRequest) ProtoMessage() {} func (x *TradeOrderSubmitRequest) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[11] + mi := &file_message_order_dto_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1605,7 +1707,7 @@ func (x *TradeOrderSubmitRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TradeOrderSubmitRequest.ProtoReflect.Descriptor instead. func (*TradeOrderSubmitRequest) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{11} + return file_message_order_dto_proto_rawDescGZIP(), []int{12} } func (x *TradeOrderSubmitRequest) GetOrder() *SSingleOrder { @@ -1635,7 +1737,7 @@ type TradeOrderTicketRequest struct { func (x *TradeOrderTicketRequest) Reset() { *x = TradeOrderTicketRequest{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[12] + mi := &file_message_order_dto_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1648,7 +1750,7 @@ func (x *TradeOrderTicketRequest) String() string { func (*TradeOrderTicketRequest) ProtoMessage() {} func (x *TradeOrderTicketRequest) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[12] + mi := &file_message_order_dto_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1661,7 +1763,7 @@ func (x *TradeOrderTicketRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TradeOrderTicketRequest.ProtoReflect.Descriptor instead. func (*TradeOrderTicketRequest) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{12} + return file_message_order_dto_proto_rawDescGZIP(), []int{13} } func (x *TradeOrderTicketRequest) GetOrderId() int64 { @@ -1689,7 +1791,7 @@ type ComplexItemsResponse struct { func (x *ComplexItemsResponse) Reset() { *x = ComplexItemsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[13] + mi := &file_message_order_dto_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1702,7 +1804,7 @@ func (x *ComplexItemsResponse) String() string { func (*ComplexItemsResponse) ProtoMessage() {} func (x *ComplexItemsResponse) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[13] + mi := &file_message_order_dto_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1715,7 +1817,7 @@ func (x *ComplexItemsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ComplexItemsResponse.ProtoReflect.Descriptor instead. func (*ComplexItemsResponse) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{13} + return file_message_order_dto_proto_rawDescGZIP(), []int{14} } func (x *ComplexItemsResponse) GetValue() []*SOrderItem { @@ -1737,7 +1839,7 @@ type OrderId struct { func (x *OrderId) Reset() { *x = OrderId{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[14] + mi := &file_message_order_dto_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1750,7 +1852,7 @@ func (x *OrderId) String() string { func (*OrderId) ProtoMessage() {} func (x *OrderId) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[14] + mi := &file_message_order_dto_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1763,7 +1865,7 @@ func (x *OrderId) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderId.ProtoReflect.Descriptor instead. func (*OrderId) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{14} + return file_message_order_dto_proto_rawDescGZIP(), []int{15} } func (x *OrderId) GetValue() int64 { @@ -1788,7 +1890,7 @@ type OrderNo struct { func (x *OrderNo) Reset() { *x = OrderNo{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[15] + mi := &file_message_order_dto_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1801,7 +1903,7 @@ func (x *OrderNo) String() string { func (*OrderNo) ProtoMessage() {} func (x *OrderNo) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[15] + mi := &file_message_order_dto_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1814,7 +1916,7 @@ func (x *OrderNo) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderNo.ProtoReflect.Descriptor instead. func (*OrderNo) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{15} + return file_message_order_dto_proto_rawDescGZIP(), []int{16} } func (x *OrderNo) GetOrderNo() string { @@ -1843,7 +1945,7 @@ type OrderNoV2 struct { func (x *OrderNoV2) Reset() { *x = OrderNoV2{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[16] + mi := &file_message_order_dto_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1856,7 +1958,7 @@ func (x *OrderNoV2) String() string { func (*OrderNoV2) ProtoMessage() {} func (x *OrderNoV2) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[16] + mi := &file_message_order_dto_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1869,7 +1971,7 @@ func (x *OrderNoV2) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderNoV2.ProtoReflect.Descriptor instead. func (*OrderNoV2) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{16} + return file_message_order_dto_proto_rawDescGZIP(), []int{17} } func (x *OrderNoV2) GetValue() string { @@ -1893,7 +1995,7 @@ type OrderIdOrNo struct { func (x *OrderIdOrNo) Reset() { *x = OrderIdOrNo{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[17] + mi := &file_message_order_dto_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1906,7 +2008,7 @@ func (x *OrderIdOrNo) String() string { func (*OrderIdOrNo) ProtoMessage() {} func (x *OrderIdOrNo) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[17] + mi := &file_message_order_dto_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1919,7 +2021,7 @@ func (x *OrderIdOrNo) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderIdOrNo.ProtoReflect.Descriptor instead. func (*OrderIdOrNo) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{17} + return file_message_order_dto_proto_rawDescGZIP(), []int{18} } func (x *OrderIdOrNo) GetId() int64 { @@ -1954,7 +2056,7 @@ type CancelOrderRequest struct { func (x *CancelOrderRequest) Reset() { *x = CancelOrderRequest{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[18] + mi := &file_message_order_dto_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1967,7 +2069,7 @@ func (x *CancelOrderRequest) String() string { func (*CancelOrderRequest) ProtoMessage() {} func (x *CancelOrderRequest) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[18] + mi := &file_message_order_dto_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1980,7 +2082,7 @@ func (x *CancelOrderRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelOrderRequest.ProtoReflect.Descriptor instead. func (*CancelOrderRequest) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{18} + return file_message_order_dto_proto_rawDescGZIP(), []int{19} } func (x *CancelOrderRequest) GetOrderNo() string { @@ -2029,7 +2131,7 @@ type OrderShipmentRequest struct { func (x *OrderShipmentRequest) Reset() { *x = OrderShipmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[19] + mi := &file_message_order_dto_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2042,7 +2144,7 @@ func (x *OrderShipmentRequest) String() string { func (*OrderShipmentRequest) ProtoMessage() {} func (x *OrderShipmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[19] + mi := &file_message_order_dto_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2055,7 +2157,7 @@ func (x *OrderShipmentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderShipmentRequest.ProtoReflect.Descriptor instead. func (*OrderShipmentRequest) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{19} + return file_message_order_dto_proto_rawDescGZIP(), []int{20} } func (x *OrderShipmentRequest) GetOrderNo() string { @@ -2103,7 +2205,7 @@ type RPrepareOrderItem struct { func (x *RPrepareOrderItem) Reset() { *x = RPrepareOrderItem{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[20] + mi := &file_message_order_dto_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2116,7 +2218,7 @@ func (x *RPrepareOrderItem) String() string { func (*RPrepareOrderItem) ProtoMessage() {} func (x *RPrepareOrderItem) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[20] + mi := &file_message_order_dto_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2129,7 +2231,7 @@ func (x *RPrepareOrderItem) ProtoReflect() protoreflect.Message { // Deprecated: Use RPrepareOrderItem.ProtoReflect.Descriptor instead. func (*RPrepareOrderItem) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{20} + return file_message_order_dto_proto_rawDescGZIP(), []int{21} } func (x *RPrepareOrderItem) GetItemId() int64 { @@ -2178,7 +2280,7 @@ type PrepareOrderRequest struct { func (x *PrepareOrderRequest) Reset() { *x = PrepareOrderRequest{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[21] + mi := &file_message_order_dto_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2191,7 +2293,7 @@ func (x *PrepareOrderRequest) String() string { func (*PrepareOrderRequest) ProtoMessage() {} func (x *PrepareOrderRequest) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[21] + mi := &file_message_order_dto_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2204,7 +2306,7 @@ func (x *PrepareOrderRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PrepareOrderRequest.ProtoReflect.Descriptor instead. func (*PrepareOrderRequest) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{21} + return file_message_order_dto_proto_rawDescGZIP(), []int{22} } func (x *PrepareOrderRequest) GetBuyerId() int64 { @@ -2301,7 +2403,7 @@ type PrepareOrderResponse struct { func (x *PrepareOrderResponse) Reset() { *x = PrepareOrderResponse{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[22] + mi := &file_message_order_dto_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2314,7 +2416,7 @@ func (x *PrepareOrderResponse) String() string { func (*PrepareOrderResponse) ProtoMessage() {} func (x *PrepareOrderResponse) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[22] + mi := &file_message_order_dto_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2327,7 +2429,7 @@ func (x *PrepareOrderResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PrepareOrderResponse.ProtoReflect.Descriptor instead. func (*PrepareOrderResponse) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{22} + return file_message_order_dto_proto_rawDescGZIP(), []int{23} } func (x *PrepareOrderResponse) GetErrCode() int32 { @@ -2468,7 +2570,7 @@ type SPrepareOrderGroup struct { func (x *SPrepareOrderGroup) Reset() { *x = SPrepareOrderGroup{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[23] + mi := &file_message_order_dto_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2481,7 +2583,7 @@ func (x *SPrepareOrderGroup) String() string { func (*SPrepareOrderGroup) ProtoMessage() {} func (x *SPrepareOrderGroup) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[23] + mi := &file_message_order_dto_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2494,7 +2596,7 @@ func (x *SPrepareOrderGroup) ProtoReflect() protoreflect.Message { // Deprecated: Use SPrepareOrderGroup.ProtoReflect.Descriptor instead. func (*SPrepareOrderGroup) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{23} + return file_message_order_dto_proto_rawDescGZIP(), []int{24} } func (x *SPrepareOrderGroup) GetSellerId() int64 { @@ -2550,7 +2652,7 @@ type SPrepareOrderItem struct { func (x *SPrepareOrderItem) Reset() { *x = SPrepareOrderItem{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[24] + mi := &file_message_order_dto_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2563,7 +2665,7 @@ func (x *SPrepareOrderItem) String() string { func (*SPrepareOrderItem) ProtoMessage() {} func (x *SPrepareOrderItem) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[24] + mi := &file_message_order_dto_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2576,7 +2678,7 @@ func (x *SPrepareOrderItem) ProtoReflect() protoreflect.Message { // Deprecated: Use SPrepareOrderItem.ProtoReflect.Descriptor instead. func (*SPrepareOrderItem) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{24} + return file_message_order_dto_proto_rawDescGZIP(), []int{25} } func (x *SPrepareOrderItem) GetItemId() int64 { @@ -2638,7 +2740,7 @@ type QueryRebateListRequest struct { func (x *QueryRebateListRequest) Reset() { *x = QueryRebateListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[25] + mi := &file_message_order_dto_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2651,7 +2753,7 @@ func (x *QueryRebateListRequest) String() string { func (*QueryRebateListRequest) ProtoMessage() {} func (x *QueryRebateListRequest) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[25] + mi := &file_message_order_dto_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2664,7 +2766,7 @@ func (x *QueryRebateListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryRebateListRequest.ProtoReflect.Descriptor instead. func (*QueryRebateListRequest) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{25} + return file_message_order_dto_proto_rawDescGZIP(), []int{26} } // * 查询订单返利响应 @@ -2679,7 +2781,7 @@ type QueryRebateListResponse struct { func (x *QueryRebateListResponse) Reset() { *x = QueryRebateListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[26] + mi := &file_message_order_dto_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2692,7 +2794,7 @@ func (x *QueryRebateListResponse) String() string { func (*QueryRebateListResponse) ProtoMessage() {} func (x *QueryRebateListResponse) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[26] + mi := &file_message_order_dto_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2705,7 +2807,7 @@ func (x *QueryRebateListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryRebateListResponse.ProtoReflect.Descriptor instead. func (*QueryRebateListResponse) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{26} + return file_message_order_dto_proto_rawDescGZIP(), []int{27} } func (x *QueryRebateListResponse) GetValue() []*SRebateList { @@ -2748,7 +2850,7 @@ type SRebateList struct { func (x *SRebateList) Reset() { *x = SRebateList{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[27] + mi := &file_message_order_dto_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2761,7 +2863,7 @@ func (x *SRebateList) String() string { func (*SRebateList) ProtoMessage() {} func (x *SRebateList) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[27] + mi := &file_message_order_dto_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2774,7 +2876,7 @@ func (x *SRebateList) ProtoReflect() protoreflect.Message { // Deprecated: Use SRebateList.ProtoReflect.Descriptor instead. func (*SRebateList) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{27} + return file_message_order_dto_proto_rawDescGZIP(), []int{28} } func (x *SRebateList) GetId() int64 { @@ -2879,7 +2981,7 @@ type SRebateItem struct { func (x *SRebateItem) Reset() { *x = SRebateItem{} if protoimpl.UnsafeEnabled { - mi := &file_message_order_dto_proto_msgTypes[28] + mi := &file_message_order_dto_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2892,7 +2994,7 @@ func (x *SRebateItem) String() string { func (*SRebateItem) ProtoMessage() {} func (x *SRebateItem) ProtoReflect() protoreflect.Message { - mi := &file_message_order_dto_proto_msgTypes[28] + mi := &file_message_order_dto_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2905,7 +3007,7 @@ func (x *SRebateItem) ProtoReflect() protoreflect.Message { // Deprecated: Use SRebateItem.ProtoReflect.Descriptor instead. func (*SRebateItem) Descriptor() ([]byte, []int) { - return file_message_order_dto_proto_rawDescGZIP(), []int{28} + return file_message_order_dto_proto_rawDescGZIP(), []int{29} } func (x *SRebateItem) GetId() int32 { @@ -3064,336 +3166,352 @@ var file_message_order_dto_proto_rawDesc = []byte{ 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x65, 0x78, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x65, 0x78, 0x74, 0x22, - 0xc8, 0x07, 0x0a, 0x0c, 0x53, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x80, 0x08, 0x0a, 0x0c, 0x53, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x79, 0x65, - 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x75, 0x79, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, - 0x73, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x64, 0x75, - 0x63, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, - 0x64, 0x65, 0x64, 0x75, 0x63, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, - 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0c, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x46, 0x65, 0x65, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x46, 0x65, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x46, 0x65, 0x65, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x46, 0x65, 0x65, - 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x46, 0x65, 0x65, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, - 0x65, 0x46, 0x65, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x69, 0x6e, - 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x53, 0x43, - 0x6f, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x63, 0x6f, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x65, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x13, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x4d, 0x6f, 0x64, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x75, 0x79, 0x65, 0x72, 0x43, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x75, 0x79, - 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x50, - 0x61, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x50, 0x61, 0x69, - 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, - 0x11, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, - 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x73, - 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x18, 0x18, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x53, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x26, 0x0a, 0x0e, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x19, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x1a, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x53, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, - 0x1b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x1a, 0x37, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x53, - 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, - 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, - 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x73, - 0x68, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x68, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x65, 0x0a, 0x19, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x12, 0x10, 0x0a, 0x03, - 0x73, 0x75, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x73, 0x75, 0x62, 0x12, 0x1c, - 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x22, 0xb4, 0x03, 0x0a, - 0x12, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x07, 0x62, 0x75, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, + 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x4e, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x75, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, + 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x6c, 0x6c, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, + 0x6c, 0x6c, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x53, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x69, + 0x74, 0x65, 0x6d, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, + 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x64, + 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x11, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x46, 0x65, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x46, 0x65, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x46, 0x65, + 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, + 0x46, 0x65, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x64, 0x75, 0x63, 0x74, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0c, 0x64, 0x65, 0x64, + 0x75, 0x63, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, + 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x46, 0x65, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x11, 0x52, + 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x46, 0x65, 0x65, 0x12, 0x22, 0x0a, + 0x0c, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x75, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x75, 0x79, 0x65, 0x72, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x53, 0x43, 0x6f, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x63, 0x6f, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, + 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x11, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, + 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, 0x73, 0x63, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, 0x73, 0x63, 0x12, 0x20, 0x0a, 0x0b, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x07, 0x70, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x64, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x18, 0x18, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x53, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x50, 0x61, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x68, + 0x69, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x12, 0x52, 0x08, 0x73, 0x68, + 0x69, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x68, 0x69, 0x70, 0x4c, 0x6f, + 0x67, 0x69, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x73, 0x68, 0x69, 0x70, 0x4c, 0x6f, 0x67, 0x69, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x68, 0x69, 0x70, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x68, 0x69, + 0x70, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x53, 0x53, 0x69, + 0x6e, 0x67, 0x6c, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x37, 0x0a, 0x09, 0x44, 0x61, 0x74, + 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0xa8, 0x01, 0x0a, 0x0e, 0x53, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, + 0x6f, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x50, 0x68, + 0x6f, 0x6e, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x68, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x68, + 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, + 0x0a, 0x69, 0x73, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0a, 0x69, 0x73, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, 0x9b, 0x01, + 0x0a, 0x11, 0x53, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x50, 0x61, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x11, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, + 0x68, 0x61, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, + 0x68, 0x61, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x43, + 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, + 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0x65, 0x0a, 0x19, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x4e, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x75, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x03, 0x73, 0x75, 0x62, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x49, 0x64, 0x22, 0xb4, 0x03, 0x0a, 0x12, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x79, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x75, 0x79, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x75, + 0x70, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, + 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x66, 0x66, + 0x69, 0x6c, 0x69, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x61, 0x66, 0x66, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x24, 0x0a, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x64, 0x75, 0x63, 0x74, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x44, + 0x65, 0x64, 0x75, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x44, + 0x65, 0x64, 0x75, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x77, 0x61, 0x6c, + 0x6c, 0x65, 0x74, 0x44, 0x65, 0x64, 0x75, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x61, 0x74, + 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x0a, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x1a, 0x37, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6b, 0x0a, 0x11, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x07, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x64, + 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, + 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x69, + 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x9a, 0x02, 0x0a, 0x1a, 0x53, 0x75, 0x62, 0x6d, 0x69, + 0x74, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x56, 0x32, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x79, 0x65, 0x72, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x75, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x63, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x66, 0x66, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x66, 0x66, 0x69, - 0x6c, 0x69, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x64, 0x75, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x64, 0x75, 0x63, 0x74, 0x12, - 0x22, 0x0a, 0x0c, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x44, 0x65, 0x64, 0x75, 0x63, 0x74, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x44, 0x65, 0x64, - 0x75, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x64, 0x65, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, - 0x74, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x1a, 0x37, 0x0a, 0x09, 0x44, 0x61, - 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0x6b, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x22, 0x9a, 0x02, 0x0a, 0x1a, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4e, 0x6f, 0x72, 0x6d, 0x61, - 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x18, 0x0a, 0x07, 0x62, 0x75, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x07, 0x62, 0x75, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x72, - 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x72, - 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, - 0x0a, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, - 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x64, 0x75, 0x63, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x64, - 0x75, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x44, 0x65, 0x64, - 0x75, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x77, 0x61, 0x6c, 0x6c, 0x65, - 0x74, 0x44, 0x65, 0x64, 0x75, 0x63, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x66, 0x66, 0x69, 0x6c, - 0x69, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x61, 0x66, 0x66, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xe1, 0x01, - 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, - 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x50, 0x61, 0x79, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x08, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x50, 0x61, 0x79, 0x12, 0x18, 0x0a, - 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x74, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x64, 0x65, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x72, - 0x61, 0x64, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, + 0x64, 0x75, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x44, 0x65, 0x64, 0x75, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x61, 0x6c, + 0x6c, 0x65, 0x74, 0x44, 0x65, 0x64, 0x75, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0c, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x44, 0x65, 0x64, 0x75, 0x63, 0x74, 0x12, 0x24, 0x0a, + 0x0d, 0x61, 0x66, 0x66, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x66, 0x66, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x64, 0x65, 0x22, 0xed, 0x01, 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, 0x62, + 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, + 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, + 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, + 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x50, 0x61, 0x79, + 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, + 0x50, 0x61, 0x79, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x4d, + 0x65, 0x72, 0x67, 0x65, 0x50, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, + 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x50, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, - 0x6f, 0x22, 0x47, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x12, 0x1a, - 0x0a, 0x08, 0x73, 0x75, 0x62, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x08, 0x73, 0x75, 0x62, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x52, 0x0a, 0x17, 0x54, 0x72, - 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x53, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, - 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x72, 0x61, 0x74, 0x65, 0x22, 0x49, - 0x0a, 0x17, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x39, 0x0a, 0x14, 0x43, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0b, 0x2e, 0x53, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x22, 0x1f, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x35, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, + 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x22, 0x47, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, + 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, + 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x73, 0x75, 0x62, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x52, 0x0a, 0x17, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x53, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, + 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x72, 0x61, 0x74, 0x65, + 0x22, 0x49, 0x0a, 0x17, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x39, 0x0a, 0x14, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x53, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x1f, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x35, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x4e, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x12, 0x10, 0x0a, 0x03, + 0x73, 0x75, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x73, 0x75, 0x62, 0x22, 0x21, + 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x56, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0x37, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x4f, 0x72, 0x4e, 0x6f, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x22, 0x7e, 0x0a, 0x12, 0x43, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x75, - 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x73, 0x75, 0x62, 0x22, 0x21, 0x0a, 0x09, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x56, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, - 0x37, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x4f, 0x72, 0x4e, 0x6f, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x22, 0x7e, 0x0a, 0x12, 0x43, 0x61, 0x6e, 0x63, - 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x75, 0x62, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x73, 0x75, 0x62, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x73, - 0x42, 0x75, 0x79, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0d, 0x69, 0x73, 0x42, 0x75, 0x79, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x14, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x53, 0x68, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x73, - 0x75, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x73, 0x75, 0x62, 0x12, 0x1e, 0x0a, - 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, - 0x0b, 0x73, 0x68, 0x69, 0x70, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x73, 0x68, 0x69, 0x70, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x22, - 0x5d, 0x0a, 0x11, 0x52, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x49, 0x74, 0x65, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, - 0x73, 0x6b, 0x75, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x73, 0x6b, 0x75, - 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0xed, - 0x01, 0x0a, 0x13, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x79, 0x65, 0x72, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x75, 0x79, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1e, 0x0a, 0x0a, - 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, - 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x52, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0xe8, - 0x04, 0x0a, 0x14, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, - 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x73, 0x65, 0x6c, 0x6c, 0x65, - 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x53, 0x50, 0x72, 0x65, 0x70, - 0x61, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x07, 0x73, - 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x53, 0x43, 0x6f, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x64, - 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, - 0x0c, 0x64, 0x65, 0x64, 0x75, 0x63, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0c, 0x64, 0x65, 0x64, 0x75, 0x63, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x46, 0x65, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x46, 0x65, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x46, 0x65, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, - 0x72, 0x65, 0x46, 0x65, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x70, 0x72, 0x6f, - 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x46, 0x65, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x66, - 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, - 0x0d, 0x62, 0x75, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x0d, 0x62, 0x75, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, - 0x72, 0x61, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x75, 0x79, 0x65, 0x72, 0x42, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0c, 0x62, 0x75, 0x79, 0x65, 0x72, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x75, 0x79, 0x65, 0x72, - 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0b, 0x62, 0x75, - 0x79, 0x65, 0x72, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x53, 0x50, - 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x12, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x73, 0x68, - 0x6f, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x68, 0x6f, 0x70, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x68, 0x6f, 0x70, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x28, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x53, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, - 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xbb, 0x01, 0x0a, 0x11, 0x53, - 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, - 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6b, 0x75, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x73, 0x6b, 0x75, 0x49, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, - 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x70, - 0x65, 0x63, 0x57, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x70, - 0x65, 0x63, 0x57, 0x6f, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, - 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x18, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0x3d, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x62, 0x61, 0x74, - 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x53, - 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0xd3, 0x02, 0x0a, 0x0b, 0x53, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x72, 0x61, - 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x74, 0x72, 0x61, - 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x66, 0x66, 0x69, 0x6c, 0x69, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x66, - 0x66, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x72, - 0x65, 0x62, 0x61, 0x73, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0c, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x0b, 0x53, 0x52, 0x65, 0x62, - 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x62, 0x61, 0x74, - 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x65, 0x62, 0x61, 0x74, - 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, - 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, - 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x74, 0x65, 0x6d, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x62, 0x61, 0x74, 0x65, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x72, 0x65, 0x62, - 0x61, 0x74, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x2a, 0xa9, 0x02, 0x0a, 0x0c, 0x45, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x06, 0x0a, 0x02, 0x5f, 0x33, - 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x74, 0x61, 0x74, 0x41, 0x77, 0x61, 0x69, 0x74, 0x69, - 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x53, - 0x74, 0x61, 0x74, 0x41, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x72, 0x6d, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x74, 0x61, 0x74, 0x41, 0x77, 0x61, 0x69, - 0x74, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, - 0x53, 0x74, 0x61, 0x74, 0x41, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x69, 0x70, - 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x43, 0x61, - 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x10, 0x0b, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x74, 0x61, - 0x74, 0x41, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x10, - 0x0c, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x44, 0x65, 0x63, 0x6c, 0x69, 0x6e, 0x65, - 0x64, 0x10, 0x0d, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, - 0x64, 0x65, 0x64, 0x10, 0x0e, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x6c, 0x79, 0x53, 0x68, 0x69, 0x70, 0x70, 0x65, 0x64, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x53, - 0x74, 0x61, 0x74, 0x53, 0x68, 0x69, 0x70, 0x70, 0x65, 0x64, 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, - 0x53, 0x74, 0x61, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x10, 0x07, 0x12, 0x11, 0x0a, 0x0d, 0x53, - 0x74, 0x61, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x10, 0x08, 0x12, 0x15, - 0x0a, 0x11, 0x53, 0x74, 0x61, 0x74, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x52, 0x65, 0x66, 0x75, 0x6e, - 0x64, 0x65, 0x64, 0x10, 0x0f, 0x42, 0x1f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x32, 0x6f, 0x2e, 0x72, 0x70, 0x63, 0x5a, 0x08, 0x2e, 0x2f, - 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x73, 0x75, 0x62, 0x12, 0x24, 0x0a, 0x0d, + 0x69, 0x73, 0x42, 0x75, 0x79, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x42, 0x75, 0x79, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x14, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x53, 0x68, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x12, 0x10, 0x0a, + 0x03, 0x73, 0x75, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x73, 0x75, 0x62, 0x12, + 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x20, 0x0a, 0x0b, 0x73, 0x68, 0x69, 0x70, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x68, 0x69, 0x70, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, + 0x6f, 0x22, 0x5d, 0x0a, 0x11, 0x52, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x73, 0x6b, 0x75, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x73, + 0x6b, 0x75, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x22, 0xed, 0x01, 0x0a, 0x13, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x79, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x75, 0x79, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1e, + 0x0a, 0x0a, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x52, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, + 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, + 0x22, 0xe8, 0x04, 0x0a, 0x14, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, + 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x73, 0x65, 0x6c, + 0x6c, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x53, 0x50, 0x72, + 0x65, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x07, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x53, 0x43, + 0x6f, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x63, 0x6f, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 0x74, 0x65, + 0x6d, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x64, 0x75, 0x63, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x64, 0x65, 0x64, 0x75, 0x63, 0x74, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x61, 0x64, 0x6a, 0x75, 0x73, + 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x46, 0x65, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x65, 0x78, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x46, 0x65, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x61, 0x63, + 0x6b, 0x61, 0x67, 0x65, 0x46, 0x65, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x65, + 0x64, 0x75, 0x72, 0x65, 0x46, 0x65, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x70, + 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x46, 0x65, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, + 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x24, 0x0a, 0x0d, 0x62, 0x75, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0d, 0x62, 0x75, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x74, + 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x75, 0x79, 0x65, 0x72, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0c, 0x62, 0x75, 0x79, + 0x65, 0x72, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x75, 0x79, + 0x65, 0x72, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0b, + 0x62, 0x75, 0x79, 0x65, 0x72, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x22, 0x8e, 0x01, 0x0a, 0x12, + 0x53, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, + 0x73, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x68, 0x6f, 0x70, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x68, 0x6f, 0x70, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x53, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xbb, 0x01, 0x0a, + 0x11, 0x53, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x74, + 0x65, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6b, + 0x75, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x73, 0x6b, 0x75, 0x49, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x73, 0x70, 0x65, 0x63, 0x57, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x73, 0x70, 0x65, 0x63, 0x57, 0x6f, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x11, + 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x18, 0x0a, 0x16, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x3d, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x62, + 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x22, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, + 0x2e, 0x53, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0xd3, 0x02, 0x0a, 0x0b, 0x53, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x66, 0x66, 0x69, 0x6c, + 0x69, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x61, 0x66, 0x66, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, + 0x0c, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0c, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x0b, 0x53, 0x52, + 0x65, 0x62, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x62, + 0x61, 0x74, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x65, 0x62, + 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, + 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x74, 0x65, + 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x74, + 0x65, 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 0x74, 0x65, + 0x6d, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x62, 0x61, 0x74, + 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x72, + 0x65, 0x62, 0x61, 0x74, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x2a, 0xa9, 0x02, 0x0a, 0x0c, + 0x45, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x06, 0x0a, 0x02, + 0x5f, 0x33, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x74, 0x61, 0x74, 0x41, 0x77, 0x61, 0x69, + 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x01, 0x12, 0x17, 0x0a, + 0x13, 0x53, 0x74, 0x61, 0x74, 0x41, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x72, 0x6d, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x74, 0x61, 0x74, 0x41, 0x77, + 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x10, 0x03, 0x12, 0x18, + 0x0a, 0x14, 0x53, 0x74, 0x61, 0x74, 0x41, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x68, + 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, + 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x10, 0x0b, 0x12, 0x16, 0x0a, 0x12, 0x53, + 0x74, 0x61, 0x74, 0x41, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x10, 0x0c, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x44, 0x65, 0x63, 0x6c, 0x69, + 0x6e, 0x65, 0x64, 0x10, 0x0d, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x52, 0x65, 0x66, + 0x75, 0x6e, 0x64, 0x65, 0x64, 0x10, 0x0e, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x6c, 0x79, 0x53, 0x68, 0x69, 0x70, 0x70, 0x65, 0x64, 0x10, 0x05, 0x12, 0x0f, 0x0a, + 0x0b, 0x53, 0x74, 0x61, 0x74, 0x53, 0x68, 0x69, 0x70, 0x70, 0x65, 0x64, 0x10, 0x06, 0x12, 0x0d, + 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x10, 0x07, 0x12, 0x11, 0x0a, + 0x0d, 0x53, 0x74, 0x61, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x10, 0x08, + 0x12, 0x15, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x74, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x52, 0x65, 0x66, + 0x75, 0x6e, 0x64, 0x65, 0x64, 0x10, 0x0f, 0x42, 0x1f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x32, 0x6f, 0x2e, 0x72, 0x70, 0x63, 0x5a, 0x08, + 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3409,7 +3527,7 @@ func file_message_order_dto_proto_rawDescGZIP() []byte { } var file_message_order_dto_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_message_order_dto_proto_msgTypes = make([]protoimpl.MessageInfo, 32) +var file_message_order_dto_proto_msgTypes = make([]protoimpl.MessageInfo, 33) var file_message_order_dto_proto_goTypes = []interface{}{ (EOrderStatus)(0), // 0: EOrderStatus (*SOrderItem)(nil), // 1: SOrderItem @@ -3417,56 +3535,58 @@ var file_message_order_dto_proto_goTypes = []interface{}{ (*SSubOrder)(nil), // 3: SSubOrder (*SSingleOrder)(nil), // 4: SSingleOrder (*SConsigneeInfo)(nil), // 5: SConsigneeInfo - (*ChangeOrderAddressRequest)(nil), // 6: ChangeOrderAddressRequest - (*SubmitOrderRequest)(nil), // 7: SubmitOrderRequest - (*TradeOrderRequest)(nil), // 8: TradeOrderRequest - (*SubmitNormalOrderV2Request)(nil), // 9: SubmitNormalOrderV2Request - (*OrderSubmitResponse)(nil), // 10: OrderSubmitResponse - (*GetOrderRequest)(nil), // 11: GetOrderRequest - (*TradeOrderSubmitRequest)(nil), // 12: TradeOrderSubmitRequest - (*TradeOrderTicketRequest)(nil), // 13: TradeOrderTicketRequest - (*ComplexItemsResponse)(nil), // 14: ComplexItemsResponse - (*OrderId)(nil), // 15: OrderId - (*OrderNo)(nil), // 16: OrderNo - (*OrderNoV2)(nil), // 17: OrderNoV2 - (*OrderIdOrNo)(nil), // 18: OrderIdOrNo - (*CancelOrderRequest)(nil), // 19: CancelOrderRequest - (*OrderShipmentRequest)(nil), // 20: OrderShipmentRequest - (*RPrepareOrderItem)(nil), // 21: RPrepareOrderItem - (*PrepareOrderRequest)(nil), // 22: PrepareOrderRequest - (*PrepareOrderResponse)(nil), // 23: PrepareOrderResponse - (*SPrepareOrderGroup)(nil), // 24: SPrepareOrderGroup - (*SPrepareOrderItem)(nil), // 25: SPrepareOrderItem - (*QueryRebateListRequest)(nil), // 26: QueryRebateListRequest - (*QueryRebateListResponse)(nil), // 27: QueryRebateListResponse - (*SRebateList)(nil), // 28: SRebateList - (*SRebateItem)(nil), // 29: SRebateItem - nil, // 30: SOrderItem.DataEntry - nil, // 31: SSingleOrder.DataEntry - nil, // 32: SubmitOrderRequest.DataEntry + (*SOrderPayChanData)(nil), // 6: SOrderPayChanData + (*ChangeOrderAddressRequest)(nil), // 7: ChangeOrderAddressRequest + (*SubmitOrderRequest)(nil), // 8: SubmitOrderRequest + (*TradeOrderRequest)(nil), // 9: TradeOrderRequest + (*SubmitNormalOrderV2Request)(nil), // 10: SubmitNormalOrderV2Request + (*OrderSubmitResponse)(nil), // 11: OrderSubmitResponse + (*GetOrderRequest)(nil), // 12: GetOrderRequest + (*TradeOrderSubmitRequest)(nil), // 13: TradeOrderSubmitRequest + (*TradeOrderTicketRequest)(nil), // 14: TradeOrderTicketRequest + (*ComplexItemsResponse)(nil), // 15: ComplexItemsResponse + (*OrderId)(nil), // 16: OrderId + (*OrderNo)(nil), // 17: OrderNo + (*OrderNoV2)(nil), // 18: OrderNoV2 + (*OrderIdOrNo)(nil), // 19: OrderIdOrNo + (*CancelOrderRequest)(nil), // 20: CancelOrderRequest + (*OrderShipmentRequest)(nil), // 21: OrderShipmentRequest + (*RPrepareOrderItem)(nil), // 22: RPrepareOrderItem + (*PrepareOrderRequest)(nil), // 23: PrepareOrderRequest + (*PrepareOrderResponse)(nil), // 24: PrepareOrderResponse + (*SPrepareOrderGroup)(nil), // 25: SPrepareOrderGroup + (*SPrepareOrderItem)(nil), // 26: SPrepareOrderItem + (*QueryRebateListRequest)(nil), // 27: QueryRebateListRequest + (*QueryRebateListResponse)(nil), // 28: QueryRebateListResponse + (*SRebateList)(nil), // 29: SRebateList + (*SRebateItem)(nil), // 30: SRebateItem + nil, // 31: SOrderItem.DataEntry + nil, // 32: SSingleOrder.DataEntry + nil, // 33: SubmitOrderRequest.DataEntry } var file_message_order_dto_proto_depIdxs = []int32{ - 30, // 0: SOrderItem.data:type_name -> SOrderItem.DataEntry + 31, // 0: SOrderItem.data:type_name -> SOrderItem.DataEntry 5, // 1: SParentOrder.consignee:type_name -> SConsigneeInfo 3, // 2: SParentOrder.subOrders:type_name -> SSubOrder 1, // 3: SSubOrder.items:type_name -> SOrderItem - 5, // 4: SSingleOrder.consignee:type_name -> SConsigneeInfo - 1, // 5: SSingleOrder.items:type_name -> SOrderItem - 31, // 6: SSingleOrder.data:type_name -> SSingleOrder.DataEntry - 32, // 7: SubmitOrderRequest.data:type_name -> SubmitOrderRequest.DataEntry - 8, // 8: SubmitOrderRequest.tradeOrder:type_name -> TradeOrderRequest - 4, // 9: TradeOrderSubmitRequest.order:type_name -> SSingleOrder - 1, // 10: ComplexItemsResponse.value:type_name -> SOrderItem - 21, // 11: PrepareOrderRequest.item:type_name -> RPrepareOrderItem - 24, // 12: PrepareOrderResponse.sellers:type_name -> SPrepareOrderGroup - 5, // 13: PrepareOrderResponse.consignee:type_name -> SConsigneeInfo - 25, // 14: SPrepareOrderGroup.items:type_name -> SPrepareOrderItem - 28, // 15: QueryRebateListResponse.value:type_name -> SRebateList - 16, // [16:16] is the sub-list for method output_type - 16, // [16:16] is the sub-list for method input_type - 16, // [16:16] is the sub-list for extension type_name - 16, // [16:16] is the sub-list for extension extendee - 0, // [0:16] is the sub-list for field type_name + 1, // 4: SSingleOrder.items:type_name -> SOrderItem + 5, // 5: SSingleOrder.consignee:type_name -> SConsigneeInfo + 6, // 6: SSingleOrder.tradeData:type_name -> SOrderPayChanData + 32, // 7: SSingleOrder.data:type_name -> SSingleOrder.DataEntry + 33, // 8: SubmitOrderRequest.data:type_name -> SubmitOrderRequest.DataEntry + 9, // 9: SubmitOrderRequest.tradeOrder:type_name -> TradeOrderRequest + 4, // 10: TradeOrderSubmitRequest.order:type_name -> SSingleOrder + 1, // 11: ComplexItemsResponse.value:type_name -> SOrderItem + 22, // 12: PrepareOrderRequest.item:type_name -> RPrepareOrderItem + 25, // 13: PrepareOrderResponse.sellers:type_name -> SPrepareOrderGroup + 5, // 14: PrepareOrderResponse.consignee:type_name -> SConsigneeInfo + 26, // 15: SPrepareOrderGroup.items:type_name -> SPrepareOrderItem + 29, // 16: QueryRebateListResponse.value:type_name -> SRebateList + 17, // [17:17] is the sub-list for method output_type + 17, // [17:17] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name } func init() { file_message_order_dto_proto_init() } @@ -3536,7 +3656,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChangeOrderAddressRequest); i { + switch v := v.(*SOrderPayChanData); i { case 0: return &v.state case 1: @@ -3548,7 +3668,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubmitOrderRequest); i { + switch v := v.(*ChangeOrderAddressRequest); i { case 0: return &v.state case 1: @@ -3560,7 +3680,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TradeOrderRequest); i { + switch v := v.(*SubmitOrderRequest); i { case 0: return &v.state case 1: @@ -3572,7 +3692,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubmitNormalOrderV2Request); i { + switch v := v.(*TradeOrderRequest); i { case 0: return &v.state case 1: @@ -3584,7 +3704,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrderSubmitResponse); i { + switch v := v.(*SubmitNormalOrderV2Request); i { case 0: return &v.state case 1: @@ -3596,7 +3716,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetOrderRequest); i { + switch v := v.(*OrderSubmitResponse); i { case 0: return &v.state case 1: @@ -3608,7 +3728,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TradeOrderSubmitRequest); i { + switch v := v.(*GetOrderRequest); i { case 0: return &v.state case 1: @@ -3620,7 +3740,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TradeOrderTicketRequest); i { + switch v := v.(*TradeOrderSubmitRequest); i { case 0: return &v.state case 1: @@ -3632,7 +3752,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ComplexItemsResponse); i { + switch v := v.(*TradeOrderTicketRequest); i { case 0: return &v.state case 1: @@ -3644,7 +3764,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrderId); i { + switch v := v.(*ComplexItemsResponse); i { case 0: return &v.state case 1: @@ -3656,7 +3776,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrderNo); i { + switch v := v.(*OrderId); i { case 0: return &v.state case 1: @@ -3668,7 +3788,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrderNoV2); i { + switch v := v.(*OrderNo); i { case 0: return &v.state case 1: @@ -3680,7 +3800,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrderIdOrNo); i { + switch v := v.(*OrderNoV2); i { case 0: return &v.state case 1: @@ -3692,7 +3812,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelOrderRequest); i { + switch v := v.(*OrderIdOrNo); i { case 0: return &v.state case 1: @@ -3704,7 +3824,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrderShipmentRequest); i { + switch v := v.(*CancelOrderRequest); i { case 0: return &v.state case 1: @@ -3716,7 +3836,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPrepareOrderItem); i { + switch v := v.(*OrderShipmentRequest); i { case 0: return &v.state case 1: @@ -3728,7 +3848,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PrepareOrderRequest); i { + switch v := v.(*RPrepareOrderItem); i { case 0: return &v.state case 1: @@ -3740,7 +3860,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PrepareOrderResponse); i { + switch v := v.(*PrepareOrderRequest); i { case 0: return &v.state case 1: @@ -3752,7 +3872,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SPrepareOrderGroup); i { + switch v := v.(*PrepareOrderResponse); i { case 0: return &v.state case 1: @@ -3764,7 +3884,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SPrepareOrderItem); i { + switch v := v.(*SPrepareOrderGroup); i { case 0: return &v.state case 1: @@ -3776,7 +3896,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryRebateListRequest); i { + switch v := v.(*SPrepareOrderItem); i { case 0: return &v.state case 1: @@ -3788,7 +3908,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryRebateListResponse); i { + switch v := v.(*QueryRebateListRequest); i { case 0: return &v.state case 1: @@ -3800,7 +3920,7 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SRebateList); i { + switch v := v.(*QueryRebateListResponse); i { case 0: return &v.state case 1: @@ -3812,6 +3932,18 @@ func file_message_order_dto_proto_init() { } } file_message_order_dto_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SRebateList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_message_order_dto_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SRebateItem); i { case 0: return &v.state @@ -3830,7 +3962,7 @@ func file_message_order_dto_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_message_order_dto_proto_rawDesc, NumEnums: 1, - NumMessages: 32, + NumMessages: 33, NumExtensions: 0, NumServices: 0, }, diff --git a/core/service/proto/order_service.pb.go b/core/service/proto/order_service.pb.go index f5cb17618..319a94d8c 100644 --- a/core/service/proto/order_service.pb.go +++ b/core/service/proto/order_service.pb.go @@ -10,6 +10,7 @@ import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" + sync "sync" ) const ( @@ -19,122 +20,258 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +// 获取订单请求 +type OrderRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 订单号 + OrderNo string `protobuf:"bytes,1,opt,name=orderNo,proto3" json:"orderNo"` + // 是否返回详细信息 + WithDetail bool `protobuf:"varint,2,opt,name=withDetail,proto3" json:"withDetail"` +} + +func (x *OrderRequest) Reset() { + *x = OrderRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_order_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderRequest) ProtoMessage() {} + +func (x *OrderRequest) ProtoReflect() protoreflect.Message { + mi := &file_order_service_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrderRequest.ProtoReflect.Descriptor instead. +func (*OrderRequest) Descriptor() ([]byte, []int) { + return file_order_service_proto_rawDescGZIP(), []int{0} +} + +func (x *OrderRequest) GetOrderNo() string { + if x != nil { + return x.OrderNo + } + return "" +} + +func (x *OrderRequest) GetWithDetail() bool { + if x != nil { + return x.WithDetail + } + return false +} + +// 拆分支付单请求 +type BreakPaymentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 支付单 + PaymentOrderNo string `protobuf:"bytes,1,opt,name=paymentOrderNo,proto3" json:"paymentOrderNo"` +} + +func (x *BreakPaymentRequest) Reset() { + *x = BreakPaymentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_order_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BreakPaymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BreakPaymentRequest) ProtoMessage() {} + +func (x *BreakPaymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_order_service_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BreakPaymentRequest.ProtoReflect.Descriptor instead. +func (*BreakPaymentRequest) Descriptor() ([]byte, []int) { + return file_order_service_proto_rawDescGZIP(), []int{1} +} + +func (x *BreakPaymentRequest) GetPaymentOrderNo() string { + if x != nil { + return x.PaymentOrderNo + } + return "" +} + var File_order_service_proto protoreflect.FileDescriptor var file_order_service_proto_rawDesc = []byte{ 0x0a, 0x13, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2f, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x64, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x96, 0x06, 0x0a, - 0x0c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3a, 0x0a, - 0x0b, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x53, - 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x14, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0c, 0x50, 0x72, 0x65, - 0x70, 0x61, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x50, 0x72, 0x65, 0x70, - 0x61, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x15, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x2d, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x0a, 0x2e, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x4e, 0x6f, 0x56, 0x32, 0x1a, 0x0d, 0x2e, 0x53, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x00, 0x12, 0x27, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x4f, 0x72, + 0x65, 0x72, 0x5f, 0x64, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x48, 0x0a, 0x0c, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0x3d, 0x0a, 0x13, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, + 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x32, 0xcf, 0x06, 0x0a, 0x0c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3a, 0x0a, 0x0b, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0c, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x12, 0x14, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, + 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x2d, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x0a, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x56, 0x32, 0x1a, - 0x0d, 0x2e, 0x53, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x00, - 0x12, 0x26, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x61, - 0x73, 0x68, 0x50, 0x61, 0x79, 0x12, 0x06, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x1a, 0x07, 0x2e, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x16, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x12, 0x18, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x07, 0x2e, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x17, 0x50, 0x72, 0x65, 0x70, 0x61, - 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6f, 0x75, 0x70, 0x6f, - 0x6e, 0x5f, 0x12, 0x14, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x4d, 0x61, 0x70, 0x22, 0x00, 0x12, 0x2d, 0x0a, 0x0b, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x07, 0x2e, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x23, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x08, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x1a, - 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x3e, 0x0a, 0x15, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x53, 0x68, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x12, 0x1a, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x1d, 0x0a, 0x06, 0x50, 0x69, - 0x63, 0x6b, 0x55, 0x70, 0x12, 0x08, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x1a, 0x07, - 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x28, 0x0a, 0x04, 0x53, 0x68, 0x69, - 0x70, 0x12, 0x15, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x68, 0x69, 0x70, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x22, 0x00, 0x12, 0x24, 0x0a, 0x0d, 0x42, 0x75, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x64, 0x12, 0x08, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x1a, 0x07, - 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x1d, 0x0a, 0x06, 0x66, 0x6f, 0x72, - 0x62, 0x69, 0x64, 0x12, 0x08, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x1a, 0x07, 0x2e, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x1f, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x42, - 0x79, 0x74, 0x65, 0x73, 0x12, 0x08, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x1a, 0x07, - 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x13, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x17, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x1f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x32, 0x6f, 0x2e, 0x72, 0x70, 0x63, 0x5a, 0x08, 0x2e, 0x2f, - 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x0d, 0x2e, 0x53, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x00, + 0x12, 0x2a, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x0d, 0x2e, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x53, 0x53, + 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x00, 0x12, 0x34, 0x0a, 0x11, + 0x42, 0x72, 0x65, 0x61, 0x6b, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x12, 0x14, 0x2e, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x22, 0x00, 0x12, 0x26, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x43, 0x61, 0x73, 0x68, 0x50, 0x61, 0x79, 0x12, 0x06, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x1a, + 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x16, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x12, 0x18, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x07, + 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x17, 0x50, 0x72, 0x65, + 0x70, 0x61, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6f, 0x75, + 0x70, 0x6f, 0x6e, 0x5f, 0x12, 0x14, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x22, 0x00, 0x12, 0x2d, 0x0a, 0x0b, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x07, 0x2e, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x23, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x72, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x08, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, + 0x6f, 0x1a, 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x3e, 0x0a, 0x15, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x68, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x1d, 0x0a, 0x06, + 0x50, 0x69, 0x63, 0x6b, 0x55, 0x70, 0x12, 0x08, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, + 0x1a, 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x28, 0x0a, 0x04, 0x53, + 0x68, 0x69, 0x70, 0x12, 0x15, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x68, 0x69, 0x70, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x07, 0x2e, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x24, 0x0a, 0x0d, 0x42, 0x75, 0x79, 0x65, 0x72, 0x52, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x08, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, + 0x1a, 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x1d, 0x0a, 0x06, 0x66, + 0x6f, 0x72, 0x62, 0x69, 0x64, 0x12, 0x08, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x1a, + 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x1f, 0x0a, 0x08, 0x4c, 0x6f, + 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x08, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, + 0x1a, 0x07, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x13, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x17, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x1f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x32, 0x6f, 0x2e, 0x72, 0x70, 0x63, 0x5a, 0x08, + 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } +var ( + file_order_service_proto_rawDescOnce sync.Once + file_order_service_proto_rawDescData = file_order_service_proto_rawDesc +) + +func file_order_service_proto_rawDescGZIP() []byte { + file_order_service_proto_rawDescOnce.Do(func() { + file_order_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_order_service_proto_rawDescData) + }) + return file_order_service_proto_rawDescData +} + +var file_order_service_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_order_service_proto_goTypes = []interface{}{ - (*SubmitOrderRequest)(nil), // 0: SubmitOrderRequest - (*PrepareOrderRequest)(nil), // 1: PrepareOrderRequest - (*OrderNoV2)(nil), // 2: OrderNoV2 - (*Int64)(nil), // 3: Int64 - (*TradeOrderTicketRequest)(nil), // 4: TradeOrderTicketRequest - (*CancelOrderRequest)(nil), // 5: CancelOrderRequest - (*OrderNo)(nil), // 6: OrderNo - (*ChangeOrderAddressRequest)(nil), // 7: ChangeOrderAddressRequest - (*OrderShipmentRequest)(nil), // 8: OrderShipmentRequest - (*QueryRebateListRequest)(nil), // 9: QueryRebateListRequest - (*OrderSubmitResponse)(nil), // 10: OrderSubmitResponse - (*PrepareOrderResponse)(nil), // 11: PrepareOrderResponse - (*SParentOrder)(nil), // 12: SParentOrder - (*SSingleOrder)(nil), // 13: SSingleOrder - (*Result)(nil), // 14: Result - (*StringMap)(nil), // 15: StringMap - (*String)(nil), // 16: String - (*QueryRebateListResponse)(nil), // 17: QueryRebateListResponse + (*OrderRequest)(nil), // 0: OrderRequest + (*BreakPaymentRequest)(nil), // 1: BreakPaymentRequest + (*SubmitOrderRequest)(nil), // 2: SubmitOrderRequest + (*PrepareOrderRequest)(nil), // 3: PrepareOrderRequest + (*OrderNoV2)(nil), // 4: OrderNoV2 + (*Int64)(nil), // 5: Int64 + (*TradeOrderTicketRequest)(nil), // 6: TradeOrderTicketRequest + (*CancelOrderRequest)(nil), // 7: CancelOrderRequest + (*OrderNo)(nil), // 8: OrderNo + (*ChangeOrderAddressRequest)(nil), // 9: ChangeOrderAddressRequest + (*OrderShipmentRequest)(nil), // 10: OrderShipmentRequest + (*QueryRebateListRequest)(nil), // 11: QueryRebateListRequest + (*OrderSubmitResponse)(nil), // 12: OrderSubmitResponse + (*PrepareOrderResponse)(nil), // 13: PrepareOrderResponse + (*SParentOrder)(nil), // 14: SParentOrder + (*SSingleOrder)(nil), // 15: SSingleOrder + (*Result)(nil), // 16: Result + (*StringMap)(nil), // 17: StringMap + (*String)(nil), // 18: String + (*QueryRebateListResponse)(nil), // 19: QueryRebateListResponse } var file_order_service_proto_depIdxs = []int32{ - 0, // 0: OrderService.SubmitOrder:input_type -> SubmitOrderRequest - 1, // 1: OrderService.PrepareOrder:input_type -> PrepareOrderRequest - 2, // 2: OrderService.GetParentOrder:input_type -> OrderNoV2 - 2, // 3: OrderService.GetOrder:input_type -> OrderNoV2 - 3, // 4: OrderService.TradeOrderCashPay:input_type -> Int64 - 4, // 5: OrderService.TradeOrderUpdateTicket:input_type -> TradeOrderTicketRequest - 1, // 6: OrderService.PrepareOrderWithCoupon_:input_type -> PrepareOrderRequest - 5, // 7: OrderService.CancelOrder:input_type -> CancelOrderRequest - 6, // 8: OrderService.ConfirmOrder:input_type -> OrderNo - 7, // 9: OrderService.ChangeShipmentAddress:input_type -> ChangeOrderAddressRequest - 6, // 10: OrderService.PickUp:input_type -> OrderNo - 8, // 11: OrderService.Ship:input_type -> OrderShipmentRequest - 6, // 12: OrderService.BuyerReceived:input_type -> OrderNo - 6, // 13: OrderService.forbid:input_type -> OrderNo - 6, // 14: OrderService.LogBytes:input_type -> OrderNo - 9, // 15: OrderService.QueryRebateListList:input_type -> QueryRebateListRequest - 10, // 16: OrderService.SubmitOrder:output_type -> OrderSubmitResponse - 11, // 17: OrderService.PrepareOrder:output_type -> PrepareOrderResponse - 12, // 18: OrderService.GetParentOrder:output_type -> SParentOrder - 13, // 19: OrderService.GetOrder:output_type -> SSingleOrder - 14, // 20: OrderService.TradeOrderCashPay:output_type -> Result - 14, // 21: OrderService.TradeOrderUpdateTicket:output_type -> Result - 15, // 22: OrderService.PrepareOrderWithCoupon_:output_type -> StringMap - 14, // 23: OrderService.CancelOrder:output_type -> Result - 14, // 24: OrderService.ConfirmOrder:output_type -> Result - 14, // 25: OrderService.ChangeShipmentAddress:output_type -> Result - 14, // 26: OrderService.PickUp:output_type -> Result - 14, // 27: OrderService.Ship:output_type -> Result - 14, // 28: OrderService.BuyerReceived:output_type -> Result - 14, // 29: OrderService.forbid:output_type -> Result - 16, // 30: OrderService.LogBytes:output_type -> String - 17, // 31: OrderService.QueryRebateListList:output_type -> QueryRebateListResponse - 16, // [16:32] is the sub-list for method output_type - 0, // [0:16] is the sub-list for method input_type + 2, // 0: OrderService.SubmitOrder:input_type -> SubmitOrderRequest + 3, // 1: OrderService.PrepareOrder:input_type -> PrepareOrderRequest + 4, // 2: OrderService.GetParentOrder:input_type -> OrderNoV2 + 0, // 3: OrderService.GetOrder:input_type -> OrderRequest + 1, // 4: OrderService.BreakPaymentOrder:input_type -> BreakPaymentRequest + 5, // 5: OrderService.TradeOrderCashPay:input_type -> Int64 + 6, // 6: OrderService.TradeOrderUpdateTicket:input_type -> TradeOrderTicketRequest + 3, // 7: OrderService.PrepareOrderWithCoupon_:input_type -> PrepareOrderRequest + 7, // 8: OrderService.CancelOrder:input_type -> CancelOrderRequest + 8, // 9: OrderService.ConfirmOrder:input_type -> OrderNo + 9, // 10: OrderService.ChangeShipmentAddress:input_type -> ChangeOrderAddressRequest + 8, // 11: OrderService.PickUp:input_type -> OrderNo + 10, // 12: OrderService.Ship:input_type -> OrderShipmentRequest + 8, // 13: OrderService.BuyerReceived:input_type -> OrderNo + 8, // 14: OrderService.forbid:input_type -> OrderNo + 8, // 15: OrderService.LogBytes:input_type -> OrderNo + 11, // 16: OrderService.QueryRebateListList:input_type -> QueryRebateListRequest + 12, // 17: OrderService.SubmitOrder:output_type -> OrderSubmitResponse + 13, // 18: OrderService.PrepareOrder:output_type -> PrepareOrderResponse + 14, // 19: OrderService.GetParentOrder:output_type -> SParentOrder + 15, // 20: OrderService.GetOrder:output_type -> SSingleOrder + 16, // 21: OrderService.BreakPaymentOrder:output_type -> Result + 16, // 22: OrderService.TradeOrderCashPay:output_type -> Result + 16, // 23: OrderService.TradeOrderUpdateTicket:output_type -> Result + 17, // 24: OrderService.PrepareOrderWithCoupon_:output_type -> StringMap + 16, // 25: OrderService.CancelOrder:output_type -> Result + 16, // 26: OrderService.ConfirmOrder:output_type -> Result + 16, // 27: OrderService.ChangeShipmentAddress:output_type -> Result + 16, // 28: OrderService.PickUp:output_type -> Result + 16, // 29: OrderService.Ship:output_type -> Result + 16, // 30: OrderService.BuyerReceived:output_type -> Result + 16, // 31: OrderService.forbid:output_type -> Result + 18, // 32: OrderService.LogBytes:output_type -> String + 19, // 33: OrderService.QueryRebateListList:output_type -> QueryRebateListResponse + 17, // [17:34] is the sub-list for method output_type + 0, // [0:17] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name @@ -147,18 +284,45 @@ func file_order_service_proto_init() { } file_global_proto_init() file_message_order_dto_proto_init() + if !protoimpl.UnsafeEnabled { + file_order_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_order_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BreakPaymentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_order_service_proto_rawDesc, NumEnums: 0, - NumMessages: 0, + NumMessages: 2, NumExtensions: 0, NumServices: 1, }, GoTypes: file_order_service_proto_goTypes, DependencyIndexes: file_order_service_proto_depIdxs, + MessageInfos: file_order_service_proto_msgTypes, }.Build() File_order_service_proto = out.File file_order_service_proto_rawDesc = nil diff --git a/core/service/proto/order_service_grpc.pb.go b/core/service/proto/order_service_grpc.pb.go index 781dea93f..9a92db3b5 100644 --- a/core/service/proto/order_service_grpc.pb.go +++ b/core/service/proto/order_service_grpc.pb.go @@ -23,6 +23,7 @@ const ( OrderService_PrepareOrder_FullMethodName = "/OrderService/PrepareOrder" OrderService_GetParentOrder_FullMethodName = "/OrderService/GetParentOrder" OrderService_GetOrder_FullMethodName = "/OrderService/GetOrder" + OrderService_BreakPaymentOrder_FullMethodName = "/OrderService/BreakPaymentOrder" OrderService_TradeOrderCashPay_FullMethodName = "/OrderService/TradeOrderCashPay" OrderService_TradeOrderUpdateTicket_FullMethodName = "/OrderService/TradeOrderUpdateTicket" OrderService_PrepareOrderWithCoupon__FullMethodName = "/OrderService/PrepareOrderWithCoupon_" @@ -48,15 +49,9 @@ type OrderServiceClient interface { // 获取订单信息 GetParentOrder(ctx context.Context, in *OrderNoV2, opts ...grpc.CallOption) (*SParentOrder, error) // 获取子订单,orderId - GetOrder(ctx context.Context, in *OrderNoV2, opts ...grpc.CallOption) (*SSingleOrder, error) - // 获取订单和商品项信息 - // rpc GetOrderAndItems (GetOrderItemsRequest) returns (SSingleOrder) { - // } - // 根据订单号获取子订单,orderNo - // rpc GetSubOrderByNo (String) returns (SSingleOrder) {} - // 获取订单商品项,subOrderId - // rpc GetSubOrderItems (Int64) returns (ComplexItemsResponse) { - // }~ + GetOrder(ctx context.Context, in *OrderRequest, opts ...grpc.CallOption) (*SSingleOrder, error) + // 拆分支付单(多店下单支付未成功时拆分为每个子订单一个支付单) + BreakPaymentOrder(ctx context.Context, in *BreakPaymentRequest, opts ...grpc.CallOption) (*Result, error) // 交易单现金支付,orderId TradeOrderCashPay(ctx context.Context, in *Int64, opts ...grpc.CallOption) (*Result, error) // 上传交易单发票 @@ -118,7 +113,7 @@ func (c *orderServiceClient) GetParentOrder(ctx context.Context, in *OrderNoV2, return out, nil } -func (c *orderServiceClient) GetOrder(ctx context.Context, in *OrderNoV2, opts ...grpc.CallOption) (*SSingleOrder, error) { +func (c *orderServiceClient) GetOrder(ctx context.Context, in *OrderRequest, opts ...grpc.CallOption) (*SSingleOrder, error) { out := new(SSingleOrder) err := c.cc.Invoke(ctx, OrderService_GetOrder_FullMethodName, in, out, opts...) if err != nil { @@ -127,6 +122,15 @@ func (c *orderServiceClient) GetOrder(ctx context.Context, in *OrderNoV2, opts . return out, nil } +func (c *orderServiceClient) BreakPaymentOrder(ctx context.Context, in *BreakPaymentRequest, opts ...grpc.CallOption) (*Result, error) { + out := new(Result) + err := c.cc.Invoke(ctx, OrderService_BreakPaymentOrder_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *orderServiceClient) TradeOrderCashPay(ctx context.Context, in *Int64, opts ...grpc.CallOption) (*Result, error) { out := new(Result) err := c.cc.Invoke(ctx, OrderService_TradeOrderCashPay_FullMethodName, in, out, opts...) @@ -246,15 +250,9 @@ type OrderServiceServer interface { // 获取订单信息 GetParentOrder(context.Context, *OrderNoV2) (*SParentOrder, error) // 获取子订单,orderId - GetOrder(context.Context, *OrderNoV2) (*SSingleOrder, error) - // 获取订单和商品项信息 - // rpc GetOrderAndItems (GetOrderItemsRequest) returns (SSingleOrder) { - // } - // 根据订单号获取子订单,orderNo - // rpc GetSubOrderByNo (String) returns (SSingleOrder) {} - // 获取订单商品项,subOrderId - // rpc GetSubOrderItems (Int64) returns (ComplexItemsResponse) { - // }~ + GetOrder(context.Context, *OrderRequest) (*SSingleOrder, error) + // 拆分支付单(多店下单支付未成功时拆分为每个子订单一个支付单) + BreakPaymentOrder(context.Context, *BreakPaymentRequest) (*Result, error) // 交易单现金支付,orderId TradeOrderCashPay(context.Context, *Int64) (*Result, error) // 上传交易单发票 @@ -295,9 +293,12 @@ func (UnimplementedOrderServiceServer) PrepareOrder(context.Context, *PrepareOrd func (UnimplementedOrderServiceServer) GetParentOrder(context.Context, *OrderNoV2) (*SParentOrder, error) { return nil, status.Errorf(codes.Unimplemented, "method GetParentOrder not implemented") } -func (UnimplementedOrderServiceServer) GetOrder(context.Context, *OrderNoV2) (*SSingleOrder, error) { +func (UnimplementedOrderServiceServer) GetOrder(context.Context, *OrderRequest) (*SSingleOrder, error) { return nil, status.Errorf(codes.Unimplemented, "method GetOrder not implemented") } +func (UnimplementedOrderServiceServer) BreakPaymentOrder(context.Context, *BreakPaymentRequest) (*Result, error) { + return nil, status.Errorf(codes.Unimplemented, "method BreakPaymentOrder not implemented") +} func (UnimplementedOrderServiceServer) TradeOrderCashPay(context.Context, *Int64) (*Result, error) { return nil, status.Errorf(codes.Unimplemented, "method TradeOrderCashPay not implemented") } @@ -402,7 +403,7 @@ func _OrderService_GetParentOrder_Handler(srv interface{}, ctx context.Context, } func _OrderService_GetOrder_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(OrderNoV2) + in := new(OrderRequest) if err := dec(in); err != nil { return nil, err } @@ -414,7 +415,25 @@ func _OrderService_GetOrder_Handler(srv interface{}, ctx context.Context, dec fu FullMethod: OrderService_GetOrder_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OrderServiceServer).GetOrder(ctx, req.(*OrderNoV2)) + return srv.(OrderServiceServer).GetOrder(ctx, req.(*OrderRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _OrderService_BreakPaymentOrder_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BreakPaymentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OrderServiceServer).BreakPaymentOrder(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: OrderService_BreakPaymentOrder_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OrderServiceServer).BreakPaymentOrder(ctx, req.(*BreakPaymentRequest)) } return interceptor(ctx, in, info, handler) } @@ -658,6 +677,10 @@ var OrderService_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetOrder", Handler: _OrderService_GetOrder_Handler, }, + { + MethodName: "BreakPaymentOrder", + Handler: _OrderService_BreakPaymentOrder_Handler, + }, { MethodName: "TradeOrderCashPay", Handler: _OrderService_TradeOrderCashPay_Handler, diff --git a/core/service/proto/payment_service.pb.go b/core/service/proto/payment_service.pb.go index 1e2d7d813..e14a90f35 100644 --- a/core/service/proto/payment_service.pb.go +++ b/core/service/proto/payment_service.pb.go @@ -1040,10 +1040,6 @@ type SPaymentOrder struct { BuyerId int64 `protobuf:"varint,9,opt,name=buyerId,proto3" json:"buyerId"` // * 支付用户编号 PayerId int64 `protobuf:"varint,10,opt,name=payerId,proto3" json:"payerId"` - // * 商品金额 - ItemAmount int64 `protobuf:"varint,11,opt,name=itemAmount,proto3" json:"itemAmount"` - // * 优惠金额 - DiscountAmount int64 `protobuf:"varint,12,opt,name=discountAmount,proto3" json:"discountAmount"` // * 调整金额 AdjustAmount int64 `protobuf:"varint,13,opt,name=adjustAmount,proto3" json:"adjustAmount"` // * 抵扣金额 @@ -1178,20 +1174,6 @@ func (x *SPaymentOrder) GetPayerId() int64 { return 0 } -func (x *SPaymentOrder) GetItemAmount() int64 { - if x != nil { - return x.ItemAmount - } - return 0 -} - -func (x *SPaymentOrder) GetDiscountAmount() int64 { - if x != nil { - return x.DiscountAmount - } - return 0 -} - func (x *SPaymentOrder) GetAdjustAmount() int64 { if x != nil { return x.AdjustAmount @@ -2040,7 +2022,7 @@ var file_payment_service_proto_rawDesc = []byte{ 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0xd0, 0x06, 0x0a, 0x0d, 0x53, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, + 0x38, 0x01, 0x22, 0x88, 0x06, 0x0a, 0x0d, 0x53, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, @@ -2059,183 +2041,179 @@ var file_payment_service_proto_rawDesc = []byte{ 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x75, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x70, 0x61, 0x79, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x64, 0x69, - 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, - 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0c, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x64, 0x75, 0x63, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x64, 0x65, 0x64, 0x75, 0x63, 0x74, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, - 0x75, 0x72, 0x65, 0x46, 0x65, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x72, - 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x46, 0x65, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, - 0x69, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, - 0x70, 0x61, 0x69, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x69, - 0x6e, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x70, 0x61, 0x79, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, - 0x61, 0x79, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x46, - 0x6c, 0x61, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x11, 0x52, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, - 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x72, 0x61, 0x44, 0x61, 0x74, - 0x61, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x74, 0x72, 0x61, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, - 0x11, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6d, - 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x73, 0x75, - 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x65, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0b, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, - 0x69, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x12, 0x52, 0x08, 0x70, 0x61, - 0x69, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x44, - 0x61, 0x74, 0x61, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x53, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x74, 0x72, 0x61, 0x64, - 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, - 0x11, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4f, 0x0a, 0x13, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x74, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, - 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x42, - 0x72, 0x65, 0x61, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x22, 0x55, 0x0a, 0x0f, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x50, 0x61, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, - 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x98, 0x01, - 0x0a, 0x0e, 0x53, 0x54, 0x72, 0x61, 0x64, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x16, 0x0a, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, - 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, - 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0xb7, 0x02, 0x0a, 0x11, 0x53, 0x50, 0x72, - 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, - 0x0a, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, - 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x4d, - 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, - 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, - 0x79, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x70, 0x61, 0x79, - 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x64, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x53, 0x50, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x74, - 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, - 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x46, 0x65, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x46, 0x65, 0x65, - 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x22, 0xc1, 0x01, 0x0a, 0x11, 0x53, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x4e, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x09, - 0x74, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x46, 0x65, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, - 0x65, 0x46, 0x65, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x29, 0x0a, 0x11, 0x50, 0x61, 0x79, 0x49, 0x6e, 0x74, - 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0x41, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, - 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x53, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x22, 0xe3, 0x01, 0x0a, 0x0d, 0x53, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, - 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x61, 0x70, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, - 0x67, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, - 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x6e, 0x74, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x69, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, - 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x2a, 0x9d, 0x01, 0x0a, 0x0a, 0x45, - 0x50, 0x61, 0x79, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x06, 0x0a, 0x02, 0x5f, 0x34, 0x10, - 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x10, 0x01, 0x12, 0x0a, - 0x0a, 0x06, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x6e, - 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, - 0x43, 0x61, 0x72, 0x64, 0x10, 0x08, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, - 0x75, 0x70, 0x6f, 0x6e, 0x10, 0x10, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x61, 0x73, 0x68, 0x10, 0x20, - 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x10, 0x40, 0x12, 0x0a, - 0x0a, 0x05, 0x50, 0x61, 0x79, 0x53, 0x50, 0x10, 0x80, 0x01, 0x12, 0x0e, 0x0a, 0x09, 0x53, 0x65, - 0x6c, 0x6c, 0x65, 0x72, 0x50, 0x61, 0x79, 0x10, 0x80, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x53, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x79, 0x10, 0x80, 0x04, 0x32, 0x84, 0x07, 0x0a, 0x0e, 0x50, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2f, 0x0a, - 0x12, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x12, 0x0e, 0x2e, 0x53, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x1a, 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x39, - 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x12, 0x14, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x53, 0x50, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x00, 0x12, 0x2d, 0x0a, 0x0b, 0x41, 0x64, 0x6a, - 0x75, 0x73, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x41, 0x64, 0x6a, 0x75, 0x73, - 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x07, 0x2e, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x37, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x17, 0x2e, - 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, - 0x00, 0x12, 0x39, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x79, 0x49, - 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x18, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x33, 0x0a, 0x0f, - 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x79, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, - 0x15, 0x2e, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, - 0x00, 0x12, 0x30, 0x0a, 0x0d, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x14, 0x2e, 0x48, 0x79, 0x70, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x0d, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x50, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x15, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x50, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x07, 0x2e, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x2a, 0x0a, 0x09, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, - 0x79, 0x56, 0x31, 0x12, 0x12, 0x2e, 0x50, 0x61, 0x79, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x22, 0x00, 0x12, 0x40, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, - 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x11, 0x2e, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, - 0x2e, 0x53, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x22, 0x00, 0x12, 0x38, 0x0a, 0x09, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x56, - 0x32, 0x12, 0x14, 0x2e, 0x50, 0x61, 0x79, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x56, 0x32, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x50, 0x61, 0x79, 0x47, 0x61, 0x74, - 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x2f, - 0x0a, 0x0c, 0x4d, 0x69, 0x78, 0x65, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, - 0x2e, 0x4d, 0x69, 0x78, 0x65, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, - 0x2d, 0x0a, 0x10, 0x53, 0x61, 0x76, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, - 0x41, 0x70, 0x70, 0x12, 0x0e, 0x2e, 0x53, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, - 0x41, 0x70, 0x70, 0x1a, 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x3d, - 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, - 0x41, 0x70, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x06, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x1a, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, - 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, - 0x16, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, - 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x17, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, - 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x18, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x33, 0x0a, 0x12, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x41, - 0x70, 0x70, 0x12, 0x12, 0x2e, 0x50, 0x61, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, - 0x65, 0x41, 0x70, 0x70, 0x49, 0x64, 0x1a, 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, - 0x00, 0x42, 0x1f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x67, 0x6f, 0x32, 0x6f, 0x2e, 0x72, 0x70, 0x63, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x61, 0x64, 0x6a, 0x75, + 0x73, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x64, 0x75, + 0x63, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, + 0x64, 0x65, 0x64, 0x75, 0x63, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, + 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x46, 0x65, 0x65, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x46, + 0x65, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x69, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x61, 0x69, 0x64, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x46, 0x6c, 0x61, 0x67, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x61, 0x79, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1c, + 0x0a, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x11, 0x52, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1c, 0x0a, 0x09, + 0x65, 0x78, 0x74, 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x65, 0x78, 0x74, 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x17, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x18, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x69, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x19, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x08, 0x70, 0x61, 0x69, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2d, + 0x0a, 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x61, 0x18, 0x1a, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0f, 0x2e, 0x53, 0x54, 0x72, 0x61, 0x64, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x11, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4f, 0x0a, + 0x13, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x1e, + 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x22, 0x55, + 0x0a, 0x0f, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x79, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x11, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x98, 0x01, 0x0a, 0x0e, 0x53, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x43, 0x68, 0x61, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x68, 0x61, 0x6e, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x63, 0x68, 0x61, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x63, 0x68, 0x61, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, + 0x22, 0xb7, 0x02, 0x0a, 0x11, 0x53, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x64, + 0x65, 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x4e, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x11, 0x52, 0x07, 0x70, 0x61, 0x79, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1e, 0x0a, 0x0a, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, + 0x52, 0x0a, 0x74, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x0b, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x53, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, + 0x65, 0x46, 0x65, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x63, + 0x65, 0x64, 0x75, 0x72, 0x65, 0x46, 0x65, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, + 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, + 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc1, 0x01, 0x0a, 0x11, 0x53, + 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x11, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x63, + 0x65, 0x64, 0x75, 0x72, 0x65, 0x46, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, + 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x46, 0x65, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x29, + 0x0a, 0x11, 0x50, 0x61, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, + 0x70, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x41, 0x0a, 0x19, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, + 0x74, 0x65, 0x41, 0x70, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xe3, 0x01, 0x0a, + 0x0d, 0x53, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x55, + 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x70, 0x55, 0x72, 0x6c, + 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, + 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6f, 0x72, 0x74, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x68, 0x69, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, + 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, + 0x68, 0x74, 0x2a, 0x9d, 0x01, 0x0a, 0x0a, 0x45, 0x50, 0x61, 0x79, 0x4d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x12, 0x06, 0x0a, 0x02, 0x5f, 0x34, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, + 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x10, 0x04, + 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x10, 0x08, 0x12, 0x0e, + 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x10, 0x10, 0x12, 0x08, + 0x0a, 0x04, 0x43, 0x61, 0x73, 0x68, 0x10, 0x20, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x61, 0x6e, 0x6b, + 0x43, 0x61, 0x72, 0x64, 0x10, 0x40, 0x12, 0x0a, 0x0a, 0x05, 0x50, 0x61, 0x79, 0x53, 0x50, 0x10, + 0x80, 0x01, 0x12, 0x0e, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x50, 0x61, 0x79, 0x10, + 0x80, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x79, 0x10, + 0x80, 0x04, 0x32, 0x84, 0x07, 0x0a, 0x0e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2f, 0x0a, 0x12, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x0e, 0x2e, 0x53, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x1a, 0x07, 0x2e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x50, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x0e, 0x2e, 0x53, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, + 0x00, 0x12, 0x2d, 0x0a, 0x0b, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x12, 0x13, 0x2e, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, + 0x12, 0x37, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x79, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x17, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x07, + 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x12, 0x44, 0x69, 0x73, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, + 0x18, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, + 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x22, 0x00, 0x12, 0x33, 0x0a, 0x0f, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x42, + 0x79, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x15, 0x2e, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, + 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x07, + 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x30, 0x0a, 0x0d, 0x48, 0x79, 0x62, + 0x72, 0x69, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x2e, 0x48, 0x79, 0x70, + 0x65, 0x72, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x0d, 0x46, + 0x69, 0x6e, 0x69, 0x73, 0x68, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x15, 0x2e, 0x46, + 0x69, 0x6e, 0x69, 0x73, 0x68, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x2a, + 0x0a, 0x09, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x56, 0x31, 0x12, 0x12, 0x2e, 0x50, 0x61, + 0x79, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x07, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x15, 0x47, 0x65, + 0x74, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x11, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x53, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, + 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x61, 0x22, 0x00, 0x12, 0x38, 0x0a, 0x09, + 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x56, 0x32, 0x12, 0x14, 0x2e, 0x50, 0x61, 0x79, 0x47, + 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x13, 0x2e, 0x50, 0x61, 0x79, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x2f, 0x0a, 0x0c, 0x4d, 0x69, 0x78, 0x65, 0x64, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x2e, 0x4d, 0x69, 0x78, 0x65, 0x64, 0x50, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x07, 0x2e, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x2d, 0x0a, 0x10, 0x53, 0x61, 0x76, 0x65, 0x49, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x12, 0x0e, 0x2e, 0x53, 0x49, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x1a, 0x07, 0x2e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x06, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x16, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, + 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, + 0x17, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, + 0x72, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x33, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, + 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x12, 0x12, 0x2e, 0x50, 0x61, 0x79, + 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x49, 0x64, 0x1a, 0x07, + 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x42, 0x1f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, + 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x32, 0x6f, 0x2e, 0x72, 0x70, 0x63, + 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( diff --git a/core/service/proto/query_service.pb.go b/core/service/proto/query_service.pb.go index 1e87ab6a1..0e421b1cd 100644 --- a/core/service/proto/query_service.pb.go +++ b/core/service/proto/query_service.pb.go @@ -711,17 +711,17 @@ type SMemberPagingOrder struct { // 商品 ItemCount int64 `protobuf:"varint,6,opt,name=itemCount,proto3" json:"itemCount"` // 商品总金额 - ItemAmount int64 `protobuf:"varint,7,opt,name=itemAmount,proto3" json:"itemAmount"` + ItemAmount int32 `protobuf:"zigzag32,7,opt,name=itemAmount,proto3" json:"itemAmount"` // 抵扣金额 - DiscountAmount int64 `protobuf:"varint,8,opt,name=discountAmount,proto3" json:"discountAmount"` + DiscountAmount int32 `protobuf:"zigzag32,8,opt,name=discountAmount,proto3" json:"discountAmount"` // 优惠金额 - DeductAmount int64 `protobuf:"varint,9,opt,name=deductAmount,proto3" json:"deductAmount"` + DeductAmount int32 `protobuf:"zigzag32,9,opt,name=deductAmount,proto3" json:"deductAmount"` // 快递费 - ExpressFee int64 `protobuf:"varint,10,opt,name=expressFee,proto3" json:"expressFee"` + ExpressFee int32 `protobuf:"zigzag32,10,opt,name=expressFee,proto3" json:"expressFee"` // 包装费 - PackageFee int64 `protobuf:"varint,11,opt,name=packageFee,proto3" json:"packageFee"` + PackageFee int32 `protobuf:"zigzag32,11,opt,name=packageFee,proto3" json:"packageFee"` // 最终金额 - FinalAmount int64 `protobuf:"varint,12,opt,name=finalAmount,proto3" json:"finalAmount"` + FinalAmount int32 `protobuf:"zigzag32,12,opt,name=finalAmount,proto3" json:"finalAmount"` // 商品列表 Items []*SOrderItem `protobuf:"bytes,13,rep,name=items,proto3" json:"items"` // 状态 @@ -806,42 +806,42 @@ func (x *SMemberPagingOrder) GetItemCount() int64 { return 0 } -func (x *SMemberPagingOrder) GetItemAmount() int64 { +func (x *SMemberPagingOrder) GetItemAmount() int32 { if x != nil { return x.ItemAmount } return 0 } -func (x *SMemberPagingOrder) GetDiscountAmount() int64 { +func (x *SMemberPagingOrder) GetDiscountAmount() int32 { if x != nil { return x.DiscountAmount } return 0 } -func (x *SMemberPagingOrder) GetDeductAmount() int64 { +func (x *SMemberPagingOrder) GetDeductAmount() int32 { if x != nil { return x.DeductAmount } return 0 } -func (x *SMemberPagingOrder) GetExpressFee() int64 { +func (x *SMemberPagingOrder) GetExpressFee() int32 { if x != nil { return x.ExpressFee } return 0 } -func (x *SMemberPagingOrder) GetPackageFee() int64 { +func (x *SMemberPagingOrder) GetPackageFee() int32 { if x != nil { return x.PackageFee } return 0 } -func (x *SMemberPagingOrder) GetFinalAmount() int64 { +func (x *SMemberPagingOrder) GetFinalAmount() int32 { if x != nil { return x.FinalAmount } @@ -2148,18 +2148,18 @@ var file_query_service_proto_rawDesc = []byte{ 0x08, 0x73, 0x68, 0x6f, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 0x74, 0x65, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x75, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x64, 0x75, 0x63, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x64, 0x65, 0x64, 0x75, 0x63, 0x74, 0x41, 0x6d, 0x6f, + 0x09, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0c, 0x64, 0x65, 0x64, 0x75, 0x63, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x46, 0x65, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x46, 0x65, - 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, + 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x46, 0x65, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x41, + 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x53, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, diff --git a/docs/data/truncate.sql b/docs/data/truncate.sql index 773dd9aec..c80e4449d 100755 --- a/docs/data/truncate.sql +++ b/docs/data/truncate.sql @@ -116,7 +116,6 @@ TRUNCATE TABLE "ws_cart_item"; TRUNCATE TABLE "pay_order"; TRUNCATE TABLE "pay_trade_data"; TRUNCATE TABLE "pay_merge_order"; -TRUNCATE TABLE "pay_sp_trade"; TRUNCATE TABLE "pm_coupon"; diff --git a/docs/data/upgrade_v0.2.1.sql b/docs/data/upgrade_v0.2.1.sql index 5412339db..0dd63ad7e 100755 --- a/docs/data/upgrade_v0.2.1.sql +++ b/docs/data/upgrade_v0.2.1.sql @@ -1,15 +1,4 @@ -CREATE TABLE pay_sp_trade -( - id int(10) NOT NULL AUTO_INCREMENT, - trade_sp varchar(20) NOT NULL comment '交易SP', - trade_no varchar(45) NOT NULL comment '交易号', - trade_orders varchar(512) NOT NULL comment '合并的订单号,交易号用"|"分割', - trade_state int(1) NOT NULL comment '交易状态', - trade_result int(1) NOT NULL comment '交易结果', - trade_remark varchar(200) NOT NULL comment '交易备注', - trade_time int(11) NOT NULL comment '交易时间', - PRIMARY KEY (id) -); + CREATE TABLE pay_merge_order ( id int(10) NOT NULL AUTO_INCREMENT comment '编号', @@ -86,7 +75,4 @@ ALTER TABLE pay_merge_order modify column merge_trade_no varchar (40) NOT NULL; ALTER TABLE pay_merge_order modify column order_trade_no varchar (40) NOT NULL; -ALTER TABLE pay_sp_trade - modify column trade_no varchar (40) NOT NULL; -ALTER TABLE pay_sp_trade - modify column sp_trade_no varchar (40) NOT NULL; + diff --git a/tests/domain/member_test.go b/tests/domain/member_test.go index 378d0b030..05ff9d872 100644 --- a/tests/domain/member_test.go +++ b/tests/domain/member_test.go @@ -247,6 +247,7 @@ func TestMemberWallet(t *testing.T) { } } +// 测试更改头像 func TestChangeHeadPortrait(t *testing.T) { var memberId int64 = 723 portraitUrl := "a/20230310144156396.jpeg" @@ -257,3 +258,15 @@ func TestChangeHeadPortrait(t *testing.T) { t.FailNow() } } + +//  测试更改等级 +func TestChangeMemberLevel(t *testing.T) { + memberId := 821 + repo := ti.Factory.GetMemberRepo() + m := repo.GetMember(int64(memberId)) + err := m.ChangeLevel(1, 0, false) + if err != nil { + t.Error(err) + t.FailNow() + } +} diff --git a/tests/domain/order_test.go b/tests/domain/order_test.go index 007f2d014..e98a161f7 100755 --- a/tests/domain/order_test.go +++ b/tests/domain/order_test.go @@ -163,20 +163,16 @@ func TestCancelOrder(t *testing.T) { } } +// 测试取消子订单 func TestCancelSubOrderByOrderNo(t *testing.T) { - var orderId int64 = 605 + var orderId int64 = 838 orderRepo := ti.Factory.GetOrderRepo() - manager := orderRepo.Manager() - is := manager.GetSubOrder(orderId) + is := orderRepo.Manager().GetSubOrder(orderId) err := is.Cancel(true, "不想要了") if err != nil { t.Log("取消失败:", err.Error()) t.FailNow() } - ip := is.ParentOrder().GetPaymentOrder() - if ip != nil { - t.Log("支付单状态:", ip.Get().State) - } time.Sleep(3000) } @@ -233,7 +229,7 @@ func TestSubmitNormalOrder(t *testing.T) { // 测试从订单重新创建订单并提交付款 func TestRebuildSubmitNormalOrder(t *testing.T) { - orderNo := "1230124001810642" + orderNo := "1230326001400310" repo := ti.Factory.GetOrderRepo() memRepo := ti.Factory.GetMemberRepo() payRepo := ti.Factory.GetPaymentRepo() @@ -251,6 +247,7 @@ func TestRebuildSubmitNormalOrder(t *testing.T) { AddressId: addressId, CouponCode: "", BalanceDeduct: true, + WalletDeduct: true, AffiliateCode: "", PostedData: nil, } @@ -260,7 +257,11 @@ func TestRebuildSubmitNormalOrder(t *testing.T) { t.FailNow() } t.Logf("提交的订单号为:%s", nio.OrderNo()) + ipo := payRepo.GetPaymentOrderByOrderNo(int(order.TRetail), nio.OrderNo()) + t.Logf("提交的支付单号为:%s", ipo.TradeNo()) + + return err = ipo.PaymentFinish("alipay", "1233535080808wr") if err == nil { t.Logf("支付的交易号为:%s,最终金额:%d", nio.OrderNo(), ipo.Get().FinalAmount) @@ -490,7 +491,7 @@ func TestNotifyTradeOrder(t *testing.T) { conn.Do("RPUSH", variable.KvOrderBusinessQueue, value) } -// 测试获取子订单的支付单信息 +// 测试取消子订单支付单信息 func TestGetSubPaymentOrder(t *testing.T) { orderId := 678 order := ti.Factory.GetOrderRepo().Manager().GetSubOrder(int64(orderId)) diff --git a/tests/domain/payment_test.go b/tests/domain/payment_test.go index 7d8f02b7e..b8f16053c 100644 --- a/tests/domain/payment_test.go +++ b/tests/domain/payment_test.go @@ -1,6 +1,7 @@ package domain import ( + "math" "testing" "time" @@ -42,8 +43,6 @@ func TestWalletDeductPaymentOrder(t *testing.T) { } } - - func TestCreateTradeNo(t *testing.T) { for i := 0; i < 10; i++ { println(domain.NewTradeNo(0, i)) @@ -63,7 +62,7 @@ func TestCreateChargePaymentOrder(t *testing.T) { Subject: "充值", BuyerId: 22149, //PayUid: 1, - ItemAmount: 1, + TotalAmount: 1, PayFlag: domain.MathPaymentMethodFlag([]int{ payment.MBankCard, payment.MPaySP, payment.MBalance, payment.MIntegral, payment.MWallet}), @@ -110,3 +109,28 @@ func TestPaymentOrderTradeFinish(t *testing.T) { t.Failed() } } + +// 测试拆分支付单均摊抵扣金额 +func TestBreakPaymentOrderAVGDeductAmount(t *testing.T) { + finalAmount := 10039 + deductAmount := 38 + finalAmount1 := 3021 + finalAmount2 := 7018 + + avgAmount1 := int(math.Round(float64(deductAmount) * (float64(finalAmount1) / float64(finalAmount)))) + avgAmount2 := int(math.Round(float64(deductAmount) * (float64(finalAmount2) / float64(finalAmount)))) + t.Log(avgAmount1, avgAmount2) + + if avgAmount1+avgAmount2 != deductAmount { + t.FailNow() + } +} + +func TestCancelPaymentOrder(t *testing.T) { + orderNo := "1230326007400338" + p := ti.Factory.GetPaymentRepo().GetPaymentOrder(orderNo) + if err := p.Cancel(); err != nil { + t.Error(err) + t.FailNow() + } +} diff --git a/tests/query/order_query_test.go b/tests/query/order_query_test.go index 06f7be968..7f7fcf989 100644 --- a/tests/query/order_query_test.go +++ b/tests/query/order_query_test.go @@ -5,6 +5,7 @@ import ( "github.com/ixre/go2o/core/query" "github.com/ixre/go2o/tests/ti" + "github.com/ixre/gof/types/typeconv" ) func TestQueryMemberNormalOrderList(t *testing.T) { @@ -12,7 +13,7 @@ func TestQueryMemberNormalOrderList(t *testing.T) { q := query.NewOrderQuery(ti.GetOrm()) _, orders := q.QueryPagingNormalOrder(memberId, 0, 50, false, "", "") t.Log("count:", len(orders)) - t.Logf("orders:%#v", orders) + t.Log(typeconv.MustJson(orders[0])) //bytes, _ := json.Marshal(orders[0]) //t.Log(string(bytes)) } diff --git a/tests/service/order_service_test.go b/tests/service/order_service_test.go index 462408c1a..c0b8ad919 100644 --- a/tests/service/order_service_test.go +++ b/tests/service/order_service_test.go @@ -8,18 +8,20 @@ import ( "github.com/ixre/go2o/core/domain/interface/order" "github.com/ixre/go2o/core/service/impl" "github.com/ixre/go2o/core/service/proto" + "github.com/ixre/gof/types/typeconv" ) +// 测试提交普通订单 func TestSubmitNormalOrder(t *testing.T) { var memberId int64 = 1 ret, err := impl.OrderService.SubmitOrder( context.TODO(), &proto.SubmitOrderRequest{ - BuyerId: memberId, - OrderType: int32(order.TRetail), - AddressId: 1, - Subject: "", - CouponCode: "", + BuyerId: memberId, + OrderType: int32(order.TRetail), + AddressId: 1, + Subject: "", + CouponCode: "", BalanceDeduct: false, }) if err != nil { @@ -37,4 +39,27 @@ func TestSubmitOrderSubjectPostgresInsert(t *testing.T) { t.Log("----", s3) } +// 测试获取子订单 +func TestGetSubOrder(t *testing.T) { + // -- 更新状态 + // update sale_sub_order set status = 1 WHERE order_no IN('1230322007642433','1230322001642486') + // -- 更新deductAmount + // update pay_order set deduct_amount = deduct_amount+1000,final_amount = final_amount-1000 where id=670 + // -- 删除已生成的支付单 + // delete FROM pay_order where out_order_no IN('1230322007642433','1230322001642486') + orderNo := "1230324001307478" + ret, _ := impl.OrderService.GetOrder(context.TODO(), &proto.OrderRequest{ + OrderNo: orderNo, + WithDetail: true, + }) + t.Log(typeconv.MustJson(ret)) +} +// 测试拆分支付单 +func TestBreakPaymentOrder(t *testing.T){ + orderNo := "1230322000642437" + ret, _ := impl.OrderService.BreakPaymentOrder(context.TODO(), &proto.BreakPaymentRequest{ + PaymentOrderNo: orderNo, + }) + t.Log(typeconv.MustJson(ret)) +} \ No newline at end of file diff --git a/upgrade/sql/2023-03.sql b/upgrade/sql/2023-03.sql index 11a5584cd..8db4ef8ed 100644 --- a/upgrade/sql/2023-03.sql +++ b/upgrade/sql/2023-03.sql @@ -219,4 +219,28 @@ COMMENT ON TABLE public.ad_hyperlink IS '文本广告'; COMMENT ON COLUMN public.ad_hyperlink.id IS '编号'; COMMENT ON COLUMN public.ad_hyperlink.ad_id IS '广告编号'; COMMENT ON COLUMN public.ad_hyperlink.title IS '标题'; -COMMENT ON COLUMN public.ad_hyperlink.link_url IS '链接地址'; \ No newline at end of file +COMMENT ON COLUMN public.ad_hyperlink.link_url IS '链接地址'; + +/** 删除订单抵扣金额 */ +ALTER TABLE IF EXISTS public.order_list + DROP deduct_amount; + +/** 2023-03-24 */ +ALTER TABLE IF EXISTS public.pay_order DROP COLUMN IF EXISTS item_amount; +ALTER TABLE IF EXISTS public.pay_order DROP COLUMN IF EXISTS discount_amount; + +/** 2023-03-26 */ +DROP TABLE IF EXISTS public.pay_sp_trade; + +DROP TABLE IF EXISTS pay_order_old; +ALTER TABLE IF EXISTS public.pay_trade_data + ADD COLUMN order_id bigint NOT NULL DEFAULT 0; + +COMMENT ON COLUMN public.pay_trade_data.order_id + IS '支付订单编号'; + +-- 给order_id赋值 +update pay_trade_data set order_id=COALESCE(( + SELECT id FROM pay_order WHERE pay_order.trade_no=pay_trade_data.trade_no),0) + WHERE order_id = 0; +