This commit is contained in:
suyl
2021-10-21 09:52:11 +08:00
parent c6c63af342
commit 22ebe82f8e

View File

@@ -1211,128 +1211,128 @@ 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, "")
//TODO 2021-10-21 物料暂时不发京东配送,后续如果要发把下面注释放开就行了 if order.OrderType == model.OrderTypeMatter {
//if order.OrderType == model.OrderTypeMatter { var (
// var ( db = dao.GetDB()
// db = dao.GetDB() )
// ) goods, err := dao.QueryOrders(db, order.VendorOrderID, -1, []int{model.VendorIDJX}, -1, utils.ZeroTimeValue, utils.ZeroTimeValue)
// goods, err := dao.QueryOrders(db, order.VendorOrderID, -1, []int{model.VendorIDJX}, -1, utils.ZeroTimeValue, utils.ZeroTimeValue) if err != nil || len(goods) == 0 {
// if err != nil || len(goods) == 0 { return err
// return err }
// } order.WaybillVendorID = model.VendorIDJDWL
// order.WaybillVendorID = model.VendorIDJDWL dao.UpdateEntity(db, order, "WaybillVendorID")
// dao.UpdateEntity(db, order, "WaybillVendorID") orderSkus := goods[0].Skus
// orderSkus := goods[0].Skus if order.Weight <= splitMatterOrderMinWeight { //2020-04-26, 从5kg 改为小于4.5kg
// if order.Weight <= splitMatterOrderMinWeight { //2020-04-26, 从5kg 改为小于4.5kg var (
// var ( goodsNos []string
// goodsNos []string prices []string
// prices []string quantities []string
// quantities []string countSum int
// countSum int )
// ) for _, v := range orderSkus {
// for _, v := range orderSkus { skus, err := dao.GetSkus(db, []int{v.SkuID}, nil, nil, nil, nil)
// skus, err := dao.GetSkus(db, []int{v.SkuID}, nil, nil, nil, nil) if err != nil || len(skus) == 0 {
// if err != nil || len(skus) == 0 { continue
// continue }
// } goodsNos = append(goodsNos, skus[0].EclpID)
// goodsNos = append(goodsNos, skus[0].EclpID) prices = append(prices, "0")
// prices = append(prices, "0") quantities = append(quantities, utils.Int2Str(v.Count))
// quantities = append(quantities, utils.Int2Str(v.Count)) countSum += v.Count
// countSum += v.Count }
// } //总订单不足3kg && 商品数量不足3个 && 五香粉有库存要送五香粉补足3个
// //总订单不足3kg && 商品数量不足3个 && 五香粉有库存要送五香粉补足3个 stockResult, err := api.JdEclpAPI.QueryStock(jxwxfMatterEclpID)
// stockResult, err := api.JdEclpAPI.QueryStock(jxwxfMatterEclpID) if err == nil && len(stockResult) > 0 && stockResult[0].UsableNum > 0 {
// if err == nil && len(stockResult) > 0 && stockResult[0].UsableNum > 0 { if order.Weight < 3000 && countSum < 3 {
// if order.Weight < 3000 && countSum < 3 { //要判断他本身买没买五香粉EMG4418113943423
// //要判断他本身买没买五香粉EMG4418113943423 var index = 9999
// var index = 9999 for k, v := range goodsNos {
// for k, v := range goodsNos { if v == jxwxfMatterEclpID {
// if v == jxwxfMatterEclpID { index = k
// index = k }
// } }
// } //说明他买了五香粉
// //说明他买了五香粉 if index != 9999 {
// if index != 9999 { quantities[index] = utils.Int2Str(utils.Str2Int(quantities[index]) + 3 - countSum)
// quantities[index] = utils.Int2Str(utils.Str2Int(quantities[index]) + 3 - countSum) } else {
// } else { goodsNos = append(goodsNos, jxwxfMatterEclpID)
// goodsNos = append(goodsNos, jxwxfMatterEclpID) prices = append(prices, "0")
// prices = append(prices, "0") quantities = append(quantities, utils.Int2Str(3-countSum))
// quantities = append(quantities, utils.Int2Str(3-countSum)) }
// } }
// } }
// } //TODO 2021-10-21 物料暂时不发京东配送,后续如果要发把下面注释放开就行了
// 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,
// ShopNo: jdeclpapi.ShopNo, // ShopNo: jdeclpapi.ShopNo,
// DepartmentNo: jdeclpapi.DepartmentNo, // DepartmentNo: jdeclpapi.DepartmentNo,
// ShipperNo: jdeclpapi.ShipperNo, // ShipperNo: jdeclpapi.ShipperNo,
// WarehouseNo: jdeclpapi.WarehouseNo, // WarehouseNo: jdeclpapi.WarehouseNo,
// SalesPlatformOrderNo: order.VendorOrderID, // SalesPlatformOrderNo: order.VendorOrderID,
// SalePlatformSource: jdeclpapi.SalePlatformSource, // SalePlatformSource: jdeclpapi.SalePlatformSource,
// ConsigneeName: order.ConsigneeName, // ConsigneeName: order.ConsigneeName,
// ConsigneeMobile: order.ConsigneeMobile, // ConsigneeMobile: order.ConsigneeMobile,
// ConsigneeAddress: order.ConsigneeAddress, // ConsigneeAddress: order.ConsigneeAddress,
// OrderMark: jdeclpapi.OrderMark, // OrderMark: jdeclpapi.OrderMark,
// GoodsNo: strings.Join(goodsNos, ","), // GoodsNo: strings.Join(goodsNos, ","),
// Price: strings.Join(prices, ","), // Price: strings.Join(prices, ","),
// Quantity: strings.Join(quantities, ","), // Quantity: strings.Join(quantities, ","),
// }) //})
// if err != nil { //if err != nil {
// 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
} }