mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 18:13:26 +08:00
【新增】同城配送运费增加超过20公里自定义每公里金额,增加订单超过多少金额免运费设置。
This commit is contained in:
@@ -846,6 +846,16 @@ namespace CoreCms.Net.Configuration
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static readonly string IntraCityServiceBy20KM = "intraCityServiceBy20KM";
|
public static readonly string IntraCityServiceBy20KM = "intraCityServiceBy20KM";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 同城配送超过20公里内
|
||||||
|
/// </summary>
|
||||||
|
public static readonly string IntraCityServiceByExceed20KM = "intraCityServiceByExceed20KM";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 同城配送多少钱免运费
|
||||||
|
/// </summary>
|
||||||
|
public static readonly string IntraCityServiceFreeCredit = "intraCityServiceFreeCredit";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -85,11 +85,11 @@ namespace CoreCms.Net.Configuration
|
|||||||
di.Add(SystemSettingConstVars.OrderAutoSignTime, new DictionaryKeyValues() { sKey = "订单确认收货时间", sValue = "20" });
|
di.Add(SystemSettingConstVars.OrderAutoSignTime, new DictionaryKeyValues() { sKey = "订单确认收货时间", sValue = "20" });
|
||||||
di.Add(SystemSettingConstVars.OrderAutoEvalTime, new DictionaryKeyValues() { sKey = "订单自动评价时间", sValue = "30" });
|
di.Add(SystemSettingConstVars.OrderAutoEvalTime, new DictionaryKeyValues() { sKey = "订单自动评价时间", sValue = "30" });
|
||||||
di.Add(SystemSettingConstVars.RemindOrderTime, new DictionaryKeyValues() { sKey = "订单提醒付款时间", sValue = "1" });
|
di.Add(SystemSettingConstVars.RemindOrderTime, new DictionaryKeyValues() { sKey = "订单提醒付款时间", sValue = "1" });
|
||||||
di.Add(SystemSettingConstVars.ReshipName, new DictionaryKeyValues() { sKey = "退货联系人", sValue = "" });
|
di.Add(SystemSettingConstVars.ReshipName, new DictionaryKeyValues() { sKey = "商家联系人", sValue = "" });
|
||||||
di.Add(SystemSettingConstVars.ReshipMobile, new DictionaryKeyValues() { sKey = "退货联系方式", sValue = "" });
|
di.Add(SystemSettingConstVars.ReshipMobile, new DictionaryKeyValues() { sKey = "商家联系方式", sValue = "" });
|
||||||
di.Add(SystemSettingConstVars.ReshipAreaId, new DictionaryKeyValues() { sKey = "退货区域", sValue = "" });
|
di.Add(SystemSettingConstVars.ReshipAreaId, new DictionaryKeyValues() { sKey = "商家区域", sValue = "" });
|
||||||
di.Add(SystemSettingConstVars.ReshipAddress, new DictionaryKeyValues() { sKey = "退货详细地址", sValue = "" });
|
di.Add(SystemSettingConstVars.ReshipAddress, new DictionaryKeyValues() { sKey = "商家详细地址", sValue = "" });
|
||||||
di.Add(SystemSettingConstVars.ReshipCoordinate, new DictionaryKeyValues() { sKey = "退货坐标", sValue = "" });
|
di.Add(SystemSettingConstVars.ReshipCoordinate, new DictionaryKeyValues() { sKey = "商家坐标", sValue = "" });
|
||||||
|
|
||||||
|
|
||||||
di.Add(SystemSettingConstVars.StoreOrderAutomaticDelivery, new DictionaryKeyValues() { sKey = "门店自提自动发货", sValue = "2" });
|
di.Add(SystemSettingConstVars.StoreOrderAutomaticDelivery, new DictionaryKeyValues() { sKey = "门店自提自动发货", sValue = "2" });
|
||||||
@@ -243,6 +243,8 @@ namespace CoreCms.Net.Configuration
|
|||||||
di.Add(SystemSettingConstVars.IntraCityServiceBy10KM, new DictionaryKeyValues() { sKey = "10公里内", sValue = "0" });
|
di.Add(SystemSettingConstVars.IntraCityServiceBy10KM, new DictionaryKeyValues() { sKey = "10公里内", sValue = "0" });
|
||||||
di.Add(SystemSettingConstVars.IntraCityServiceBy15KM, new DictionaryKeyValues() { sKey = "15公里内", sValue = "0" });
|
di.Add(SystemSettingConstVars.IntraCityServiceBy15KM, new DictionaryKeyValues() { sKey = "15公里内", sValue = "0" });
|
||||||
di.Add(SystemSettingConstVars.IntraCityServiceBy20KM, new DictionaryKeyValues() { sKey = "20公里内", sValue = "0" });
|
di.Add(SystemSettingConstVars.IntraCityServiceBy20KM, new DictionaryKeyValues() { sKey = "20公里内", sValue = "0" });
|
||||||
|
di.Add(SystemSettingConstVars.IntraCityServiceByExceed20KM, new DictionaryKeyValues() { sKey = "超过20公里", sValue = "2" });
|
||||||
|
di.Add(SystemSettingConstVars.IntraCityServiceFreeCredit, new DictionaryKeyValues() { sKey = "免运费额度", sValue = "0" });
|
||||||
|
|
||||||
//签到
|
//签到
|
||||||
di.Add(SystemSettingConstVars.CheckInIsOpen, new DictionaryKeyValues() { sKey = "是否开启签到", sValue = "1" });
|
di.Add(SystemSettingConstVars.CheckInIsOpen, new DictionaryKeyValues() { sKey = "是否开启签到", sValue = "1" });
|
||||||
|
|||||||
@@ -53,7 +53,8 @@ namespace CoreCms.Net.Repository
|
|||||||
type = p.type,
|
type = p.type,
|
||||||
sort = p.sort,
|
sort = p.sort,
|
||||||
isDel = p.isDel,
|
isDel = p.isDel,
|
||||||
createTime = p.createTime
|
createTime = p.createTime,
|
||||||
|
contentBody = p.contentBody
|
||||||
}).WithCache().ToPageListAsync(pageIndex, pageSize, totalCount);
|
}).WithCache().ToPageListAsync(pageIndex, pageSize, totalCount);
|
||||||
var list = new PageList<CoreCmsNotice>(page, pageIndex, pageSize, totalCount);
|
var list = new PageList<CoreCmsNotice>(page, pageIndex, pageSize, totalCount);
|
||||||
return list;
|
return list;
|
||||||
|
|||||||
@@ -721,18 +721,30 @@ namespace CoreCms.Net.Services
|
|||||||
var intraCityServiceBy10Km = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.IntraCityServiceBy10KM).ObjectToDecimal(0);
|
var intraCityServiceBy10Km = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.IntraCityServiceBy10KM).ObjectToDecimal(0);
|
||||||
var intraCityServiceBy15Km = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.IntraCityServiceBy15KM).ObjectToDecimal(0);
|
var intraCityServiceBy15Km = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.IntraCityServiceBy15KM).ObjectToDecimal(0);
|
||||||
var intraCityServiceBy20Km = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.IntraCityServiceBy20KM).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,
|
cartDto.costFreight = 0;
|
||||||
> 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.amount = Math.Round(cartDto.amount + cartDto.costFreight, 2);
|
cartDto.amount = Math.Round(cartDto.amount + cartDto.costFreight, 2);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@@ -808,7 +820,7 @@ namespace CoreCms.Net.Services
|
|||||||
|
|
||||||
//最多可以抵扣的金额
|
//最多可以抵扣的金额
|
||||||
var maxPointDeductedMoney = Math.Round(cartDto.amount * proportion, 4);
|
var maxPointDeductedMoney = Math.Round(cartDto.amount * proportion, 4);
|
||||||
|
|
||||||
//订单积分折现比例(多少积分可以折现1块钱)
|
//订单积分折现比例(多少积分可以折现1块钱)
|
||||||
var pointDiscountedProportion = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.PointDiscountedProportion).ObjectToDecimal(100); //积分兑换比例
|
var pointDiscountedProportion = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.PointDiscountedProportion).ObjectToDecimal(100); //积分兑换比例
|
||||||
var pointDeductedMoney = Math.Round(Convert.ToDecimal(point) / pointDiscountedProportion, 4); ; //积分可以抵扣的钱
|
var pointDeductedMoney = Math.Round(Convert.ToDecimal(point) / pointDiscountedProportion, 4); ; //积分可以抵扣的钱
|
||||||
|
|||||||
@@ -440,21 +440,21 @@
|
|||||||
<!--<input type="text" name="reshipAreaId" value="{{d.data.configs['reshipAreaId']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="" class="layui-input">-->
|
<!--<input type="text" name="reshipAreaId" value="{{d.data.configs['reshipAreaId']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="" class="layui-input">-->
|
||||||
<input type="hidden" name="reshipAreaId" value="{{d.data.configs['reshipAreaId']['sValue']}}">
|
<input type="hidden" name="reshipAreaId" value="{{d.data.configs['reshipAreaId']['sValue']}}">
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-form-mid layui-word-aux">退货区域设置</div>
|
<div class="layui-form-mid layui-word-aux">商家区域设置</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">{{d.data.configs['reshipCoordinate']['sKey']}}:</label>
|
<label class="layui-form-label">{{d.data.configs['reshipCoordinate']['sKey']}}:</label>
|
||||||
<div class="layui-input-inline layui-inline-5">
|
<div class="layui-input-inline layui-inline-5">
|
||||||
<input type="text" name="reshipCoordinate" id="coordinateBox" lay-active="showMap" value="{{d.data.configs['reshipCoordinate']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="退货坐标" class="layui-input">
|
<input type="text" name="reshipCoordinate" id="coordinateBox" lay-active="showMap" value="{{d.data.configs['reshipCoordinate']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="退货坐标" class="layui-input">
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-form-mid layui-word-aux">退货坐标</div>
|
<div class="layui-form-mid layui-word-aux">商家坐标(同城配送的运费计算,将使用用户地址的坐标和本坐标进行计算多少公里数。按照公里数计算运费。)</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">{{d.data.configs['reshipAddress']['sKey']}}:</label>
|
<label class="layui-form-label">{{d.data.configs['reshipAddress']['sKey']}}:</label>
|
||||||
<div class="layui-input-inline layui-inline-5">
|
<div class="layui-input-inline layui-inline-5">
|
||||||
<input type="text" name="reshipAddress" value="{{d.data.configs['reshipAddress']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="退货地址" class="layui-input">
|
<input type="text" name="reshipAddress" value="{{d.data.configs['reshipAddress']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="退货地址" class="layui-input">
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-form-mid layui-word-aux">退货的详细地址</div>
|
<div class="layui-form-mid layui-word-aux">商家的详细地址</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<blockquote class="layui-elem-quote">
|
<blockquote class="layui-elem-quote">
|
||||||
@@ -517,6 +517,20 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="layui-form-mid layui-word-aux">15-20公里以内</div>
|
<div class="layui-form-mid layui-word-aux">15-20公里以内</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">{{d.data.configs['intraCityServiceByExceed20KM']['sKey']}}:</label>
|
||||||
|
<div class="layui-input-inline layui-inline-2">
|
||||||
|
<input type="number" min="0" max="999999" name="intraCityServiceByExceed20KM" value="{{d.data.configs['intraCityServiceByExceed20KM']['sValue']}}" lay-verify="title|number" autocomplete="off" placeholder="请输入正整数" class="layui-input" list="defaultNumbers">
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-mid layui-word-aux">超过20公里,每公里乘以多少。填写每公里单价。</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">{{d.data.configs['intraCityServiceFreeCredit']['sKey']}}:</label>
|
||||||
|
<div class="layui-input-inline layui-inline-2">
|
||||||
|
<input type="number" min="0" max="999999" name="intraCityServiceFreeCredit" value="{{d.data.configs['intraCityServiceFreeCredit']['sValue']}}" lay-verify="title|number" autocomplete="off" placeholder="请输入正整数" class="layui-input" list="defaultNumbers">
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-mid layui-word-aux">订单超过多少钱,免运费,此设置超过0之后,条件满足的情况下以上的距离计算将失效。</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label"> </label>
|
<label class="layui-form-label"> </label>
|
||||||
|
|||||||
@@ -8,17 +8,4 @@
|
|||||||
<a href="https://github.com/CoreUnion/CoreShop" target="_blank" class="layui-btn layui-btn-sm">GitHub下载</a>
|
<a href="https://github.com/CoreUnion/CoreShop" target="_blank" class="layui-btn layui-btn-sm">GitHub下载</a>
|
||||||
<a href="https://gitee.com/CoreUnion/CoreShop" target="_blank" class="layui-btn layui-btn-sm">Gitee下载</a>
|
<a href="https://gitee.com/CoreUnion/CoreShop" target="_blank" class="layui-btn layui-btn-sm">Gitee下载</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="layui-card-header">关于版权</div>
|
|
||||||
<div class="layui-card-body layui-text layadmin-about">
|
|
||||||
|
|
||||||
<blockquote class="layui-elem-quote" style="border: none;">
|
|
||||||
允许个人学习研究使用,支持二次开发。<br />
|
|
||||||
允许商业用途,但仅限自运营,如果商用必须保留版权信息,望自觉遵守。<br />
|
|
||||||
不允许对程序代码以任何形式、任何目的的再发行或出售,否则将追究侵权者法律责任。<br />
|
|
||||||
软件受国家计算机软件著作权保护(登记号:<a href="https://files.cdn.coreshop.cn/images/coreshopcopyright.jpeg" target="_blank">2020SR1224749</a>)。<br />
|
|
||||||
我们的团队水平有限,也是在探索中学习、改进。开源,是为了让认可我们的用户能自由的使用、学习软件的内部架构,让更多的人有机会阅读并发现Bug、对软件项目提出改进意见。
|
|
||||||
</blockquote>
|
|
||||||
<p>© 2021 <a href="http://www.coreshop.cn/" target="_blank">coreshop.cn</a> 版权所有</p>
|
|
||||||
</div>
|
</div>
|
||||||
@@ -57,8 +57,7 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
|||||||
{
|
{
|
||||||
var jm = new WebApiCallBack();
|
var jm = new WebApiCallBack();
|
||||||
|
|
||||||
var list = await _noticeServices.QueryPageAsync(p => p.isDel == false, p => p.createTime, OrderByType.Desc,
|
var list = await _noticeServices.QueryPageAsync(p => p.isDel == false, p => p.createTime, OrderByType.Desc, entity.page, entity.limit);
|
||||||
entity.page, entity.limit);
|
|
||||||
jm.status = true;
|
jm.status = true;
|
||||||
jm.data = list;
|
jm.data = list;
|
||||||
|
|
||||||
@@ -68,8 +67,6 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取单个公告内容
|
/// 获取单个公告内容
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user