mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 18:43:26 +08:00
# 2022-02-25
### 1.3.7 开源社区版: 无 ### 0.2.5 会员专业版: 【新增】数据库sku表【CoreCmsProducts】增加"赠送积分"【points】字段。 【新增】商品sku新增赠送积分功能,订单结算后可根据单品的积分与数量进行计算。与订单积分按照金额比例获取并存。 【新增】前端新增是否显示单品赠送积分功能,勾选显示,将在商品详情,购物车等界面显示购买此物品赠送多少积分的效果。 【优化】前端使用显示“积分”两个字的界面,替换为后台设置的名称。 【修复】修复form表单录入编辑界面属性值重复的问题。#I4V1PE 【修复】修复商品添加和编辑界面存在的错别字。#I4V1OR 【修复】修复广告位设置商品,弹出选择框不显示图片的问题。#I4V1EO
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user