You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

94 lines
2.4 KiB

3 years ago
package supply
3 years ago
import (
"fmt"
"github.com/shopspring/decimal"
)
3 years ago
const (
// QueueSkuPriceChange 商品价格变动
queueSkuPriceChange = "supplySkuPriceChange:%s"
// QueueSkuChange 商品信息变动
queueSkuChange = "supplySkuChange:%s"
3 years ago
// queueOrderSplit 订单拆单
queueOrderSplit = "supplyOrderSplit:%s"
3 years ago
// queueOrderChange 订单变更
queueOrderCancel = "supplyOrderCancel:%s"
3 years ago
// queueOrderStockOut 订单出库
queueOrderStockOut = "supplyOrderStockOut:%s"
3 years ago
OrderCancelSuccess = 1 // 取消成功
OrderCancelFail = 2 // 取消失败
OrderCancelReject = 3 // 拒收/商家主动取消
3 years ago
)
type mq struct {
}
3 years ago
type skuMessage struct {
SkuId uint `json:"skuId"`
}
3 years ago
// SkuPriceChangeQueue @Title 商品价格变动
func (m *mq) SkuPriceChangeQueue() string {
return getQuesuName(queueSkuPriceChange)
}
// SkuChangeQueue @Title 商品变动
func (m *mq) SkuChangeQueue() string {
return getQuesuName(queueSkuChange)
}
3 years ago
type OrderSplit struct {
3 years ago
OrderSn string `json:"orderSn"`
RootOrderSn string `json:"rootOrderSn"`
ParentOrderSn string `json:"parentOrderSn"`
3 years ago
FreightFee decimal.Decimal `json:"freightFee"`
OrderFee decimal.Decimal `json:"orderFee"`
Skus []OrderSplitSkuItem `json:"skus"`
}
type OrderSplitSkuItem struct {
SkuId uint `json:"skuId"`
Quantity uint `json:"quantity"`
}
// OrderSplit @Title 订单拆单
func (m *mq) OrderSplit() string {
return getQuesuName(queueOrderSplit)
}
3 years ago
type OrderCancel struct {
3 years ago
OrderSn string `json:"orderSn"`
ParentOrderSn string `json:"parentOrderSn"`
RootOrderSn string `json:"rootOrderSn"`
Status uint `json:"status"`
3 years ago
}
// OrderCancel @Title 订单取消
func (m *mq) OrderCancel() string {
return getQuesuName(queueOrderCancel)
}
3 years ago
type OrderStockOut struct {
OrderSn string `json:"orderSn"`
ParentOrderSn string `json:"parentOrderSn"`
RootOrderSn string `json:"rootOrderSn"`
Packages []Package `json:"packages"`
}
type Package struct {
LogisticsCode string `json:"logisticsCode"` // 物流编码
LogisticsName string `json:"logisticsName"` // 物流名称
WaybillCode string `json:"waybillCode"` // 运单号
}
// OrderStockOut @Title 订单出库
func (m *mq) OrderStockOut() string {
return getQuesuName(queueOrderCancel)
}
3 years ago
// @Title 获取队列名称
func getQuesuName(queue string) string {
return fmt.Sprintf(queue, Api.Config.AppKey)
}