可售数一半

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