新接口合并订单

This commit is contained in:
苏尹岚
2020-08-31 11:40:55 +08:00
parent 7f90df02ab
commit 6750c35ebd
4 changed files with 172 additions and 4 deletions

View File

@@ -118,6 +118,7 @@ type JxOrderInfo struct {
IsBuyNowPrice int `json:"isBuyNowPrice"`
IsPriceDefend int `json:"isPriceDefend"`
OrderID2 string `json:"-"`
UserID string `json:"userID"`
}
type DeliveryTimeItem struct {
@@ -878,6 +879,9 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
if jxOrder.OrderType == model.OrderTypeDefendPrice {
outJxOrder.Skus[0].DefendPrice = jxOrder.Skus[0].DefendPrice
}
if jxOrder.UserID != "" {
outJxOrder.UserID = jxOrder.UserID
}
} else {
outJxOrder = nil
deliveryAddress = nil
@@ -954,6 +958,12 @@ func jxOrder2GoodsOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, deliveryAd
}
order.OrderCreatedAt = order.StatusTime
order.VendorUserID = order.UserID
if order.UserID == "" && order.VendorUserID == "" {
if jxOrder.UserID != "" {
order.UserID = jxOrder.UserID
order.VendorUserID = jxOrder.UserID
}
}
if jxOrder.ExpectedDeliveredTimestamp != 0 {
order.ExpectedDeliveredTime = utils.Timestamp2Time(jxOrder.ExpectedDeliveredTimestamp)
order.BusinessType = model.BusinessTypeDingshida
@@ -1963,6 +1973,8 @@ func CreateOrderByPriceDefend(ctx *jxcontext.Context) (err error) {
userOrderMap[v.AddressID] = append(userOrderMap[v.AddressID], v)
}
for kk, vv := range userOrderMap {
addressList, _, _ := dao.QueryUserDeliveryAddress(db, kk, nil, 0, 0)
address := addressList[0]
if len(vv) == 1 {
jxOrder := &JxOrderInfo{
BuyerComment: "守价订单",
@@ -1975,6 +1987,7 @@ func CreateOrderByPriceDefend(ctx *jxcontext.Context) (err error) {
},
IsPriceDefend: model.YES,
OrderID: utils.Str2Int64(vv[0].VendorOrderID),
UserID: address.UserID,
}
if _, err := CreateOrder(ctx, jxOrder, kk, OrderCreateTypeNormal, 0, false); err == nil {
err = SettleDiscountActByPriceDefend(ctx, vv[0], false)
@@ -1989,6 +2002,7 @@ func CreateOrderByPriceDefend(ctx *jxcontext.Context) (err error) {
StoreID: vv[0].StoreID,
IsPriceDefend: model.YES,
OrderID: GenOrderNo(ctx),
UserID: address.UserID,
}
for _, priceDefend := range vv {
sku := &JxSkuInfo{