可售数一半

This commit is contained in:
苏尹岚
2020-09-16 08:56:36 +08:00
parent 6108de854f
commit 32c45d4cec

View File

@@ -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"`