# 2022-02-25

### 1.3.7 开源社区版:
无
### 0.2.5 会员专业版:
【新增】数据库sku表【CoreCmsProducts】增加"赠送积分"【points】字段。
【新增】商品sku新增赠送积分功能,订单结算后可根据单品的积分与数量进行计算。与订单积分按照金额比例获取并存。
【新增】前端新增是否显示单品赠送积分功能,勾选显示,将在商品详情,购物车等界面显示购买此物品赠送多少积分的效果。
【优化】前端使用显示“积分”两个字的界面,替换为后台设置的名称。
【修复】修复form表单录入编辑界面属性值重复的问题。#I4V1PE
【修复】修复商品添加和编辑界面存在的错别字。#I4V1OR
【修复】修复广告位设置商品,弹出选择框不显示图片的问题。#I4V1EO
This commit is contained in:
JianWeie
2022-02-25 01:48:37 +08:00
parent 232640f83f
commit 442d7ef952
29 changed files with 218 additions and 48 deletions

View File

@@ -296,7 +296,7 @@ namespace CoreCms.Net.Services
{
jm.msg += "积分核销";
var pointLogRes = await _userPointLogServices.SetPoint(userId, 0 - order.point,
(int)GlobalEnumVars.UserPointSourceTypes.PointTypeDiscount, "订单" + order.orderId + "使用积分");
(int)GlobalEnumVars.UserPointSourceTypes.PointTypeDiscount, "订单" + order.orderId + "使用");
if (pointLogRes.status == false)
{
return pointLogRes;

View File

@@ -106,21 +106,50 @@ namespace CoreCms.Net.Services
{
using (var container = _serviceProvider.CreateScope())
{
var _settingServices = container.ServiceProvider.GetService<ICoreCmsSettingServices>();
var allConfigs = await _settingServices.GetConfigDictionaries();
var ordersRewardProportion = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.OrdersRewardProportion).ObjectToInt();
if (ordersRewardProportion > 0)
var settingServices = container.ServiceProvider.GetService<ICoreCmsSettingServices>();
var orderItemServices = container.ServiceProvider.GetService<ICoreCmsOrderItemServices>();
var productsServices = container.ServiceProvider.GetService<ICoreCmsProductsServices>();
var allConfigs = await settingServices.GetConfigDictionaries();
//获取积分获取模式
var pointGetModel = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.PointGetModel).ObjectToInt();
if (pointGetModel == 1)
{
var point = Convert.ToInt32(money / ordersRewardProportion);
await SetPoint(userId, point, (int)GlobalEnumVars.UserPointSourceTypes.PointTypeRebate,
"订单:" + orderId + " 积分奖励");
//如果是订单获取,直接走金额计算。
var ordersRewardProportion = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.OrdersRewardProportion).ObjectToInt();
if (ordersRewardProportion > 0)
{
var point = Convert.ToInt32(money / ordersRewardProportion);
await SetPoint(userId, point, (int)GlobalEnumVars.UserPointSourceTypes.PointTypeRebate,
"订单:" + orderId + " 奖励");
}
}
else if (pointGetModel == 2)
{
//如果是单品获取模式,则找订单商品详情
var orderItems = await orderItemServices.QueryListByClauseAsync(p => p.orderId == orderId);
if (orderItems.Any())
{
var productIds = orderItems.Select(p => p.productId).ToList();
var products = await productsServices.QueryListByClauseAsync(p => productIds.Contains(p.id));
var point = 0;
foreach (var item in orderItems)
{
var pd = products.Find(p => p.id == item.productId);
if (pd != null && pd.points > 0)
{
point += pd.points * item.nums;
}
}
if (point > 0)
{
await SetPoint(userId, point, (int)GlobalEnumVars.UserPointSourceTypes.PointTypeRebate,
"订单:" + orderId + " 奖励");
}
}
}
}
}
/// <summary>
/// 判断今天是否签到
/// </summary>