添加项目文件。

This commit is contained in:
JianWeie
2021-12-20 21:27:32 +08:00
parent 747486f5cb
commit 82d825b7a5
3514 changed files with 887941 additions and 0 deletions

View File

@@ -0,0 +1,301 @@
/***********************************************************************
* Project: CoreCms
* ProjectName: 核心内容管理系统
* Web: https://www.corecms.net
* Author: 大灰灰
* Email: jianweie@163.com
* CreateTime: 2021/1/31 21:45:10
* Description: 暂无
***********************************************************************/
using System;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Linq.Expressions;
using System.Threading.Tasks;
using CoreCms.Net.Configuration;
using CoreCms.Net.Filter;
using CoreCms.Net.IServices;
using CoreCms.Net.Loging;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.Entities.Expression;
using CoreCms.Net.Model.FromBody;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Utility.Extensions;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using NPOI.HSSF.UserModel;
using SqlSugar;
namespace CoreCms.Net.Web.Admin.Controllers
{
/// <summary>
/// 地区表
/// </summary>
[Description("地区表")]
[Route("api/[controller]/[action]")]
[ApiController]
[RequiredErrorForAdmin]
[Authorize(Permissions.Name)]
public class CoreCmsAreaController : ControllerBase
{
private readonly ICoreCmsAreaServices _coreCmsAreaServices;
private readonly IWebHostEnvironment _webHostEnvironment;
/// <summary>
/// 构造函数
/// </summary>
/// <param name="webHostEnvironment"></param>
/// <param name="coreCmsAreaServices"></param>
public CoreCmsAreaController(IWebHostEnvironment webHostEnvironment, ICoreCmsAreaServices coreCmsAreaServices)
{
_webHostEnvironment = webHostEnvironment;
_coreCmsAreaServices = coreCmsAreaServices;
}
#region ============================================================
// POST: Api/CoreCmsArea/GetAllList
/// <summary>
/// 获取列表
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("获取列表")]
public async Task<AdminUiCallBack> GetAllList()
{
var jm = new AdminUiCallBack();
//获取数据
var list = await _coreCmsAreaServices.GetCaChe();
//返回数据
jm.data = list;
jm.code = 0;
jm.msg = "数据调用成功!";
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsArea/GetPageList
/// <summary>
/// 获取列表
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("获取列表")]
public async Task<AdminUiCallBack> GetPageList()
{
var jm = new AdminUiCallBack();
var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30);
var where = PredicateBuilder.True<CoreCmsArea>();
//获取排序字段
var orderField = Request.Form["orderField"].FirstOrDefault();
Expression<Func<CoreCmsArea, object>> orderEx;
switch (orderField)
{
case "id":
orderEx = p => p.id;
break;
case "parentId":
orderEx = p => p.parentId;
break;
case "depth":
orderEx = p => p.depth;
break;
case "name":
orderEx = p => p.name;
break;
case "postalCode":
orderEx = p => p.postalCode;
break;
case "sort":
orderEx = p => p.sort;
break;
default:
orderEx = p => p.id;
break;
}
//设置排序方式
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
var orderBy = orderDirection switch
{
"asc" => OrderByType.Asc,
"desc" => OrderByType.Desc,
_ => OrderByType.Desc
};
//查询筛选
//地区ID int
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
if (id > 0) @where = @where.And(p => p.id == id);
//父级ID int
var parentId = Request.Form["parentId"].FirstOrDefault().ObjectToInt(0);
if (parentId > 0) @where = @where.And(p => p.parentId == parentId);
//地区深度 int
var depth = Request.Form["depth"].FirstOrDefault().ObjectToInt(0);
if (depth > 0) @where = @where.And(p => p.depth == depth);
//地区名称 nvarchar
var name = Request.Form["name"].FirstOrDefault();
if (!string.IsNullOrEmpty(name)) @where = @where.And(p => p.name.Contains(name));
//邮编 nvarchar
var postalCode = Request.Form["postalCode"].FirstOrDefault();
if (!string.IsNullOrEmpty(postalCode)) @where = @where.And(p => p.postalCode.Contains(postalCode));
//地区排序 int
var sort = Request.Form["sort"].FirstOrDefault().ObjectToInt(0);
if (sort > 0) @where = @where.And(p => p.sort == sort);
//获取数据
var list = await _coreCmsAreaServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
//返回数据
jm.data = list;
jm.code = 0;
jm.count = list.TotalCount;
jm.msg = "数据调用成功!";
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsArea/GetIndex
/// <summary>
/// 首页数据
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("首页数据")]
public AdminUiCallBack GetIndex()
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsArea/GetCreate
/// <summary>
/// 创建数据
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("创建数据")]
public async Task<AdminUiCallBack> GetCreate([FromBody] FMIntId entity)
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
var parentModel = await _coreCmsAreaServices.QueryByClauseAsync(p => p.id == entity.id);
jm.data = parentModel;
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsArea/DoCreate
/// <summary>
/// 创建提交
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("创建提交")]
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsArea entity)
{
var jm = await _coreCmsAreaServices.InsertAsync(entity);
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsArea/GetEdit
/// <summary>
/// 编辑数据
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("编辑数据")]
public async Task<AdminUiCallBack> GetEdit([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _coreCmsAreaServices.QueryByIdAsync(entity.id);
if (model == null)
{
jm.msg = "不存在此信息";
return jm;
}
jm.code = 0;
jm.data = model;
return jm;
}
#endregion
#region ============================================================
// POST: Admins/CoreCmsArea/Edit
/// <summary>
/// 编辑提交
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("编辑提交")]
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsArea entity)
{
var jm = await _coreCmsAreaServices.UpdateAsync(entity);
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsArea/DoDelete/10
/// <summary>
/// 单选删除
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("单选删除")]
public async Task<AdminUiCallBack> DoDelete([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var bl = await _coreCmsAreaServices.ExistsAsync(p => p.parentId == entity.id);
if (bl)
{
jm.msg = GlobalConstVars.DeleteIsHaveChildren;
return jm;
}
jm = await _coreCmsAreaServices.DeleteByIdAsync(entity.id);
return jm;
}
#endregion
}
}

View File

@@ -0,0 +1,205 @@
/***********************************************************************
* Project: CoreCms
* ProjectName: 核心内容管理系统
* Web: https://www.corecms.net
* Author: 大灰灰
* Email: jianweie@163.com
* CreateTime: 2021/1/31 21:45:10
* Description: 暂无
***********************************************************************/
using System;
using System.ComponentModel;
using System.Linq;
using System.Linq.Expressions;
using System.Threading.Tasks;
using CoreCms.Net.Configuration;
using CoreCms.Net.Filter;
using CoreCms.Net.IServices;
using CoreCms.Net.Loging;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.Entities.Expression;
using CoreCms.Net.Model.FromBody;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Utility.Extensions;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
namespace CoreCms.Net.Web.Admin.Controllers
{
/// <summary>
/// 物流公司表
/// </summary>
[Description("物流公司表")]
[Route("api/[controller]/[action]")]
[ApiController]
[RequiredErrorForAdmin]
[Authorize(Permissions.Name)]
public class CoreCmsLogisticsController : ControllerBase
{
private readonly ICoreCmsLogisticsServices _coreCmsLogisticsServices;
private readonly IWebHostEnvironment _webHostEnvironment;
/// <summary>
/// 构造函数
/// </summary>
/// <param name="webHostEnvironment"></param>
/// <param name="coreCmsLogisticsServices"></param>
public CoreCmsLogisticsController(IWebHostEnvironment webHostEnvironment,
ICoreCmsLogisticsServices coreCmsLogisticsServices)
{
_webHostEnvironment = webHostEnvironment;
_coreCmsLogisticsServices = coreCmsLogisticsServices;
}
#region ============================================================
// POST: Api/CoreCmsLogistics/GetPageList
/// <summary>
/// 获取列表
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("获取列表")]
public async Task<AdminUiCallBack> GetPageList()
{
var jm = new AdminUiCallBack();
var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30);
var where = PredicateBuilder.True<CoreCmsLogistics>();
//获取排序字段
var orderField = Request.Form["orderField"].FirstOrDefault();
Expression<Func<CoreCmsLogistics, object>> orderEx;
switch (orderField)
{
case "id":
orderEx = p => p.id;
break;
case "logiName":
orderEx = p => p.logiName;
break;
case "logiCode":
orderEx = p => p.logiCode;
break;
case "sort":
orderEx = p => p.sort;
break;
case "isDelete":
orderEx = p => p.isDelete;
break;
default:
orderEx = p => p.id;
break;
}
//设置排序方式
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
var orderBy = orderDirection switch
{
"asc" => OrderByType.Asc,
"desc" => OrderByType.Desc,
_ => OrderByType.Desc
};
//查询筛选
//序列 int
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
if (id > 0) @where = @where.And(p => p.id == id);
//物流公司名称 nvarchar
var logiName = Request.Form["logiName"].FirstOrDefault();
if (!string.IsNullOrEmpty(logiName)) @where = @where.And(p => p.logiName.Contains(logiName));
//物流公司编码 nvarchar
var logiCode = Request.Form["logiCode"].FirstOrDefault();
if (!string.IsNullOrEmpty(logiCode)) @where = @where.And(p => p.logiCode.Contains(logiCode));
//排序 int
var sort = Request.Form["sort"].FirstOrDefault().ObjectToInt(0);
if (sort > 0) @where = @where.And(p => p.sort == sort);
//是否删除 bit
var isDelete = Request.Form["isDelete"].FirstOrDefault();
if (!string.IsNullOrEmpty(isDelete) && isDelete.ToLowerInvariant() == "true")
@where = @where.And(p => p.isDelete);
else if (!string.IsNullOrEmpty(isDelete) && isDelete.ToLowerInvariant() == "false")
@where = @where.And(p => p.isDelete == false);
//获取数据
var list = await _coreCmsLogisticsServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
//返回数据
jm.data = list;
jm.code = 0;
jm.count = list.TotalCount;
jm.msg = "数据调用成功!";
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsLogistics/GetIndex
/// <summary>
/// 首页数据
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("首页数据")]
public AdminUiCallBack GetIndex()
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsLogistics/DoSetisDelete/10
/// <summary>
/// 设置是否删除
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("设置是否删除")]
public async Task<AdminUiCallBack> DoSetisDelete([FromBody] FMUpdateBoolDataByIntId entity)
{
var jm = new AdminUiCallBack();
var oldModel = await _coreCmsLogisticsServices.QueryByIdAsync(entity.id);
if (oldModel == null)
{
jm.msg = "不存在此信息";
return jm;
}
oldModel.isDelete = entity.data;
var bl = await _coreCmsLogisticsServices.UpdateAsync(oldModel);
jm.code = bl ? 0 : 1;
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsLogistics/DoDelete/10
/// <summary>
/// 拉取数据更新
/// </summary>
[HttpPost]
[Description("单选删除")]
public async Task<AdminUiCallBack> DoUpdateCompany()
{
var jm = await _coreCmsLogisticsServices.DoUpdateCompany();
return jm;
}
#endregion
}
}

View File

@@ -0,0 +1,383 @@
/***********************************************************************
* Project: CoreCms
* ProjectName: 核心内容管理系统
* Web: https://www.corecms.net
* Author: 大灰灰
* Email: jianweie@163.com
* CreateTime: 2021/1/31 21:45:10
* Description: 暂无
***********************************************************************/
using System;
using System.ComponentModel;
using System.Linq;
using System.Linq.Expressions;
using System.Threading.Tasks;
using CoreCms.Net.Configuration;
using CoreCms.Net.Filter;
using CoreCms.Net.IServices;
using CoreCms.Net.Loging;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.Entities.Expression;
using CoreCms.Net.Model.FromBody;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Utility.Extensions;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
namespace CoreCms.Net.Web.Admin.Controllers
{
/// <summary>
/// 公告表
/// </summary>
[Description("公告表")]
[Route("api/[controller]/[action]")]
[ApiController]
[RequiredErrorForAdmin]
[Authorize(Permissions.Name)]
public class CoreCmsNoticeController : ControllerBase
{
private readonly ICoreCmsNoticeServices _coreCmsNoticeServices;
private readonly IWebHostEnvironment _webHostEnvironment;
/// <summary>
/// 构造函数
/// </summary>
/// <param name="webHostEnvironment"></param>
/// <param name="coreCmsNoticeServices"></param>
public CoreCmsNoticeController(IWebHostEnvironment webHostEnvironment,
ICoreCmsNoticeServices coreCmsNoticeServices)
{
_webHostEnvironment = webHostEnvironment;
_coreCmsNoticeServices = coreCmsNoticeServices;
}
#region ============================================================
// POST: Api/CoreCmsNotice/GetPageList
/// <summary>
/// 获取列表
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("获取列表")]
public async Task<AdminUiCallBack> GetPageList()
{
var jm = new AdminUiCallBack();
var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30);
var where = PredicateBuilder.True<CoreCmsNotice>();
//获取排序字段
var orderField = Request.Form["orderField"].FirstOrDefault();
Expression<Func<CoreCmsNotice, object>> orderEx;
switch (orderField)
{
case "id":
orderEx = p => p.id;
break;
case "title":
orderEx = p => p.title;
break;
case "contentBody":
orderEx = p => p.contentBody;
break;
case "type":
orderEx = p => p.type;
break;
case "sort":
orderEx = p => p.sort;
break;
case "isDel":
orderEx = p => p.isDel;
break;
case "createTime":
orderEx = p => p.createTime;
break;
default:
orderEx = p => p.id;
break;
}
//设置排序方式
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
var orderBy = orderDirection switch
{
"asc" => OrderByType.Asc,
"desc" => OrderByType.Desc,
_ => OrderByType.Desc
};
//查询筛选
//序列 int
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
if (id > 0) @where = @where.And(p => p.id == id);
//公告标题 nvarchar
var title = Request.Form["title"].FirstOrDefault();
if (!string.IsNullOrEmpty(title)) @where = @where.And(p => p.title.Contains(title));
//公告内容 nvarchar
var contentBody = Request.Form["contentBody"].FirstOrDefault();
if (!string.IsNullOrEmpty(contentBody)) @where = @where.And(p => p.contentBody.Contains(contentBody));
//公告类型 int
var type = Request.Form["type"].FirstOrDefault().ObjectToInt(0);
if (type > 0) @where = @where.And(p => p.type == type);
//排序 int
var sort = Request.Form["sort"].FirstOrDefault().ObjectToInt(0);
if (sort > 0) @where = @where.And(p => p.sort == sort);
//软删除位 有时间代表已删除 bit
var isDel = Request.Form["isDel"].FirstOrDefault();
if (!string.IsNullOrEmpty(isDel) && isDel.ToLowerInvariant() == "true")
@where = @where.And(p => p.isDel == true);
else if (!string.IsNullOrEmpty(isDel) && isDel.ToLowerInvariant() == "false")
@where = @where.And(p => p.isDel == false);
//创建时间 datetime
var createTime = Request.Form["createTime"].FirstOrDefault();
if (!string.IsNullOrEmpty(createTime))
{
if (createTime.Contains("到"))
{
var dts = createTime.Split("到");
var dtStart = dts[0].Trim().ObjectToDate();
where = where.And(p => p.createTime > dtStart);
var dtEnd = dts[1].Trim().ObjectToDate();
where = where.And(p => p.createTime < dtEnd);
}
else
{
var dt = createTime.ObjectToDate();
where = where.And(p => p.createTime > dt);
}
}
//获取数据
var list = await _coreCmsNoticeServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
//返回数据
jm.data = list;
jm.code = 0;
jm.count = list.TotalCount;
jm.msg = "数据调用成功!";
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsNotice/GetIndex
/// <summary>
/// 首页数据
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("首页数据")]
public AdminUiCallBack GetIndex()
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsNotice/GetCreate
/// <summary>
/// 创建数据
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("创建数据")]
public AdminUiCallBack GetCreate()
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsNotice/DoCreate
/// <summary>
/// 创建提交
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("创建提交")]
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsNotice entity)
{
var jm = new AdminUiCallBack();
entity.createTime = DateTime.Now;
entity.isDel = false;
var bl = await _coreCmsNoticeServices.InsertAsync(entity) > 0;
jm.code = bl ? 0 : 1;
jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsNotice/GetEdit
/// <summary>
/// 编辑数据
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("编辑数据")]
public async Task<AdminUiCallBack> GetEdit([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _coreCmsNoticeServices.QueryByIdAsync(entity.id);
if (model == null)
{
jm.msg = "不存在此信息";
return jm;
}
jm.code = 0;
jm.data = model;
return jm;
}
#endregion
#region ============================================================
// POST: Admins/CoreCmsNotice/Edit
/// <summary>
/// 编辑提交
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("编辑提交")]
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsNotice entity)
{
var jm = new AdminUiCallBack();
var oldModel = await _coreCmsNoticeServices.QueryByIdAsync(entity.id);
if (oldModel == null)
{
jm.msg = "不存在此信息";
return jm;
}
//事物处理过程开始
oldModel.id = entity.id;
oldModel.title = entity.title;
oldModel.contentBody = entity.contentBody;
oldModel.type = entity.type;
oldModel.sort = entity.sort;
oldModel.isDel = entity.isDel;
oldModel.createTime = DateTime.Now;
//事物处理过程结束
var bl = await _coreCmsNoticeServices.UpdateAsync(oldModel);
jm.code = bl ? 0 : 1;
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsNotice/DoDelete/10
/// <summary>
/// 单选删除
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("单选删除")]
public async Task<AdminUiCallBack> DoDelete([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _coreCmsNoticeServices.QueryByIdAsync(entity.id);
if (model == null)
{
jm.msg = GlobalConstVars.DataisNo;
return jm;
}
var bl = await _coreCmsNoticeServices.DeleteByIdAsync(entity.id);
jm.code = bl ? 0 : 1;
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsNotice/DoBatchDelete/10,11,20
/// <summary>
/// 批量删除
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("批量删除")]
public async Task<AdminUiCallBack> DoBatchDelete([FromBody] FMArrayIntIds entity)
{
var jm = new AdminUiCallBack();
var bl = await _coreCmsNoticeServices.DeleteByIdsAsync(entity.id);
jm.code = bl ? 0 : 1;
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsNotice/DoSetisDel/10
/// <summary>
/// 设置软删除位 有时间代表已删除
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("设置软删除位 有时间代表已删除")]
public async Task<AdminUiCallBack> DoSetisDel([FromBody] FMUpdateBoolDataByIntId entity)
{
var jm = new AdminUiCallBack();
var oldModel = await _coreCmsNoticeServices.QueryByIdAsync(entity.id);
if (oldModel == null)
{
jm.msg = "不存在此信息";
return jm;
}
oldModel.isDel = entity.data;
var bl = await _coreCmsNoticeServices.UpdateAsync(oldModel);
jm.code = bl ? 0 : 1;
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
return jm;
}
#endregion
}
}

View File

@@ -0,0 +1,452 @@
/***********************************************************************
* Project: CoreCms
* ProjectName: 核心内容管理系统
* Web: https://www.corecms.net
* Author: 大灰灰
* Email: jianweie@163.com
* CreateTime: 2021/1/31 21:45:10
* Description: 暂无
***********************************************************************/
using System;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Linq.Expressions;
using System.Threading.Tasks;
using CoreCms.Net.Configuration;
using CoreCms.Net.Filter;
using CoreCms.Net.IServices;
using CoreCms.Net.Loging;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.Entities.Expression;
using CoreCms.Net.Model.FromBody;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Utility.Extensions;
using CoreCms.Net.Utility.Helper;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using SqlSugar;
namespace CoreCms.Net.Web.Admin.Controllers
{
/// <summary>
/// 页面设计
/// </summary>
[Description("页面设计")]
[Route("api/[controller]/[action]")]
[ApiController]
[RequiredErrorForAdmin]
[Authorize(Permissions.Name)]
public class CoreCmsPagesController : ControllerBase
{
private readonly ICoreCmsArticleTypeServices _articleTypeServices;
private readonly ICoreCmsBrandServices _brandServices;
private readonly ICoreCmsPagesServices _coreCmsPagesServices;
private readonly ICoreCmsGoodsCategoryServices _goodsCategoryServices;
private readonly ICoreCmsGoodsServices _goodsServices;
private readonly ICoreCmsPagesItemsServices _pagesItemsServices;
private readonly IWebHostEnvironment _webHostEnvironment;
/// <summary>
/// 构造函数
/// </summary>
/// <param name="webHostEnvironment"></param>
/// <param name="coreCmsPagesServices"></param>
/// <param name="brandServices"></param>
/// <param name="goodsServices"></param>
/// <param name="pagesItemsServices"></param>
/// <param name="goodsCategoryServices"></param>
/// <param name="articleTypeServices"></param>
public CoreCmsPagesController(IWebHostEnvironment webHostEnvironment
, ICoreCmsPagesServices coreCmsPagesServices
, ICoreCmsBrandServices brandServices
, ICoreCmsGoodsServices goodsServices
, ICoreCmsPagesItemsServices pagesItemsServices
, ICoreCmsGoodsCategoryServices goodsCategoryServices
, ICoreCmsArticleTypeServices articleTypeServices
)
{
_webHostEnvironment = webHostEnvironment;
_coreCmsPagesServices = coreCmsPagesServices;
_brandServices = brandServices;
_goodsServices = goodsServices;
_pagesItemsServices = pagesItemsServices;
_goodsCategoryServices = goodsCategoryServices;
_articleTypeServices = articleTypeServices;
}
#region ============================================================
// POST: Api/CoreCmsPages/GetPageList
/// <summary>
/// 获取列表
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("获取列表")]
public async Task<AdminUiCallBack> GetPageList()
{
var jm = new AdminUiCallBack();
var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30);
var where = PredicateBuilder.True<CoreCmsPages>();
//获取排序字段
var orderField = Request.Form["orderField"].FirstOrDefault();
Expression<Func<CoreCmsPages, object>> orderEx;
switch (orderField)
{
case "id":
orderEx = p => p.id;
break;
case "code":
orderEx = p => p.code;
break;
case "name":
orderEx = p => p.name;
break;
case "description":
orderEx = p => p.description;
break;
case "layout":
orderEx = p => p.layout;
break;
case "type":
orderEx = p => p.type;
break;
default:
orderEx = p => p.id;
break;
}
//设置排序方式
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
var orderBy = orderDirection switch
{
"asc" => OrderByType.Asc,
"desc" => OrderByType.Desc,
_ => OrderByType.Desc
};
//查询筛选
// int
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
if (id > 0) @where = @where.And(p => p.id == id);
//可视化区域编码 nvarchar
var code = Request.Form["code"].FirstOrDefault();
if (!string.IsNullOrEmpty(code)) @where = @where.And(p => p.code.Contains(code));
//可编辑区域名称 nvarchar
var name = Request.Form["name"].FirstOrDefault();
if (!string.IsNullOrEmpty(name)) @where = @where.And(p => p.name.Contains(name));
//描述 nvarchar
var description = Request.Form["description"].FirstOrDefault();
if (!string.IsNullOrEmpty(description)) @where = @where.And(p => p.description.Contains(description));
//布局样式编码1手机端 int
var layout = Request.Form["layout"].FirstOrDefault().ObjectToInt(0);
if (layout > 0) @where = @where.And(p => p.layout == layout);
//1手机端2PC端 int
var type = Request.Form["type"].FirstOrDefault().ObjectToInt(0);
if (type > 0) @where = @where.And(p => p.type == type);
//获取数据
var list = await _coreCmsPagesServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
//返回数据
jm.data = list;
jm.code = 0;
jm.count = list.TotalCount;
jm.msg = "数据调用成功!";
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsPages/GetIndex
/// <summary>
/// 首页数据
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("首页数据")]
public AdminUiCallBack GetIndex()
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsPages/GetCreate
/// <summary>
/// 创建数据
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("创建数据")]
public AdminUiCallBack GetCreate()
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
var pagesLayout = EnumHelper.EnumToList<GlobalEnumVars.PagesLayout>();
jm.data = new
{
pagesLayout,
};
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsPages/DoCreate
/// <summary>
/// 创建提交
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("创建提交")]
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsPages entity)
{
var jm = await _coreCmsPagesServices.InsertAsync(entity);
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsPages/GetEdit
/// <summary>
/// 编辑数据
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("编辑数据")]
public async Task<AdminUiCallBack> GetEdit([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _coreCmsPagesServices.QueryByIdAsync(entity.id, false);
if (model == null)
{
jm.msg = "不存在此信息";
return jm;
}
jm.code = 0;
var pagesLayout = EnumHelper.EnumToList<GlobalEnumVars.PagesLayout>();
jm.data = new
{
model,
pagesLayout,
};
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsPages/Edit
/// <summary>
/// 编辑提交
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("编辑提交")]
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsPages entity)
{
var jm = await _coreCmsPagesServices.UpdateAsync(entity);
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsPages/DoDelete/10
/// <summary>
/// 单选删除
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("单选删除")]
public async Task<AdminUiCallBack> DoDelete([FromBody] FMIntId entity)
{
var jm = await _coreCmsPagesServices.DeleteByIdAsync(entity.id);
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsPages/Copy/10
/// <summary>
/// 复制数据
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("复制数据")]
public async Task<AdminUiCallBack> DoCopy([FromBody] FMIntId entity)
{
var jm = await _coreCmsPagesServices.CopyByIdAsync(entity.id);
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsPages/GetEdit
/// <summary>
/// 版面设计
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("版面设计")]
public async Task<AdminUiCallBack> GetDesign([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _coreCmsPagesServices.QueryByIdAsync(entity.id);
if (model == null)
{
jm.msg = "不存在此信息";
return jm;
}
jm.code = 0;
//获取品牌数据
var brandsData = await _brandServices.QueryAsync();
var brands = brandsData.Select(p => new { p.id, p.name }).ToList();
//获取分类数据
var categories = await _goodsCategoryServices.QueryListByClauseAsync(p => p.isShow, p => p.sort,
OrderByType.Asc);
//获取文章分类数据
var articleTypes = await _articleTypeServices.QueryAsync();
jm.data = new
{
model,
pageCode = model.code,
brandList = brands,
categories = GoodsHelper.GetTree(categories),
articleTypes
};
return jm;
}
#endregion
#region
// POST: Api/CoreCmsPages/Edit
/// <summary>
/// 版面设计提交
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("版面设计提交")]
public async Task<AdminUiCallBack> DoDesign([FromBody] FmPagesUpdate entity)
{
var jm = await _coreCmsPagesServices.UpdateDesignAsync(entity);
return jm;
}
#endregion
#region
// POST: Api/CoreCmsPages/GetPageData
/// <summary>
/// 获取已存储数据
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("获取已存储数据")]
public async Task<AdminUiCallBack> GetPageData([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _coreCmsPagesServices.QueryByIdAsync(entity.id);
if (model == null)
{
jm.msg = "不存在此信息";
return jm;
}
jm.code = 0;
var pageItems = await _pagesItemsServices.QueryListByClauseAsync(p => p.pageCode == model.code, p => p.sort, OrderByType.Asc);
var noObjArr = new string[] { "textarea" };
var pageConfig = pageItems.Select(p => new
{
type = p.widgetCode,
value = noObjArr.Contains(p.widgetCode) ? p.parameters : new JsonSerializer().Deserialize(new JsonTextReader(new StringReader(p.parameters)))
}).ToList();
jm.data = new
{
pageConfig
};
return jm;
}
#endregion
#region
// POST: Api/CoreCmsPages/GetArticleTypes
/// <summary>
/// 获取文章类别
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("获取文章类别")]
public async Task<AdminUiCallBack> GetArticleTypes([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _coreCmsPagesServices.QueryByIdAsync(entity.id);
if (model == null)
{
jm.msg = "不存在此信息";
return jm;
}
jm.code = 0;
//获取文章分类数据
var articleTypes = await _articleTypeServices.QueryAsync();
jm.data = new
{
articleTypes
};
return jm;
}
#endregion
}
}

View File

@@ -0,0 +1,497 @@
/***********************************************************************
* Project: CoreCms
* ProjectName: 核心内容管理系统
* Web: https://www.corecms.net
* Author: 大灰灰
* Email: jianweie@163.com
* CreateTime: 2021/1/31 21:45:10
* Description: 暂无
***********************************************************************/
using System;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Linq.Expressions;
using System.Threading.Tasks;
using CoreCms.Net.Configuration;
using CoreCms.Net.Filter;
using CoreCms.Net.IServices;
using CoreCms.Net.Loging;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.Entities.Expression;
using CoreCms.Net.Model.FromBody;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Utility.Extensions;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using NPOI.HSSF.UserModel;
using SqlSugar;
namespace CoreCms.Net.Web.Admin.Controllers
{
/// <summary>
/// 单页内容
/// </summary>
[Description("单页内容")]
[Route("api/[controller]/[action]")]
[ApiController]
[RequiredErrorForAdmin]
[Authorize(Permissions.Name)]
public class CoreCmsPagesItemsController : ControllerBase
{
private readonly ICoreCmsPagesItemsServices _coreCmsPagesItemsServices;
private readonly IWebHostEnvironment _webHostEnvironment;
/// <summary>
/// 构造函数
/// </summary>
/// <param name="webHostEnvironment"></param>
/// <param name="coreCmsPagesItemsServices"></param>
public CoreCmsPagesItemsController(IWebHostEnvironment webHostEnvironment
, ICoreCmsPagesItemsServices coreCmsPagesItemsServices
)
{
_webHostEnvironment = webHostEnvironment;
_coreCmsPagesItemsServices = coreCmsPagesItemsServices;
}
#region ============================================================
// POST: Api/CoreCmsPagesItems/GetPageList
/// <summary>
/// 获取列表
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("获取列表")]
public async Task<AdminUiCallBack> GetPageList()
{
var jm = new AdminUiCallBack();
var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30);
var where = PredicateBuilder.True<CoreCmsPagesItems>();
//获取排序字段
var orderField = Request.Form["orderField"].FirstOrDefault();
Expression<Func<CoreCmsPagesItems, object>> orderEx;
switch (orderField)
{
case "id":
orderEx = p => p.id;
break;
case "widgetCode":
orderEx = p => p.widgetCode;
break;
case "pageCode":
orderEx = p => p.pageCode;
break;
case "positionId":
orderEx = p => p.positionId;
break;
case "sort":
orderEx = p => p.sort;
break;
case "parameters":
orderEx = p => p.parameters;
break;
default:
orderEx = p => p.id;
break;
}
//设置排序方式
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
var orderBy = orderDirection switch
{
"asc" => OrderByType.Asc,
"desc" => OrderByType.Desc,
_ => OrderByType.Desc
};
//查询筛选
// int
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
if (id > 0) @where = @where.And(p => p.id == id);
//组件编码 nvarchar
var widgetCode = Request.Form["widgetCode"].FirstOrDefault();
if (!string.IsNullOrEmpty(widgetCode)) @where = @where.And(p => p.widgetCode.Contains(widgetCode));
//页面编码 nvarchar
var pageCode = Request.Form["pageCode"].FirstOrDefault();
if (!string.IsNullOrEmpty(pageCode)) @where = @where.And(p => p.pageCode.Contains(pageCode));
//布局位置 int
var positionId = Request.Form["positionId"].FirstOrDefault().ObjectToInt(0);
if (positionId > 0) @where = @where.And(p => p.positionId == positionId);
//排序,越小越靠前 int
var sort = Request.Form["sort"].FirstOrDefault().ObjectToInt(0);
if (sort > 0) @where = @where.And(p => p.sort == sort);
//组件配置内容 nvarchar
var parameters = Request.Form["parameters"].FirstOrDefault();
if (!string.IsNullOrEmpty(parameters)) @where = @where.And(p => p.parameters.Contains(parameters));
//获取数据
var list = await _coreCmsPagesItemsServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
//返回数据
jm.data = list;
jm.code = 0;
jm.count = list.TotalCount;
jm.msg = "数据调用成功!";
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsPagesItems/GetIndex
/// <summary>
/// 首页数据
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("首页数据")]
public AdminUiCallBack GetIndex()
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsPagesItems/GetCreate
/// <summary>
/// 创建数据
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("创建数据")]
public AdminUiCallBack GetCreate()
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsPagesItems/DoCreate
/// <summary>
/// 创建提交
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("创建提交")]
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsPagesItems entity)
{
var jm = new AdminUiCallBack();
var bl = await _coreCmsPagesItemsServices.InsertAsync(entity) > 0;
jm.code = bl ? 0 : 1;
jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsPagesItems/GetEdit
/// <summary>
/// 编辑数据
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("编辑数据")]
public async Task<AdminUiCallBack> GetEdit([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _coreCmsPagesItemsServices.QueryByIdAsync(entity.id);
if (model == null)
{
jm.msg = "不存在此信息";
return jm;
}
jm.code = 0;
jm.data = model;
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsPagesItems/Edit
/// <summary>
/// 编辑提交
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("编辑提交")]
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsPagesItems entity)
{
var jm = new AdminUiCallBack();
var oldModel = await _coreCmsPagesItemsServices.QueryByIdAsync(entity.id);
if (oldModel == null)
{
jm.msg = "不存在此信息";
return jm;
}
//事物处理过程开始
oldModel.widgetCode = entity.widgetCode;
oldModel.pageCode = entity.pageCode;
oldModel.positionId = entity.positionId;
oldModel.sort = entity.sort;
oldModel.parameters = entity.parameters;
//事物处理过程结束
var bl = await _coreCmsPagesItemsServices.UpdateAsync(oldModel);
jm.code = bl ? 0 : 1;
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsPagesItems/DoDelete/10
/// <summary>
/// 单选删除
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("单选删除")]
public async Task<AdminUiCallBack> DoDelete([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _coreCmsPagesItemsServices.QueryByIdAsync(entity.id);
if (model == null)
{
jm.msg = GlobalConstVars.DataisNo;
return jm;
}
var bl = await _coreCmsPagesItemsServices.DeleteByIdAsync(entity.id);
jm.code = bl ? 0 : 1;
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsPagesItems/DoBatchDelete/10,11,20
/// <summary>
/// 批量删除
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("批量删除")]
public async Task<AdminUiCallBack> DoBatchDelete([FromBody] FMArrayIntIds entity)
{
var jm = new AdminUiCallBack();
var bl = await _coreCmsPagesItemsServices.DeleteByIdsAsync(entity.id);
jm.code = bl ? 0 : 1;
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsPagesItems/GetDetails/10
/// <summary>
/// 预览数据
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("预览数据")]
public async Task<AdminUiCallBack> GetDetails([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _coreCmsPagesItemsServices.QueryByIdAsync(entity.id);
if (model == null)
{
jm.msg = "不存在此信息";
return jm;
}
jm.code = 0;
jm.data = model;
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsPagesItems/SelectExportExcel/10
/// <summary>
/// 选择导出
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("选择导出")]
public async Task<AdminUiCallBack> SelectExportExcel([FromBody] FMArrayIntIds entity)
{
var jm = new AdminUiCallBack();
//创建Excel文件的对象
var book = new HSSFWorkbook();
//添加一个sheet
var sheet1 = book.CreateSheet("Sheet1");
//获取list数据
var listmodel = await _coreCmsPagesItemsServices.QueryListByClauseAsync(p => entity.id.Contains(p.id),
p => p.id, 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("组件配置内容");
//将数据逐步写入sheet1各个行
for (var i = 0; i < listmodel.Count; i++)
{
var rowtemp = sheet1.CreateRow(i + 1);
rowtemp.CreateCell(0).SetCellValue(listmodel[i].id.ToString());
rowtemp.CreateCell(1).SetCellValue(listmodel[i].widgetCode);
rowtemp.CreateCell(2).SetCellValue(listmodel[i].pageCode);
rowtemp.CreateCell(3).SetCellValue(listmodel[i].positionId.ToString());
rowtemp.CreateCell(4).SetCellValue(listmodel[i].sort.ToString());
rowtemp.CreateCell(5).SetCellValue(listmodel[i].parameters);
}
// 导出excel
var webRootPath = _webHostEnvironment.WebRootPath;
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsPagesItems导出(选择结果).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;
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsPagesItems/QueryExportExcel/10
/// <summary>
/// 查询导出
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("查询导出")]
public async Task<AdminUiCallBack> QueryExportExcel()
{
var jm = new AdminUiCallBack();
var where = PredicateBuilder.True<CoreCmsPagesItems>();
//查询筛选
// int
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
if (id > 0) @where = @where.And(p => p.id == id);
//组件编码 nvarchar
var widgetCode = Request.Form["widgetCode"].FirstOrDefault();
if (!string.IsNullOrEmpty(widgetCode)) @where = @where.And(p => p.widgetCode.Contains(widgetCode));
//页面编码 nvarchar
var pageCode = Request.Form["pageCode"].FirstOrDefault();
if (!string.IsNullOrEmpty(pageCode)) @where = @where.And(p => p.pageCode.Contains(pageCode));
//布局位置 int
var positionId = Request.Form["positionId"].FirstOrDefault().ObjectToInt(0);
if (positionId > 0) @where = @where.And(p => p.positionId == positionId);
//排序,越小越靠前 int
var sort = Request.Form["sort"].FirstOrDefault().ObjectToInt(0);
if (sort > 0) @where = @where.And(p => p.sort == sort);
//组件配置内容 nvarchar
var parameters = Request.Form["parameters"].FirstOrDefault();
if (!string.IsNullOrEmpty(parameters)) @where = @where.And(p => p.parameters.Contains(parameters));
//获取数据
//创建Excel文件的对象
var book = new HSSFWorkbook();
//添加一个sheet
var sheet1 = book.CreateSheet("Sheet1");
//获取list数据
var listmodel =
await _coreCmsPagesItemsServices.QueryListByClauseAsync(where, p => p.id, 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("组件配置内容");
//将数据逐步写入sheet1各个行
for (var i = 0; i < listmodel.Count; i++)
{
var rowtemp = sheet1.CreateRow(i + 1);
rowtemp.CreateCell(0).SetCellValue(listmodel[i].id.ToString());
rowtemp.CreateCell(1).SetCellValue(listmodel[i].widgetCode);
rowtemp.CreateCell(2).SetCellValue(listmodel[i].pageCode);
rowtemp.CreateCell(3).SetCellValue(listmodel[i].positionId.ToString());
rowtemp.CreateCell(4).SetCellValue(listmodel[i].sort.ToString());
rowtemp.CreateCell(5).SetCellValue(listmodel[i].parameters);
}
// 写入到excel
var webRootPath = _webHostEnvironment.WebRootPath;
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsPagesItems导出(查询结果).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;
return jm;
}
#endregion
}
}

View File

@@ -0,0 +1,349 @@
/***********************************************************************
* Project: CoreCms
* ProjectName: 核心内容管理系统
* Web: https://www.corecms.net
* Author: 大灰灰
* Email: jianweie@163.com
* CreateTime: 2021/1/31 21:45:10
* Description: 暂无
***********************************************************************/
using System;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Linq.Expressions;
using System.Threading.Tasks;
using CoreCms.Net.Configuration;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.Entities.Expression;
using CoreCms.Net.Model.FromBody;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Filter;
using CoreCms.Net.Loging;
using CoreCms.Net.IServices;
using CoreCms.Net.Utility.Helper;
using CoreCms.Net.Utility.Extensions;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using NPOI.HSSF.UserModel;
using SqlSugar;
namespace CoreCms.Net.Web.Admin.Controllers
{
/// <summary>
/// 商城服务说明
///</summary>
[Description("商城服务说明")]
[Route("api/[controller]/[action]")]
[ApiController]
[RequiredErrorForAdmin]
[Authorize(Permissions.Name)]
public class CoreCmsServiceDescriptionController : ControllerBase
{
private readonly IWebHostEnvironment _webHostEnvironment;
private readonly ICoreCmsServiceDescriptionServices _coreCmsServiceDescriptionServices;
/// <summary>
/// 构造函数
///</summary>
public CoreCmsServiceDescriptionController(IWebHostEnvironment webHostEnvironment
, ICoreCmsServiceDescriptionServices coreCmsServiceDescriptionServices
)
{
_webHostEnvironment = webHostEnvironment;
_coreCmsServiceDescriptionServices = coreCmsServiceDescriptionServices;
}
#region ============================================================
// POST: Api/CoreCmsServiceDescription/GetPageList
/// <summary>
/// 获取列表
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("获取列表")]
public async Task<AdminUiCallBack> GetPageList()
{
var jm = new AdminUiCallBack();
var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30);
var where = PredicateBuilder.True<CoreCmsServiceDescription>();
//获取排序字段
var orderField = Request.Form["orderField"].FirstOrDefault();
Expression<Func<CoreCmsServiceDescription, object>> orderEx = orderField switch
{
"id" => p => p.id,
"title" => p => p.title,
"type" => p => p.type,
"description" => p => p.description,
"isShow" => p => p.isShow,
"sortId" => p => p.sortId,
_ => p => p.id
};
//设置排序方式
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
var orderBy = orderDirection switch
{
"asc" => OrderByType.Asc,
"desc" => OrderByType.Desc,
_ => OrderByType.Desc
};
//查询筛选
//序列 int
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
if (id > 0)
{
where = where.And(p => p.id == id);
}
//名称 nvarchar
var title = Request.Form["title"].FirstOrDefault();
if (!string.IsNullOrEmpty(title))
{
where = where.And(p => p.title.Contains(title));
}
//类型 int
var type = Request.Form["type"].FirstOrDefault().ObjectToInt(0);
if (type > 0)
{
where = where.And(p => p.type == type);
}
//描述 nvarchar
var description = Request.Form["description"].FirstOrDefault();
if (!string.IsNullOrEmpty(description))
{
where = where.And(p => p.description.Contains(description));
}
//是否展示 bit
var isShow = Request.Form["isShow"].FirstOrDefault();
if (!string.IsNullOrEmpty(isShow) && isShow.ToLowerInvariant() == "true")
{
where = where.And(p => p.isShow == true);
}
else if (!string.IsNullOrEmpty(isShow) && isShow.ToLowerInvariant() == "false")
{
where = where.And(p => p.isShow == false);
}
//排序 int
var sortId = Request.Form["sortId"].FirstOrDefault().ObjectToInt(0);
if (sortId > 0)
{
where = where.And(p => p.sortId == sortId);
}
//获取数据
var list = await _coreCmsServiceDescriptionServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize, true);
//返回数据
jm.data = list;
jm.code = 0;
jm.count = list.TotalCount;
jm.msg = "数据调用成功!";
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsServiceDescription/GetIndex
/// <summary>
/// 首页数据
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("首页数据")]
public AdminUiCallBack GetIndex()
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
var serviceNoteType = EnumHelper.EnumToList<GlobalEnumVars.ShopServiceNoteType>();
jm.data = new
{
serviceNoteType
};
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsServiceDescription/GetCreate
/// <summary>
/// 创建数据
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("创建数据")]
public AdminUiCallBack GetCreate()
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
var serviceNoteType = EnumHelper.EnumToList<GlobalEnumVars.ShopServiceNoteType>();
jm.data = new
{
serviceNoteType
};
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsServiceDescription/DoCreate
/// <summary>
/// 创建提交
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("创建提交")]
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsServiceDescription entity)
{
var jm = await _coreCmsServiceDescriptionServices.InsertAsync(entity);
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsServiceDescription/GetEdit
/// <summary>
/// 编辑数据
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("编辑数据")]
public async Task<AdminUiCallBack> GetEdit([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _coreCmsServiceDescriptionServices.QueryByIdAsync(entity.id, false);
if (model == null)
{
jm.msg = "不存在此信息";
return jm;
}
jm.code = 0;
var serviceNoteType = EnumHelper.EnumToList<GlobalEnumVars.ShopServiceNoteType>();
jm.data = new
{
model,
serviceNoteType
};
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsServiceDescription/Edit
/// <summary>
/// 编辑提交
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("编辑提交")]
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsServiceDescription entity)
{
var jm = await _coreCmsServiceDescriptionServices.UpdateAsync(entity);
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsServiceDescription/DoDelete/10
/// <summary>
/// 单选删除
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("单选删除")]
public async Task<AdminUiCallBack> DoDelete([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _coreCmsServiceDescriptionServices.ExistsAsync(p => p.id == entity.id, true);
if (!model)
{
jm.msg = GlobalConstVars.DataisNo;
return jm;
}
jm = await _coreCmsServiceDescriptionServices.DeleteByIdAsync(entity.id);
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsServiceDescription/GetDetails/10
/// <summary>
/// 预览数据
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("预览数据")]
public async Task<AdminUiCallBack> GetDetails([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _coreCmsServiceDescriptionServices.QueryByIdAsync(entity.id, false);
if (model == null)
{
jm.msg = "不存在此信息";
return jm;
}
jm.code = 0;
var serviceNoteType = EnumHelper.EnumToList<GlobalEnumVars.ShopServiceNoteType>();
jm.data = new
{
model,
serviceNoteType
};
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsServiceDescription/DoSetisShow/10
/// <summary>
/// 设置是否展示
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("设置是否展示")]
public async Task<AdminUiCallBack> DoSetisShow([FromBody] FMUpdateBoolDataByIntId entity)
{
var jm = new AdminUiCallBack();
var oldModel = await _coreCmsServiceDescriptionServices.QueryByIdAsync(entity.id, false);
if (oldModel == null)
{
jm.msg = "不存在此信息";
return jm;
}
oldModel.isShow = (bool)entity.data;
jm = await _coreCmsServiceDescriptionServices.UpdateAsync(oldModel);
return jm;
}
#endregion
}
}

View File

@@ -0,0 +1,103 @@
/***********************************************************************
* Project: CoreCms
* ProjectName: 核心内容管理系统
* Web: https://www.corecms.net
* Author: 大灰灰
* Email: jianweie@163.com
* CreateTime: 2021/1/31 21:45:10
* Description: 暂无
***********************************************************************/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Linq.Expressions;
using System.Threading.Tasks;
using CoreCms.Net.Configuration;
using CoreCms.Net.Filter;
using CoreCms.Net.IServices;
using CoreCms.Net.Loging;
using CoreCms.Net.Model.FromBody;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Utility.Helper;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using NPOI.HSSF.UserModel;
using SqlSugar;
namespace CoreCms.Net.Web.Admin.Controllers
{
/// <summary>
/// 平台设置表
///</summary>
[Description("平台设置表")]
[Route("api/[controller]/[action]")]
[ApiController]
[RequiredErrorForAdmin]
[Authorize(Permissions.Name)]
public class CoreCmsSettingController : ControllerBase
{
private readonly IWebHostEnvironment _webHostEnvironment;
private readonly ICoreCmsSettingServices _coreCmsSettingServices;
/// <summary>
/// 构造函数
///</summary>
/// <param name="webHostEnvironment"></param>
///<param name="CoreCmsSettingServices"></param>
public CoreCmsSettingController(IWebHostEnvironment webHostEnvironment, ICoreCmsSettingServices CoreCmsSettingServices)
{
_webHostEnvironment = webHostEnvironment;
_coreCmsSettingServices = CoreCmsSettingServices;
}
#region ============================================================
// POST: Api/CoreCmsSetting/GetIndex
/// <summary>
/// 首页数据
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("首页数据")]
public async Task<AdminUiCallBack> GetIndex()
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
var configs = await _coreCmsSettingServices.GetConfigDictionaries();
var filesStorageOptionsType = EnumHelper.EnumToList<GlobalEnumVars.FilesStorageOptionsType>();
jm.data = new
{
configs,
filesStorageOptionsType
};
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsSetting/DoSave
/// <summary>
/// 保存提交
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
[HttpPost]
[Description("保存提交")]
public async Task<AdminUiCallBack> DoSave([FromBody] FMCoreCmsSettingDoSaveModel model)
{
var jm = await _coreCmsSettingServices.UpdateAsync(model);
return jm;
}
#endregion
}
}

View File

@@ -0,0 +1,485 @@
/***********************************************************************
* Project: CoreCms
* ProjectName: 核心内容管理系统
* Web: https://www.corecms.net
* Author: 大灰灰
* Email: jianweie@163.com
* CreateTime: 2021/1/31 21:45:10
* Description: 暂无
***********************************************************************/
using System;
using System.ComponentModel;
using System.Linq;
using System.Linq.Expressions;
using System.Threading.Tasks;
using CoreCms.Net.Configuration;
using CoreCms.Net.Filter;
using CoreCms.Net.IServices;
using CoreCms.Net.Loging;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.Entities.Expression;
using CoreCms.Net.Model.FromBody;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Utility.Extensions;
using CoreCms.Net.Utility.Helper;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using SqlSugar;
namespace CoreCms.Net.Web.Admin.Controllers
{
/// <summary>
/// 配送方式表
/// </summary>
[Description("配送方式表")]
[Route("api/[controller]/[action]")]
[ApiController]
[RequiredErrorForAdmin]
[Authorize(Permissions.Name)]
public class CoreCmsShipController : ControllerBase
{
private readonly ICoreCmsShipServices _coreCmsShipServices;
private readonly IWebHostEnvironment _webHostEnvironment;
private readonly ICoreCmsLogisticsServices _logisticsServices;
private readonly ICoreCmsAreaServices _areaServices;
/// <summary>
/// 构造函数
/// </summary>
public CoreCmsShipController(IWebHostEnvironment webHostEnvironment
, ICoreCmsShipServices coreCmsShipServices
, ICoreCmsLogisticsServices logisticsServices, ICoreCmsAreaServices areaServices)
{
_webHostEnvironment = webHostEnvironment;
_coreCmsShipServices = coreCmsShipServices;
_logisticsServices = logisticsServices;
_areaServices = areaServices;
}
#region ============================================================
// POST: Api/CoreCmsShip/GetPageList
/// <summary>
/// 获取列表
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("获取列表")]
public async Task<AdminUiCallBack> GetPageList()
{
var jm = new AdminUiCallBack();
var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30);
var where = PredicateBuilder.True<CoreCmsShip>();
//获取排序字段
var orderField = Request.Form["orderField"].FirstOrDefault();
Expression<Func<CoreCmsShip, object>> orderEx;
switch (orderField)
{
case "id":
orderEx = p => p.id;
break;
case "name":
orderEx = p => p.name;
break;
case "isCashOnDelivery":
orderEx = p => p.isCashOnDelivery;
break;
case "firstUnit":
orderEx = p => p.firstUnit;
break;
case "continueUnit":
orderEx = p => p.continueUnit;
break;
case "isdefaultAreaFee":
orderEx = p => p.isdefaultAreaFee;
break;
case "areaType":
orderEx = p => p.areaType;
break;
case "firstunitPrice":
orderEx = p => p.firstunitPrice;
break;
case "continueunitPrice":
orderEx = p => p.continueunitPrice;
break;
case "exp":
orderEx = p => p.exp;
break;
case "logiName":
orderEx = p => p.logiName;
break;
case "logiCode":
orderEx = p => p.logiCode;
break;
case "isDefault":
orderEx = p => p.isDefault;
break;
case "sort":
orderEx = p => p.sort;
break;
case "status":
orderEx = p => p.status;
break;
case "isfreePostage":
orderEx = p => p.isfreePostage;
break;
case "areaFee":
orderEx = p => p.areaFee;
break;
case "goodsMoney":
orderEx = p => p.goodsMoney;
break;
default:
orderEx = p => p.id;
break;
}
//设置排序方式
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
var orderBy = orderDirection switch
{
"asc" => OrderByType.Asc,
"desc" => OrderByType.Desc,
_ => OrderByType.Desc
};
//查询筛选
// int
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
if (id > 0) @where = @where.And(p => p.id == id);
//配送方式名称 nvarchar
var name = Request.Form["name"].FirstOrDefault();
if (!string.IsNullOrEmpty(name)) @where = @where.And(p => p.name.Contains(name));
//是否货到付款 bit
var isCashOnDelivery = Request.Form["isCashOnDelivery"].FirstOrDefault();
if (!string.IsNullOrEmpty(isCashOnDelivery) && isCashOnDelivery.ToLowerInvariant() == "true")
@where = @where.And(p => p.isCashOnDelivery);
else if (!string.IsNullOrEmpty(isCashOnDelivery) && isCashOnDelivery.ToLowerInvariant() == "false")
@where = @where.And(p => p.isCashOnDelivery == false);
//首重 int
var firstUnit = Request.Form["firstUnit"].FirstOrDefault().ObjectToInt(0);
if (firstUnit > 0) @where = @where.And(p => p.firstUnit == firstUnit);
//续重 int
var continueUnit = Request.Form["continueUnit"].FirstOrDefault().ObjectToInt(0);
if (continueUnit > 0) @where = @where.And(p => p.continueUnit == continueUnit);
//是否按地区设置配送费用是否启用默认配送费用 bit
var isdefaultAreaFee = Request.Form["isdefaultAreaFee"].FirstOrDefault();
if (!string.IsNullOrEmpty(isdefaultAreaFee) && isdefaultAreaFee.ToLowerInvariant() == "true")
@where = @where.And(p => p.isdefaultAreaFee);
else if (!string.IsNullOrEmpty(isdefaultAreaFee) && isdefaultAreaFee.ToLowerInvariant() == "false")
@where = @where.And(p => p.isdefaultAreaFee == false);
//地区类型 int
var areaType = Request.Form["areaType"].FirstOrDefault().ObjectToInt(0);
if (areaType > 0) @where = @where.And(p => p.areaType == areaType);
//配送费用计算表达式 nvarchar
var exp = Request.Form["exp"].FirstOrDefault();
if (!string.IsNullOrEmpty(exp)) @where = @where.And(p => p.exp.Contains(exp));
//物流公司名称 nvarchar
var logiName = Request.Form["logiName"].FirstOrDefault();
if (!string.IsNullOrEmpty(logiName)) @where = @where.And(p => p.logiName.Contains(logiName));
//物流公司编码 nvarchar
var logiCode = Request.Form["logiCode"].FirstOrDefault();
if (!string.IsNullOrEmpty(logiCode)) @where = @where.And(p => p.logiCode.Contains(logiCode));
//是否默认 bit
var isDefault = Request.Form["isDefault"].FirstOrDefault();
if (!string.IsNullOrEmpty(isDefault) && isDefault.ToLowerInvariant() == "true")
@where = @where.And(p => p.isDefault);
else if (!string.IsNullOrEmpty(isDefault) && isDefault.ToLowerInvariant() == "false")
@where = @where.And(p => p.isDefault == false);
//配送方式排序 越小越靠前 int
var sort = Request.Form["sort"].FirstOrDefault().ObjectToInt(0);
if (sort > 0) @where = @where.And(p => p.sort == sort);
//状态 1=正常 2=停用 int
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
if (status > 0) @where = @where.And(p => p.status == status);
//是否包邮 bit
var isfreePostage = Request.Form["isfreePostage"].FirstOrDefault();
if (!string.IsNullOrEmpty(isfreePostage) && isfreePostage.ToLowerInvariant() == "true")
@where = @where.And(p => p.isfreePostage);
else if (!string.IsNullOrEmpty(isfreePostage) && isfreePostage.ToLowerInvariant() == "false")
@where = @where.And(p => p.isfreePostage == false);
//地区配送费用 nvarchar
var areaFee = Request.Form["areaFee"].FirstOrDefault();
if (!string.IsNullOrEmpty(areaFee)) @where = @where.And(p => p.areaFee.Contains(areaFee));
//获取数据
var list = await _coreCmsShipServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
//返回数据
jm.data = list;
jm.code = 0;
jm.count = list.TotalCount;
jm.msg = "数据调用成功!";
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsShip/GetIndex
/// <summary>
/// 首页数据
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("首页数据")]
public AdminUiCallBack GetIndex()
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsShip/GetCreate
/// <summary>
/// 创建数据
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("创建数据")]
public async Task<AdminUiCallBack> GetCreate()
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
var shipUnit = EnumHelper.EnumToList<GlobalEnumVars.ShipUnit>();
var logistics = await _logisticsServices.QueryListByClauseAsync(p => 1 == 1, p => p.sort, OrderByType.Asc);
jm.data = new
{
shipUnit,
logistics,
};
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsShip/DoCreate
/// <summary>
/// 创建提交
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("创建提交")]
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsShip entity)
{
var jm = await _coreCmsShipServices.InsertAsync(entity);
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsShip/GetEdit
/// <summary>
/// 编辑数据
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("编辑数据")]
public async Task<AdminUiCallBack> GetEdit([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _coreCmsShipServices.QueryByIdAsync(entity.id);
if (model == null)
{
jm.msg = "不存在此信息";
return jm;
}
jm.code = 0;
var shipUnit = EnumHelper.EnumToList<GlobalEnumVars.ShipUnit>();
var logistics = await _logisticsServices.QueryListByClauseAsync(p => true, p => p.sort, OrderByType.Asc);
if (!string.IsNullOrEmpty(model.areaFee))
{
model.areaFeeObj = JsonConvert.DeserializeObject(model.areaFee);
}
jm.data = new
{
shipUnit,
logistics,
model
};
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsShip/Edit
/// <summary>
/// 编辑提交
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("编辑提交")]
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsShip entity)
{
var jm = await _coreCmsShipServices.UpdateAsync(entity);
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsShip/DoDelete/10
/// <summary>
/// 单选删除
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("单选删除")]
public async Task<AdminUiCallBack> DoDelete([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _coreCmsShipServices.ExistsAsync(p => p.id == entity.id, true);
if (!model)
{
jm.msg = GlobalConstVars.DataisNo;
return jm;
}
jm = await _coreCmsShipServices.DeleteByIdAsync(entity.id);
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsShip/DoSetisCashOnDelivery/10
/// <summary>
/// 设置是否货到付款
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("设置是否货到付款")]
public async Task<AdminUiCallBack> DoSetisCashOnDelivery([FromBody] FMUpdateBoolDataByIntId entity)
{
var jm = new AdminUiCallBack();
var oldModel = await _coreCmsShipServices.QueryByIdAsync(entity.id, false);
if (oldModel == null)
{
jm.msg = "不存在此信息";
return jm;
}
oldModel.isCashOnDelivery = (bool)entity.data;
jm = await _coreCmsShipServices.UpdateAsync(oldModel);
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsShip/DoSetisdefaultAreaFee/10
/// <summary>
/// 设置是否按地区设置配送费用
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("设置是否按地区设置配送费用")]
public async Task<AdminUiCallBack> DoSetisdefaultAreaFee([FromBody] FMUpdateBoolDataByIntId entity)
{
var jm = new AdminUiCallBack();
var oldModel = await _coreCmsShipServices.QueryByIdAsync(entity.id, false);
if (oldModel == null)
{
jm.msg = "不存在此信息";
return jm;
}
oldModel.isdefaultAreaFee = (bool)entity.data;
jm = await _coreCmsShipServices.UpdateAsync(oldModel);
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsShip/DoSetisDefault/10
/// <summary>
/// 设置是否默认
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("设置是否默认")]
public async Task<AdminUiCallBack> DoSetisDefault([FromBody] FMUpdateBoolDataByIntId entity)
{
var jm = new AdminUiCallBack();
var oldModel = await _coreCmsShipServices.QueryByIdAsync(entity.id, false);
if (oldModel == null)
{
jm.msg = "不存在此信息";
return jm;
}
oldModel.isDefault = (bool)entity.data;
jm = await _coreCmsShipServices.UpdateAsync(oldModel);
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsShip/DoSetisfreePostage/10
/// <summary>
/// 设置是否包邮
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("设置是否包邮")]
public async Task<AdminUiCallBack> DoSetisfreePostage([FromBody] FMUpdateBoolDataByIntId entity)
{
var jm = new AdminUiCallBack();
var oldModel = await _coreCmsShipServices.QueryByIdAsync(entity.id, false);
if (oldModel == null)
{
jm.msg = "不存在此信息";
return jm;
}
oldModel.isfreePostage = (bool)entity.data;
jm = await _coreCmsShipServices.UpdateAsync(oldModel);
return jm;
}
#endregion
}
}

View File

@@ -0,0 +1,762 @@
/***********************************************************************
* Project: CoreCms
* ProjectName: 核心内容管理系统
* Web: https://www.corecms.net
* Author: 大灰灰
* Email: jianweie@163.com
* CreateTime: 2021/1/31 21:45:10
* Description: 暂无
***********************************************************************/
using System;
using System.ComponentModel;
using System.Linq;
using System.Linq.Expressions;
using System.Threading.Tasks;
using CoreCms.Net.Configuration;
using CoreCms.Net.Filter;
using CoreCms.Net.IServices;
using CoreCms.Net.Loging;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.Entities.Expression;
using CoreCms.Net.Model.FromBody;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Utility.Extensions;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
namespace CoreCms.Net.Web.Admin.Controllers
{
/// <summary>
/// 门店表
/// </summary>
[Description("门店表")]
[Route("api/[controller]/[action]")]
[ApiController]
[RequiredErrorForAdmin]
[Authorize(Permissions.Name)]
public class CoreCmsStoreController : ControllerBase
{
private readonly ICoreCmsClerkServices _coreCmsClerkServices;
private readonly ICoreCmsStoreServices _coreCmsStoreServices;
private readonly ICoreCmsUserServices _coreCmsUserServices;
private readonly IWebHostEnvironment _webHostEnvironment;
/// <summary>
/// 构造函数
/// </summary>
public CoreCmsStoreController(IWebHostEnvironment webHostEnvironment,
ICoreCmsStoreServices coreCmsStoreServices, ICoreCmsClerkServices coreCmsClerkServices,
ICoreCmsUserServices coreCmsUserServices)
{
_webHostEnvironment = webHostEnvironment;
_coreCmsStoreServices = coreCmsStoreServices;
_coreCmsClerkServices = coreCmsClerkServices;
_coreCmsUserServices = coreCmsUserServices;
}
#region ============================================================
// POST: Api/CoreCmsStore/GetPageList
/// <summary>
/// 获取列表
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("获取列表")]
public async Task<AdminUiCallBack> GetPageList()
{
var jm = new AdminUiCallBack();
var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30);
var where = PredicateBuilder.True<CoreCmsStore>();
//获取排序字段
var orderField = Request.Form["orderField"].FirstOrDefault();
Expression<Func<CoreCmsStore, object>> orderEx;
switch (orderField)
{
case "id":
orderEx = p => p.id;
break;
case "storeName":
orderEx = p => p.storeName;
break;
case "mobile":
orderEx = p => p.mobile;
break;
case "linkMan":
orderEx = p => p.linkMan;
break;
case "logoImage":
orderEx = p => p.logoImage;
break;
case "areaId":
orderEx = p => p.areaId;
break;
case "address":
orderEx = p => p.address;
break;
case "coordinate":
orderEx = p => p.coordinate;
break;
case "latitude":
orderEx = p => p.latitude;
break;
case "longitude":
orderEx = p => p.longitude;
break;
case "createTime":
orderEx = p => p.createTime;
break;
case "updateTime":
orderEx = p => p.updateTime;
break;
default:
orderEx = p => p.isDefault;
break;
}
//设置排序方式
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
var orderBy = orderDirection switch
{
"asc" => OrderByType.Asc,
"desc" => OrderByType.Desc,
_ => OrderByType.Desc
};
//查询筛选
//序列 int
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
if (id > 0) @where = @where.And(p => p.id == id);
//门店名称 nvarchar
var storeName = Request.Form["storeName"].FirstOrDefault();
if (!string.IsNullOrEmpty(storeName)) @where = @where.And(p => p.storeName.Contains(storeName));
//门店电话/手机号 nvarchar
var mobile = Request.Form["mobile"].FirstOrDefault();
if (!string.IsNullOrEmpty(mobile)) @where = @where.And(p => p.mobile.Contains(mobile));
//门店联系人 nvarchar
var linkMan = Request.Form["linkMan"].FirstOrDefault();
if (!string.IsNullOrEmpty(linkMan)) @where = @where.And(p => p.linkMan.Contains(linkMan));
//门店logo nvarchar
var logoImage = Request.Form["logoImage"].FirstOrDefault();
if (!string.IsNullOrEmpty(logoImage)) @where = @where.And(p => p.logoImage.Contains(logoImage));
//门店地区id int
var areaId = Request.Form["areaId"].FirstOrDefault().ObjectToInt(0);
if (areaId > 0) @where = @where.And(p => p.areaId == areaId);
//门店详细地址 nvarchar
var address = Request.Form["address"].FirstOrDefault();
if (!string.IsNullOrEmpty(address)) @where = @where.And(p => p.address.Contains(address));
//坐标位置 nvarchar
var coordinate = Request.Form["coordinate"].FirstOrDefault();
if (!string.IsNullOrEmpty(coordinate)) @where = @where.And(p => p.coordinate.Contains(coordinate));
//纬度 nvarchar
var latitude = Request.Form["latitude"].FirstOrDefault();
if (!string.IsNullOrEmpty(latitude)) @where = @where.And(p => p.latitude.Contains(latitude));
//经度 nvarchar
var longitude = Request.Form["longitude"].FirstOrDefault();
if (!string.IsNullOrEmpty(longitude)) @where = @where.And(p => p.longitude.Contains(longitude));
//创建时间 datetime
var createTime = Request.Form["createTime"].FirstOrDefault();
if (!string.IsNullOrEmpty(createTime))
{
if (createTime.Contains("到"))
{
var dts = createTime.Split("到");
var dtStart = dts[0].Trim().ObjectToDate();
where = where.And(p => p.createTime > dtStart);
var dtEnd = dts[1].Trim().ObjectToDate();
where = where.And(p => p.createTime < dtEnd);
}
else
{
var dt = createTime.ObjectToDate();
where = where.And(p => p.createTime > dt);
}
}
//更新时间 datetime
var updateTime = Request.Form["updateTime"].FirstOrDefault();
if (!string.IsNullOrEmpty(updateTime))
{
if (updateTime.Contains("到"))
{
var dts = updateTime.Split("到");
var dtStart = dts[0].Trim().ObjectToDate();
where = where.And(p => p.updateTime > dtStart);
var dtEnd = dts[1].Trim().ObjectToDate();
where = where.And(p => p.updateTime < dtEnd);
}
else
{
var dt = updateTime.ObjectToDate();
where = where.And(p => p.updateTime > dt);
}
}
//获取数据
var list = await _coreCmsStoreServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
//返回数据
jm.data = list;
jm.code = 0;
jm.count = list.TotalCount;
jm.msg = "数据调用成功!";
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsStore/GetIndex
/// <summary>
/// 首页数据
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("首页数据")]
public AdminUiCallBack GetIndex()
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsStore/GetCreate
/// <summary>
/// 创建数据
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("创建数据")]
public AdminUiCallBack GetCreate()
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsStore/DoCreate
/// <summary>
/// 创建提交
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("创建提交")]
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsStore entity)
{
var jm = new AdminUiCallBack();
entity.createTime = DateTime.Now;
jm = await _coreCmsStoreServices.InsertAsync(entity);
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsStore/GetEdit
/// <summary>
/// 编辑数据
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("编辑数据")]
public async Task<AdminUiCallBack> GetEdit([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _coreCmsStoreServices.QueryByIdAsync(entity.id);
if (model == null)
{
jm.msg = "不存在此信息";
return jm;
}
jm.code = 0;
jm.data = model;
return jm;
}
#endregion
#region ============================================================
// POST: Admins/CoreCmsStore/Edit
/// <summary>
/// 编辑提交
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("编辑提交")]
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsStore entity)
{
var jm = new AdminUiCallBack();
entity.updateTime = DateTime.Now;
jm = await _coreCmsStoreServices.UpdateAsync(entity);
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsStore/DoDelete/10
/// <summary>
/// 单选删除
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("单选删除")]
public async Task<AdminUiCallBack> DoDelete([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _coreCmsStoreServices.QueryByIdAsync(entity.id);
if (model == null)
{
jm.msg = GlobalConstVars.DataisNo;
return jm;
}
var bl = await _coreCmsStoreServices.DeleteByIdAsync(entity.id);
if (bl)
{
await _coreCmsClerkServices.DeleteAsync(p => p.storeId == model.id);
}
jm.code = bl ? 0 : 1;
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsStore/DoSetisDefault/10
/// <summary>
/// 设置是否默认
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("设置是否默认")]
public async Task<AdminUiCallBack> DoSetisDefault([FromBody] FMUpdateBoolDataByIntId entity)
{
var jm = new AdminUiCallBack();
var oldModel = await _coreCmsStoreServices.QueryByIdAsync(entity.id);
if (oldModel == null)
{
jm.msg = "不存在此信息";
return jm;
}
oldModel.isDefault = entity.data;
oldModel.updateTime = DateTime.Now;
jm = await _coreCmsStoreServices.UpdateAsync(oldModel);
return jm;
}
#endregion
//店员设置
#region ============================================================
// POST: Api/CoreCmsStore/GetClerkPageList
/// <summary>
/// 获取列表
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("获取列表")]
public async Task<AdminUiCallBack> GetClerkPageList()
{
var jm = new AdminUiCallBack();
var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30);
var where = PredicateBuilder.True<StoreClerkDto>();
//获取排序字段
var orderField = Request.Form["orderField"].FirstOrDefault();
Expression<Func<StoreClerkDto, object>> orderEx;
switch (orderField)
{
case "id":
orderEx = p => p.id;
break;
case "storeId":
orderEx = p => p.storeId;
break;
case "userId":
orderEx = p => p.userId;
break;
case "isDel":
orderEx = p => p.isDel;
break;
case "createTime":
orderEx = p => p.createTime;
break;
case "updateTime":
orderEx = p => p.updateTime;
break;
default:
orderEx = p => p.id;
break;
}
//设置排序方式
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
var orderBy = orderDirection switch
{
"asc" => OrderByType.Asc,
"desc" => OrderByType.Desc,
_ => OrderByType.Desc
};
//查询筛选
//序列 int
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
if (id > 0) @where = @where.And(p => p.id == id);
//店铺ID int
var storeId = Request.Form["storeId"].FirstOrDefault().ObjectToInt(0);
if (storeId > 0) @where = @where.And(p => p.storeId == storeId);
//用户ID int
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
if (userId > 0) @where = @where.And(p => p.userId == userId);
//是否删除 bit
var isDel = Request.Form["isDel"].FirstOrDefault();
if (!string.IsNullOrEmpty(isDel) && isDel.ToLowerInvariant() == "true")
@where = @where.And(p => p.isDel);
else if (!string.IsNullOrEmpty(isDel) && isDel.ToLowerInvariant() == "false")
@where = @where.And(p => p.isDel == false);
//创建时间 datetime
var createTime = Request.Form["createTime"].FirstOrDefault();
if (!string.IsNullOrEmpty(createTime))
{
if (createTime.Contains("到"))
{
var dts = createTime.Split("到");
var dtStart = dts[0].Trim().ObjectToDate();
where = where.And(p => p.createTime > dtStart);
var dtEnd = dts[1].Trim().ObjectToDate();
where = where.And(p => p.createTime < dtEnd);
}
else
{
var dt = createTime.ObjectToDate();
where = where.And(p => p.createTime > dt);
}
}
//删除时间 datetime
var updateTime = Request.Form["updateTime"].FirstOrDefault();
if (!string.IsNullOrEmpty(updateTime))
{
if (updateTime.Contains("到"))
{
var dts = updateTime.Split("到");
var dtStart = dts[0].Trim().ObjectToDate();
where = where.And(p => p.updateTime > dtStart);
var dtEnd = dts[1].Trim().ObjectToDate();
where = where.And(p => p.updateTime < dtEnd);
}
else
{
var dt = updateTime.ObjectToDate();
where = where.And(p => p.updateTime > dt);
}
}
//获取数据
var list = await _coreCmsClerkServices.QueryStoreClerkDtoPageAsync(where, orderEx, orderBy, pageCurrent, pageSize, true);
//返回数据
jm.data = list;
jm.code = 0;
jm.count = list.TotalCount;
jm.msg = "数据调用成功!";
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsStore/GetClerkIndex
/// <summary>
/// 店员首页数据
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("店员首页数据")]
public AdminUiCallBack GetClerkIndex()
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsStore/GetClerkCreate
/// <summary>
/// 创建店员数据
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("创建店员数据")]
public AdminUiCallBack GetClerkCreate()
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsStore/DoClerkCreate
/// <summary>
/// 创建店员提交
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("创建店员提交")]
public async Task<AdminUiCallBack> DoClerkCreate([FromBody] FMStoreClerkCURDPost entity)
{
var jm = new AdminUiCallBack();
if (string.IsNullOrEmpty(entity.phone))
{
jm.msg = "请输入合法的手机号码";
return jm;
}
if (entity.storeId == 0)
{
jm.msg = "请选择要添加的门店";
return jm;
}
var haveStore = await _coreCmsStoreServices.ExistsAsync(p => p.id == entity.storeId);
if (!haveStore)
{
jm.msg = "门店信息不存在";
return jm;
}
//判断是否存在当前的门店内
var user = await _coreCmsUserServices.QueryByClauseAsync(p => p.mobile == entity.phone);
if (user == null)
{
jm.msg = "不存在此手机注册用户";
return jm;
}
var haveClerk =
await _coreCmsClerkServices.ExistsAsync(p => p.userId == user.id && p.storeId == entity.storeId);
if (haveClerk)
{
jm.msg = "用户已经是当前门店店员";
return jm;
}
var model = new CoreCmsClerk
{
storeId = entity.storeId,
userId = user.id,
isDel = false,
createTime = DateTime.Now
};
var bl = await _coreCmsClerkServices.InsertAsync(model) > 0;
jm.code = bl ? 0 : 1;
jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsStore/GetClerkEdit
/// <summary>
/// 编辑店员数据
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("编辑店员数据")]
public async Task<AdminUiCallBack> GetClerkEdit([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _coreCmsClerkServices.QueryStoreClerkDtoByClauseAsync(p => p.id == entity.id);
if (model == null)
{
jm.msg = "不存在此信息";
return jm;
}
jm.code = 0;
jm.data = model;
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsStore/DoClerkEdit
/// <summary>
/// 编辑店员提交
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("编辑店员提交")]
public async Task<AdminUiCallBack> DoClerkEdit([FromBody] FMStoreClerkCURDPost entity)
{
var jm = new AdminUiCallBack();
var oldModel = await _coreCmsClerkServices.QueryByIdAsync(entity.id);
if (oldModel == null)
{
jm.msg = "不存在此信息";
return jm;
}
if (string.IsNullOrEmpty(entity.phone))
{
jm.msg = "请输入合法的手机号码";
return jm;
}
if (entity.storeId == 0)
{
jm.msg = "请选择要编辑的门店";
return jm;
}
var haveStore = await _coreCmsStoreServices.ExistsAsync(p => p.id == entity.storeId);
if (!haveStore)
{
jm.msg = "门店信息不存在";
return jm;
}
//判断是否存在当前的门店内
var user = await _coreCmsUserServices.QueryByClauseAsync(p => p.mobile == entity.phone);
if (user == null)
{
jm.msg = "不存在此手机注册用户";
return jm;
}
var haveClerk =
await _coreCmsClerkServices.ExistsAsync(p => p.userId == user.id && p.storeId == entity.storeId);
if (haveClerk)
{
jm.msg = "用户已经是当前门店店员";
return jm;
}
//事物处理过程开始
oldModel.storeId = entity.storeId;
oldModel.userId = user.id;
//事物处理过程结束
var bl = await _coreCmsClerkServices.UpdateAsync(oldModel);
jm.code = bl ? 0 : 1;
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsStore/DoClerkDelete/10
/// <summary>
/// 单选删除店员
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("单选删除店员")]
public async Task<AdminUiCallBack> DoClerkDelete([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _coreCmsClerkServices.QueryByIdAsync(entity.id);
if (model == null)
{
jm.msg = GlobalConstVars.DataisNo;
return jm;
}
var bl = await _coreCmsClerkServices.DeleteByIdAsync(entity.id);
jm.code = bl ? 0 : 1;
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsStore/DoClerkBatchDelete/10,11,20
/// <summary>
/// 批量删除店员
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("批量删除店员")]
public async Task<AdminUiCallBack> DoClerkBatchDelete([FromBody] FMArrayIntIds entity)
{
var jm = new AdminUiCallBack();
var bl = await _coreCmsClerkServices.DeleteByIdsAsync(entity.id);
jm.code = bl ? 0 : 1;
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
return jm;
}
#endregion
}
}