diff --git a/CoreCms.Net.Configuration/GlobalEnumVars.cs b/CoreCms.Net.Configuration/GlobalEnumVars.cs index 7f2b1878..06c89942 100644 --- a/CoreCms.Net.Configuration/GlobalEnumVars.cs +++ b/CoreCms.Net.Configuration/GlobalEnumVars.cs @@ -231,12 +231,12 @@ namespace CoreCms.Net.Configuration /// /// 购物返积分 /// - [Description("购物返积分")] + [Description("购物返")] PointTypeRebate = 2, /// /// 购物使用积分 /// - [Description("购物使用积分")] + [Description("购物使用")] PointTypeDiscount = 3, /// /// 后台编辑 @@ -246,7 +246,7 @@ namespace CoreCms.Net.Configuration /// /// 奖励积分 /// - [Description("奖励积分")] + [Description("奖励")] PointTypePrize = 5, /// /// 积分兑换 diff --git a/CoreCms.Net.Configuration/SystemSettingConstVars.cs b/CoreCms.Net.Configuration/SystemSettingConstVars.cs index eb05fb77..36d408e3 100644 --- a/CoreCms.Net.Configuration/SystemSettingConstVars.cs +++ b/CoreCms.Net.Configuration/SystemSettingConstVars.cs @@ -256,6 +256,17 @@ namespace CoreCms.Net.Configuration /// public const string PointShowExchangePrice = "pointShowExchangePrice"; + + /// + /// 积分赠送模式 + /// + public const string PointGetModel = "pointGetModel"; + + /// + /// 显示积分赠送信息 + /// + public const string PointShowPoint = "pointShowPoint"; + /// /// 订单积分折现比例 /// diff --git a/CoreCms.Net.Configuration/SystemSettingDictionary.cs b/CoreCms.Net.Configuration/SystemSettingDictionary.cs index 64f8cfeb..707d6d11 100644 --- a/CoreCms.Net.Configuration/SystemSettingDictionary.cs +++ b/CoreCms.Net.Configuration/SystemSettingDictionary.cs @@ -117,9 +117,14 @@ namespace CoreCms.Net.Configuration di.Add(SystemSettingConstVars.ContinuitySignAdditional, new DictionaryKeyValues() { sKey = "连续签到追加", sValue = "1" }); di.Add(SystemSettingConstVars.SignMostPoint, new DictionaryKeyValues() { sKey = "单日最大奖励", sValue = "10" }); di.Add(SystemSettingConstVars.PointSwitch, new DictionaryKeyValues() { sKey = "开启积分功能", sValue = "1" }); - di.Add(SystemSettingConstVars.PointExchangeModel, new DictionaryKeyValues() { sKey = "积分模式", sValue = "1" }); + di.Add(SystemSettingConstVars.PointExchangeModel, new DictionaryKeyValues() { sKey = "积分兑换模式", sValue = "1" }); di.Add(SystemSettingConstVars.PointShowName, new DictionaryKeyValues() { sKey = "积分昵称", sValue = "积分" }); di.Add(SystemSettingConstVars.PointShowExchangePrice, new DictionaryKeyValues() { sKey = "显示积分组合兑换价", sValue = "1" }); + + di.Add(SystemSettingConstVars.PointGetModel, new DictionaryKeyValues() { sKey = "积分赠送模式", sValue = "1" }); + di.Add(SystemSettingConstVars.PointShowPoint, new DictionaryKeyValues() { sKey = "显示积分赠送信息", sValue = "1" }); + + di.Add(SystemSettingConstVars.PointDiscountedProportion, new DictionaryKeyValues() { sKey = "订单积分折现比例", sValue = "100" }); di.Add(SystemSettingConstVars.OrdersPointProportion, new DictionaryKeyValues() { sKey = "订单积分使用比例", sValue = "10" }); di.Add(SystemSettingConstVars.OrdersRewardProportion, new DictionaryKeyValues() { sKey = "订单积分奖励比例", sValue = "1" }); diff --git a/CoreCms.Net.Model/Entities/Good/CoreCmsGoodsPartial.cs b/CoreCms.Net.Model/Entities/Good/CoreCmsGoodsPartial.cs index 97eb20ab..bd86af63 100644 --- a/CoreCms.Net.Model/Entities/Good/CoreCmsGoodsPartial.cs +++ b/CoreCms.Net.Model/Entities/Good/CoreCmsGoodsPartial.cs @@ -77,6 +77,13 @@ namespace CoreCms.Net.Model.Entities [SugarColumn(IsIgnore = true)] public decimal pointsDeduction { get; set; } = 0; + /// + /// 赠送积分 + /// + [Display(Name = "赠送积分")] + [SugarColumn(IsIgnore = true)] + public int points { get; set; } = 0; + /// /// 图集 /// diff --git a/CoreCms.Net.Model/Entities/Good/CoreCmsProducts.cs b/CoreCms.Net.Model/Entities/Good/CoreCmsProducts.cs index ce4e34ad..ada62b8a 100644 --- a/CoreCms.Net.Model/Entities/Good/CoreCmsProducts.cs +++ b/CoreCms.Net.Model/Entities/Good/CoreCmsProducts.cs @@ -4,7 +4,7 @@ * Web: https://www.corecms.net * Author: 大灰灰 * Email: jianweie@163.com - * CreateTime: 2022/2/22 0:43:08 + * CreateTime: 2022/2/24 23:51:11 * Description: 暂无 ***********************************************************************/ @@ -136,6 +136,18 @@ namespace CoreCms.Net.Model.Entities public System.Decimal pointsDeduction { get; set; } + /// + /// 赠送积分 + /// + [Display(Name = "赠送积分")] + + [Required(ErrorMessage = "请输入{0}")] + + + + public System.Int32 points { get; set; } + + /// /// 重量(千克) /// diff --git a/CoreCms.Net.Repository/Good/CoreCmsGoodsRepository.cs b/CoreCms.Net.Repository/Good/CoreCmsGoodsRepository.cs index 45f81396..0742566b 100644 --- a/CoreCms.Net.Repository/Good/CoreCmsGoodsRepository.cs +++ b/CoreCms.Net.Repository/Good/CoreCmsGoodsRepository.cs @@ -187,6 +187,7 @@ namespace CoreCms.Net.Repository obj.freezeStock = 0; obj.spesDesc = p.spesDesc; obj.pointsDeduction = p.pointsDeduction; + obj.points = p.points; obj.isDefalut = p.isDefalut; obj.isDel = false; products.Add(obj); @@ -235,6 +236,7 @@ namespace CoreCms.Net.Repository obj.freezeStock = 0; obj.spesDesc = oldObj.spesDesc; obj.pointsDeduction = oldObj.pointsDeduction; + obj.points = oldObj.points; obj.isDefalut = true; obj.isDel = false; if (string.IsNullOrEmpty(obj.images) || !obj.images.Contains(".jpg")) @@ -517,6 +519,7 @@ namespace CoreCms.Net.Repository p.price = child.price; p.spesDesc = child.spesDesc; p.pointsDeduction = child.pointsDeduction; + p.points = child.points; p.stock = child.stock; p.weight = child.weight; @@ -611,6 +614,7 @@ namespace CoreCms.Net.Repository obj.freezeStock = 0; obj.spesDesc = p.spesDesc; obj.pointsDeduction = p.pointsDeduction; + obj.points = p.points; obj.isDefalut = p.isDefalut; obj.images = p.images; if (string.IsNullOrEmpty(p.images) || !p.images.Contains(".jpg")) @@ -666,6 +670,7 @@ namespace CoreCms.Net.Repository obj.stock = newObj.stock; obj.weight = newObj.weight; obj.pointsDeduction = newObj.pointsDeduction; + obj.points = newObj.points; obj.images = newObj.images; obj.isDefalut = true; obj.isDel = false; @@ -696,6 +701,7 @@ namespace CoreCms.Net.Repository obj.stock = newObj.stock; obj.weight = newObj.weight; obj.pointsDeduction = newObj.pointsDeduction; + obj.points = newObj.points; obj.freezeStock = 0; obj.spesDesc = ""; obj.isDefalut = true; @@ -918,6 +924,7 @@ namespace CoreCms.Net.Repository stock = pd.stock, freezeStock = pd.freezeStock, pointsDeduction = pd.pointsDeduction, + points = pd.points, weight = pd.weight }) .MergeTable() @@ -981,6 +988,7 @@ namespace CoreCms.Net.Repository stock = pd.stock, freezeStock = pd.freezeStock, pointsDeduction = pd.pointsDeduction, + points = pd.points, weight = pd.weight }) .MergeTable() @@ -1054,6 +1062,7 @@ namespace CoreCms.Net.Repository costprice = pd.costprice, mktprice = pd.mktprice, pointsDeduction = pd.pointsDeduction, + points = pd.points, stock = pd.stock, freezeStock = pd.freezeStock, weight = pd.weight @@ -1105,6 +1114,7 @@ namespace CoreCms.Net.Repository costprice = pd.costprice, mktprice = pd.mktprice, pointsDeduction = pd.pointsDeduction, + points = pd.points, stock = pd.stock, freezeStock = pd.freezeStock, weight = pd.weight @@ -1180,6 +1190,7 @@ namespace CoreCms.Net.Repository stock = pd.stock, freezeStock = pd.freezeStock, pointsDeduction = pd.pointsDeduction, + points = pd.points, weight = pd.weight }) .With(SqlWith.NoLock) @@ -1233,6 +1244,7 @@ namespace CoreCms.Net.Repository stock = pd.stock, freezeStock = pd.freezeStock, pointsDeduction = pd.pointsDeduction, + points = pd.points, weight = pd.weight }) .MergeTable() @@ -1304,6 +1316,7 @@ namespace CoreCms.Net.Repository stock = pd.stock, freezeStock = pd.freezeStock, pointsDeduction = pd.pointsDeduction, + points = pd.points, weight = pd.weight }) .With(SqlWith.NoLock) @@ -1357,6 +1370,7 @@ namespace CoreCms.Net.Repository stock = pd.stock, freezeStock = pd.freezeStock, pointsDeduction = pd.pointsDeduction, + points = pd.points, weight = pd.weight }) .MergeTable() @@ -1426,6 +1440,7 @@ namespace CoreCms.Net.Repository stock = pd.stock, freezeStock = pd.freezeStock, pointsDeduction = pd.pointsDeduction, + points = pd.points, weight = pd.weight }) .With(SqlWith.NoLock) @@ -1479,6 +1494,7 @@ namespace CoreCms.Net.Repository stock = pd.stock, freezeStock = pd.freezeStock, pointsDeduction = pd.pointsDeduction, + points = pd.points, weight = pd.weight }) .MergeTable() @@ -1551,6 +1567,7 @@ namespace CoreCms.Net.Repository stock = pd.stock, freezeStock = pd.freezeStock, pointsDeduction = pd.pointsDeduction, + points = pd.points, weight = pd.weight }) .With(SqlWith.NoLock) @@ -1604,6 +1621,7 @@ namespace CoreCms.Net.Repository stock = pd.stock, freezeStock = pd.freezeStock, pointsDeduction = pd.pointsDeduction, + points = pd.points, weight = pd.weight }) .MergeTable() @@ -1680,6 +1698,7 @@ namespace CoreCms.Net.Repository stock = pd.stock, freezeStock = pd.freezeStock, pointsDeduction = pd.pointsDeduction, + points = pd.points, weight = pd.weight }) .With(SqlWith.NoLock) @@ -1733,6 +1752,7 @@ namespace CoreCms.Net.Repository stock = pd.stock, freezeStock = pd.freezeStock, pointsDeduction = pd.pointsDeduction, + points = pd.points, weight = pd.weight }) .MergeTable() diff --git a/CoreCms.Net.Repository/Good/CoreCmsProductsRepository.cs b/CoreCms.Net.Repository/Good/CoreCmsProductsRepository.cs index e5fd37a8..ad68ea2a 100644 --- a/CoreCms.Net.Repository/Good/CoreCmsProductsRepository.cs +++ b/CoreCms.Net.Repository/Good/CoreCmsProductsRepository.cs @@ -128,6 +128,7 @@ namespace CoreCms.Net.Repository stock = product.stock, freezeStock = product.freezeStock, pointsDeduction = product.pointsDeduction, + points = product.points, spesDesc = product.spesDesc, isDefalut = product.isDefalut, images = product.images, @@ -160,6 +161,7 @@ namespace CoreCms.Net.Repository stock = product.stock, freezeStock = product.freezeStock, pointsDeduction = product.pointsDeduction, + points = product.points, spesDesc = product.spesDesc, isDefalut = product.isDefalut, images = product.images, @@ -208,6 +210,7 @@ namespace CoreCms.Net.Repository stock = p.stock, freezeStock = p.freezeStock, pointsDeduction = p.pointsDeduction, + points = p.points, spesDesc = p.spesDesc, isDefalut = p.isDefalut, images = p.images, @@ -314,6 +317,7 @@ namespace CoreCms.Net.Repository stock = p.stock, freezeStock = p.freezeStock, pointsDeduction = p.pointsDeduction, + points = p.points, spesDesc = p.spesDesc, isDefalut = p.isDefalut, images = p.images, diff --git a/CoreCms.Net.Services/Order/CoreCmsOrderServices.cs b/CoreCms.Net.Services/Order/CoreCmsOrderServices.cs index fc5188a2..d1d0df1c 100644 --- a/CoreCms.Net.Services/Order/CoreCmsOrderServices.cs +++ b/CoreCms.Net.Services/Order/CoreCmsOrderServices.cs @@ -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; diff --git a/CoreCms.Net.Services/User/CoreCmsUserPointLogServices.cs b/CoreCms.Net.Services/User/CoreCmsUserPointLogServices.cs index 42ec12ba..1d026e74 100644 --- a/CoreCms.Net.Services/User/CoreCmsUserPointLogServices.cs +++ b/CoreCms.Net.Services/User/CoreCmsUserPointLogServices.cs @@ -106,21 +106,50 @@ namespace CoreCms.Net.Services { using (var container = _serviceProvider.CreateScope()) { - var _settingServices = container.ServiceProvider.GetService(); - var allConfigs = await _settingServices.GetConfigDictionaries(); - - var ordersRewardProportion = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.OrdersRewardProportion).ObjectToInt(); - if (ordersRewardProportion > 0) + var settingServices = container.ServiceProvider.GetService(); + var orderItemServices = container.ServiceProvider.GetService(); + var productsServices = container.ServiceProvider.GetService(); + 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 + " 奖励"); + } + } } } } - /// /// 判断今天是否签到 /// diff --git a/CoreCms.Net.Uni-App/CoreShop/pages/category/list/list.vue b/CoreCms.Net.Uni-App/CoreShop/pages/category/list/list.vue index 04a66bf2..81cf324f 100644 --- a/CoreCms.Net.Uni-App/CoreShop/pages/category/list/list.vue +++ b/CoreCms.Net.Uni-App/CoreShop/pages/category/list/list.vue @@ -111,6 +111,14 @@ {{pointDiscountedProportion * item.pointsDeduction }}{{ pointShowName}}+{{ item.price - item.pointsDeduction}}元 + + + 购买赠送: + + + {{item.points}}{{ pointShowName}} + + @@ -121,7 +129,7 @@ - + @@ -320,6 +328,8 @@ pointDiscountedProportion() { return this.$store.state.config.pointDiscountedProportion }, pointExchangeModel() { return this.$store.state.config.pointExchangeModel }, pointShowName() { return this.$store.state.config.pointShowName }, + pointGetModel() { return this.$store.state.config.pointGetModel }, + pointShowPoint() { return this.$store.state.config.pointShowPoint }, }, methods: { listGrid() { diff --git a/CoreCms.Net.Uni-App/CoreShop/pages/goods/goodDetails/goodDetails.vue b/CoreCms.Net.Uni-App/CoreShop/pages/goods/goodDetails/goodDetails.vue index 99bb25f1..6f2a5ca4 100644 --- a/CoreCms.Net.Uni-App/CoreShop/pages/goods/goodDetails/goodDetails.vue +++ b/CoreCms.Net.Uni-App/CoreShop/pages/goods/goodDetails/goodDetails.vue @@ -25,11 +25,15 @@ 原价¥{{ product.mktprice || '0.00'}} {{ goodsInfo.buyCount || '0' }} 人已购买 + 购买赠送:{{product.points}}{{ pointShowName}} 原价¥{{ product.mktprice || '0.00'}} - {{ goodsInfo.buyCount || '0' }} 人已购买 + + {{ goodsInfo.buyCount || '0' }} 人已购买 + 购买赠送:{{product.points}}{{ pointShowName}} + @@ -520,6 +524,8 @@ pointDiscountedProportion() { return this.$store.state.config.pointDiscountedProportion }, pointExchangeModel() { return this.$store.state.config.pointExchangeModel }, pointShowName() { return this.$store.state.config.pointShowName }, + pointGetModel() { return this.$store.state.config.pointGetModel }, + pointShowPoint() { return this.$store.state.config.pointShowPoint }, shopName() { return this.$store.state.config.shopName; }, diff --git a/CoreCms.Net.Uni-App/CoreShop/pages/index/cart/cart.vue b/CoreCms.Net.Uni-App/CoreShop/pages/index/cart/cart.vue index 71f85dd0..958edafe 100644 --- a/CoreCms.Net.Uni-App/CoreShop/pages/index/cart/cart.vue +++ b/CoreCms.Net.Uni-App/CoreShop/pages/index/cart/cart.vue @@ -28,7 +28,12 @@ - ¥{{item.products.price}} + + ¥{{item.products.price}} + + (送 {{item.products.points}}{{ pointShowName}}) + + @@ -85,7 +90,6 @@ {{ pointShowName}}兑换价: {{pointShowText}} - 合计 : @@ -137,6 +141,8 @@ pointDiscountedProportion() { return this.$store.state.config.pointDiscountedProportion }, pointExchangeModel() { return this.$store.state.config.pointExchangeModel }, pointShowName() { return this.$store.state.config.pointShowName }, + pointGetModel() { return this.$store.state.config.pointGetModel }, + pointShowPoint() { return this.$store.state.config.pointShowPoint }, }, methods: { //数组转字符串 diff --git a/CoreCms.Net.Uni-App/CoreShop/pages/index/member/member.vue b/CoreCms.Net.Uni-App/CoreShop/pages/index/member/member.vue index 712bc131..71a07677 100644 --- a/CoreCms.Net.Uni-App/CoreShop/pages/index/member/member.vue +++ b/CoreCms.Net.Uni-App/CoreShop/pages/index/member/member.vue @@ -3,7 +3,7 @@ - + @@ -46,7 +46,7 @@ 等级:{{ userInfo.gradeName }} - 积分: {{ userInfo.point }} + {{pointShowName}}: {{ userInfo.point }} 余额: {{ userInfo.balance }} @@ -76,7 +76,7 @@ - + @@ -69,7 +69,8 @@ computed: { nowDate() { return this.$u.timeFormat(Math.round(new Date().getTime() / 1000)) - } + }, + pointShowName() { return this.$store.state.config.pointShowName }, }, methods: { userPointLog() { diff --git a/CoreCms.Net.Uni-App/CoreShop/pages/member/order/detail/detail.vue b/CoreCms.Net.Uni-App/CoreShop/pages/member/order/detail/detail.vue index f0ee2f05..89ddf8f8 100644 --- a/CoreCms.Net.Uni-App/CoreShop/pages/member/order/detail/detail.vue +++ b/CoreCms.Net.Uni-App/CoreShop/pages/member/order/detail/detail.vue @@ -267,7 +267,7 @@ - 积分优惠 + {{pointShowName}}优惠 - {{ orderInfo.pointMoney }} @@ -495,6 +495,7 @@ orderCancelTime() { return this.$store.state.config.orderCancelTime || 60; }, + pointShowName() { return this.$store.state.config.pointShowName }, }, methods: { // 获取订单详情 diff --git a/CoreCms.Net.Uni-App/CoreShop/pages/placeOrder/index/index.vue b/CoreCms.Net.Uni-App/CoreShop/pages/placeOrder/index/index.vue index c6aee3ff..b981f637 100644 --- a/CoreCms.Net.Uni-App/CoreShop/pages/placeOrder/index/index.vue +++ b/CoreCms.Net.Uni-App/CoreShop/pages/placeOrder/index/index.vue @@ -131,6 +131,14 @@ {{pointDiscountedProportion * item.products.pointsDeduction * item.nums }}{{ pointShowName}}+{{(item.products.price - item.products.pointsDeduction)*item.nums }}元 + + + 购买将赠送: + + + {{item.products.points * item.nums }}{{ pointShowName}} + + @@ -228,7 +236,7 @@ - {{ cartData.couponPromotionMoney || '0'}} - 积分抵扣 + {{ pointShowName}}抵扣 - {{ cartData.pointExchangeMoney || '0'}} @@ -869,6 +877,8 @@ pointDiscountedProportion() { return this.$store.state.config.pointDiscountedProportion }, pointExchangeModel() { return this.$store.state.config.pointExchangeModel }, pointShowName() { return this.$store.state.config.pointShowName }, + pointGetModel() { return this.$store.state.config.pointGetModel }, + pointShowPoint() { return this.$store.state.config.pointShowPoint }, }, watch: { // 监听数据状态(切换收货地址, 是否使用优惠券, 是否使用积分) 重新请求订单数据 diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/content/advert/advertisement/getGoods.html b/CoreCms.Net.Web.Admin/wwwroot/views/content/advert/advertisement/getGoods.html index 03820bf5..18dcf92d 100644 --- a/CoreCms.Net.Web.Admin/wwwroot/views/content/advert/advertisement/getGoods.html +++ b/CoreCms.Net.Web.Admin/wwwroot/views/content/advert/advertisement/getGoods.html @@ -86,10 +86,10 @@ { field: 'id', title: '商品ID', width: 80, sort: false }, { field: 'name', title: '商品名称', sort: false }, { - field: 'images', title: '图集', width: 100, sort: false, + field: 'image', title: '图集', width: 100, sort: false, templet: function (d) { - if (d.images) { - return ''; + if (d.image) { + return ''; } else { return ''; } diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/content/customform/form/create.html b/CoreCms.Net.Web.Admin/wwwroot/views/content/customform/form/create.html index 9f4f33d3..a537b5ce 100644 --- a/CoreCms.Net.Web.Admin/wwwroot/views/content/customform/form/create.html +++ b/CoreCms.Net.Web.Admin/wwwroot/views/content/customform/form/create.html @@ -99,7 +99,7 @@
- +
@@ -525,7 +525,6 @@ }); form.verify({ - verifyname: [/^[\S]{0,100}$/, '表单名称最大只允许输入100位字符,且不能出现空格'], verifydescription: [/^(.|\n){0,500}$/, '表单描述最大只允许输入255位字符,且不能出现空格'], verifyheadTypeValue: [/^[\S]{0,200}$/, '表单头值最大只允许输入200位字符,且不能出现空格'], diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/content/customform/form/edit.html b/CoreCms.Net.Web.Admin/wwwroot/views/content/customform/form/edit.html index f9ecdae6..aed1e2a1 100644 --- a/CoreCms.Net.Web.Admin/wwwroot/views/content/customform/form/edit.html +++ b/CoreCms.Net.Web.Admin/wwwroot/views/content/customform/form/edit.html @@ -101,7 +101,7 @@
- +
@@ -543,6 +543,7 @@ form.verify({ + verifyname: [/^[\S]{0,100}$/, '表单名称最大只允许输入100位字符,且不能出现空格'], verifydescription: [/^(.|\n){0,500}$/, '表单描述最大只允许输入255位字符,且不能出现空格'], verifyheadTypeValue: [/^[\S]{0,200}$/, '表单头值最大只允许输入200位字符,且不能出现空格'], diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/good/goods/create.html b/CoreCms.Net.Web.Admin/wwwroot/views/good/goods/create.html index 84b2439c..a1795f74 100644 --- a/CoreCms.Net.Web.Admin/wwwroot/views/good/goods/create.html +++ b/CoreCms.Net.Web.Admin/wwwroot/views/good/goods/create.html @@ -306,7 +306,8 @@ 货号 SKU 重量(克) - 低分最大
可抵金额 + 赠送积分 + 积分最大
可抵金额 库存 *销售价 成本价 @@ -345,13 +346,16 @@ {{item.spesDesc}} - + + + + - + @@ -513,6 +517,7 @@ spesDesc: "", stock: 1000, pointsDeduction: 0, + points: 0, weight: 0, price: 0, costprice: 0, @@ -1435,6 +1440,7 @@ productModel.levelTwo = field['product[levelTwo][' + i + ']']; productModel.levelThree = field['product[levelThree][' + i + ']']; productModel.pointsDeduction = field['product[pointsDeduction][' + i + ']']; + productModel.points = field['product[points][' + i + ']']; products.push(productModel); } //会员价格模型 diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/good/goods/edit.html b/CoreCms.Net.Web.Admin/wwwroot/views/good/goods/edit.html index 573da5b0..63b53bf6 100644 --- a/CoreCms.Net.Web.Admin/wwwroot/views/good/goods/edit.html +++ b/CoreCms.Net.Web.Admin/wwwroot/views/good/goods/edit.html @@ -299,7 +299,8 @@ SKU 冻结库存 重量(克) - 低分最大
可抵金额 + 赠送积分 + 积分最大
可抵金额 库存 *销售价 成本价 @@ -341,13 +342,16 @@ {{item.freezeStock}} - + + + + - + @@ -615,6 +619,7 @@ spesDesc: "", stock: 1000, pointsDeduction: 0, + points: 0, weight: 0, price: 0, costprice: 0, @@ -1543,6 +1548,7 @@ productModel.levelTwo = field['product[levelTwo][' + i + ']']; productModel.levelThree = field['product[levelThree][' + i + ']']; productModel.pointsDeduction = field['product[pointsDeduction][' + i + ']']; + productModel.points = field['product[points][' + i + ']']; products.push(productModel); } //会员价格模型 diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/shop/setting/index.html b/CoreCms.Net.Web.Admin/wwwroot/views/shop/setting/index.html index 69cbe49b..4c419857 100644 --- a/CoreCms.Net.Web.Admin/wwwroot/views/shop/setting/index.html +++ b/CoreCms.Net.Web.Admin/wwwroot/views/shop/setting/index.html @@ -448,10 +448,10 @@
- - + +
-
【全局计算】是指直接对订单按照使用比例进行计算,【单品计算】是指根据单个商品下sku独立设置的最高可抵扣金额进行计算。
+
【全局兑换】是指直接对订单按照使用比例进行计算,【单品兑换】是指根据单个商品下sku独立设置的最高可抵扣金额进行计算。
@@ -461,6 +461,24 @@
勾选显示,将在商品详情,购物车等界面显示积分加价格的效果。
+ +
+ +
+ + +
+
【订单获取】通过订单的比例,【单品获取】。
+
+
+ +
+ + +
+
勾选显示,将在商品详情,购物车等界面显示积分获取的效果。
+
+
@@ -480,14 +498,14 @@
-
(%)单个订单积分折现最大百分比【仅全局计算下有小,单品计算模式直接根据单品的设置】
+
(%)单个订单积分折现最大百分比【仅全局兑换模式有效,单品兑换模式直接根据单品的设置】
-
订单多少人民币奖励1个积分
+
订单多少人民币奖励1个积分【积分赠送模式仅订单获取模式下有效,单品获取模式直接根据单品的设置积分计算】
diff --git a/CoreCms.Net.Web.WebApi/Controllers/CommonController.cs b/CoreCms.Net.Web.WebApi/Controllers/CommonController.cs index 75ad6451..5b9ee4a9 100644 --- a/CoreCms.Net.Web.WebApi/Controllers/CommonController.cs +++ b/CoreCms.Net.Web.WebApi/Controllers/CommonController.cs @@ -111,6 +111,10 @@ namespace CoreCms.Net.Web.WebApi.Controllers var pointDiscountedProportion = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.PointDiscountedProportion).ObjectToInt(); //积分折现比例 var pointShowName = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.PointShowName); //积分昵称 var pointShowExchangePrice = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.PointShowExchangePrice).ObjectToInt(); //积分昵称 + + var pointGetModel = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.PointGetModel).ObjectToInt(); //积分昵称 + var pointShowPoint = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.PointShowPoint).ObjectToInt(); //积分昵称 + var statistics = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.StatisticsCode); //获取统计代码 var recommendKeysStr = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.RecommendKeys); var recommendKeys = !string.IsNullOrEmpty(recommendKeysStr) ? recommendKeysStr.Split("|") : new string[] { }; //搜索推荐关键字 @@ -181,6 +185,8 @@ namespace CoreCms.Net.Web.WebApi.Controllers pointShowName, pointShowExchangePrice, pointDiscountedProportion, + pointGetModel, + pointShowPoint, statistics, recommendKeys, invoiceSwitch, diff --git a/数据库/MySql/20220225/coreshop20220225完整脚本.rar b/数据库/MySql/20220225/coreshop20220225完整脚本.rar new file mode 100644 index 00000000..c847f9e7 Binary files /dev/null and b/数据库/MySql/20220225/coreshop20220225完整脚本.rar differ diff --git a/数据库/MySql/20220225/升级脚本.sql b/数据库/MySql/20220225/升级脚本.sql new file mode 100644 index 00000000..16373910 --- /dev/null +++ b/数据库/MySql/20220225/升级脚本.sql @@ -0,0 +1 @@ +ALTER TABLE CoreCmsProducts ADD COLUMN points int DEFAULT 0 NOT NULL COMMENT '赠送积分' AFTER pointsDeduction; \ No newline at end of file diff --git a/数据库/MySql/数据库更新日志.txt b/数据库/MySql/数据库更新日志.txt index 3805ad8e..ab667fa0 100644 --- a/数据库/MySql/数据库更新日志.txt +++ b/数据库/MySql/数据库更新日志.txt @@ -1,3 +1,6 @@ +2022-02-25 +【新增】表【CoreCmsProducts】增加【赠送积分points】字段 + 2022-02-24 【新增】表【CoreCmsProducts】增加【积分可抵扣金额pointsDeduction】字段 diff --git a/数据库/SqlServer/20220225/20220225完整数据库带演示商品.rar b/数据库/SqlServer/20220225/20220225完整数据库带演示商品.rar new file mode 100644 index 00000000..8f9b82c2 Binary files /dev/null and b/数据库/SqlServer/20220225/20220225完整数据库带演示商品.rar differ diff --git a/数据库/SqlServer/20220225/升级脚本.sql b/数据库/SqlServer/20220225/升级脚本.sql new file mode 100644 index 00000000..8fa124e1 --- /dev/null +++ b/数据库/SqlServer/20220225/升级脚本.sql @@ -0,0 +1,4 @@ +ALTER TABLE [dbo].[CoreCmsProducts] + ADD [points] INT DEFAULT 0 NOT NULL; + + EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'ͻ', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'CoreCmsProducts', @level2type = N'COLUMN', @level2name = N'points'; \ No newline at end of file diff --git a/数据库/SqlServer/数据库更新日志.txt b/数据库/SqlServer/数据库更新日志.txt index a9937d39..eff9ce83 100644 --- a/数据库/SqlServer/数据库更新日志.txt +++ b/数据库/SqlServer/数据库更新日志.txt @@ -1,3 +1,6 @@ +2022-02-25 +【新增】表【CoreCmsProducts】增加【赠送积分points】字段 + 2022-02-24 【新增】表【CoreCmsProducts】增加【积分可抵扣金额pointsDeduction】字段