mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 18:33:27 +08:00
【新增】表【CoreCmsGoods】增加【initialSales】初始销量字段。
【新增】业务逻辑增加可设置的虚假销量,用于展示友好销量。 【优化】后端使用增加版本号更新,方便对比当前版本信息,通过后台右上角进入查阅。
This commit is contained in:
@@ -243,5 +243,14 @@ namespace CoreCms.Net.Model.Entities
|
|||||||
[Display(Name = "是否删除")]
|
[Display(Name = "是否删除")]
|
||||||
[Required(ErrorMessage = "请输入{0}")]
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
public bool isDel { get; set; }
|
public bool isDel { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 初始销量
|
||||||
|
/// </summary>
|
||||||
|
[Display(Name = "初始销量")]
|
||||||
|
[Required(ErrorMessage = "请输入{0}")]
|
||||||
|
public int initialSales { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -438,6 +438,7 @@ namespace CoreCms.Net.Repository
|
|||||||
oldModel.isRecommend = model.isRecommend;
|
oldModel.isRecommend = model.isRecommend;
|
||||||
oldModel.isHot = model.isHot;
|
oldModel.isHot = model.isHot;
|
||||||
oldModel.isDel = model.isDel;
|
oldModel.isDel = model.isDel;
|
||||||
|
oldModel.initialSales = model.initialSales;
|
||||||
|
|
||||||
var bl = await DbClient.Updateable(oldModel).ExecuteCommandHasChangeAsync();
|
var bl = await DbClient.Updateable(oldModel).ExecuteCommandHasChangeAsync();
|
||||||
if (bl)
|
if (bl)
|
||||||
@@ -925,7 +926,8 @@ namespace CoreCms.Net.Repository
|
|||||||
freezeStock = pd.freezeStock,
|
freezeStock = pd.freezeStock,
|
||||||
pointsDeduction = pd.pointsDeduction,
|
pointsDeduction = pd.pointsDeduction,
|
||||||
points = pd.points,
|
points = pd.points,
|
||||||
weight = pd.weight
|
weight = pd.weight,
|
||||||
|
initialSales = good.initialSales,
|
||||||
})
|
})
|
||||||
.MergeTable()
|
.MergeTable()
|
||||||
.OrderBy(p => p.createTime, OrderByType.Desc)
|
.OrderBy(p => p.createTime, OrderByType.Desc)
|
||||||
@@ -989,7 +991,8 @@ namespace CoreCms.Net.Repository
|
|||||||
freezeStock = pd.freezeStock,
|
freezeStock = pd.freezeStock,
|
||||||
pointsDeduction = pd.pointsDeduction,
|
pointsDeduction = pd.pointsDeduction,
|
||||||
points = pd.points,
|
points = pd.points,
|
||||||
weight = pd.weight
|
weight = pd.weight,
|
||||||
|
initialSales = good.initialSales,
|
||||||
})
|
})
|
||||||
.MergeTable()
|
.MergeTable()
|
||||||
.Where(p => dbIds.Contains(p.id)).ToListAsync();
|
.Where(p => dbIds.Contains(p.id)).ToListAsync();
|
||||||
@@ -1065,7 +1068,8 @@ namespace CoreCms.Net.Repository
|
|||||||
points = pd.points,
|
points = pd.points,
|
||||||
stock = pd.stock,
|
stock = pd.stock,
|
||||||
freezeStock = pd.freezeStock,
|
freezeStock = pd.freezeStock,
|
||||||
weight = pd.weight
|
weight = pd.weight,
|
||||||
|
initialSales = good.initialSales,
|
||||||
})
|
})
|
||||||
.With(SqlWith.NoLock)
|
.With(SqlWith.NoLock)
|
||||||
.MergeTable()
|
.MergeTable()
|
||||||
@@ -1117,7 +1121,8 @@ namespace CoreCms.Net.Repository
|
|||||||
points = pd.points,
|
points = pd.points,
|
||||||
stock = pd.stock,
|
stock = pd.stock,
|
||||||
freezeStock = pd.freezeStock,
|
freezeStock = pd.freezeStock,
|
||||||
weight = pd.weight
|
weight = pd.weight,
|
||||||
|
initialSales = good.initialSales,
|
||||||
})
|
})
|
||||||
.MergeTable()
|
.MergeTable()
|
||||||
.CountAsync(predicate);
|
.CountAsync(predicate);
|
||||||
@@ -1191,7 +1196,8 @@ namespace CoreCms.Net.Repository
|
|||||||
freezeStock = pd.freezeStock,
|
freezeStock = pd.freezeStock,
|
||||||
pointsDeduction = pd.pointsDeduction,
|
pointsDeduction = pd.pointsDeduction,
|
||||||
points = pd.points,
|
points = pd.points,
|
||||||
weight = pd.weight
|
weight = pd.weight,
|
||||||
|
initialSales = good.initialSales,
|
||||||
})
|
})
|
||||||
.With(SqlWith.NoLock)
|
.With(SqlWith.NoLock)
|
||||||
.MergeTable()
|
.MergeTable()
|
||||||
@@ -1245,7 +1251,8 @@ namespace CoreCms.Net.Repository
|
|||||||
freezeStock = pd.freezeStock,
|
freezeStock = pd.freezeStock,
|
||||||
pointsDeduction = pd.pointsDeduction,
|
pointsDeduction = pd.pointsDeduction,
|
||||||
points = pd.points,
|
points = pd.points,
|
||||||
weight = pd.weight
|
weight = pd.weight,
|
||||||
|
initialSales = good.initialSales,
|
||||||
})
|
})
|
||||||
.MergeTable()
|
.MergeTable()
|
||||||
.OrderByIF(orderByExpression != null, orderByExpression, orderByType)
|
.OrderByIF(orderByExpression != null, orderByExpression, orderByType)
|
||||||
@@ -1317,7 +1324,8 @@ namespace CoreCms.Net.Repository
|
|||||||
freezeStock = pd.freezeStock,
|
freezeStock = pd.freezeStock,
|
||||||
pointsDeduction = pd.pointsDeduction,
|
pointsDeduction = pd.pointsDeduction,
|
||||||
points = pd.points,
|
points = pd.points,
|
||||||
weight = pd.weight
|
weight = pd.weight,
|
||||||
|
initialSales = good.initialSales,
|
||||||
})
|
})
|
||||||
.With(SqlWith.NoLock)
|
.With(SqlWith.NoLock)
|
||||||
.MergeTable()
|
.MergeTable()
|
||||||
@@ -1371,7 +1379,8 @@ namespace CoreCms.Net.Repository
|
|||||||
freezeStock = pd.freezeStock,
|
freezeStock = pd.freezeStock,
|
||||||
pointsDeduction = pd.pointsDeduction,
|
pointsDeduction = pd.pointsDeduction,
|
||||||
points = pd.points,
|
points = pd.points,
|
||||||
weight = pd.weight
|
weight = pd.weight,
|
||||||
|
initialSales = good.initialSales,
|
||||||
})
|
})
|
||||||
.MergeTable()
|
.MergeTable()
|
||||||
.OrderByIF(orderByPredicate != null, orderByPredicate, orderByType)
|
.OrderByIF(orderByPredicate != null, orderByPredicate, orderByType)
|
||||||
@@ -1441,7 +1450,8 @@ namespace CoreCms.Net.Repository
|
|||||||
freezeStock = pd.freezeStock,
|
freezeStock = pd.freezeStock,
|
||||||
pointsDeduction = pd.pointsDeduction,
|
pointsDeduction = pd.pointsDeduction,
|
||||||
points = pd.points,
|
points = pd.points,
|
||||||
weight = pd.weight
|
weight = pd.weight,
|
||||||
|
initialSales = good.initialSales,
|
||||||
})
|
})
|
||||||
.With(SqlWith.NoLock)
|
.With(SqlWith.NoLock)
|
||||||
.MergeTable()
|
.MergeTable()
|
||||||
@@ -1495,7 +1505,8 @@ namespace CoreCms.Net.Repository
|
|||||||
freezeStock = pd.freezeStock,
|
freezeStock = pd.freezeStock,
|
||||||
pointsDeduction = pd.pointsDeduction,
|
pointsDeduction = pd.pointsDeduction,
|
||||||
points = pd.points,
|
points = pd.points,
|
||||||
weight = pd.weight
|
weight = pd.weight,
|
||||||
|
initialSales = good.initialSales,
|
||||||
})
|
})
|
||||||
.MergeTable()
|
.MergeTable()
|
||||||
.OrderByIF(!string.IsNullOrEmpty(orderBy), orderBy)
|
.OrderByIF(!string.IsNullOrEmpty(orderBy), orderBy)
|
||||||
@@ -1568,7 +1579,8 @@ namespace CoreCms.Net.Repository
|
|||||||
freezeStock = pd.freezeStock,
|
freezeStock = pd.freezeStock,
|
||||||
pointsDeduction = pd.pointsDeduction,
|
pointsDeduction = pd.pointsDeduction,
|
||||||
points = pd.points,
|
points = pd.points,
|
||||||
weight = pd.weight
|
weight = pd.weight,
|
||||||
|
initialSales = good.initialSales,
|
||||||
})
|
})
|
||||||
.With(SqlWith.NoLock)
|
.With(SqlWith.NoLock)
|
||||||
.MergeTable()
|
.MergeTable()
|
||||||
@@ -1622,7 +1634,8 @@ namespace CoreCms.Net.Repository
|
|||||||
freezeStock = pd.freezeStock,
|
freezeStock = pd.freezeStock,
|
||||||
pointsDeduction = pd.pointsDeduction,
|
pointsDeduction = pd.pointsDeduction,
|
||||||
points = pd.points,
|
points = pd.points,
|
||||||
weight = pd.weight
|
weight = pd.weight,
|
||||||
|
initialSales = good.initialSales,
|
||||||
})
|
})
|
||||||
.MergeTable()
|
.MergeTable()
|
||||||
.Where(predicate)
|
.Where(predicate)
|
||||||
@@ -1699,7 +1712,8 @@ namespace CoreCms.Net.Repository
|
|||||||
freezeStock = pd.freezeStock,
|
freezeStock = pd.freezeStock,
|
||||||
pointsDeduction = pd.pointsDeduction,
|
pointsDeduction = pd.pointsDeduction,
|
||||||
points = pd.points,
|
points = pd.points,
|
||||||
weight = pd.weight
|
weight = pd.weight,
|
||||||
|
initialSales = good.initialSales,
|
||||||
})
|
})
|
||||||
.With(SqlWith.NoLock)
|
.With(SqlWith.NoLock)
|
||||||
.MergeTable()
|
.MergeTable()
|
||||||
@@ -1753,7 +1767,8 @@ namespace CoreCms.Net.Repository
|
|||||||
freezeStock = pd.freezeStock,
|
freezeStock = pd.freezeStock,
|
||||||
pointsDeduction = pd.pointsDeduction,
|
pointsDeduction = pd.pointsDeduction,
|
||||||
points = pd.points,
|
points = pd.points,
|
||||||
weight = pd.weight
|
weight = pd.weight,
|
||||||
|
initialSales = good.initialSales,
|
||||||
})
|
})
|
||||||
.MergeTable()
|
.MergeTable()
|
||||||
.Where(predicate)
|
.Where(predicate)
|
||||||
@@ -1823,6 +1838,7 @@ namespace CoreCms.Net.Repository
|
|||||||
isRecommend = good.isRecommend,
|
isRecommend = good.isRecommend,
|
||||||
isHot = good.isHot,
|
isHot = good.isHot,
|
||||||
isDel = good.isDel,
|
isDel = good.isDel,
|
||||||
|
initialSales = good.initialSales,
|
||||||
})
|
})
|
||||||
.Mapper(p => p.sku, p => p.sku.First().goodsId)
|
.Mapper(p => p.sku, p => p.sku.First().goodsId)
|
||||||
.Mapper(it =>
|
.Mapper(it =>
|
||||||
@@ -1870,7 +1886,8 @@ namespace CoreCms.Net.Repository
|
|||||||
updateTime = good.updateTime,
|
updateTime = good.updateTime,
|
||||||
isRecommend = good.isRecommend,
|
isRecommend = good.isRecommend,
|
||||||
isHot = good.isHot,
|
isHot = good.isHot,
|
||||||
isDel = good.isDel
|
isDel = good.isDel,
|
||||||
|
initialSales = good.initialSales,
|
||||||
})
|
})
|
||||||
.Mapper(p => p.sku, p => p.sku.First().goodsId)
|
.Mapper(p => p.sku, p => p.sku.First().goodsId)
|
||||||
.Mapper(it =>
|
.Mapper(it =>
|
||||||
|
|||||||
@@ -523,13 +523,14 @@ namespace CoreCms.Net.Services
|
|||||||
model.isFav = await _goodsCollectionServices.ExistsAsync(p => p.goodsId == model.id && p.userId == userId);
|
model.isFav = await _goodsCollectionServices.ExistsAsync(p => p.goodsId == model.id && p.userId == userId);
|
||||||
}
|
}
|
||||||
//取默认货品
|
//取默认货品
|
||||||
var products = await _productsServices.QueryByClauseAsync(p => p.goodsId == model.id && p.isDefalut == true && p.isDel == false);
|
model.sku = await _productsServices.QueryListByClauseAsync(p => p.goodsId == model.id && p.isDel == false);
|
||||||
|
if (!model.sku.Any()) return null;
|
||||||
|
var products = model.sku.Find(p => p.isDefalut);
|
||||||
if (products == null) return null;
|
if (products == null) return null;
|
||||||
var getProductInfo = await _productsServices.GetProductInfo(products.id, isPromotion, userId, type, groupId);
|
var getProductInfo = await _productsServices.GetProductInfo(products.id, isPromotion, userId, type, groupId);
|
||||||
if (getProductInfo == null) return null;
|
if (getProductInfo == null) return null;
|
||||||
|
|
||||||
model.product = getProductInfo;
|
model.product = getProductInfo;
|
||||||
|
|
||||||
model.sn = getProductInfo.sn;
|
model.sn = getProductInfo.sn;
|
||||||
model.price = getProductInfo.price;
|
model.price = getProductInfo.price;
|
||||||
model.costprice = getProductInfo.costprice;
|
model.costprice = getProductInfo.costprice;
|
||||||
@@ -552,7 +553,7 @@ namespace CoreCms.Net.Services
|
|||||||
model.brand = brand;
|
model.brand = brand;
|
||||||
|
|
||||||
//取出销量
|
//取出销量
|
||||||
model.buyCount = await _orderItemServices.GetCountAsync(p => p.goodsId == model.id);
|
model.buyCount = model.initialSales + await _orderItemServices.GetSumAsync(p => p.goodsId == model.id, o => o.nums, true);
|
||||||
return model;
|
return model;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
@@ -625,7 +626,6 @@ namespace CoreCms.Net.Services
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#region 重写根据条件查询数据
|
#region 重写根据条件查询数据
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 重写根据条件查询数据
|
/// 重写根据条件查询数据
|
||||||
@@ -641,10 +641,9 @@ namespace CoreCms.Net.Services
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region 重写根据条件及自定义排序查询分页数据
|
||||||
#region 重写根据条件查询分页数据
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 重写根据条件查询分页数据
|
/// 重写根据条件及自定义排序查询分页数据
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="predicate"></param>
|
/// <param name="predicate"></param>
|
||||||
/// <param name="orderBy"></param>
|
/// <param name="orderBy"></param>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ layui.define(['laytpl', 'layer', 'element', 'util'], function (exports) {
|
|||||||
, pageTabs: false //是否开启页面选项卡功能。单页版不推荐开启
|
, pageTabs: false //是否开启页面选项卡功能。单页版不推荐开启
|
||||||
|
|
||||||
, name: '核心商城系统'
|
, name: '核心商城系统'
|
||||||
, version: 'CoreShop v1.0'
|
, version: 'CoreShopProfessional v0.5.0'
|
||||||
, tableName: 'CoreCms' //本地存储表名
|
, tableName: 'CoreCms' //本地存储表名
|
||||||
, MOD_NAME: 'admin' //模块事件名
|
, MOD_NAME: 'admin' //模块事件名
|
||||||
|
|
||||||
|
|||||||
@@ -92,6 +92,12 @@
|
|||||||
<input type="number" min="0" max="999999" name="goods[sort]" id="sort" lay-verify="required|number" class="layui-input" value="1" placeholder="请输入商品排序" lay-reqText="请输入商品排序并为数字" />
|
<input type="number" min="0" max="999999" name="goods[sort]" id="sort" lay-verify="required|number" class="layui-input" value="1" placeholder="请输入商品排序" lay-reqText="请输入商品排序并为数字" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="initialSales" class="layui-form-label layui-form-required">初始销量</label>
|
||||||
|
<div class="layui-input-inline layui-inline-2">
|
||||||
|
<input type="number" min="0" max="999999" name="goods[initialSales]" id="initialSales" lay-verify="required|number" class="layui-input" value="1" placeholder="请输入初始销量" lay-reqText="请输入初始销量并为数字" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label for="isMarketable" class="layui-form-label layui-form-required">是否上架</label>
|
<label for="isMarketable" class="layui-form-label layui-form-required">是否上架</label>
|
||||||
<div class="layui-input-inline layui-inline-2">
|
<div class="layui-input-inline layui-inline-2">
|
||||||
@@ -1474,6 +1480,7 @@
|
|||||||
goods.price = field['goods[price]'];
|
goods.price = field['goods[price]'];
|
||||||
goods.sn = field['goods[sn]'];
|
goods.sn = field['goods[sn]'];
|
||||||
goods.sort = field['goods[sort]'];
|
goods.sort = field['goods[sort]'];
|
||||||
|
goods.initialSales = field['goods[initialSales]'];
|
||||||
goods.spesDesc = field['goods[spesDesc]'];
|
goods.spesDesc = field['goods[spesDesc]'];
|
||||||
goods.stock = field['goods[stock]'];
|
goods.stock = field['goods[stock]'];
|
||||||
goods.unit = field['goods[unit]'];
|
goods.unit = field['goods[unit]'];
|
||||||
|
|||||||
@@ -89,6 +89,12 @@
|
|||||||
<input type="number" min="0" max="999999" name="goods[sort]" id="sort" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.data.model.sort }}" placeholder="请输入商品排序" lay-reqText="请输入商品排序并为数字" />
|
<input type="number" min="0" max="999999" name="goods[sort]" id="sort" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.data.model.sort }}" placeholder="请输入商品排序" lay-reqText="请输入商品排序并为数字" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="initialSales" class="layui-form-label layui-form-required">初始销量</label>
|
||||||
|
<div class="layui-input-inline layui-inline-2">
|
||||||
|
<input type="number" min="0" max="999999" name="goods[initialSales]" id="initialSales" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.data.model.initialSales }}" placeholder="请输入初始销量" lay-reqText="请输入初始销量并为数字" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label for="isMarketable" class="layui-form-label layui-form-required">是否上架</label>
|
<label for="isMarketable" class="layui-form-label layui-form-required">是否上架</label>
|
||||||
<div class="layui-input-inline layui-inline-2">
|
<div class="layui-input-inline layui-inline-2">
|
||||||
@@ -1572,6 +1578,7 @@
|
|||||||
goods.price = field['goods[price]'];
|
goods.price = field['goods[price]'];
|
||||||
goods.sn = field['goods[sn]'];
|
goods.sn = field['goods[sn]'];
|
||||||
goods.sort = field['goods[sort]'];
|
goods.sort = field['goods[sort]'];
|
||||||
|
goods.initialSales = field['goods[initialSales]'];
|
||||||
goods.spesDesc = field['goods[spesDesc]'];
|
goods.spesDesc = field['goods[spesDesc]'];
|
||||||
goods.stock = field['goods[stock]'];
|
goods.stock = field['goods[stock]'];
|
||||||
goods.unit = field['goods[unit]'];
|
goods.unit = field['goods[unit]'];
|
||||||
|
|||||||
@@ -206,6 +206,7 @@
|
|||||||
{ field: 'name', title: '商品名称', sort: false },
|
{ field: 'name', title: '商品名称', sort: false },
|
||||||
//{ field: 'stock', title: '库存', sort: false, width: 60 },
|
//{ field: 'stock', title: '库存', sort: false, width: 60 },
|
||||||
{ field: 'sort', title: '排序', sort: false, width: 40 },
|
{ field: 'sort', title: '排序', sort: false, width: 40 },
|
||||||
|
{ field: 'initialSales', title: '初始销量', sort: false, width: 70 },
|
||||||
{
|
{
|
||||||
field: 'productsDistributionType', title: '佣金方式', sort: false, width: 80, templet: function (data) {
|
field: 'productsDistributionType', title: '佣金方式', sort: false, width: 80, templet: function (data) {
|
||||||
if (data.productsDistributionType === 1) {
|
if (data.productsDistributionType === 1) {
|
||||||
|
|||||||
1
数据库/MySql/20220715/升级脚本.sql
Normal file
1
数据库/MySql/20220715/升级脚本.sql
Normal file
@@ -0,0 +1 @@
|
|||||||
|
ALTER TABLE CoreCmsGoods ADD COLUMN initialSales int DEFAULT 0 NOT NULL COMMENT '初始销量' AFTER isDel;
|
||||||
BIN
数据库/MySql/20220715/完整脚本/coreshop20220715带商品演示脚本navicat导出.rar
Normal file
BIN
数据库/MySql/20220715/完整脚本/coreshop20220715带商品演示脚本navicat导出.rar
Normal file
Binary file not shown.
BIN
数据库/MySql/20220715/完整脚本/coreshop2022715带商品演示脚本aliyun导出.zip
Normal file
BIN
数据库/MySql/20220715/完整脚本/coreshop2022715带商品演示脚本aliyun导出.zip
Normal file
Binary file not shown.
@@ -1,3 +1,6 @@
|
|||||||
|
2022-07-15
|
||||||
|
【新增】表【CoreCmsGoods】增加【initialSales】初始销量字段,用于展示友好销量
|
||||||
|
|
||||||
2022-07-04
|
2022-07-04
|
||||||
【新增】表【WeChatTransactionComponentOrder】微信交易订单,表增加【paymentId】字段。
|
【新增】表【WeChatTransactionComponentOrder】微信交易订单,表增加【paymentId】字段。
|
||||||
|
|
||||||
|
|||||||
BIN
数据库/SqlServer/20220715/20220715完整数据库带演示商品.rar
Normal file
BIN
数据库/SqlServer/20220715/20220715完整数据库带演示商品.rar
Normal file
Binary file not shown.
4
数据库/SqlServer/20220715/升级脚本.sql
Normal file
4
数据库/SqlServer/20220715/升级脚本.sql
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
ALTER TABLE [dbo].[CoreCmsGoods] ADD [initialSales] INT DEFAULT 0 NOT NULL;
|
||||||
|
|
||||||
|
GO
|
||||||
|
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'初始销量', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'CoreCmsGoods', @level2type = N'COLUMN', @level2name = N'initialSales';
|
||||||
@@ -1,3 +1,6 @@
|
|||||||
|
2022-07-15
|
||||||
|
【新增】表【CoreCmsGoods】增加【initialSales】初始销量字段,用于展示友好销量
|
||||||
|
|
||||||
2022-07-05
|
2022-07-05
|
||||||
【新增】表【CoreCmsUserTocash】用户提现表,增加【type】提现方式,【message】反馈信息两个字段
|
【新增】表【CoreCmsUserTocash】用户提现表,增加【type】提现方式,【message】反馈信息两个字段
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user