mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 18:13:26 +08:00
# 2022-05-07
### 1.4.4开源社区版: 无 ### 0.3.9 专业版: 【新增】增加[coreshop-advert]广告组件,对标后台管理功能的广告管理,前端可直接使用代码<coreshop-advert codes="广告位code"></coreshop-advert>来实现在前端任何地方引用广告组件。 【新增】商城栏目页面增加广告组件使用示例。 【新增】用户表增加【是否开启自动升级】【发展用户数量】【订单消费金额】【充值总金额】【权重优先级】字段,并完善用户升级队列处理逻辑。 【调整】文章管理的修改和编辑弹窗模式,修改为单页面模式,解决弹窗情况下编辑器某些按钮因为z-index导致的被阻挡显示的问题。 【优化】优化首页组件的样式,将一些常见方法进行统一封装到混合器里面。
This commit is contained in:
@@ -3,11 +3,13 @@
|
|||||||
* ProjectName: 核心内容管理系统
|
* ProjectName: 核心内容管理系统
|
||||||
* Web: https://www.corecms.net
|
* Web: https://www.corecms.net
|
||||||
* Author: 大灰灰
|
* Author: 大灰灰
|
||||||
* Email: jianweie@163.com
|
* Email: jianweie@163.com
|
||||||
* CreateTime: 2021-06-08 22:14:59
|
* CreateTime: 2022/5/8 22:18:48
|
||||||
* Description: 暂无
|
* Description: 暂无
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
|
|
||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
|
using System.ComponentModel;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace CoreCms.Net.Model.Entities
|
namespace CoreCms.Net.Model.Entities
|
||||||
@@ -15,37 +17,112 @@ namespace CoreCms.Net.Model.Entities
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 用户等级表
|
/// 用户等级表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[SugarTable("CoreCmsUserGrade",TableDescription = "用户等级表")]
|
|
||||||
public partial class CoreCmsUserGrade
|
public partial class CoreCmsUserGrade
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 用户等级表
|
/// 构造函数
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public CoreCmsUserGrade()
|
public CoreCmsUserGrade()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// id
|
/// id
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Display(Name = "id")]
|
[Display(Name = "id")]
|
||||||
[SugarColumn(ColumnDescription = "id", IsPrimaryKey = true, IsIdentity = true)]
|
|
||||||
|
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
|
||||||
|
|
||||||
[Required(ErrorMessage = "请输入{0}")]
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
public System.Int32 id { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 id { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 标题
|
/// 标题
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Display(Name = "标题")]
|
[Display(Name = "标题")]
|
||||||
[SugarColumn(ColumnDescription = "标题")]
|
|
||||||
[Required(ErrorMessage = "请输入{0}")]
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
[StringLength(60, ErrorMessage = "【{0}】不能超过{1}字符长度")]
|
[StringLength(maximumLength:60,ErrorMessage = "{0}不能超过{1}字")]
|
||||||
public System.String title { get; set; }
|
|
||||||
|
|
||||||
|
public System.String title { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否默认
|
/// 是否默认
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Display(Name = "是否默认")]
|
[Display(Name = "是否默认")]
|
||||||
[SugarColumn(ColumnDescription = "是否默认")]
|
|
||||||
[Required(ErrorMessage = "请输入{0}")]
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
public System.Boolean isDefault { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Boolean isDefault { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 开启自动升级
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "开启自动升级")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Boolean isOpenUpgrade { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 发展用户数量
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "发展用户数量")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 developNum { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单消费金额
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "订单消费金额")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 expenditureMoney { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 充值总金额
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "充值总金额")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 rechargeAmount { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 权重优先级
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "权重优先级")]
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public System.Int32 prioritySortId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
|
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using CoreCms.Net.Configuration;
|
using CoreCms.Net.Configuration;
|
||||||
using CoreCms.Net.IServices;
|
using CoreCms.Net.IServices;
|
||||||
@@ -32,14 +33,16 @@ namespace CoreCms.Net.RedisMQ.Subscribe
|
|||||||
private readonly ICoreCmsOrderServices _orderServices;
|
private readonly ICoreCmsOrderServices _orderServices;
|
||||||
private readonly ICoreCmsBillRefundServices _billRefundServices;
|
private readonly ICoreCmsBillRefundServices _billRefundServices;
|
||||||
private readonly ICoreCmsUserGradeServices _userGradeServices;
|
private readonly ICoreCmsUserGradeServices _userGradeServices;
|
||||||
|
private readonly ICoreCmsBillPaymentsServices _billPaymentsServices;
|
||||||
|
|
||||||
|
|
||||||
public UserSubscribe(ICoreCmsUserServices userServices, ICoreCmsOrderServices orderServices, ICoreCmsBillRefundServices billRefundServices, ICoreCmsUserGradeServices userGradeServices)
|
public UserSubscribe(ICoreCmsUserServices userServices, ICoreCmsOrderServices orderServices, ICoreCmsBillRefundServices billRefundServices, ICoreCmsUserGradeServices userGradeServices, ICoreCmsBillPaymentsServices billPaymentsServices)
|
||||||
{
|
{
|
||||||
_userServices = userServices;
|
_userServices = userServices;
|
||||||
_orderServices = orderServices;
|
_orderServices = orderServices;
|
||||||
_billRefundServices = billRefundServices;
|
_billRefundServices = billRefundServices;
|
||||||
_userGradeServices = userGradeServices;
|
_userGradeServices = userGradeServices;
|
||||||
|
_billPaymentsServices = billPaymentsServices;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -60,7 +63,7 @@ namespace CoreCms.Net.RedisMQ.Subscribe
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var userInfo = await _userServices.QueryPageAsync(p => p.id == orderModel.userId);
|
var userInfo = await _userServices.QueryByClauseAsync(p => p.id == orderModel.userId);
|
||||||
if (userInfo == null)
|
if (userInfo == null)
|
||||||
{
|
{
|
||||||
NLogUtil.WriteAll(NLog.LogLevel.Info, LogType.RedisMessageQueue, "订单完成-用户升级处理", "用户数据获取失败");
|
NLogUtil.WriteAll(NLog.LogLevel.Info, LogType.RedisMessageQueue, "订单完成-用户升级处理", "用户数据获取失败");
|
||||||
@@ -77,17 +80,33 @@ namespace CoreCms.Net.RedisMQ.Subscribe
|
|||||||
p => p.type == (int)GlobalEnumVars.BillRefundType.Order && p.userId == orderModel.userId &&
|
p => p.type == (int)GlobalEnumVars.BillRefundType.Order && p.userId == orderModel.userId &&
|
||||||
p.status != (int)GlobalEnumVars.BillRefundStatus.STATUS_REFUND, p => p.money);
|
p.status != (int)GlobalEnumVars.BillRefundStatus.STATUS_REFUND, p => p.money);
|
||||||
|
|
||||||
var money = payedMoney - refundMoney;
|
//实际消费金额
|
||||||
|
var expenditureMoney = payedMoney - refundMoney;
|
||||||
|
|
||||||
|
//充值金额
|
||||||
|
var rechargeAmount = await _billPaymentsServices.GetSumAsync(
|
||||||
|
p => p.type == (int)GlobalEnumVars.BillPaymentsType.Recharge &&
|
||||||
|
p.status == (int)GlobalEnumVars.BillPaymentsStatus.Payed, p => p.money);
|
||||||
|
|
||||||
|
//发展用户
|
||||||
|
var developNum = await _userServices.GetCountAsync(p => p.parentId == userInfo.id);
|
||||||
|
developNum += await _userServices.QueryChildCountAsync(userInfo.id, 2);
|
||||||
|
|
||||||
|
|
||||||
//取所有用户等级信息
|
//取所有用户等级信息
|
||||||
|
var userGradeModel = await _userGradeServices.QueryListByClauseAsync(p => p.isOpenUpgrade == true, p => p.prioritySortId, OrderByType.Asc);
|
||||||
|
//获取用户默认等级
|
||||||
|
var defaultModel = userGradeModel.Find(p => p.id == userInfo.grade);
|
||||||
|
|
||||||
var userGradeModel = await _userGradeServices.QueryListByClauseAsync(p => p.id > 0, p => p.id, OrderByType.Asc);
|
//判断是否符合升级条件
|
||||||
|
var userGradeId = 0;
|
||||||
//var id = 0;
|
foreach (var item in userGradeModel.TakeWhile(item => defaultModel == null || defaultModel.prioritySortId > item.prioritySortId).Where(item => developNum >= item.developNum && expenditureMoney >= item.expenditureMoney && rechargeAmount >= item.rechargeAmount))
|
||||||
|
|
||||||
foreach (var item in userGradeModel)
|
|
||||||
{
|
{
|
||||||
|
userGradeId = item.id;
|
||||||
|
}
|
||||||
|
if (userGradeId > 0)
|
||||||
|
{
|
||||||
|
await _userServices.UpdateAsync(p => new CoreCmsUser() {grade = userGradeId}, p => p.id == userInfo.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
NLogUtil.WriteAll(NLog.LogLevel.Info, LogType.RedisMessageQueue, "订单完成-用户升级处理", msg);
|
NLogUtil.WriteAll(NLog.LogLevel.Info, LogType.RedisMessageQueue, "订单完成-用户升级处理", msg);
|
||||||
|
|||||||
@@ -55,10 +55,9 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
#region 获取列表============================================================
|
#region 获取列表============================================================
|
||||||
|
|
||||||
// POST: Api/CoreCmsUserGrade/GetPageList
|
// POST: Api/CoreCmsUserGrade/GetPageList
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取列表
|
/// 获取列表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
@@ -71,22 +70,19 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
var where = PredicateBuilder.True<CoreCmsUserGrade>();
|
var where = PredicateBuilder.True<CoreCmsUserGrade>();
|
||||||
//获取排序字段
|
//获取排序字段
|
||||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||||
Expression<Func<CoreCmsUserGrade, object>> orderEx;
|
|
||||||
switch (orderField)
|
Expression<Func<CoreCmsUserGrade, object>> orderEx = orderField switch
|
||||||
{
|
{
|
||||||
case "id":
|
"id" => p => p.id,
|
||||||
orderEx = p => p.id;
|
"title" => p => p.title,
|
||||||
break;
|
"isDefault" => p => p.isDefault,
|
||||||
case "title":
|
"isOpenUpgrade" => p => p.isOpenUpgrade,
|
||||||
orderEx = p => p.title;
|
"developNum" => p => p.developNum,
|
||||||
break;
|
"expenditureMoney" => p => p.expenditureMoney,
|
||||||
case "isDefault":
|
"rechargeAmount" => p => p.rechargeAmount,
|
||||||
orderEx = p => p.isDefault;
|
"prioritySortId" => p => p.prioritySortId,
|
||||||
break;
|
_ => p => p.prioritySortId
|
||||||
default:
|
};
|
||||||
orderEx = p => p.id;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
//设置排序方式
|
//设置排序方式
|
||||||
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
|
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
|
||||||
@@ -100,18 +96,62 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
|
|
||||||
//id int
|
//id int
|
||||||
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||||
if (id > 0) @where = @where.And(p => p.id == id);
|
if (id > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.id == id);
|
||||||
|
}
|
||||||
//标题 nvarchar
|
//标题 nvarchar
|
||||||
var title = Request.Form["title"].FirstOrDefault();
|
var title = Request.Form["title"].FirstOrDefault();
|
||||||
if (!string.IsNullOrEmpty(title)) @where = @where.And(p => p.title.Contains(title));
|
if (!string.IsNullOrEmpty(title))
|
||||||
|
{
|
||||||
|
where = where.And(p => p.title.Contains(title));
|
||||||
|
}
|
||||||
//是否默认 bit
|
//是否默认 bit
|
||||||
var isDefault = Request.Form["isDefault"].FirstOrDefault();
|
var isDefault = Request.Form["isDefault"].FirstOrDefault();
|
||||||
if (!string.IsNullOrEmpty(isDefault) && isDefault.ToLowerInvariant() == "true")
|
if (!string.IsNullOrEmpty(isDefault) && isDefault.ToLowerInvariant() == "true")
|
||||||
@where = @where.And(p => p.isDefault);
|
{
|
||||||
|
where = where.And(p => p.isDefault == true);
|
||||||
|
}
|
||||||
else if (!string.IsNullOrEmpty(isDefault) && isDefault.ToLowerInvariant() == "false")
|
else if (!string.IsNullOrEmpty(isDefault) && isDefault.ToLowerInvariant() == "false")
|
||||||
@where = @where.And(p => p.isDefault == false);
|
{
|
||||||
|
where = where.And(p => p.isDefault == false);
|
||||||
|
}
|
||||||
|
//开启自动升级 bit
|
||||||
|
var isOpenUpgrade = Request.Form["isOpenUpgrade"].FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(isOpenUpgrade) && isOpenUpgrade.ToLowerInvariant() == "true")
|
||||||
|
{
|
||||||
|
where = where.And(p => p.isOpenUpgrade == true);
|
||||||
|
}
|
||||||
|
else if (!string.IsNullOrEmpty(isOpenUpgrade) && isOpenUpgrade.ToLowerInvariant() == "false")
|
||||||
|
{
|
||||||
|
where = where.And(p => p.isOpenUpgrade == false);
|
||||||
|
}
|
||||||
|
//发展用户数量 int
|
||||||
|
var developNum = Request.Form["developNum"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (developNum > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.developNum == developNum);
|
||||||
|
}
|
||||||
|
//订单消费金额 int
|
||||||
|
var expenditureMoney = Request.Form["expenditureMoney"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (expenditureMoney > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.expenditureMoney == expenditureMoney);
|
||||||
|
}
|
||||||
|
//充值总金额 int
|
||||||
|
var rechargeAmount = Request.Form["rechargeAmount"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (rechargeAmount > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.rechargeAmount == rechargeAmount);
|
||||||
|
}
|
||||||
|
//权重优先级 int
|
||||||
|
var prioritySortId = Request.Form["prioritySortId"].FirstOrDefault().ObjectToInt(0);
|
||||||
|
if (prioritySortId > 0)
|
||||||
|
{
|
||||||
|
where = where.And(p => p.prioritySortId == prioritySortId);
|
||||||
|
}
|
||||||
//获取数据
|
//获取数据
|
||||||
var list = await _coreCmsUserGradeServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
var list = await _coreCmsUserGradeServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize, true);
|
||||||
//返回数据
|
//返回数据
|
||||||
jm.data = list;
|
jm.data = list;
|
||||||
jm.code = 0;
|
jm.code = 0;
|
||||||
@@ -119,7 +159,6 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
jm.msg = "数据调用成功!";
|
jm.msg = "数据调用成功!";
|
||||||
return jm;
|
return jm;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region 首页数据============================================================
|
#region 首页数据============================================================
|
||||||
@@ -258,6 +297,12 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
oldModel.id = entity.id;
|
oldModel.id = entity.id;
|
||||||
oldModel.title = entity.title;
|
oldModel.title = entity.title;
|
||||||
oldModel.isDefault = entity.isDefault;
|
oldModel.isDefault = entity.isDefault;
|
||||||
|
oldModel.isOpenUpgrade = entity.isOpenUpgrade;
|
||||||
|
oldModel.developNum = entity.developNum;
|
||||||
|
oldModel.expenditureMoney = entity.expenditureMoney;
|
||||||
|
oldModel.rechargeAmount = entity.rechargeAmount;
|
||||||
|
oldModel.prioritySortId = entity.prioritySortId;
|
||||||
|
|
||||||
//事物处理过程结束
|
//事物处理过程结束
|
||||||
var bl = await _coreCmsUserGradeServices.UpdateAsync(oldModel);
|
var bl = await _coreCmsUserGradeServices.UpdateAsync(oldModel);
|
||||||
jm.code = bl ? 0 : 1;
|
jm.code = bl ? 0 : 1;
|
||||||
@@ -398,5 +443,35 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region 设置开启自动升级============================================================
|
||||||
|
// POST: Api/CoreCmsUserGrade/DoSetisOpenUpgrade/10
|
||||||
|
/// <summary>
|
||||||
|
/// 设置开启自动升级
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[Description("设置开启自动升级")]
|
||||||
|
public async Task<AdminUiCallBack> DoSetisOpenUpgrade([FromBody] FMUpdateBoolDataByIntId entity)
|
||||||
|
{
|
||||||
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var oldModel = await _coreCmsUserGradeServices.QueryByIdAsync(entity.id, false);
|
||||||
|
if (oldModel == null)
|
||||||
|
{
|
||||||
|
jm.msg = "不存在此信息";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
oldModel.isOpenUpgrade = (bool)entity.data;
|
||||||
|
|
||||||
|
var bl = await _coreCmsUserGradeServices.UpdateAsync(p => new CoreCmsUserGrade() { isOpenUpgrade = oldModel.isOpenUpgrade }, p => p.id == oldModel.id);
|
||||||
|
jm.code = bl ? 0 : 1;
|
||||||
|
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||||
|
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -18,6 +18,47 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item" pane>
|
||||||
|
<label for="isOpenUpgrade" class="layui-form-label layui-form-required">自动升级</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="checkbox" lay-filter="switch" name="isOpenUpgrade" lay-skin="switch" lay-text="开启|关闭">
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-mid layui-word-aux">开启后,满足条件将自动升级</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="developNum" class="layui-form-label layui-form-required">下级用户</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="number" min="0" max="999999" name="developNum" lay-verType="tips" lay-verify="required|number" class="layui-input" value="100" placeholder="请输入发展用户数量" lay-reqText="请输入发展用户数量并为数字" />
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-mid layui-word-aux">发展用户数量</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="expenditureMoney" class="layui-form-label layui-form-required">订单金额</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="number" min="0" max="999999" name="expenditureMoney" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1000" placeholder="请输入订单消费金额" lay-reqText="请输入订单消费金额并为数字" />
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-mid layui-word-aux">非充值订单消费的总金额。</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="rechargeAmount" class="layui-form-label layui-form-required">充值总金额</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="number" min="0" max="999999" name="rechargeAmount" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1000" placeholder="请输入充值总金额" lay-reqText="请输入充值总金额并为数字" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="prioritySortId" class="layui-form-label layui-form-required">权重优先级</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="number" min="0" max="999999" name="prioritySortId" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1" placeholder="请输入权重优先级" lay-reqText="请输入权重优先级并为数字" />
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-mid layui-word-aux">权重越大,等级越大</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="layui-form-item core-hidden">
|
<div class="layui-form-item core-hidden">
|
||||||
<label class="layui-form-label"></label>
|
<label class="layui-form-label"></label>
|
||||||
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsUserGrade-createForm-submit" id="LAY-app-CoreCmsUserGrade-createForm-submit" value="确认添加">
|
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsUserGrade-createForm-submit" id="LAY-app-CoreCmsUserGrade-createForm-submit" value="确认添加">
|
||||||
|
|||||||
@@ -1,11 +1,20 @@
|
|||||||
<script type="text/html" template lay-done="layui.data.done(d);">
|
<script type="text/html" template lay-done="layui.data.done(d);">
|
||||||
<table class="layui-table layui-form" lay-filter="LAY-app-CoreCmsUserGrade-detailsForm" id="LAY-app-CoreCmsUserGrade-detailsForm">
|
<table class="layui-table layui-form" lay-filter="LAY-app-CoreCmsUserGrade-detailsForm" id="LAY-app-CoreCmsUserGrade-detailsForm">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col width="150">
|
<col width="130">
|
||||||
<col>
|
<col>
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
|
||||||
|
<!--<tr>
|
||||||
|
<td>
|
||||||
|
<label for="id">id</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.id || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>-->
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<label for="title">标题</label>
|
<label for="title">标题</label>
|
||||||
@@ -23,12 +32,61 @@
|
|||||||
<input type="checkbox" disabled name="isDefault" value="{{d.params.data.isDefault}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="isDefault" {{ d.params.data.isDefault ? 'checked' : '' }}>
|
<input type="checkbox" disabled name="isDefault" value="{{d.params.data.isDefault}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="isDefault" {{ d.params.data.isDefault ? 'checked' : '' }}>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="isOpenUpgrade">开启自动升级</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="checkbox" disabled name="isOpenUpgrade" value="{{d.params.data.isOpenUpgrade}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="isOpenUpgrade" {{ d.params.data.isOpenUpgrade ? 'checked' : '' }}>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="developNum">发展用户数量</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.developNum || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="expenditureMoney">订单消费金额</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.expenditureMoney || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="rechargeAmount">充值总金额</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.rechargeAmount || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="prioritySortId">权重优先级</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ d.params.data.prioritySortId || '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</script>
|
</script>
|
||||||
<script>
|
<script>
|
||||||
|
var debug = layui.setter.debug;
|
||||||
layui.data.done = function (d) {
|
layui.data.done = function (d) {
|
||||||
console.log(d);
|
//开启调试情况下获取接口赋值数据
|
||||||
|
if (debug) { console.log(d.params.data); }
|
||||||
|
|
||||||
layui.use(['admin', 'form', 'coreHelper'], function () {
|
layui.use(['admin', 'form', 'coreHelper'], function () {
|
||||||
var $ = layui.$
|
var $ = layui.$
|
||||||
, setter = layui.setter
|
, setter = layui.setter
|
||||||
|
|||||||
@@ -18,6 +18,46 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item" pane>
|
||||||
|
<label for="isOpenUpgrade" class="layui-form-label layui-form-required">自动升级</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="checkbox" lay-filter="switch" name="isOpenUpgrade" {{ d.params.data.isOpenUpgrade ? 'checked' : '' }} lay-skin="switch" lay-text="开启|关闭">
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-mid layui-word-aux">开启后,满足条件将自动升级</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="developNum" class="layui-form-label layui-form-required">下级用户</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="number" min="0" max="999999" name="developNum" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.developNum || '0' }}" placeholder="请输入发展用户数量" lay-reqText="请输入发展用户数量并为数字" />
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-mid layui-word-aux">发展用户数量</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="expenditureMoney" class="layui-form-label layui-form-required">订单金额</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="number" min="0" max="999999" name="expenditureMoney" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.expenditureMoney || '0' }}" placeholder="请输入订单消费金额" lay-reqText="请输入订单消费金额并为数字" />
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-mid layui-word-aux">非充值订单消费的总金额。</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="rechargeAmount" class="layui-form-label layui-form-required">充值总金额</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="number" min="0" max="999999" name="rechargeAmount" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.rechargeAmount || '0' }}" placeholder="请输入充值总金额" lay-reqText="请输入充值总金额并为数字" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="prioritySortId" class="layui-form-label layui-form-required">权重优先级</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="number" min="0" max="999999" name="prioritySortId" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.prioritySortId || '0' }}" placeholder="请输入权重优先级" lay-reqText="请输入权重优先级并为数字" />
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-mid layui-word-aux">权重越大,等级越大</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="layui-form-item core-hidden">
|
<div class="layui-form-item core-hidden">
|
||||||
<label class="layui-form-label"></label>
|
<label class="layui-form-label"></label>
|
||||||
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsUserGrade-editForm-submit" id="LAY-app-CoreCmsUserGrade-editForm-submit" value="确认编辑">
|
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsUserGrade-editForm-submit" id="LAY-app-CoreCmsUserGrade-editForm-submit" value="确认编辑">
|
||||||
|
|||||||
@@ -33,6 +33,16 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label class="layui-form-label" for="isOpenUpgrade">开启自动升级</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<select name="isOpenUpgrade">
|
||||||
|
<option value="">请选择</option>
|
||||||
|
<option value="True">是</option>
|
||||||
|
<option value="False">否</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="layui-inline">
|
<div class="layui-inline">
|
||||||
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsUserGrade-search"><i class="layui-icon layui-icon-search"></i>筛选</button>
|
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsUserGrade-search"><i class="layui-icon layui-icon-search"></i>筛选</button>
|
||||||
<!--<button class="layui-btn layui-btn-primary layui-btn-sm" type="reset"><i class="layui-icon layui-icon-refresh"></i>重置</button>-->
|
<!--<button class="layui-btn layui-btn-primary layui-btn-sm" type="reset"><i class="layui-icon layui-icon-refresh"></i>重置</button>-->
|
||||||
@@ -92,6 +102,11 @@
|
|||||||
{ field: 'id', title: '序列', sort: false, width: 60 },
|
{ field: 'id', title: '序列', sort: false, width: 60 },
|
||||||
{ field: 'title', title: '标题', sort: false },
|
{ field: 'title', title: '标题', sort: false },
|
||||||
{ field: 'isDefault', title: '是否默认', width: 105, templet: '#switch_isDefault', sort: false, unresize: true },
|
{ field: 'isDefault', title: '是否默认', width: 105, templet: '#switch_isDefault', sort: false, unresize: true },
|
||||||
|
{ field: 'isOpenUpgrade', title: '开启自动升级', width: 95, templet: '#switch_isOpenUpgrade', sort: false, unresize: true },
|
||||||
|
{ field: 'developNum', title: '发展用户数量', sort: false, width: 105 },
|
||||||
|
{ field: 'expenditureMoney', title: '订单消费金额', sort: false, width: 105 },
|
||||||
|
{ field: 'rechargeAmount', title: '充值总金额', sort: false, width: 105 },
|
||||||
|
{ field: 'prioritySortId', title: '权重优先级', sort: false,width: 105 },
|
||||||
{ width: 142, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsUserGrade-tableBox-bar' }
|
{ width: 142, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsUserGrade-tableBox-bar' }
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
@@ -118,15 +133,6 @@
|
|||||||
case 'addData':
|
case 'addData':
|
||||||
doCreate();
|
doCreate();
|
||||||
break;
|
break;
|
||||||
case 'batchDelete':
|
|
||||||
doBatchDelete(checkStatus);
|
|
||||||
break;
|
|
||||||
case 'selectExportExcel':
|
|
||||||
doSelectExportExcel(checkStatus);
|
|
||||||
break;
|
|
||||||
case 'queryExportExcel':
|
|
||||||
doQueryExportexcel();
|
|
||||||
break;
|
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
//监听工具条
|
//监听工具条
|
||||||
@@ -147,7 +153,7 @@
|
|||||||
admin.popup({
|
admin.popup({
|
||||||
shadeClose: false,
|
shadeClose: false,
|
||||||
title: '创建数据',
|
title: '创建数据',
|
||||||
area: ['400px', '300px'],
|
area: ['500px', '500px'],
|
||||||
id: 'LAY-popup-CoreCmsUserGrade-create',
|
id: 'LAY-popup-CoreCmsUserGrade-create',
|
||||||
success: function (layero, index) {
|
success: function (layero, index) {
|
||||||
view(this.id).render('user/usergrade/create', { data: e.data }).done(function () {
|
view(this.id).render('user/usergrade/create', { data: e.data }).done(function () {
|
||||||
@@ -155,7 +161,10 @@
|
|||||||
form.on('submit(LAY-app-CoreCmsUserGrade-createForm-submit)',
|
form.on('submit(LAY-app-CoreCmsUserGrade-createForm-submit)',
|
||||||
function (data) {
|
function (data) {
|
||||||
var field = data.field; //获取提交的字段
|
var field = data.field; //获取提交的字段
|
||||||
|
|
||||||
field.isDefault = field.isDefault == 'on';
|
field.isDefault = field.isDefault == 'on';
|
||||||
|
field.isOpenUpgrade = field.isOpenUpgrade == 'on';
|
||||||
|
|
||||||
//提交 Ajax 成功后,关闭当前弹层并重载表格
|
//提交 Ajax 成功后,关闭当前弹层并重载表格
|
||||||
coreHelper.Post("Api/CoreCmsUserGrade/DoCreate", field, function (e) {
|
coreHelper.Post("Api/CoreCmsUserGrade/DoCreate", field, function (e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
@@ -187,7 +196,7 @@
|
|||||||
admin.popup({
|
admin.popup({
|
||||||
shadeClose: false,
|
shadeClose: false,
|
||||||
title: '编辑数据',
|
title: '编辑数据',
|
||||||
area: ['400px', '300px'],
|
area: ['500px', '500px'],
|
||||||
id: 'LAY-popup-CoreCmsUserGrade-edit',
|
id: 'LAY-popup-CoreCmsUserGrade-edit',
|
||||||
success: function (layero, index) {
|
success: function (layero, index) {
|
||||||
view(this.id).render('user/usergrade/edit', { data: e.data }).done(function () {
|
view(this.id).render('user/usergrade/edit', { data: e.data }).done(function () {
|
||||||
@@ -197,6 +206,7 @@
|
|||||||
var field = data.field; //获取提交的字段
|
var field = data.field; //获取提交的字段
|
||||||
|
|
||||||
field.isDefault = field.isDefault == 'on';
|
field.isDefault = field.isDefault == 'on';
|
||||||
|
field.isOpenUpgrade = field.isOpenUpgrade == 'on';
|
||||||
//提交 Ajax 成功后,关闭当前弹层并重载表格
|
//提交 Ajax 成功后,关闭当前弹层并重载表格
|
||||||
coreHelper.Post("Api/CoreCmsUserGrade/DoEdit", field, function (e) {
|
coreHelper.Post("Api/CoreCmsUserGrade/DoEdit", field, function (e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
@@ -228,7 +238,7 @@
|
|||||||
admin.popup({
|
admin.popup({
|
||||||
shadeClose: false,
|
shadeClose: false,
|
||||||
title: '查看详情',
|
title: '查看详情',
|
||||||
area: ['400px', '300px'],
|
area: ['500px', '500px'],
|
||||||
id: 'LAY-popup-CoreCmsUserGrade-details',
|
id: 'LAY-popup-CoreCmsUserGrade-details',
|
||||||
success: function (layero, index) {
|
success: function (layero, index) {
|
||||||
view(this.id).render('user/usergrade/details', { data: e.data }).done(function () {
|
view(this.id).render('user/usergrade/details', { data: e.data }).done(function () {
|
||||||
@@ -261,6 +271,13 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
layui.form.on('switch(switch_isOpenUpgrade)', function (obj) {
|
||||||
|
coreHelper.Post("Api/CoreCmsUserGrade/DoSetisOpenUpgrade", { id: this.value, data: obj.elem.checked }, function (e) {
|
||||||
|
layui.table.reloadData('LAY-app-CoreCmsUserGrade-tableBox');
|
||||||
|
layer.msg(e.msg);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@@ -268,4 +285,10 @@
|
|||||||
<!--设置是否默认-->
|
<!--设置是否默认-->
|
||||||
<script type="text/html" id="switch_isDefault">
|
<script type="text/html" id="switch_isDefault">
|
||||||
<input type="checkbox" name="switch_isDefault" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isDefault" {{ d.isDefault ? 'checked' : '' }}>
|
<input type="checkbox" name="switch_isDefault" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isDefault" {{ d.isDefault ? 'checked' : '' }}>
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<!--设置开启自动升级-->
|
||||||
|
<script type="text/html" id="switch_isOpenUpgrade">
|
||||||
|
<input type="checkbox" name="switch_isOpenUpgrade" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isOpenUpgrade" {{ d.isOpenUpgrade ? 'checked' : '' }}>
|
||||||
|
</script>
|
||||||
|
|||||||
BIN
数据库/MySql/20220508/coreshop20220508带商品完整脚本navicat导出.rar
Normal file
BIN
数据库/MySql/20220508/coreshop20220508带商品完整脚本navicat导出.rar
Normal file
Binary file not shown.
BIN
数据库/MySql/20220508/coreshop20220508带商品完整脚本阿里云dms导出.rar
Normal file
BIN
数据库/MySql/20220508/coreshop20220508带商品完整脚本阿里云dms导出.rar
Normal file
Binary file not shown.
5
数据库/MySql/20220508/升级脚本.sql
Normal file
5
数据库/MySql/20220508/升级脚本.sql
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
ALTER TABLE CoreCmsUserGrade ADD COLUMN prioritySortId int DEFAULT 0 NOT NULL COMMENT '权重优先级' AFTER isDefault;
|
||||||
|
ALTER TABLE CoreCmsUserGrade ADD COLUMN rechargeAmount int DEFAULT 0 NOT NULL COMMENT '充值总金额' AFTER isDefault;
|
||||||
|
ALTER TABLE CoreCmsUserGrade ADD COLUMN expenditureMoney int DEFAULT 0 NOT NULL COMMENT '订单消费金额' AFTER isDefault;
|
||||||
|
ALTER TABLE CoreCmsUserGrade ADD COLUMN developNum int DEFAULT 0 NOT NULL COMMENT '发展用户数量' AFTER isDefault;
|
||||||
|
ALTER TABLE CoreCmsUserGrade ADD COLUMN isOpenUpgrade bit DEFAULT 0 NOT NULL COMMENT '开启自动升级' AFTER isDefault;
|
||||||
@@ -1,3 +1,6 @@
|
|||||||
|
2022-05-08
|
||||||
|
【新增】表【CoreCmsUserGrade】新增【isOpenUpgrade】【developNum】【expenditureMoney】【rechargeAmount】【prioritySortId】字段。实现用户升级队列处理逻辑
|
||||||
|
|
||||||
2022-04-10
|
2022-04-10
|
||||||
【新增】表【SysUserOperationLog】用户操作日志记录
|
【新增】表【SysUserOperationLog】用户操作日志记录
|
||||||
|
|
||||||
|
|||||||
BIN
数据库/SqlServer/20220508/20220508完整数据库带演示商品.rar
Normal file
BIN
数据库/SqlServer/20220508/20220508完整数据库带演示商品.rar
Normal file
Binary file not shown.
18
数据库/SqlServer/20220508/升级脚本.sql
Normal file
18
数据库/SqlServer/20220508/升级脚本.sql
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
|
||||||
|
ALTER TABLE [dbo].[CoreCmsUserGrade]
|
||||||
|
ADD [isOpenUpgrade] BIT DEFAULT 0 NOT NULL,
|
||||||
|
[developNum] INT DEFAULT 0 NOT NULL,
|
||||||
|
[expenditureMoney] INT DEFAULT 0 NOT NULL,
|
||||||
|
[rechargeAmount] INT DEFAULT 0 NOT NULL,
|
||||||
|
[prioritySortId] 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'CoreCmsUserGrade', @level2type = N'COLUMN', @level2name = N'developNum';
|
||||||
|
|
||||||
|
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'订单消费金额', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'CoreCmsUserGrade', @level2type = N'COLUMN', @level2name = N'expenditureMoney';
|
||||||
|
|
||||||
|
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'开启自动升级', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'CoreCmsUserGrade', @level2type = N'COLUMN', @level2name = N'isOpenUpgrade';
|
||||||
|
|
||||||
|
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'充值总金额', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'CoreCmsUserGrade', @level2type = N'COLUMN', @level2name = N'rechargeAmount';
|
||||||
|
|
||||||
|
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'权重优先级', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'CoreCmsUserGrade', @level2type = N'COLUMN', @level2name = N'prioritySortId';
|
||||||
@@ -1,3 +1,6 @@
|
|||||||
|
2022-05-08
|
||||||
|
【新增】表【CoreCmsUserGrade】新增【isOpenUpgrade】【developNum】【expenditureMoney】【rechargeAmount】【prioritySortId】字段。实现用户升级队列处理逻辑
|
||||||
|
|
||||||
2022-04-10
|
2022-04-10
|
||||||
【新增】表【SysUserOperationLog】用户操作日志记录
|
【新增】表【SysUserOperationLog】用户操作日志记录
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user