【优化】取消sku货品货号必须包含【SN】的限制。

【调整】调整Sku切割方式,将小写逗号【.】,替换为【&&】;同时更新表【CoreCmsGoods】内数据,请大家执行sql脚本更新存储的sku数据。
This commit is contained in:
大灰灰
2022-11-04 02:56:53 +08:00
parent ac3de3e5ad
commit 6e35ffb357
15 changed files with 45 additions and 32 deletions

View File

@@ -74,12 +74,13 @@ namespace CoreCms.Net.Repository
//检查数据
foreach (var item in entity.products)
{
if (!item.sn.Contains("sn") && !item.sn.Contains("SN"))
{
jm.msg = "请键入货品货号货号为SN英文开头";
return jm;
}
else if (item.stock < 0)
//if (!item.sn.Contains("sn") && !item.sn.Contains("SN"))
//{
// jm.msg = "请键入货品货号货号为SN英文开头";
// return jm;
//}
//else
if (item.stock < 0)
{
jm.msg = "库存不能为0";
return jm;
@@ -327,12 +328,13 @@ namespace CoreCms.Net.Repository
//检查数据
foreach (var item in entity.products)
{
if (!item.sn.Contains("sn") && !item.sn.Contains("SN"))
{
jm.msg = "请键入货品货号货号为SN英文开头";
return jm;
}
else if (item.stock < 0)
//if (!item.sn.Contains("sn") && !item.sn.Contains("SN"))
//{
// jm.msg = "请键入货品货号货号为SN英文开头";
// return jm;
//}
//else
if (item.stock < 0)
{
jm.msg = "库存不能为0";
return jm;

View File

@@ -793,7 +793,7 @@ namespace CoreCms.Net.Services
foreach (var item in good.spesDesc.Split("|"))
{
//1911&&电线型号:2.5mm²
var temp = item.Split(".")[1].Split(":");
var temp = item.Split("&&")[1].Split(":");
var name = temp[0];
var value = temp[1];
if (!defaultSpec.ContainsKey(name))

View File

@@ -127,7 +127,7 @@ namespace CoreCms.Net.Services
foreach (var item in spesDescArr)
{
//小类拆分
var itemArr = item.Split(".");
var itemArr = item.Split("&&");
//键值对处理
var keyValue = itemArr[1].Split(":");
var defaultSpesDesc = new DefaultSpesDesc();

View File

@@ -162,7 +162,7 @@ namespace CoreCms.Net.Utility.Helper
/// <returns></returns>
public static bool FilterChar(string inputValue)
{
return Regex.IsMatch(inputValue, "[`.~!@#$^&*()=|\"{}':;',\\[\\]<>?~@#¥……&*&;|{}。*-+]+");
return Regex.IsMatch(inputValue, "[`~!@#$^&*()=|\"{}':;',\\[\\]<>?~@#¥……&*&;|{}。*-+]+");
}
#endregion

View File

@@ -872,7 +872,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
return jm;
}
var newSpecs = list.Where(p => p.name.Contains("newSpec.")).ToList();
var newSpecs = list.Where(p => p.name.Contains("newSpec&&")).ToList();
foreach (var t in newSpecs)
{
t.value = t.value.Trim();
@@ -897,7 +897,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
{
newSpec.ForEach(p =>
{
p.name = p.name.Replace("newSpec.", "");
p.name = p.name.Replace("newSpec&&", "");
newSpecStr += p.name + ":" + p.value + "|";
});
newSpecStr = newSpecStr.Remove(newSpecStr.Length - 1, 1);
@@ -910,7 +910,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
{
selectSpec.ForEach(p =>
{
p.name = p.name.Replace("selectSpec.", "");
p.name = p.name.Replace("selectSpec&&", "");
selectSpecStr += p.name + ":" + p.value + "|";
});
selectSpecStr = selectSpecStr.Remove(selectSpecStr.Length - 1, 1);
@@ -921,8 +921,8 @@ namespace CoreCms.Net.Web.Admin.Controllers
var newSelectSpec = selectSpec;
newSelectSpec.ForEach(p =>
{
var id = p.name.Split(".")[0];
var name = p.name.Split(".")[1];
var id = p.name.Split("&&")[0];
var name = p.name.Split("&&")[1];
p.name = name;
var newValue = newSpec.Find(p => p.name == id);

View File

@@ -444,10 +444,10 @@
{{# layui.each(item.specValues, function(indexValue, itemValue){ }}
<div class="spec-item">
<div class="checkboxBox">
<input type="checkbox" name="selectSpec.{{itemValue.id}}.{{item.name}}" value="{{itemValue.value}}" lay-skin="switch" lay-filter="spec_select" class="spec-select" lay-text="启用|关闭">
<input type="checkbox" name="selectSpec&&{{itemValue.id}}&&{{item.name}}" value="{{itemValue.value}}" lay-skin="switch" lay-filter="spec_select" class="spec-select" lay-text="启用|关闭">
</div>
<div class="layui-input-inline">
<input type="text" value="{{itemValue.value}}" name="newSpec.{{itemValue.id}}" class="layui-input">
<input type="text" value="{{itemValue.value}}" name="newSpec&&{{itemValue.id}}" class="layui-input">
</div>
</div>
{{# }); }}

View File

@@ -314,7 +314,7 @@
{{# layui.each(item.specValues, function(indexValue, itemValue){ }}
<div class="spec-item">
<div class="checkboxBox">
<input type="checkbox" name="selectSpec.{{itemValue.id}}.{{item.name}}" value="{{itemValue.value}}" lay-skin="switch" {{isSelectedTypeSpec(d.model.spesDesc, itemValue.id,item.name)?'checked="checked"':''}} lay-filter="spec_select" class="spec-select" lay-text="启用|关闭" disabled="disabled">
<input type="checkbox" name="selectSpec&&{{itemValue.id}}&&{{item.name}}" value="{{itemValue.value}}" lay-skin="switch" {{isSelectedTypeSpec(d.model.spesDesc, itemValue.id,item.name)?'checked="checked"':''}} lay-filter="spec_select" class="spec-select" lay-text="启用|关闭" disabled="disabled">
</div>
<div class="layui-input-inline layui-inline-3 layui-form-mid">{{getSelectedTypeSpecValue(d.model.newSpec, itemValue.id, itemValue.value)}}</div>
</div>
@@ -715,7 +715,7 @@
if (parameters) {
var arr = parameters.split('|');
for (var i = 0; i < arr.length; i++) {
var str = id + '.' + value;
var str = id + '&&' + value;
var child = arr[i].split(':');
if (child[0] === str) {
return true;

View File

@@ -441,10 +441,10 @@
{{# layui.each(item.specValues, function(indexValue, itemValue){ }}
<div class="spec-item">
<div class="checkboxBox">
<input type="checkbox" name="selectSpec.{{itemValue.id}}.{{item.name}}" value="{{itemValue.value}}" lay-skin="switch" {{isSelectedTypeSpec(d.model.spesDesc, itemValue.id,item.name)?'checked="checked"':''}} lay-filter="spec_select" class="spec-select" lay-text="启用|关闭">
<input type="checkbox" name="selectSpec&&{{itemValue.id}}&&{{item.name}}" value="{{itemValue.value}}" lay-skin="switch" {{isSelectedTypeSpec(d.model.spesDesc, itemValue.id,item.name)?'checked="checked"':''}} lay-filter="spec_select" class="spec-select" lay-text="启用|关闭">
</div>
<div class="layui-input-inline">
<input type="text" value="{{getSelectedTypeSpecValue(d.model.newSpec, itemValue.id, itemValue.value)}}" name="newSpec.{{itemValue.id}}" class="layui-input">
<input type="text" value="{{getSelectedTypeSpecValue(d.model.newSpec, itemValue.id, itemValue.value)}}" name="newSpec&&{{itemValue.id}}" class="layui-input">
</div>
</div>
{{# }); }}
@@ -1680,7 +1680,7 @@
if (parameters) {
var arr = parameters.split('|');
for (var i = 0; i < arr.length; i++) {
var str = id + '.' + value;
var str = id + '&&' + value;
var child = arr[i].split(':');
if (child[0] === str) {
return true;

View File

@@ -1,7 +1,8 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsGoodsTypeSpec-createForm" id="LAY-app-CoreCmsGoodsTypeSpec-createForm">
<blockquote class="layui-elem-quote">
SKU模型值只支持中文英文数字中文输入大写符号英文小写个符号-/
SKU模型值只支持中文英文数字中文输入大写符号英文小写个符号-/.横杠斜杠<br />
禁止出现符号为`~!@#$^&*()=|\"{}':;',\\[\\]<>?~@#¥……&*&;|{}。*-+】
</blockquote>
<div class="layui-form-item">
<label for="name" class="layui-form-label">模型名称</label>

View File

@@ -2,7 +2,8 @@
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsGoodsTypeSpec-editForm" id="LAY-app-CoreCmsGoodsTypeSpec-editForm">
<input type="hidden" name="id" id="id" value="{{d.params.data.id || '' }}" />
<blockquote class="layui-elem-quote">
SKU模型值只支持中文英文数字中文输入大写符号英文小写个符号-/
SKU模型值只支持中文英文数字中文输入大写符号英文小写个符号-/.横杠斜杠<br />
禁止出现符号为`~!@#$^&*()=|\"{}':;',\\[\\]<>?~@#¥……&*&;|{}。*-+】
</blockquote>
<div class="layui-form-item">
<label for="name" class="layui-form-label">模型名称</label>

View File

@@ -145,7 +145,7 @@
admin.popup({
shadeClose: false,
title: '创建数据',
area: ['550px', '90%'],
area: ['700px', '90%'],
id: 'LAY-popup-CoreCmsGoodsTypeSpec-create',
success: function (layero, index) {
view(this.id).render('good/goodstypespec/create', { data: e.data }).done(function () {
@@ -192,7 +192,7 @@
admin.popup({
shadeClose: false,
title: '编辑数据',
area: ['550px', '90%'],
area: ['700px', '90%'],
id: 'LAY-popup-CoreCmsGoodsTypeSpec-edit',
success: function (layero, index) {
view(this.id).render('good/goodstypespec/edit', { data: e.data }).done(function () {

View File

@@ -0,0 +1 @@
UPDATE dbo.CoreCmsGoods SET spesDesc = REPLACE(spesDesc, '.', '&&'), parameters = REPLACE(parameters, '.', '&&'), newSpec = REPLACE(newSpec, '.', '&&');

View File

@@ -1,3 +1,6 @@
2022-11-04
【更新数据】更新表【CoreCmsGoods】数据将小写逗号【.】,批量替换为【&&】允许sku使用小写逗号。
2022-10-01
【删除】表【CoreCmsArea】【postalCode】字段
【更新】表【CoreCmsArea】更新最新的全国行政区划

View File

@@ -0,0 +1,2 @@
--更新商品编码分隔符
UPDATE dbo.CoreCmsGoods SET spesDesc = REPLACE(spesDesc, '.', '&&'), parameters = REPLACE(parameters, '.', '&&'), newSpec = REPLACE(newSpec, '.', '&&');

View File

@@ -1,3 +1,6 @@
2022-11-04
【更新数据】更新表【CoreCmsGoods】数据将小写逗号【.】,批量替换为【&&】允许sku使用小写逗号。
2022-10-01
【删除】表【CoreCmsArea】【postalCode】字段
【更新】表【CoreCmsArea】更新最新的全国行政区划