aa
This commit is contained in:
@@ -1211,56 +1211,56 @@ func PickupGoods(order *model.GoodsOrder, isSelfDelivery bool, userName string)
|
|||||||
|
|
||||||
func orderSolutionForWuLiao(order *model.GoodsOrder) (err error) {
|
func orderSolutionForWuLiao(order *model.GoodsOrder) (err error) {
|
||||||
err = changeOrderStatus(order.VendorOrderID, model.OrderStatusDelivering, "")
|
err = changeOrderStatus(order.VendorOrderID, model.OrderStatusDelivering, "")
|
||||||
|
if order.OrderType == model.OrderTypeMatter {
|
||||||
|
var (
|
||||||
|
db = dao.GetDB()
|
||||||
|
)
|
||||||
|
goods, err := dao.QueryOrders(db, order.VendorOrderID, -1, []int{model.VendorIDJX}, -1, utils.ZeroTimeValue, utils.ZeroTimeValue)
|
||||||
|
if err != nil || len(goods) == 0 {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
order.WaybillVendorID = model.VendorIDJDWL
|
||||||
|
dao.UpdateEntity(db, order, "WaybillVendorID")
|
||||||
|
orderSkus := goods[0].Skus
|
||||||
|
if order.Weight <= splitMatterOrderMinWeight { //2020-04-26, 从5kg 改为小于4.5kg
|
||||||
|
var (
|
||||||
|
goodsNos []string
|
||||||
|
prices []string
|
||||||
|
quantities []string
|
||||||
|
countSum int
|
||||||
|
)
|
||||||
|
for _, v := range orderSkus {
|
||||||
|
skus, err := dao.GetSkus(db, []int{v.SkuID}, nil, nil, nil, nil)
|
||||||
|
if err != nil || len(skus) == 0 {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
goodsNos = append(goodsNos, skus[0].EclpID)
|
||||||
|
prices = append(prices, "0")
|
||||||
|
quantities = append(quantities, utils.Int2Str(v.Count))
|
||||||
|
countSum += v.Count
|
||||||
|
}
|
||||||
|
//总订单不足3kg && 商品数量不足3个 && 五香粉有库存,要送五香粉,补足3个
|
||||||
|
stockResult, err := api.JdEclpAPI.QueryStock(jxwxfMatterEclpID)
|
||||||
|
if err == nil && len(stockResult) > 0 && stockResult[0].UsableNum > 0 {
|
||||||
|
if order.Weight < 3000 && countSum < 3 {
|
||||||
|
//要判断他本身买没买五香粉EMG4418113943423
|
||||||
|
var index = 9999
|
||||||
|
for k, v := range goodsNos {
|
||||||
|
if v == jxwxfMatterEclpID {
|
||||||
|
index = k
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//说明他买了五香粉
|
||||||
|
if index != 9999 {
|
||||||
|
quantities[index] = utils.Int2Str(utils.Str2Int(quantities[index]) + 3 - countSum)
|
||||||
|
} else {
|
||||||
|
goodsNos = append(goodsNos, jxwxfMatterEclpID)
|
||||||
|
prices = append(prices, "0")
|
||||||
|
quantities = append(quantities, utils.Int2Str(3-countSum))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
//TODO 2021-10-21 物料暂时不发京东配送,后续如果要发把下面注释放开就行了
|
//TODO 2021-10-21 物料暂时不发京东配送,后续如果要发把下面注释放开就行了
|
||||||
//if order.OrderType == model.OrderTypeMatter {
|
|
||||||
// var (
|
|
||||||
// db = dao.GetDB()
|
|
||||||
// )
|
|
||||||
// goods, err := dao.QueryOrders(db, order.VendorOrderID, -1, []int{model.VendorIDJX}, -1, utils.ZeroTimeValue, utils.ZeroTimeValue)
|
|
||||||
// if err != nil || len(goods) == 0 {
|
|
||||||
// return err
|
|
||||||
// }
|
|
||||||
// order.WaybillVendorID = model.VendorIDJDWL
|
|
||||||
// dao.UpdateEntity(db, order, "WaybillVendorID")
|
|
||||||
// orderSkus := goods[0].Skus
|
|
||||||
// if order.Weight <= splitMatterOrderMinWeight { //2020-04-26, 从5kg 改为小于4.5kg
|
|
||||||
// var (
|
|
||||||
// goodsNos []string
|
|
||||||
// prices []string
|
|
||||||
// quantities []string
|
|
||||||
// countSum int
|
|
||||||
// )
|
|
||||||
// for _, v := range orderSkus {
|
|
||||||
// skus, err := dao.GetSkus(db, []int{v.SkuID}, nil, nil, nil, nil)
|
|
||||||
// if err != nil || len(skus) == 0 {
|
|
||||||
// continue
|
|
||||||
// }
|
|
||||||
// goodsNos = append(goodsNos, skus[0].EclpID)
|
|
||||||
// prices = append(prices, "0")
|
|
||||||
// quantities = append(quantities, utils.Int2Str(v.Count))
|
|
||||||
// countSum += v.Count
|
|
||||||
// }
|
|
||||||
// //总订单不足3kg && 商品数量不足3个 && 五香粉有库存,要送五香粉,补足3个
|
|
||||||
// stockResult, err := api.JdEclpAPI.QueryStock(jxwxfMatterEclpID)
|
|
||||||
// if err == nil && len(stockResult) > 0 && stockResult[0].UsableNum > 0 {
|
|
||||||
// if order.Weight < 3000 && countSum < 3 {
|
|
||||||
// //要判断他本身买没买五香粉EMG4418113943423
|
|
||||||
// var index = 9999
|
|
||||||
// for k, v := range goodsNos {
|
|
||||||
// if v == jxwxfMatterEclpID {
|
|
||||||
// index = k
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// //说明他买了五香粉
|
|
||||||
// if index != 9999 {
|
|
||||||
// quantities[index] = utils.Int2Str(utils.Str2Int(quantities[index]) + 3 - countSum)
|
|
||||||
// } else {
|
|
||||||
// goodsNos = append(goodsNos, jxwxfMatterEclpID)
|
|
||||||
// prices = append(prices, "0")
|
|
||||||
// quantities = append(quantities, utils.Int2Str(3-countSum))
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//result, err := api.JdEclpAPI.AddOrder(&jdeclpapi.AddOrderParam{
|
//result, err := api.JdEclpAPI.AddOrder(&jdeclpapi.AddOrderParam{
|
||||||
// IsvUUID: order.VendorOrderID,
|
// IsvUUID: order.VendorOrderID,
|
||||||
// IsvSource: jdeclpapi.IsvSource,
|
// IsvSource: jdeclpapi.IsvSource,
|
||||||
@@ -1282,57 +1282,57 @@ func orderSolutionForWuLiao(order *model.GoodsOrder) (err error) {
|
|||||||
// return err
|
// return err
|
||||||
//}
|
//}
|
||||||
//order.EclpOutID = result
|
//order.EclpOutID = result
|
||||||
// dao.UpdateEntity(db, order, "EclpOutID")
|
dao.UpdateEntity(db, order, "EclpOutID")
|
||||||
// waybill := &model.Waybill{
|
waybill := &model.Waybill{
|
||||||
// VendorOrderID: order.VendorOrderID,
|
VendorOrderID: order.VendorOrderID,
|
||||||
// OrderVendorID: model.VendorIDJX,
|
OrderVendorID: model.VendorIDJX,
|
||||||
// VendorWaybillID: order.EclpOutID,
|
VendorWaybillID: order.EclpOutID,
|
||||||
// WaybillVendorID: model.VendorIDJDWL,
|
WaybillVendorID: model.VendorIDJDWL,
|
||||||
// Status: model.WaybillStatusDelivering,
|
Status: model.WaybillStatusDelivering,
|
||||||
// WaybillCreatedAt: time.Now(),
|
WaybillCreatedAt: time.Now(),
|
||||||
// StatusTime: time.Now(),
|
StatusTime: time.Now(),
|
||||||
// WaybillFinishedAt: utils.DefaultTimeValue,
|
WaybillFinishedAt: utils.DefaultTimeValue,
|
||||||
// DeliveryFlag: model.OrderDeliveryFlagMaskScheduleDisabled,
|
DeliveryFlag: model.OrderDeliveryFlagMaskScheduleDisabled,
|
||||||
// }
|
}
|
||||||
// dao.CreateEntity(db, waybill)
|
dao.CreateEntity(db, waybill)
|
||||||
// } else { //如果重量超过5kg则需要进行拆单分包,商品分包规则。最后一个包不超过5kg,其他包不超过3kg
|
} else { //如果重量超过5kg则需要进行拆单分包,商品分包规则。最后一个包不超过5kg,其他包不超过3kg
|
||||||
// outOrders, _, _ := tryToSplitMatterOrder(buildJxOrderInfo(order, orderSkus))
|
outOrders, _, _ := tryToSplitMatterOrder(buildJxOrderInfo(order, orderSkus))
|
||||||
// //以下为仿照CreateOrder,改了一些参数
|
//以下为仿照CreateOrder,改了一些参数
|
||||||
// for k, v := range outOrders {
|
for k, v := range outOrders {
|
||||||
// v.OrderType = model.OrderTypeMatter
|
v.OrderType = model.OrderTypeMatter
|
||||||
// v.FromStoreID = order.FromStoreID
|
v.FromStoreID = order.FromStoreID
|
||||||
// outJxOrder, deliveryAddress, err := generateOrder(jxcontext.AdminCtx, v, order.AddressID, order.FromStoreID, order.UserID, false, nil)
|
outJxOrder, deliveryAddress, err := generateOrder(jxcontext.AdminCtx, v, order.AddressID, order.FromStoreID, order.UserID, false, nil)
|
||||||
// if err != nil {
|
if err != nil {
|
||||||
// return err
|
return err
|
||||||
// }
|
}
|
||||||
// //分包后的子订单ID默认是后面加两位(目前的规则),要改的话要注意取消订单那的判断
|
//分包后的子订单ID默认是后面加两位(目前的规则),要改的话要注意取消订单那的判断
|
||||||
// outJxOrder.OrderID = utils.Str2Int64(order.VendorOrderID)*100 + int64(k+1)
|
outJxOrder.OrderID = utils.Str2Int64(order.VendorOrderID)*100 + int64(k+1)
|
||||||
// checkMatterDeliveryAddress(deliveryAddress)
|
checkMatterDeliveryAddress(deliveryAddress)
|
||||||
// order2, err2 := jxOrder2GoodsOrder(jxcontext.AdminCtx, outJxOrder, deliveryAddress, order.UserID, false, nil)
|
order2, err2 := jxOrder2GoodsOrder(jxcontext.AdminCtx, outJxOrder, deliveryAddress, order.UserID, false, nil)
|
||||||
// if err = err2; err == nil {
|
if err = err2; err == nil {
|
||||||
// order2.FromStoreID = v.FromStoreID
|
order2.FromStoreID = v.FromStoreID
|
||||||
// order2.AddressID = order.AddressID
|
order2.AddressID = order.AddressID
|
||||||
// order2.Status = model.OrderStatusDelivering
|
order2.Status = model.OrderStatusDelivering
|
||||||
// err = partner.CurOrderManager.OnOrderNew(order2, model.Order2Status(order2))
|
err = partner.CurOrderManager.OnOrderNew(order2, model.Order2Status(order2))
|
||||||
// orderSolutionForWuLiao(order2)
|
orderSolutionForWuLiao(order2)
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
// //刷新一下库存
|
//刷新一下库存
|
||||||
// for _, v := range goods[0].Skus {
|
for _, v := range goods[0].Skus {
|
||||||
// cms.RefreshMatterStock(jxcontext.AdminCtx, v.SkuID)
|
cms.RefreshMatterStock(jxcontext.AdminCtx, v.SkuID)
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
// for _, v := range order.Skus {
|
for _, v := range order.Skus {
|
||||||
// if bagSkuMap[v.SkuID] != 0 {
|
if bagSkuMap[v.SkuID] != 0 {
|
||||||
// stores, _ := dao.GetStoreList(db, []int{order.FromStoreID}, nil, nil, nil, nil, "")
|
stores, _ := dao.GetStoreList(db, []int{order.FromStoreID}, nil, nil, nil, nil, "")
|
||||||
// if len(stores) > 0 {
|
if len(stores) > 0 {
|
||||||
// store := stores[0]
|
store := stores[0]
|
||||||
// store.IsBoughtMatter = model.YES
|
store.IsBoughtMatter = model.YES
|
||||||
// dao.UpdateEntity(db, store, "IsBoughtMatter")
|
dao.UpdateEntity(db, store, "IsBoughtMatter")
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
//}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user