mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 19:13:26 +08:00
【新增】同城配送运费增加超过20公里自定义每公里金额,增加订单超过多少金额免运费设置。
This commit is contained in:
@@ -721,18 +721,30 @@ namespace CoreCms.Net.Services
|
||||
var intraCityServiceBy10Km = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.IntraCityServiceBy10KM).ObjectToDecimal(0);
|
||||
var intraCityServiceBy15Km = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.IntraCityServiceBy15KM).ObjectToDecimal(0);
|
||||
var intraCityServiceBy20Km = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.IntraCityServiceBy20KM).ObjectToDecimal(0);
|
||||
var intraCityServiceByExceed20Km = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.IntraCityServiceByExceed20KM).ObjectToDecimal(0);
|
||||
|
||||
cartDto.costFreight = result switch
|
||||
if (result is >= 0 and <= 2)
|
||||
cartDto.costFreight = intraCityServiceBy2Km;
|
||||
else if (result is > 2 and <= 5)
|
||||
cartDto.costFreight = intraCityServiceBy5Km;
|
||||
else if (result is > 5 and <= 10)
|
||||
cartDto.costFreight = intraCityServiceBy10Km;
|
||||
else if (result is > 10 and <= 15)
|
||||
cartDto.costFreight = intraCityServiceBy15Km;
|
||||
else if (result is > 15 and <= 20)
|
||||
cartDto.costFreight = intraCityServiceBy20Km;
|
||||
else if (result > 20)
|
||||
cartDto.costFreight = Math.Round(intraCityServiceByExceed20Km * (decimal) result).ObjectToDecimal();
|
||||
else if (result < 0)
|
||||
cartDto.costFreight = intraCityServiceBy2Km;
|
||||
else
|
||||
cartDto.costFreight = cartDto.costFreight;
|
||||
|
||||
var intraCityServiceFreeCredit = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.IntraCityServiceFreeCredit).ObjectToDecimal(0);
|
||||
if (intraCityServiceFreeCredit > 0 && cartDto.amount > intraCityServiceFreeCredit)
|
||||
{
|
||||
>= 0 and <= 2 => intraCityServiceBy2Km,
|
||||
> 2 and <= 5 => intraCityServiceBy5Km,
|
||||
> 5 and <= 10 => intraCityServiceBy10Km,
|
||||
> 10 and <= 15 => intraCityServiceBy15Km,
|
||||
> 15 and <= 20 => intraCityServiceBy20Km,
|
||||
> 20 => Math.Round(result * 2).ObjectToDecimal(),
|
||||
< 0 => intraCityServiceBy2Km,
|
||||
_ => cartDto.costFreight
|
||||
};
|
||||
cartDto.costFreight = 0;
|
||||
}
|
||||
cartDto.amount = Math.Round(cartDto.amount + cartDto.costFreight, 2);
|
||||
}
|
||||
return true;
|
||||
@@ -808,7 +820,7 @@ namespace CoreCms.Net.Services
|
||||
|
||||
//最多可以抵扣的金额
|
||||
var maxPointDeductedMoney = Math.Round(cartDto.amount * proportion, 4);
|
||||
|
||||
|
||||
//订单积分折现比例(多少积分可以折现1块钱)
|
||||
var pointDiscountedProportion = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.PointDiscountedProportion).ObjectToDecimal(100); //积分兑换比例
|
||||
var pointDeductedMoney = Math.Round(Convert.ToDecimal(point) / pointDiscountedProportion, 4); ; //积分可以抵扣的钱
|
||||
|
||||
Reference in New Issue
Block a user