### 0.6.0 专业版(大版本升级,破坏性升级,请酌情处理):

【新增】弃用现在sku前端,启用全新sku组件,更加灵活,体验更好。
【新增】新增通过商品序列获取sku全新列表功能。
【新增】仓储层底层增加二级缓存功能,后面将逐步完善底层缓存中心模块。
【新增】0元购,积分兑换模式下,也去计算用户是否科技升级。
【新增】数据及业务仓储增加二级缓存功能。curd可自主控制是否缓存和清除。
【新增】订单导出excel数据增加商品名称+货品sku组合展示的方式。
【新增】自定义交易组件增加【获取商家信息】【更新商家信息】两个接口处理。
【新增】增加公告列表及公告详情页面,首页组件公告点击跳转列表展示。
【新增】个人中心增加【公告中心】入口。
【新增】后台余额变动增加说明录入。

【调整】将前端能进行分包的文件夹都进行分包,减少主包占用,方便进行二开。
【调整】因ckeditor5存在图片不可设置宽度,上传不支持mp4,排版不畅等情况,降级使用ckeditor4版本。
【修复】修复0.5.5版本售后积分返还机制积分模式判断异常的问题。
【修复】修复使用积分全额抵扣,或其他优惠政策导致的0元购,未进行短信提醒及小票打印机未打印的问题。
【修复】修复更换ckeditor4编辑器后接龙添加编辑调用失败的问题。
【修复】修复积分全额抵扣,金额0元购的情况下,进行售后执行完毕,订单未完结的情况。
【优化】去除分销申请面板按钮无用并失效报错的customStyle属性。
【优化】优化部分方法中使用手写字符串的遗留问题,统一采用enum方式。
【优化】优化前端及接口部分命名错误的问题。错将skill误写成seckill。
【优化】去除uniapp端多个客服代码。
【优化】商品详情底部完善购物车数量显示的问题。
【优化】优化团购列表,拼团列表,秒杀页面页面样式布局差异问题。
【优化】调整支付结果界面样式效果,仿微信支付结果界面。更加清晰明朗。
【优化】优化售后提交页面json计算,开放当用户下单后但未发货情况下,可以申请直接售后的操作需求。
【优化】后台商家手机号码支持设置多个,使用小写逗号分隔,方便多个商家管理员接收下单提醒。
【优化】后台售后单审核,调整售后商品为必选项。
This commit is contained in:
大灰灰
2022-09-14 00:53:04 +08:00
parent 6ce893cb38
commit 7b68f352d7
3118 changed files with 161226 additions and 10176 deletions

View File

@@ -78,55 +78,24 @@ namespace CoreCms.Net.Web.Admin.Controllers
var where = PredicateBuilder.True<CoreCmsBillDelivery>();
//获取排序字段
var orderField = Request.Form["orderField"].FirstOrDefault();
Expression<Func<CoreCmsBillDelivery, object>> orderEx;
switch (orderField)
Expression<Func<CoreCmsBillDelivery, object>> orderEx = orderField switch
{
case "deliveryId":
orderEx = p => p.deliveryId;
break;
case "logiCode":
orderEx = p => p.logiCode;
break;
case "logiNo":
orderEx = p => p.logiNo;
break;
case "logiInformation":
orderEx = p => p.logiInformation;
break;
case "logiStatus":
orderEx = p => p.logiStatus;
break;
case "shipAreaId":
orderEx = p => p.shipAreaId;
break;
case "shipAddress":
orderEx = p => p.shipAddress;
break;
case "shipName":
orderEx = p => p.shipName;
break;
case "shipMobile":
orderEx = p => p.shipMobile;
break;
case "status":
orderEx = p => p.status;
break;
case "memo":
orderEx = p => p.memo;
break;
case "confirmTime":
orderEx = p => p.confirmTime;
break;
case "createTime":
orderEx = p => p.createTime;
break;
case "updateTime":
orderEx = p => p.updateTime;
break;
default:
orderEx = p => p.deliveryId;
break;
}
"deliveryId" => p => p.deliveryId,
"logiCode" => p => p.logiCode,
"logiNo" => p => p.logiNo,
"logiInformation" => p => p.logiInformation,
"logiStatus" => p => p.logiStatus,
"shipAreaId" => p => p.shipAreaId,
"shipAddress" => p => p.shipAddress,
"shipName" => p => p.shipName,
"shipMobile" => p => p.shipMobile,
"status" => p => p.status,
"memo" => p => p.memo,
"confirmTime" => p => p.confirmTime,
"createTime" => p => p.createTime,
"updateTime" => p => p.updateTime,
_ => p => p.deliveryId
};
//设置排序方式
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
@@ -239,12 +208,12 @@ namespace CoreCms.Net.Web.Admin.Controllers
if (list.Any())
{
var logist = await _logisticsServices.QueryAsync();
var areaCache =await _areaServices.GetCaChe();
var areaCache = await _areaServices.GetCaChe();
foreach (var item in list)
{
if (item.shipAreaId > 0)
{
var result =await _areaServices.GetAreaFullName(item.shipAreaId, areaCache);
var result = await _areaServices.GetAreaFullName(item.shipAreaId, areaCache);
if (result.status) item.shipAddress = result.data + item.shipAddress;
}
@@ -387,7 +356,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
if (model.shipAreaId > 0)
{
var result =await _areaServices.GetAreaFullName(model.shipAreaId);
var result = await _areaServices.GetAreaFullName(model.shipAreaId);
if (result.status) model.shipAddress = result.data + model.shipAddress;
}
@@ -505,132 +474,132 @@ namespace CoreCms.Net.Web.Admin.Controllers
{
var jm = new AdminUiCallBack();
var where = PredicateBuilder.True<CoreCmsBillDelivery>();
//查询筛选
var where = PredicateBuilder.True<CoreCmsBillDelivery>();
//查询筛选
//发货单序列 nvarchar
var deliveryId = Request.Form["deliveryId"].FirstOrDefault();
if (!string.IsNullOrEmpty(deliveryId)) @where = @where.And(p => p.deliveryId.Contains(deliveryId));
//物流公司编码 nvarchar
var logiCode = Request.Form["logiCode"].FirstOrDefault();
if (!string.IsNullOrEmpty(logiCode)) @where = @where.And(p => p.logiCode.Contains(logiCode));
//物流单号 nvarchar
var logiNo = Request.Form["logiNo"].FirstOrDefault();
if (!string.IsNullOrEmpty(logiNo)) @where = @where.And(p => p.logiNo.Contains(logiNo));
//快递物流信息 nvarchar
var logiInformation = Request.Form["logiInformation"].FirstOrDefault();
if (!string.IsNullOrEmpty(logiInformation))
@where = @where.And(p => p.logiInformation.Contains(logiInformation));
//快递是否不更新 bit
var logiStatus = Request.Form["logiStatus"].FirstOrDefault();
if (!string.IsNullOrEmpty(logiStatus) && logiStatus.ToLowerInvariant() == "true")
@where = @where.And(p => p.logiStatus);
else if (!string.IsNullOrEmpty(logiStatus) && logiStatus.ToLowerInvariant() == "false")
@where = @where.And(p => p.logiStatus == false);
//收货地区ID int
var shipAreaId = Request.Form["shipAreaId"].FirstOrDefault().ObjectToInt(0);
if (shipAreaId > 0) @where = @where.And(p => p.shipAreaId == shipAreaId);
//收货详细地址 nvarchar
var shipAddress = Request.Form["shipAddress"].FirstOrDefault();
if (!string.IsNullOrEmpty(shipAddress)) @where = @where.And(p => p.shipAddress.Contains(shipAddress));
//收货人姓名 nvarchar
var shipName = Request.Form["shipName"].FirstOrDefault();
if (!string.IsNullOrEmpty(shipName)) @where = @where.And(p => p.shipName.Contains(shipName));
//收货电话 nvarchar
var shipMobile = Request.Form["shipMobile"].FirstOrDefault();
if (!string.IsNullOrEmpty(shipMobile)) @where = @where.And(p => p.shipMobile.Contains(shipMobile));
//状态 int
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
if (status > 0) @where = @where.And(p => p.status == status);
//备注 nvarchar
var memo = Request.Form["memo"].FirstOrDefault();
if (!string.IsNullOrEmpty(memo)) @where = @where.And(p => p.memo.Contains(memo));
//确认收货时间 datetime
var confirmTime = Request.Form["confirmTime"].FirstOrDefault();
if (!string.IsNullOrEmpty(confirmTime))
{
var dt = confirmTime.ObjectToDate();
where = where.And(p => p.confirmTime > dt);
}
//发货单序列 nvarchar
var deliveryId = Request.Form["deliveryId"].FirstOrDefault();
if (!string.IsNullOrEmpty(deliveryId)) @where = @where.And(p => p.deliveryId.Contains(deliveryId));
//物流公司编码 nvarchar
var logiCode = Request.Form["logiCode"].FirstOrDefault();
if (!string.IsNullOrEmpty(logiCode)) @where = @where.And(p => p.logiCode.Contains(logiCode));
//物流单号 nvarchar
var logiNo = Request.Form["logiNo"].FirstOrDefault();
if (!string.IsNullOrEmpty(logiNo)) @where = @where.And(p => p.logiNo.Contains(logiNo));
//快递物流信息 nvarchar
var logiInformation = Request.Form["logiInformation"].FirstOrDefault();
if (!string.IsNullOrEmpty(logiInformation))
@where = @where.And(p => p.logiInformation.Contains(logiInformation));
//快递是否不更新 bit
var logiStatus = Request.Form["logiStatus"].FirstOrDefault();
if (!string.IsNullOrEmpty(logiStatus) && logiStatus.ToLowerInvariant() == "true")
@where = @where.And(p => p.logiStatus);
else if (!string.IsNullOrEmpty(logiStatus) && logiStatus.ToLowerInvariant() == "false")
@where = @where.And(p => p.logiStatus == false);
//收货地区ID int
var shipAreaId = Request.Form["shipAreaId"].FirstOrDefault().ObjectToInt(0);
if (shipAreaId > 0) @where = @where.And(p => p.shipAreaId == shipAreaId);
//收货详细地址 nvarchar
var shipAddress = Request.Form["shipAddress"].FirstOrDefault();
if (!string.IsNullOrEmpty(shipAddress)) @where = @where.And(p => p.shipAddress.Contains(shipAddress));
//收货人姓名 nvarchar
var shipName = Request.Form["shipName"].FirstOrDefault();
if (!string.IsNullOrEmpty(shipName)) @where = @where.And(p => p.shipName.Contains(shipName));
//收货电话 nvarchar
var shipMobile = Request.Form["shipMobile"].FirstOrDefault();
if (!string.IsNullOrEmpty(shipMobile)) @where = @where.And(p => p.shipMobile.Contains(shipMobile));
//状态 int
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
if (status > 0) @where = @where.And(p => p.status == status);
//备注 nvarchar
var memo = Request.Form["memo"].FirstOrDefault();
if (!string.IsNullOrEmpty(memo)) @where = @where.And(p => p.memo.Contains(memo));
//确认收货时间 datetime
var confirmTime = Request.Form["confirmTime"].FirstOrDefault();
if (!string.IsNullOrEmpty(confirmTime))
{
var dt = confirmTime.ObjectToDate();
where = where.And(p => p.confirmTime > dt);
}
//创建时间 datetime
var createTime = Request.Form["createTime"].FirstOrDefault();
if (!string.IsNullOrEmpty(createTime))
{
var dt = createTime.ObjectToDate();
where = where.And(p => p.createTime > dt);
}
//创建时间 datetime
var createTime = Request.Form["createTime"].FirstOrDefault();
if (!string.IsNullOrEmpty(createTime))
{
var dt = createTime.ObjectToDate();
where = where.And(p => p.createTime > dt);
}
//更新时间 datetime
var updateTime = Request.Form["updateTime"].FirstOrDefault();
if (!string.IsNullOrEmpty(updateTime))
{
var dt = updateTime.ObjectToDate();
where = where.And(p => p.updateTime > dt);
}
//更新时间 datetime
var updateTime = Request.Form["updateTime"].FirstOrDefault();
if (!string.IsNullOrEmpty(updateTime))
{
var dt = updateTime.ObjectToDate();
where = where.And(p => p.updateTime > dt);
}
//获取数据
//创建Excel文件的对象
var book = new HSSFWorkbook();
//添加一个sheet
var sheet1 = book.CreateSheet("Sheet1");
//获取list数据
var listmodel =
await _coreCmsBillDeliveryServices.QueryListByClauseAsync(where, p => p.deliveryId,
OrderByType.Asc);
//给sheet1添加第一行的头部标题
var row1 = sheet1.CreateRow(0);
row1.CreateCell(0).SetCellValue("发货单序列");
row1.CreateCell(1).SetCellValue("物流公司编码");
row1.CreateCell(2).SetCellValue("物流单号");
row1.CreateCell(3).SetCellValue("快递物流信息");
row1.CreateCell(4).SetCellValue("快递是否不更新");
row1.CreateCell(5).SetCellValue("收货地区ID");
row1.CreateCell(6).SetCellValue("收货详细地址");
row1.CreateCell(7).SetCellValue("收货人姓名");
row1.CreateCell(8).SetCellValue("收货电话");
row1.CreateCell(9).SetCellValue("状态");
row1.CreateCell(10).SetCellValue("备注");
row1.CreateCell(11).SetCellValue("确认收货时间");
row1.CreateCell(12).SetCellValue("创建时间");
row1.CreateCell(13).SetCellValue("更新时间");
//获取数据
//创建Excel文件的对象
var book = new HSSFWorkbook();
//添加一个sheet
var sheet1 = book.CreateSheet("Sheet1");
//获取list数据
var listmodel =
await _coreCmsBillDeliveryServices.QueryListByClauseAsync(where, p => p.deliveryId,
OrderByType.Asc);
//给sheet1添加第一行的头部标题
var row1 = sheet1.CreateRow(0);
row1.CreateCell(0).SetCellValue("发货单序列");
row1.CreateCell(1).SetCellValue("物流公司编码");
row1.CreateCell(2).SetCellValue("物流单号");
row1.CreateCell(3).SetCellValue("快递物流信息");
row1.CreateCell(4).SetCellValue("快递是否不更新");
row1.CreateCell(5).SetCellValue("收货地区ID");
row1.CreateCell(6).SetCellValue("收货详细地址");
row1.CreateCell(7).SetCellValue("收货人姓名");
row1.CreateCell(8).SetCellValue("收货电话");
row1.CreateCell(9).SetCellValue("状态");
row1.CreateCell(10).SetCellValue("备注");
row1.CreateCell(11).SetCellValue("确认收货时间");
row1.CreateCell(12).SetCellValue("创建时间");
row1.CreateCell(13).SetCellValue("更新时间");
//将数据逐步写入sheet1各个行
for (var i = 0; i < listmodel.Count; i++)
{
var rowtemp = sheet1.CreateRow(i + 1);
rowtemp.CreateCell(0).SetCellValue(listmodel[i].deliveryId);
rowtemp.CreateCell(1).SetCellValue(listmodel[i].logiCode);
rowtemp.CreateCell(2).SetCellValue(listmodel[i].logiNo);
rowtemp.CreateCell(3).SetCellValue(listmodel[i].logiInformation);
rowtemp.CreateCell(4).SetCellValue(listmodel[i].logiStatus.ToString());
rowtemp.CreateCell(5).SetCellValue(listmodel[i].shipAreaId.ToString());
rowtemp.CreateCell(6).SetCellValue(listmodel[i].shipAddress);
rowtemp.CreateCell(7).SetCellValue(listmodel[i].shipName);
rowtemp.CreateCell(8).SetCellValue(listmodel[i].shipMobile);
rowtemp.CreateCell(9).SetCellValue(listmodel[i].status.ToString());
rowtemp.CreateCell(10).SetCellValue(listmodel[i].memo);
rowtemp.CreateCell(11).SetCellValue(listmodel[i].confirmTime.ToString());
rowtemp.CreateCell(12).SetCellValue(listmodel[i].createTime.ToString());
rowtemp.CreateCell(13).SetCellValue(listmodel[i].updateTime.ToString());
}
//将数据逐步写入sheet1各个行
for (var i = 0; i < listmodel.Count; i++)
{
var rowtemp = sheet1.CreateRow(i + 1);
rowtemp.CreateCell(0).SetCellValue(listmodel[i].deliveryId);
rowtemp.CreateCell(1).SetCellValue(listmodel[i].logiCode);
rowtemp.CreateCell(2).SetCellValue(listmodel[i].logiNo);
rowtemp.CreateCell(3).SetCellValue(listmodel[i].logiInformation);
rowtemp.CreateCell(4).SetCellValue(listmodel[i].logiStatus.ToString());
rowtemp.CreateCell(5).SetCellValue(listmodel[i].shipAreaId.ToString());
rowtemp.CreateCell(6).SetCellValue(listmodel[i].shipAddress);
rowtemp.CreateCell(7).SetCellValue(listmodel[i].shipName);
rowtemp.CreateCell(8).SetCellValue(listmodel[i].shipMobile);
rowtemp.CreateCell(9).SetCellValue(listmodel[i].status.ToString());
rowtemp.CreateCell(10).SetCellValue(listmodel[i].memo);
rowtemp.CreateCell(11).SetCellValue(listmodel[i].confirmTime.ToString());
rowtemp.CreateCell(12).SetCellValue(listmodel[i].createTime.ToString());
rowtemp.CreateCell(13).SetCellValue(listmodel[i].updateTime.ToString());
}
// 写入到excel
var webRootPath = _webHostEnvironment.WebRootPath;
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsBillDelivery导出(查询结果).xls";
var filePath = webRootPath + tpath;
var di = new DirectoryInfo(filePath);
if (!di.Exists) di.Create();
var fileHssf = new FileStream(filePath + fileName, FileMode.Create);
book.Write(fileHssf);
fileHssf.Close();
// 写入到excel
var webRootPath = _webHostEnvironment.WebRootPath;
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsBillDelivery导出(查询结果).xls";
var filePath = webRootPath + tpath;
var di = new DirectoryInfo(filePath);
if (!di.Exists) di.Create();
var fileHssf = new FileStream(filePath + fileName, FileMode.Create);
book.Write(fileHssf);
fileHssf.Close();
jm.code = 0;
jm.msg = GlobalConstVars.ExcelExportSuccess;
jm.data = tpath + fileName;
jm.code = 0;
jm.msg = GlobalConstVars.ExcelExportSuccess;
jm.data = tpath + fileName;
return jm;
return jm;
}
#endregion

View File

@@ -113,7 +113,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
orderEx = p => p.isDel;
break;
default:
orderEx = p => p.id;
orderEx = p => p.createTime;
break;
}
@@ -597,5 +597,6 @@ namespace CoreCms.Net.Web.Admin.Controllers
}
#endregion
}
}