mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 18:03:27 +08:00
# 2022-02-24
### 1.3.7 开源社区版: 无 ### 0.2.4 会员专业版: 【新增】数据库sku表【CoreCmsProducts】增加"积分可抵扣金额"【pointsDeduction】字段 【新增】商品sku新增最高抵扣金额功能,可通过积分进行价格抵扣,实现单品使用【积分+价格】的购买模式。与订单积分折扣并存。 【新增】积分新增积分模式功能,分为全局计算和单品计算,【全局计算】是指直接对订单按照使用比例进行计算,【单品计算】是指根据单个商品下sku独立设置的最高可抵扣金额进行计算。 【新增】积分新增显示积分组合兑换价功能,勾选显示,将在商品详情,购物车等界面显示积分加价格的效果。 【新增】积分新增显示名称功能,前端可改名积分显示名称为自定义,如:金豆,衡豆等。 【新增】商品列表页面、购物车界面、下单界面、商品详情界面新增积分新增是否显示组合价功能,如果勾选,将显示【1000积分+25元换购】的内容。 【优化】当添加视频后,默认采用商品封面图作为视频底图,防止视频大小差异出现黑边或预加载中黑屏的问题。 【优化】商品列表展示列表去除padding留白效果。 【优化】优化form表单redio和checkBox选项分行显示的问题。 【修复】修复拼团分享页面倒计时识别失败的问题,修复拼团分享页面分享按钮点击失败的问题。#I4QWDH #I4QWFC
This commit is contained in:
@@ -780,8 +780,8 @@ namespace CoreCms.Net.Services
|
||||
var jm = new WebApiCallBack() { status = true };
|
||||
if (point != 0)
|
||||
{
|
||||
var getUserPointDto = await _userServices.GetUserPoint(userId, 0);
|
||||
if (getUserPointDto.point < point)
|
||||
var user = await _userServices.QueryByClauseAsync(p => p.id == userId);
|
||||
if (user.point < point)
|
||||
{
|
||||
jm.status = false;
|
||||
jm.msg = "积分不足,无法使用积分";
|
||||
@@ -789,23 +789,45 @@ namespace CoreCms.Net.Services
|
||||
}
|
||||
//判断积分值多少钱
|
||||
//计算可用积分
|
||||
|
||||
var allConfigs = await _settingServices.GetConfigDictionaries();
|
||||
|
||||
var ordersPointProportion = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.OrdersPointProportion).ObjectToInt(10);//订单积分使用比例
|
||||
var maxPointDeductedMoney = Math.Round(cartDto.amount * ordersPointProportion / 100, 2); //最大积分抵扣的钱
|
||||
var pointDiscountedProportion = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.PointDiscountedProportion).ObjectToInt(100); //积分兑换比例
|
||||
var pointDeductedMoney = point / pointDiscountedProportion; //积分可以抵扣的钱
|
||||
|
||||
if (maxPointDeductedMoney < pointDeductedMoney)
|
||||
var pointExchangeModel = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.PointExchangeModel).ObjectToInt(); //判断是全局模式还是单品模式
|
||||
if (pointExchangeModel == 1)
|
||||
{
|
||||
jm.status = false;
|
||||
jm.msg = "积分超过订单可使用的积分数量";
|
||||
return jm;
|
||||
var ordersPointProportion = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.OrdersPointProportion).ObjectToInt(10);//订单积分使用比例
|
||||
var maxPointDeductedMoney = Math.Round(cartDto.amount * ordersPointProportion / 100, 2); //最大积分抵扣的钱
|
||||
var pointDiscountedProportion = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.PointDiscountedProportion).ObjectToInt(100); //积分兑换比例
|
||||
var pointDeductedMoney = point / pointDiscountedProportion; //积分可以抵扣的钱
|
||||
|
||||
if (maxPointDeductedMoney < pointDeductedMoney)
|
||||
{
|
||||
jm.status = false;
|
||||
jm.msg = "积分超过订单可使用的积分数量";
|
||||
return jm;
|
||||
}
|
||||
cartDto.point = point;
|
||||
cartDto.pointExchangeMoney = pointDeductedMoney;
|
||||
cartDto.amount -= pointDeductedMoney;
|
||||
}
|
||||
else
|
||||
{
|
||||
//可抵扣金额
|
||||
decimal money = 0;
|
||||
|
||||
foreach (var item in cartDto.list)
|
||||
{
|
||||
money += item.nums * item.products.pointsDeduction;
|
||||
}
|
||||
//计算抵扣这么多金额需要多少积分。
|
||||
//订单积分折现比例(多少积分可以折现1块钱)
|
||||
var pointDiscountedProportion = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.PointDiscountedProportion).ObjectToInt(100);
|
||||
//计算需要多少积分
|
||||
var needsPoint = money * pointDiscountedProportion;
|
||||
|
||||
cartDto.point = point;
|
||||
cartDto.pointExchangeMoney = Convert.ToInt32(money);
|
||||
cartDto.amount -= Convert.ToInt32(money);
|
||||
}
|
||||
cartDto.point = point;
|
||||
cartDto.pointExchangeMoney = pointDeductedMoney;
|
||||
cartDto.amount -= pointDeductedMoney;
|
||||
}
|
||||
jm.data = cartDto;
|
||||
return jm;
|
||||
|
||||
Reference in New Issue
Block a user