- set correct OrderSeq for wsc order

This commit is contained in:
gazebo
2019-01-26 09:07:23 +08:00
parent 9f6d96f912
commit a3ee632843

View File

@@ -108,6 +108,7 @@ func (p *PurchaseHandler) GetOrder(vendorOrderID string) (order *model.GoodsOrde
}
deliveryDetail := result["deliveryDetail"].(map[string]interface{})
logisticsDeliveryDetail := deliveryDetail["logisticsDeliveryDetail"].(map[string]interface{})
paymentInfo := result["paymentInfo"].(map[string]interface{})
order = &model.GoodsOrder{
VendorOrderID: vendorOrderID,
VendorID: model.VendorIDWSC,
@@ -123,10 +124,9 @@ func (p *PurchaseHandler) GetOrder(vendorOrderID string) (order *model.GoodsOrde
BuyerComment: utils.Interface2String(result["buyerRemark"]),
ExpectedDeliveredTime: utils.DefaultTimeValue,
VendorStatus: utils.Int64ToStr(utils.MustInterface2Int64(result["orderStatus"])),
OrderSeq: 0,
// StatusTime:,
OriginalData: string(utils.MustMarshal(result)),
ActualPayPrice: jxutils.StandardPrice2Int(utils.MustInterface2Float64(result["totalAmount"])),
StatusTime: utils.Timestamp2Time(utils.MustInterface2Int64(paymentInfo["paymentTime"]) / 1000),
OriginalData: string(utils.MustMarshal(result)),
ActualPayPrice: jxutils.StandardPrice2Int(utils.MustInterface2Float64(result["totalAmount"])),
}
order.Status = p.GetStatusFromVendorStatus(order.VendorStatus)
itemList := result["itemList"].([]interface{})
@@ -151,6 +151,7 @@ func (p *PurchaseHandler) GetOrder(vendorOrderID string) (order *model.GoodsOrde
order.Weight += sku.Weight * sku.Count
}
p.arrangeSaleStore(order, utils.Interface2String(logisticsDeliveryDetail["receiverCity"]), utils.Interface2String(logisticsDeliveryDetail["receiverProvince"]))
p.setStoreOrderSeq(order)
return order, err
}
@@ -299,3 +300,24 @@ func (p *PurchaseHandler) arrangeSaleStore(order *model.GoodsOrder, cityName, pr
globals.SugarLogger.Errorf("arrangeSaleStore orderID:%s 找不到门店", order.VendorOrderID)
}
}
func (p *PurchaseHandler) setStoreOrderSeq(order *model.GoodsOrder) {
if order.StoreID > 0 {
year, month, day := order.StatusTime.Date()
dateBegin := time.Date(year, month, day, 0, 0, 0, 0, nil)
// dateEnd := date1.Add(time.Hour * 24)
sql := `
SELECT COUNT(*) ct
FROM goods_order t1
WHERE t1.store_id = ? AND t1.order_created_at >= ?
`
var count int
db := dao.GetDB()
if err := dao.GetRow(db, &count, sql, order.StoreID, dateBegin); err == nil {
order.OrderSeq = count + 1
globals.SugarLogger.Errorf("setStoreOrderSeq orderID:%s, orderSeq:%d", order.VendorOrderID, order.OrderSeq)
} else {
globals.SugarLogger.Errorf("setStoreOrderSeq orderID:%s failed with error:%v", order.VendorOrderID, err)
}
}
}