### 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

@@ -21,8 +21,8 @@ using CoreCms.Net.IServices;
using CoreCms.Net.Loging;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.ViewModels.Basics;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Model.ViewModels.DTO;
using CoreCms.Net.Model.ViewModels.UI;
using SqlSugar;
namespace CoreCms.Net.Services.Basic
@@ -45,7 +45,7 @@ namespace CoreCms.Net.Services.Basic
/// </summary>
/// <param name="entity">实体数据</param>
/// <returns></returns>
public new async Task<AdminUiCallBack> InsertAsync(CoreCmsArea entity)
public async Task<AdminUiCallBack> InsertAsync(CoreCmsArea entity)
{
return await _dal.InsertAsync(entity);
}
@@ -55,17 +55,7 @@ namespace CoreCms.Net.Services.Basic
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public new async Task<AdminUiCallBack> UpdateAsync(CoreCmsArea entity)
{
return await _dal.UpdateAsync(entity);
}
/// <summary>
/// 重写异步更新方法方法
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public new async Task<AdminUiCallBack> UpdateAsync(List<CoreCmsArea> entity)
public async Task<AdminUiCallBack> UpdateAsync(CoreCmsArea entity)
{
return await _dal.UpdateAsync(entity);
}
@@ -75,21 +65,11 @@ namespace CoreCms.Net.Services.Basic
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public new async Task<AdminUiCallBack> DeleteByIdAsync(object id)
public async Task<AdminUiCallBack> DeleteByIdAsync(object id)
{
return await _dal.DeleteByIdAsync(id);
}
/// <summary>
/// 重写删除指定ID集合的数据(批量删除)
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public new async Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids)
{
return await _dal.DeleteByIdsAsync(ids);
}
#endregion
#region ==========================================================
@@ -103,36 +83,8 @@ namespace CoreCms.Net.Services.Basic
return await _dal.GetCaChe();
}
/// <summary>
/// 更新cache
/// </summary>
public async Task<List<CoreCmsArea>> UpdateCaChe()
{
return await _dal.UpdateCaChe();
}
#endregion
#region
/// <summary>
/// 重写根据条件查询分页数据
/// </summary>
/// <param name="predicate">判断集合</param>
/// <param name="orderByType">排序方式</param>
/// <param name="pageIndex">当前页面索引</param>
/// <param name="pageSize">分布大小</param>
/// <param name="orderByExpression"></param>
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
/// <returns></returns>
public new async Task<IPageList<CoreCmsArea>> QueryPageAsync(Expression<Func<CoreCmsArea, bool>> predicate,
Expression<Func<CoreCmsArea, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
int pageSize = 20, bool blUseNoLock = false)
{
return await _dal.QueryPageAsync(predicate, orderByExpression, orderByType, pageIndex, pageSize, blUseNoLock);
}
#endregion
#region
/// <summary>
/// 获取所有省市区信息
@@ -141,7 +93,7 @@ namespace CoreCms.Net.Services.Basic
public async Task<List<AreaTreeDto>> GetTreeArea(List<PostAreasTreeNode> checkedAreases, int parentId = 0,
int currentChecked = 0)
{
var list = await UpdateCaChe();
var list = await GetCaChe();
var areaTrees = GetTrees(list, parentId, checkedAreases, currentChecked);
return areaTrees;
}

View File

@@ -10,18 +10,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using CoreCms.Net.Configuration;
using CoreCms.Net.IRepository;
using CoreCms.Net.IRepository.UnitOfWork;
using CoreCms.Net.IServices;
using CoreCms.Net.Loging;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.ViewModels.Api;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Utility.Helper;
using Flurl.Http;
using Newtonsoft.Json;
namespace CoreCms.Net.Services
@@ -85,11 +84,17 @@ namespace CoreCms.Net.Services
var url = "https://route.showapi.com/64-20?expName=&maxSize=1500&page=&showapi_appid=" + showApiAppid +
"&showapi_timestamp=" + showApiTimesTamp + "&showapi_sign=" + md5Sign;
var person = await url.GetJsonAsync<ShowApiGetExpressCompanyListResult>();
if (person.showapi_res_code == 0)
var result = await url.PostAsync().ReceiveJson<ShowApiGetExpressCompanyListResult>();
if (result.showapi_res_code == 0)
{
if (person.showapi_res_body != null && person.showapi_res_body.ret_code == 0 && person.showapi_res_body.expressList != null && person.showapi_res_body.expressList.Count > 0)
if (result.showapi_res_body != null && result.showapi_res_body.ret_code == 0 && result.showapi_res_body.expressList != null && result.showapi_res_body.expressList.Count > 0)
{
var list = new List<CoreCmsLogistics>();
@@ -108,10 +113,10 @@ namespace CoreCms.Net.Services
list.Add(logistics);
});
var count = 0;
person.showapi_res_body.expressList.ForEach(p =>
result.showapi_res_body.expressList.ForEach(p =>
{
var logistics = new CoreCmsLogistics();
logistics.logiCode = p.simpleName;
@@ -137,7 +142,7 @@ namespace CoreCms.Net.Services
}
else
{
jm.msg = person.showapi_res_error;
jm.msg = result.showapi_res_error;
}
return jm;
@@ -155,6 +160,7 @@ namespace CoreCms.Net.Services
{
var jm = new WebApiCallBack();
if (string.IsNullOrEmpty(com))
{
jm.msg = "请提交来源";
@@ -183,7 +189,10 @@ namespace CoreCms.Net.Services
var url = "https://route.showapi.com/64-19?com=" + com + "&nu=" + number + "&phone=" + phone + "&showapi_appid=" + showApiAppid +
"&showapi_timestamp=" + showApiTimesTamp + "&showapi_sign=" + md5Sign;
var result = await url.GetJsonAsync<ShowApiGetExpressPollResult>();
var result = await url.PostAsync().ReceiveJson<ShowApiGetExpressPollResult>();
if (result.showapi_res_code != 0)
{

View File

@@ -18,7 +18,6 @@ using CoreCms.Net.IRepository.UnitOfWork;
using CoreCms.Net.IServices;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.ViewModels.Basics;
using CoreCms.Net.Model.ViewModels.UI;
using SqlSugar;

View File

@@ -46,7 +46,7 @@ namespace CoreCms.Net.Services
/// </summary>
/// <param name="entity">实体数据</param>
/// <returns></returns>
public new async Task<AdminUiCallBack> InsertAsync(CoreCmsOrderDistributionModel entity)
public async Task<AdminUiCallBack> InsertAsync(CoreCmsOrderDistributionModel entity)
{
return await _dal.InsertAsync(entity);
}
@@ -56,17 +56,7 @@ namespace CoreCms.Net.Services
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public new async Task<AdminUiCallBack> UpdateAsync(CoreCmsOrderDistributionModel entity)
{
return await _dal.UpdateAsync(entity);
}
/// <summary>
/// 重写异步更新方法方法
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public new async Task<AdminUiCallBack> UpdateAsync(List<CoreCmsOrderDistributionModel> entity)
public async Task<AdminUiCallBack> UpdateAsync(CoreCmsOrderDistributionModel entity)
{
return await _dal.UpdateAsync(entity);
}
@@ -76,21 +66,11 @@ namespace CoreCms.Net.Services
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public new async Task<AdminUiCallBack> DeleteByIdAsync(object id)
public async Task<AdminUiCallBack> DeleteByIdAsync(object id)
{
return await _dal.DeleteByIdAsync(id);
}
/// <summary>
/// 重写删除指定ID集合的数据(批量删除)
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public new async Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids)
{
return await _dal.DeleteByIdsAsync(ids);
}
#endregion
#region ==========================================================
@@ -104,17 +84,9 @@ namespace CoreCms.Net.Services
return await _dal.GetCaChe();
}
/// <summary>
/// 更新cache
/// </summary>
public async Task<List<CoreCmsOrderDistributionModel>> UpdateCaChe()
{
return await _dal.UpdateCaChe();
}
#endregion
#region
#region
/// <summary>
/// 重写根据条件查询分页数据
/// </summary>
@@ -125,7 +97,7 @@ namespace CoreCms.Net.Services
/// <param name="orderByExpression"></param>
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
/// <returns></returns>
public new async Task<IPageList<CoreCmsOrderDistributionModel>> QueryPageAsync(Expression<Func<CoreCmsOrderDistributionModel, bool>> predicate,
public async Task<IPageList<CoreCmsOrderDistributionModel>> QueryPageAsync(Expression<Func<CoreCmsOrderDistributionModel, bool>> predicate,
Expression<Func<CoreCmsOrderDistributionModel, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
int pageSize = 20, bool blUseNoLock = false)
{

View File

@@ -15,7 +15,6 @@ using CoreCms.Net.IRepository;
using CoreCms.Net.IRepository.UnitOfWork;
using CoreCms.Net.IServices;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.ViewModels.UI;
namespace CoreCms.Net.Services

View File

@@ -74,7 +74,7 @@ namespace CoreCms.Net.Services
/// </summary>
/// <param name="entity">实体数据</param>
/// <returns></returns>
public new async Task<AdminUiCallBack> InsertAsync(CoreCmsPages entity)
public async Task<AdminUiCallBack> InsertAsync(CoreCmsPages entity)
{
return await _dal.InsertAsync(entity);
}
@@ -84,7 +84,7 @@ namespace CoreCms.Net.Services
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public new async Task<AdminUiCallBack> UpdateAsync(CoreCmsPages entity)
public async Task<AdminUiCallBack> UpdateAsync(CoreCmsPages entity)
{
return await _dal.UpdateAsync(entity);
}
@@ -293,7 +293,8 @@ namespace CoreCms.Net.Services
if (child.ContainsKey("classifyId") && child["classifyId"].ObjectToInt(0) > 0)
{
var classifyId = child["classifyId"].ObjectToInt(0);
var childCats = await _goodsCategoryServices.QueryListByClauseAsync(p => p.parentId == classifyId);
var gc = await _goodsCategoryServices.GetCaChe();
var childCats = gc.Where(p => p.parentId == classifyId).ToList();
var catIds = childCats != null && childCats.Any()
? childCats.Select(p => p.id).ToList()
: new List<int>();
@@ -398,7 +399,8 @@ namespace CoreCms.Net.Services
if (parameters.ContainsKey("classifyId") && parameters["classifyId"].ObjectToInt(0) > 0)
{
var classifyId = parameters["classifyId"].ObjectToInt(0);
var childCats = await _goodsCategoryServices.QueryListByClauseAsync(p => p.parentId == classifyId);
var gc = await _goodsCategoryServices.GetCaChe();
var childCats = gc.Where(p => p.parentId == classifyId).ToList();
var catIds = childCats != null && childCats.Any()
? childCats.Select(p => p.id).ToList()
: new List<int>();

View File

@@ -46,7 +46,7 @@ namespace CoreCms.Net.Services
/// </summary>
/// <param name="entity">实体数据</param>
/// <returns></returns>
public new async Task<AdminUiCallBack> InsertAsync(CoreCmsServiceDescription entity)
public async Task<AdminUiCallBack> InsertAsync(CoreCmsServiceDescription entity)
{
return await _dal.InsertAsync(entity);
}
@@ -56,17 +56,7 @@ namespace CoreCms.Net.Services
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public new async Task<AdminUiCallBack> UpdateAsync(CoreCmsServiceDescription entity)
{
return await _dal.UpdateAsync(entity);
}
/// <summary>
/// 重写异步更新方法方法
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public new async Task<AdminUiCallBack> UpdateAsync(List<CoreCmsServiceDescription> entity)
public async Task<AdminUiCallBack> UpdateAsync(CoreCmsServiceDescription entity)
{
return await _dal.UpdateAsync(entity);
}
@@ -76,21 +66,11 @@ namespace CoreCms.Net.Services
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public new async Task<AdminUiCallBack> DeleteByIdAsync(object id)
public async Task<AdminUiCallBack> DeleteByIdAsync(object id)
{
return await _dal.DeleteByIdAsync(id);
}
/// <summary>
/// 重写删除指定ID集合的数据(批量删除)
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public new async Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids)
{
return await _dal.DeleteByIdsAsync(ids);
}
#endregion
#region ==========================================================
@@ -104,14 +84,6 @@ namespace CoreCms.Net.Services
return await _dal.GetCaChe();
}
/// <summary>
/// 更新cache
/// </summary>
public async Task<List<CoreCmsServiceDescription>> UpdateCaChe()
{
return await _dal.UpdateCaChe();
}
#endregion
#region
@@ -125,7 +97,7 @@ namespace CoreCms.Net.Services
/// <param name="orderByExpression"></param>
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
/// <returns></returns>
public new async Task<IPageList<CoreCmsServiceDescription>> QueryPageAsync(Expression<Func<CoreCmsServiceDescription, bool>> predicate,
public async Task<IPageList<CoreCmsServiceDescription>> QueryPageAsync(Expression<Func<CoreCmsServiceDescription, bool>> predicate,
Expression<Func<CoreCmsServiceDescription, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
int pageSize = 20, bool blUseNoLock = false)
{

View File

@@ -187,6 +187,7 @@ namespace CoreCms.Net.Services
filesStorageOptions.AccountId = GetValue(SystemSettingConstVars.FilesStorageTencentAccountId, configs, settings);
filesStorageOptions.CosRegion = GetValue(SystemSettingConstVars.FilesStorageTencentCosRegion, configs, settings);
filesStorageOptions.TencentBucketName = GetValue(SystemSettingConstVars.FilesStorageTencentBucketName, configs, settings);
//阿里云
filesStorageOptions.BucketName = GetValue(SystemSettingConstVars.FilesStorageAliYunBucketName, configs, settings);
filesStorageOptions.Endpoint = GetValue(SystemSettingConstVars.FilesStorageAliYunEndpoint, configs, settings);
@@ -197,6 +198,7 @@ namespace CoreCms.Net.Services
//格式化存储文件夹路径
filesStorageOptions.Path = UpLoadHelper.PathFormat(filesStorageOptions.StorageType, filesStorageOptions.Path);
return filesStorageOptions;
}
@@ -205,9 +207,9 @@ namespace CoreCms.Net.Services
/// 获取短信配置实体
/// </summary>
/// <returns></returns>
public async Task<SMSOptions> GetSmsOptions()
public async Task<SmsOptions> GetSmsOptions()
{
var sms = new SMSOptions();
var sms = new SmsOptions();
var configs = SystemSettingDictionary.GetConfig();
var settings = await GetDatas();

View File

@@ -51,7 +51,7 @@ namespace CoreCms.Net.Services
/// </summary>
/// <param name="entity">实体数据</param>
/// <returns></returns>
public new async Task<AdminUiCallBack> InsertAsync(CoreCmsShip entity)
public async Task<AdminUiCallBack> InsertAsync(CoreCmsShip entity)
{
return await _dal.InsertAsync(entity);
}
@@ -61,7 +61,7 @@ namespace CoreCms.Net.Services
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public new async Task<AdminUiCallBack> UpdateAsync(CoreCmsShip entity)
public async Task<AdminUiCallBack> UpdateAsync(CoreCmsShip entity)
{
return await _dal.UpdateAsync(entity);
}
@@ -101,7 +101,7 @@ namespace CoreCms.Net.Services
/// <param name="orderByExpression"></param>
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
/// <returns></returns>
public new async Task<IPageList<CoreCmsShip>> QueryPageAsync(Expression<Func<CoreCmsShip, bool>> predicate,
public async Task<IPageList<CoreCmsShip>> QueryPageAsync(Expression<Func<CoreCmsShip, bool>> predicate,
Expression<Func<CoreCmsShip, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
int pageSize = 20, bool blUseNoLock = false)
{

View File

@@ -43,7 +43,7 @@ namespace CoreCms.Net.Services
/// </summary>
/// <param name="entity">实体数据</param>
/// <returns></returns>
public new async Task<AdminUiCallBack> InsertAsync(CoreCmsStore entity)
public async Task<AdminUiCallBack> InsertAsync(CoreCmsStore entity)
{
return await _dal.InsertAsync(entity);
}
@@ -53,7 +53,7 @@ namespace CoreCms.Net.Services
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public new async Task<AdminUiCallBack> UpdateAsync(CoreCmsStore entity)
public async Task<AdminUiCallBack> UpdateAsync(CoreCmsStore entity)
{
return await _dal.UpdateAsync(entity);
}