可售数一半
This commit is contained in:
@@ -118,7 +118,6 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err
|
||||
order.ConsigneeLat = jxutils.StandardCoordinate2Int(lat)
|
||||
order.CoordinateType = model.CoordinateTypeMars
|
||||
}
|
||||
var skuIDs []int
|
||||
for _, v := range msg.ItemInfoList {
|
||||
sku := &model.OrderSku{
|
||||
VendorID: model.VendorIDJDShop,
|
||||
@@ -136,7 +135,6 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err
|
||||
_, _, _, specUnit, _, specQuality := jxutils.SplitSkuName(v.SkuName)
|
||||
sku.Weight = jxutils.FormatSkuWeight(specQuality, specUnit)
|
||||
order.Skus = append(order.Skus, sku)
|
||||
skuIDs = append(skuIDs, sku.SkuID)
|
||||
}
|
||||
storeList, err := common.GetStoreListByLocation(jxcontext.AdminCtx, jxutils.IntCoordinate2Standard(order.ConsigneeLng), jxutils.IntCoordinate2Standard(order.ConsigneeLat), 3000, false, true)
|
||||
if err != nil {
|
||||
@@ -158,27 +156,38 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err
|
||||
order.EarningType = model.EarningTypeQuote
|
||||
}
|
||||
}
|
||||
if order.EarningType == model.EarningTypeQuote {
|
||||
var shopPriceSum int
|
||||
storeSkuList, _ := dao.GetStoresSkusInfo(dao.GetDB(), []int{order.StoreID}, skuIDs)
|
||||
for _, storeSku := range storeSkuList {
|
||||
shopPriceSum += storeSku.Price
|
||||
var (
|
||||
shopPriceSum int
|
||||
saleNormalSum int
|
||||
)
|
||||
for _, sku := range order.Skus {
|
||||
storeSkuList, _ := dao.GetStoresSkusInfo(dao.GetDB(), []int{order.StoreID}, []int{sku.SkuID})
|
||||
if len(storeSkuList) > 0 && storeSkuList[0].Status == model.StoreSkuBindStatusNormal {
|
||||
saleNormalSum += 1
|
||||
shopPriceSum += storeSkuList[0].Price
|
||||
}
|
||||
if shopPriceSum+700 > int(order.TotalShopMoney) {
|
||||
order.StoreID = 102919
|
||||
order.JxStoreID = 102919
|
||||
order.StoreName = "商城模板(成都发货)"
|
||||
order.VendorStoreID = model.JdShopMainVendorStoreID
|
||||
order.DeliveryFlag = model.OrderDeliveryFlagMaskScheduleDisabled
|
||||
}
|
||||
//可售数小于一半就不行
|
||||
if math.Mod(float64(len(order.Skus)), float64(2)) == 0 {
|
||||
if saleNormalSum < len(order.Skus)/2 {
|
||||
buildOrderTo102919(order)
|
||||
} else {
|
||||
if order.EarningType == model.EarningTypeQuote && shopPriceSum+700 > int(order.TotalShopMoney) {
|
||||
buildOrderTo102919(order)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if saleNormalSum <= len(order.Skus)/2 {
|
||||
buildOrderTo102919(order)
|
||||
} else {
|
||||
if order.EarningType == model.EarningTypeQuote && shopPriceSum+700 > int(order.TotalShopMoney) {
|
||||
buildOrderTo102919(order)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
order.StoreID = 102919
|
||||
order.JxStoreID = 102919
|
||||
order.StoreName = "商城模板(成都发货)"
|
||||
order.VendorStoreID = model.JdShopMainVendorStoreID
|
||||
order.DeliveryFlag = model.OrderDeliveryFlagMaskScheduleDisabled
|
||||
buildOrderTo102919(order)
|
||||
}
|
||||
storeMaps, _ := dao.GetStoresMapList(dao.GetDB(), []int{model.VendorIDJDShop}, []int{order.StoreID}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "")
|
||||
if len(storeMaps) > 0 {
|
||||
@@ -198,18 +207,24 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err
|
||||
globals.SugarLogger.Debugf("暂不支持的京东商城订单类型!type: %v", msg.OrderState)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if msg.IDSopShipmenttype == jdshopapi.IdSopShipmenttypeTC {
|
||||
if time, err := api.JdShopAPI.GetOrderExtInfoByOrderId(order.VendorOrderID2); err == nil {
|
||||
order.BusinessType = model.BusinessTypeDingshida
|
||||
order.ExpectedDeliveredTime = utils.Str2Time(time)
|
||||
}
|
||||
}
|
||||
|
||||
setJdsOrderSeq(order)
|
||||
return order, err
|
||||
}
|
||||
|
||||
func buildOrderTo102919(order *model.GoodsOrder) {
|
||||
order.StoreID = 102919
|
||||
order.JxStoreID = 102919
|
||||
order.StoreName = "商城模板(成都发货)"
|
||||
order.VendorStoreID = model.JdShopMainVendorStoreID
|
||||
order.DeliveryFlag = model.OrderDeliveryFlagMaskScheduleDisabled
|
||||
}
|
||||
|
||||
func setJdsOrderSeq(order *model.GoodsOrder) (err error) {
|
||||
type tCount struct {
|
||||
Count int `json:"count"`
|
||||
|
||||
Reference in New Issue
Block a user