添加项目文件。
This commit is contained in:
@@ -0,0 +1,381 @@
|
||||
/***********************************************************************
|
||||
* 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 SqlSugar;
|
||||
|
||||
namespace CoreCms.Net.Web.Admin.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 广告位置表
|
||||
/// </summary>
|
||||
[Description("广告位置表")]
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
[RequiredErrorForAdmin]
|
||||
[Authorize(Permissions.Name)]
|
||||
public class CoreCmsAdvertPositionController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsAdvertPositionServices _coreCmsAdvertPositionServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="webHostEnvironment"></param>
|
||||
/// <param name="coreCmsAdvertPositionServices"></param>
|
||||
public CoreCmsAdvertPositionController(IWebHostEnvironment webHostEnvironment, ICoreCmsAdvertPositionServices coreCmsAdvertPositionServices)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsAdvertPositionServices = coreCmsAdvertPositionServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsAdvertPosition/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<CoreCmsAdvertPosition>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsAdvertPosition, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "name":
|
||||
orderEx = p => p.name;
|
||||
break;
|
||||
case "code":
|
||||
orderEx = p => p.code;
|
||||
break;
|
||||
case "createTime":
|
||||
orderEx = p => p.createTime;
|
||||
break;
|
||||
case "updateTime":
|
||||
orderEx = p => p.updateTime;
|
||||
break;
|
||||
case "isEnable":
|
||||
orderEx = p => p.isEnable;
|
||||
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
|
||||
};
|
||||
//查询筛选
|
||||
|
||||
//序列 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));
|
||||
//位置编码 nvarchar
|
||||
var code = Request.Form["code"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(code)) @where = @where.And(p => p.code.Contains(code));
|
||||
//添加时间 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);
|
||||
}
|
||||
}
|
||||
|
||||
//状态 bit
|
||||
var isEnable = Request.Form["isEnable"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isEnable) && isEnable.ToLowerInvariant() == "true")
|
||||
@where = @where.And(p => p.isEnable);
|
||||
else if (!string.IsNullOrEmpty(isEnable) && isEnable.ToLowerInvariant() == "false")
|
||||
@where = @where.And(p => p.isEnable == false);
|
||||
//排序 int
|
||||
var sort = Request.Form["sort"].FirstOrDefault().ObjectToInt(0);
|
||||
if (sort > 0) @where = @where.And(p => p.sort == sort);
|
||||
//获取数据
|
||||
var list = await _coreCmsAdvertPositionServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent,
|
||||
pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsAdvertPosition/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsAdvertPosition/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
var data = EnumHelper.EnumToList<GlobalEnumVars.AdvertTemplateCode>();
|
||||
jm.data = data;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsAdvertPosition/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsAdvertPosition entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
entity.createTime = DateTime.Now;
|
||||
|
||||
var bl = await _coreCmsAdvertPositionServices.InsertAsync(entity) > 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsAdvertPosition/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 _coreCmsAdvertPositionServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var advertTemplateCode = EnumHelper.EnumToList<GlobalEnumVars.AdvertTemplateCode>();
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
advertTemplateCode
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Admins/CoreCmsAdvertPosition/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsAdvertPosition entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsAdvertPositionServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
//事物处理过程开始
|
||||
oldModel.name = entity.name;
|
||||
oldModel.code = entity.code;
|
||||
oldModel.updateTime = DateTime.Now;
|
||||
oldModel.isEnable = entity.isEnable;
|
||||
oldModel.sort = entity.sort;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _coreCmsAdvertPositionServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsAdvertPosition/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 _coreCmsAdvertPositionServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var bl = await _coreCmsAdvertPositionServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
return jm;
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 设置状态============================================================
|
||||
|
||||
// POST: Api/CoreCmsAdvertPosition/DoSetisEnable/10
|
||||
/// <summary>
|
||||
/// 设置状态
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置状态")]
|
||||
public async Task<AdminUiCallBack> DoSetisEnable([FromBody] FMUpdateBoolDataByIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsAdvertPositionServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
oldModel.isEnable = entity.data;
|
||||
|
||||
var bl = await _coreCmsAdvertPositionServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,522 @@
|
||||
/***********************************************************************
|
||||
* 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 SqlSugar;
|
||||
|
||||
namespace CoreCms.Net.Web.Admin.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 广告表
|
||||
/// </summary>
|
||||
[Description("广告表")]
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
[RequiredErrorForAdmin]
|
||||
[Authorize(Permissions.Name)]
|
||||
public class CoreCmsAdvertisementController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsAdvertisementServices _coreCmsAdvertisementServices;
|
||||
private readonly ICoreCmsAdvertPositionServices _coreCmsAdvertPositionServices;
|
||||
private readonly ICoreCmsArticleServices _coreCmsArticleServices;
|
||||
private readonly ICoreCmsArticleTypeServices _coreCmsArticleTypeServices;
|
||||
private readonly ICoreCmsGoodsServices _coreCmsGoodsServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="webHostEnvironment"></param>
|
||||
/// <param name="coreCmsAdvertisementServices"></param>
|
||||
/// <param name="coreCmsAdvertPositionServices"></param>
|
||||
/// <param name="coreCmsGoodsServices"></param>
|
||||
/// <param name="coreCmsArticleServices"></param>
|
||||
/// <param name="coreCmsArticleTypeServices"></param>
|
||||
public CoreCmsAdvertisementController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsAdvertisementServices coreCmsAdvertisementServices
|
||||
, ICoreCmsAdvertPositionServices coreCmsAdvertPositionServices
|
||||
, ICoreCmsGoodsServices coreCmsGoodsServices
|
||||
, ICoreCmsArticleServices coreCmsArticleServices
|
||||
, ICoreCmsArticleTypeServices coreCmsArticleTypeServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsAdvertisementServices = coreCmsAdvertisementServices;
|
||||
_coreCmsAdvertPositionServices = coreCmsAdvertPositionServices;
|
||||
_coreCmsGoodsServices = coreCmsGoodsServices;
|
||||
_coreCmsArticleServices = coreCmsArticleServices;
|
||||
_coreCmsArticleTypeServices = coreCmsArticleTypeServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsAdvertisement/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<CoreCmsAdvertisement>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsAdvertisement, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "positionId":
|
||||
orderEx = p => p.positionId;
|
||||
break;
|
||||
case "name":
|
||||
orderEx = p => p.name;
|
||||
break;
|
||||
case "imageUrl":
|
||||
orderEx = p => p.imageUrl;
|
||||
break;
|
||||
case "val":
|
||||
orderEx = p => p.val;
|
||||
break;
|
||||
case "sort":
|
||||
orderEx = p => p.sort;
|
||||
break;
|
||||
case "createTime":
|
||||
orderEx = p => p.createTime;
|
||||
break;
|
||||
case "updateTime":
|
||||
orderEx = p => p.updateTime;
|
||||
break;
|
||||
case "code":
|
||||
orderEx = p => p.code;
|
||||
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);
|
||||
//位置序列 int
|
||||
var positionId = Request.Form["positionId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (positionId > 0) @where = @where.And(p => p.positionId == positionId);
|
||||
//广告名称 nvarchar
|
||||
var name = Request.Form["name"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(name)) @where = @where.And(p => p.name.Contains(name));
|
||||
//广告图片id nvarchar
|
||||
var imageUrl = Request.Form["imageUrl"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(imageUrl)) @where = @where.And(p => p.imageUrl.Contains(imageUrl));
|
||||
//链接属性值 nvarchar
|
||||
var val = Request.Form["val"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(val)) @where = @where.And(p => p.val.Contains(val));
|
||||
//从小到大 越小越靠前 int
|
||||
var sort = Request.Form["sort"].FirstOrDefault().ObjectToInt(0);
|
||||
if (sort > 0) @where = @where.And(p => p.sort == sort);
|
||||
//添加时间 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);
|
||||
}
|
||||
}
|
||||
|
||||
//广告位置编码 nvarchar
|
||||
var code = Request.Form["code"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(code)) @where = @where.And(p => p.code.Contains(code));
|
||||
//类型 int
|
||||
var type = Request.Form["type"].FirstOrDefault().ObjectToInt(0);
|
||||
if (type > 0) @where = @where.And(p => p.type == type);
|
||||
//获取数据
|
||||
var list = await _coreCmsAdvertisementServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent,
|
||||
pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsAdvertisement/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
var types = EnumHelper.EnumToList<GlobalEnumVars.AdvertPositionType>();
|
||||
jm.data = new
|
||||
{
|
||||
types
|
||||
};
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsAdvertisement/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public async Task<AdminUiCallBack> GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var advertPosition = await _coreCmsAdvertPositionServices.QueryAsync();
|
||||
var types = EnumHelper.EnumToList<GlobalEnumVars.AdvertPositionType>();
|
||||
jm.data = new
|
||||
{
|
||||
advertPosition,
|
||||
types
|
||||
};
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsAdvertisement/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsAdvertisement entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
entity.createTime = DateTime.Now;
|
||||
|
||||
var type = await _coreCmsAdvertPositionServices.QueryByIdAsync(entity.positionId);
|
||||
if (type != null) entity.code = type.code;
|
||||
var bl = await _coreCmsAdvertisementServices.InsertAsync(entity) > 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsAdvertisement/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 _coreCmsAdvertisementServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
var advertPosition = await _coreCmsAdvertPositionServices.QueryAsync();
|
||||
var types = EnumHelper.EnumToList<GlobalEnumVars.AdvertPositionType>();
|
||||
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
advertPosition,
|
||||
types
|
||||
};
|
||||
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Admins/CoreCmsAdvertisement/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsAdvertisement entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsAdvertisementServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
//事物处理过程开始
|
||||
//oldModel.id = entity.id;
|
||||
if (oldModel.positionId != entity.positionId)
|
||||
{
|
||||
oldModel.positionId = entity.positionId;
|
||||
var type = _coreCmsAdvertPositionServices.QueryById(entity.positionId);
|
||||
if (type != null) oldModel.code = type.code;
|
||||
}
|
||||
|
||||
oldModel.name = entity.name;
|
||||
oldModel.imageUrl = entity.imageUrl;
|
||||
oldModel.val = entity.val;
|
||||
oldModel.valDes = entity.valDes;
|
||||
oldModel.sort = entity.sort;
|
||||
//oldModel.createTime = entity.createTime;
|
||||
oldModel.updateTime = DateTime.Now;
|
||||
oldModel.type = entity.type;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _coreCmsAdvertisementServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsAdvertisement/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 _coreCmsAdvertisementServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var bl = await _coreCmsAdvertisementServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 获取商品列表
|
||||
|
||||
// POST: Api/CoreCmsAdvertisement/GetGoods
|
||||
/// <summary>
|
||||
/// 获取商品列表
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("获取商品列表")]
|
||||
public async Task<AdminUiCallBack> GetGoods()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
|
||||
var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30);
|
||||
var where = PredicateBuilder.True<CoreCmsGoods>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsGoods, object>> orderEx = p => p.createTime;
|
||||
//设置排序方式
|
||||
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
|
||||
var orderBy = orderDirection switch
|
||||
{
|
||||
"asc" => OrderByType.Asc,
|
||||
"desc" => OrderByType.Desc,
|
||||
_ => OrderByType.Desc
|
||||
};
|
||||
//查询筛选
|
||||
|
||||
//商品编码 nvarchar
|
||||
var bn = Request.Form["bn"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(bn)) @where = @where.And(p => p.bn.Contains(bn));
|
||||
//商品名称 nvarchar
|
||||
var name = Request.Form["name"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(name)) @where = @where.And(p => p.name.Contains(name));
|
||||
where = where.And(p => p.isDel == false);
|
||||
//获取数据
|
||||
var list = await _coreCmsGoodsServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 获取文章列表
|
||||
|
||||
// POST: Api/CoreCmsAdvertisement/GetArticle
|
||||
/// <summary>
|
||||
/// 获取文章列表
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("获取文章列表")]
|
||||
public async Task<AdminUiCallBack> GetArticle()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
|
||||
var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30);
|
||||
var where = PredicateBuilder.True<CoreCmsArticle>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsArticle, object>> orderEx = p => p.id;
|
||||
//设置排序方式
|
||||
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
|
||||
var orderBy = orderDirection switch
|
||||
{
|
||||
"asc" => OrderByType.Asc,
|
||||
"desc" => OrderByType.Desc,
|
||||
_ => OrderByType.Desc
|
||||
};
|
||||
//查询筛选
|
||||
|
||||
//标题 nvarchar
|
||||
var title = Request.Form["title"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(title)) @where = @where.And(p => p.title.Contains(title));
|
||||
where = where.And(p => p.isDel == false);
|
||||
//获取数据
|
||||
var list = await _coreCmsArticleServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 获取文章分类列表
|
||||
|
||||
// POST: Api/CoreCmsAdvertisement/GetArticleType
|
||||
/// <summary>
|
||||
/// 获取文章分类列表
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("获取文章分类列表")]
|
||||
public async Task<AdminUiCallBack> GetArticleType()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
//获取数据
|
||||
var list = await _coreCmsArticleTypeServices.QueryAsync();
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,423 @@
|
||||
/***********************************************************************
|
||||
* 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 CoreCmsAgentController : ControllerBase
|
||||
{
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly ICoreCmsAgentServices _coreCmsAgentServices;
|
||||
private readonly ICoreCmsAgentGradeServices _agentGradeServices;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
///</summary>
|
||||
public CoreCmsAgentController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsAgentServices coreCmsAgentServices, ICoreCmsAgentGradeServices agentGradeServices)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsAgentServices = coreCmsAgentServices;
|
||||
_agentGradeServices = agentGradeServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
// POST: Api/CoreCmsAgent/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<CoreCmsAgent>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
|
||||
Expression<Func<CoreCmsAgent, object>> orderEx = orderField switch
|
||||
{
|
||||
"id" => p => p.id,
|
||||
"userId" => p => p.userId,
|
||||
"name" => p => p.name,
|
||||
"gradeId" => p => p.gradeId,
|
||||
"mobile" => p => p.mobile,
|
||||
"weixin" => p => p.weixin,
|
||||
"qq" => p => p.qq,
|
||||
"storeName" => p => p.storeName,
|
||||
"storeLogo" => p => p.storeLogo,
|
||||
"storeBanner" => p => p.storeBanner,
|
||||
"storeDesc" => p => p.storeDesc,
|
||||
"verifyStatus" => p => p.verifyStatus,
|
||||
"createTime" => p => p.createTime,
|
||||
"updateTime" => p => p.updateTime,
|
||||
"verifyTime" => p => p.verifyTime,
|
||||
"isDelete" => p => p.isDelete,
|
||||
_ => 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);
|
||||
}
|
||||
//用户Id int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0)
|
||||
{
|
||||
where = where.And(p => p.userId == userId);
|
||||
}
|
||||
//代理商名称 nvarchar
|
||||
var name = Request.Form["name"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(name))
|
||||
{
|
||||
where = where.And(p => p.name.Contains(name));
|
||||
}
|
||||
//代理商等级 int
|
||||
var gradeId = Request.Form["gradeId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (gradeId > 0)
|
||||
{
|
||||
where = where.And(p => p.gradeId == gradeId);
|
||||
}
|
||||
//手机号 nvarchar
|
||||
var mobile = Request.Form["mobile"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(mobile))
|
||||
{
|
||||
where = where.And(p => p.mobile.Contains(mobile));
|
||||
}
|
||||
//微信号 nvarchar
|
||||
var weixin = Request.Form["weixin"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(weixin))
|
||||
{
|
||||
where = where.And(p => p.weixin.Contains(weixin));
|
||||
}
|
||||
//qq号 nvarchar
|
||||
var qq = Request.Form["qq"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(qq))
|
||||
{
|
||||
where = where.And(p => p.qq.Contains(qq));
|
||||
}
|
||||
//店铺名称 nvarchar
|
||||
var storeName = Request.Form["storeName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(storeName))
|
||||
{
|
||||
where = where.And(p => p.storeName.Contains(storeName));
|
||||
}
|
||||
//店铺Logo nvarchar
|
||||
var storeLogo = Request.Form["storeLogo"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(storeLogo))
|
||||
{
|
||||
where = where.And(p => p.storeLogo.Contains(storeLogo));
|
||||
}
|
||||
//店铺Banner nvarchar
|
||||
var storeBanner = Request.Form["storeBanner"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(storeBanner))
|
||||
{
|
||||
where = where.And(p => p.storeBanner.Contains(storeBanner));
|
||||
}
|
||||
//店铺简介 nvarchar
|
||||
var storeDesc = Request.Form["storeDesc"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(storeDesc))
|
||||
{
|
||||
where = where.And(p => p.storeDesc.Contains(storeDesc));
|
||||
}
|
||||
//审核状态 int
|
||||
var verifyStatus = Request.Form["verifyStatus"].FirstOrDefault().ObjectToInt(0);
|
||||
if (verifyStatus > 0)
|
||||
{
|
||||
where = where.And(p => p.verifyStatus == verifyStatus);
|
||||
}
|
||||
//创建时间 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);
|
||||
}
|
||||
}
|
||||
//审核时间 datetime
|
||||
var verifyTime = Request.Form["verifyTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(verifyTime))
|
||||
{
|
||||
if (verifyTime.Contains("到"))
|
||||
{
|
||||
var dts = verifyTime.Split("到");
|
||||
var dtStart = dts[0].Trim().ObjectToDate();
|
||||
where = where.And(p => p.verifyTime > dtStart);
|
||||
var dtEnd = dts[1].Trim().ObjectToDate();
|
||||
where = where.And(p => p.verifyTime < dtEnd);
|
||||
}
|
||||
else
|
||||
{
|
||||
var dt = verifyTime.ObjectToDate();
|
||||
where = where.And(p => p.verifyTime > dt);
|
||||
}
|
||||
}
|
||||
//是否删除 bit
|
||||
var isDelete = Request.Form["isDelete"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isDelete) && isDelete.ToLowerInvariant() == "true")
|
||||
{
|
||||
where = where.And(p => p.isDelete == true);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(isDelete) && isDelete.ToLowerInvariant() == "false")
|
||||
{
|
||||
where = where.And(p => p.isDelete == false);
|
||||
}
|
||||
//获取数据
|
||||
var list = await _coreCmsAgentServices.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/CoreCmsAgent/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public async Task<AdminUiCallBack> GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var agentVerifyStatus = EnumHelper.EnumToList<GlobalEnumVars.AgentVerifyStatus>();
|
||||
var grades = await _agentGradeServices.GetCaChe();
|
||||
jm.data = new
|
||||
{
|
||||
agentVerifyStatus,
|
||||
grades
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
// POST: Api/CoreCmsAgent/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 _coreCmsAgentServices.QueryByIdAsync(entity.id, false);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
|
||||
var agentVerifyStatus = EnumHelper.EnumToList<GlobalEnumVars.AgentVerifyStatus>();
|
||||
var grades = await _agentGradeServices.GetCaChe();
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
agentVerifyStatus,
|
||||
grades
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
// POST: Api/CoreCmsAgent/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsAgent entity)
|
||||
{
|
||||
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsAgentServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
//事物处理过程开始
|
||||
oldModel.name = entity.name;
|
||||
oldModel.gradeId = entity.gradeId;
|
||||
oldModel.mobile = entity.mobile;
|
||||
oldModel.weixin = entity.weixin;
|
||||
oldModel.qq = entity.qq;
|
||||
oldModel.verifyStatus = entity.verifyStatus;
|
||||
oldModel.updateTime = DateTime.Now;
|
||||
if (oldModel.verifyStatus == (int)GlobalEnumVars.AgentVerifyStatus.VerifyYes)
|
||||
{
|
||||
oldModel.verifyTime = DateTime.Now;
|
||||
}
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _coreCmsAgentServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
// POST: Api/CoreCmsAgent/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 _coreCmsAgentServices.ExistsAsync(p => p.id == entity.id, true);
|
||||
if (!model)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
var bl = await _coreCmsAgentServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
// POST: Api/CoreCmsAgent/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 _coreCmsAgentServices.QueryByIdAsync(entity.id, false);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
|
||||
var agentVerifyStatus = EnumHelper.EnumToList<GlobalEnumVars.AgentVerifyStatus>();
|
||||
var grades = await _agentGradeServices.GetCaChe();
|
||||
|
||||
jm.data = new
|
||||
{
|
||||
agentVerifyStatus,
|
||||
grades,
|
||||
model
|
||||
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,395 @@
|
||||
/***********************************************************************
|
||||
* 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.Services;
|
||||
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 CoreCmsAgentGoodsController : ControllerBase
|
||||
{
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly ICoreCmsAgentGoodsServices _agentGoodsServices;
|
||||
private readonly ICoreCmsGoodsServices _goodsServices;
|
||||
private readonly ICoreCmsAgentGradeServices _agentGradeServices;
|
||||
private readonly ICoreCmsAgentProductsServices _agentProductsServices;
|
||||
private readonly ICoreCmsProductsServices _productsServices;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
///</summary>
|
||||
public CoreCmsAgentGoodsController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsAgentGoodsServices agentGoodsServices, ICoreCmsGoodsServices goodsServices, ICoreCmsAgentGradeServices agentGradeServices, ICoreCmsAgentProductsServices agentProductsServices, ICoreCmsProductsServices productsServices)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_agentGoodsServices = agentGoodsServices;
|
||||
_goodsServices = goodsServices;
|
||||
_agentGradeServices = agentGradeServices;
|
||||
_agentProductsServices = agentProductsServices;
|
||||
_productsServices = productsServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
// POST: Api/CoreCmsAgentGoods/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<CoreCmsAgentGoods>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
|
||||
Expression<Func<CoreCmsAgentGoods, object>> orderEx = orderField switch
|
||||
{
|
||||
"id" => p => p.id,
|
||||
"goodId" => p => p.goodId,
|
||||
"sortId" => p => p.sortId,
|
||||
"isEnable" => p => p.isEnable,
|
||||
"createTime" => p => p.createTime,
|
||||
"updateTime" => p => p.updateTime,
|
||||
_ => 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);
|
||||
}
|
||||
//商品序列 int
|
||||
var goodId = Request.Form["goodId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (goodId > 0)
|
||||
{
|
||||
where = where.And(p => p.goodId == goodId);
|
||||
}
|
||||
//排序 int
|
||||
var sortId = Request.Form["sortId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (sortId > 0)
|
||||
{
|
||||
where = where.And(p => p.sortId == sortId);
|
||||
}
|
||||
//是否启用 bit
|
||||
var isEnable = Request.Form["isEnable"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isEnable) && isEnable.ToLowerInvariant() == "true")
|
||||
{
|
||||
where = where.And(p => p.isEnable == true);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(isEnable) && isEnable.ToLowerInvariant() == "false")
|
||||
{
|
||||
where = where.And(p => p.isEnable == 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 _agentGoodsServices.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/CoreCmsAgentGoods/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
// POST: Api/CoreCmsAgentGoods/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public async Task<AdminUiCallBack> GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var goods = await _goodsServices.QueryEnumEntityAsync();
|
||||
var agentGrade = await _agentGradeServices.GetCaChe();
|
||||
jm.data = new
|
||||
{
|
||||
goods,
|
||||
agentGrade
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
// POST: Api/CoreCmsAgentGoods/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] FMCreateAgentGood entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
jm = await _agentGoodsServices.InsertAsync(entity.good, entity.products);
|
||||
jm.data = entity;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
// POST: Api/CoreCmsAgentGoods/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 _agentGoodsServices.QueryByIdAsync(entity.id, false);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
|
||||
var goods = await _goodsServices.QueryEnumEntityAsync();
|
||||
var good = await _goodsServices.QueryByClauseAsync(p => p.id == model.goodId);
|
||||
var products = await _productsServices.QueryListByClauseAsync(p => p.goodsId == model.goodId && p.isDel == false);
|
||||
var agentGrade = await _agentGradeServices.GetCaChe();
|
||||
var agentProducts = await _agentProductsServices.QueryListByClauseAsync(p => p.goodId == model.goodId, p => p.id, OrderByType.Asc);
|
||||
|
||||
var allNew = false;
|
||||
if (agentProducts.Any() && products.Any())
|
||||
{
|
||||
var pIds = products.Select(p => p.id).ToList();
|
||||
var apIds = agentProducts.Select(p => p.productId).ToList();
|
||||
var sameArr = pIds.Intersect(apIds).ToArray();
|
||||
allNew = sameArr.Length <= 0;
|
||||
}
|
||||
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
goods,
|
||||
good,
|
||||
agentGrade,
|
||||
agentProducts,
|
||||
products,
|
||||
allNew
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
// POST: Api/CoreCmsAgentGoods/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] FMCreateAgentGood entity)
|
||||
{
|
||||
var jm = await _agentGoodsServices.UpdateAsync(entity.good, entity.products);
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
// POST: Api/CoreCmsAgentGoods/DoDelete/10
|
||||
/// <summary>
|
||||
/// 单选删除
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("单选删除")]
|
||||
public async Task<AdminUiCallBack> DoDelete([FromBody] FMIntId entity)
|
||||
{
|
||||
var jm = await _agentGoodsServices.DeleteByIdAsync(entity.id);
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
// POST: Api/CoreCmsAgentGoods/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 _agentGoodsServices.QueryByIdAsync(entity.id, false);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
|
||||
var goods = await _goodsServices.QueryByClauseAsync(p => p.id == model.goodId);
|
||||
var products = await _productsServices.QueryListByClauseAsync(p => p.goodsId == model.goodId && p.isDel == false);
|
||||
var agentGrade = await _agentGradeServices.GetCaChe();
|
||||
var agentProducts = await _agentProductsServices.QueryListByClauseAsync(p => p.goodId == model.goodId, p => p.id, OrderByType.Asc);
|
||||
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
goods,
|
||||
agentGrade,
|
||||
agentProducts,
|
||||
products
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 设置是否启用============================================================
|
||||
// POST: Api/CoreCmsAgentGoods/DoSetisEnable/10
|
||||
/// <summary>
|
||||
/// 设置是否启用
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置是否启用")]
|
||||
public async Task<AdminUiCallBack> DoSetisEnable([FromBody] FMUpdateBoolDataByIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _agentGoodsServices.QueryByIdAsync(entity.id, false);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
oldModel.isEnable = (bool)entity.data;
|
||||
|
||||
var bl = await _agentGoodsServices.UpdateAsync(p => new CoreCmsAgentGoods() { isEnable = oldModel.isEnable }, p => p.id == oldModel.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,355 @@
|
||||
/***********************************************************************
|
||||
* 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 CoreCmsAgentGradeController : ControllerBase
|
||||
{
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly ICoreCmsAgentGradeServices _coreCmsAgentGradeServices;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
///</summary>
|
||||
public CoreCmsAgentGradeController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsAgentGradeServices coreCmsAgentGradeServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsAgentGradeServices = coreCmsAgentGradeServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
// POST: Api/CoreCmsAgentGrade/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<CoreCmsAgentGrade>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
|
||||
Expression<Func<CoreCmsAgentGrade, object>> orderEx = orderField switch
|
||||
{
|
||||
"id" => p => p.id,
|
||||
"name" => p => p.name,
|
||||
"isDefault" => p => p.isDefault,
|
||||
"isAutoUpGrade" => p => p.isAutoUpGrade,
|
||||
"defaultSalesPriceType" => p => p.defaultSalesPriceType,
|
||||
"defaultSalesPriceNumber" => p => p.defaultSalesPriceNumber,
|
||||
"sortId" => p => p.sortId,
|
||||
"description" => p => p.description,
|
||||
_ => 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 name = Request.Form["name"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(name))
|
||||
{
|
||||
where = where.And(p => p.name.Contains(name));
|
||||
}
|
||||
//是否默认等级 bit
|
||||
var isDefault = Request.Form["isDefault"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isDefault) && isDefault.ToLowerInvariant() == "true")
|
||||
{
|
||||
where = where.And(p => p.isDefault == true);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(isDefault) && isDefault.ToLowerInvariant() == "false")
|
||||
{
|
||||
where = where.And(p => p.isDefault == false);
|
||||
}
|
||||
//是否自动升级 bit
|
||||
var isAutoUpGrade = Request.Form["isAutoUpGrade"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isAutoUpGrade) && isAutoUpGrade.ToLowerInvariant() == "true")
|
||||
{
|
||||
where = where.And(p => p.isAutoUpGrade == true);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(isAutoUpGrade) && isAutoUpGrade.ToLowerInvariant() == "false")
|
||||
{
|
||||
where = where.And(p => p.isAutoUpGrade == false);
|
||||
}
|
||||
//价格加成方式 int
|
||||
var defaultSalesPriceType = Request.Form["defaultSalesPriceType"].FirstOrDefault().ObjectToInt(0);
|
||||
if (defaultSalesPriceType > 0)
|
||||
{
|
||||
where = where.And(p => p.defaultSalesPriceType == defaultSalesPriceType);
|
||||
}
|
||||
//价格加成值 int
|
||||
var defaultSalesPriceNumber = Request.Form["defaultSalesPriceNumber"].FirstOrDefault().ObjectToInt(0);
|
||||
if (defaultSalesPriceNumber > 0)
|
||||
{
|
||||
where = where.And(p => p.defaultSalesPriceNumber == defaultSalesPriceNumber);
|
||||
}
|
||||
//等级排序 int
|
||||
var sortId = Request.Form["sortId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (sortId > 0)
|
||||
{
|
||||
where = where.And(p => p.sortId == sortId);
|
||||
}
|
||||
//等级说明 nvarchar
|
||||
var description = Request.Form["description"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(description))
|
||||
{
|
||||
where = where.And(p => p.description.Contains(description));
|
||||
}
|
||||
//获取数据
|
||||
var list = await _coreCmsAgentGradeServices.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/CoreCmsAgentGrade/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var agentDefaultSalesPriceType = EnumHelper.EnumToList<GlobalEnumVars.AgentDefaultSalesPriceType>();
|
||||
jm.data = new
|
||||
{
|
||||
agentDefaultSalesPriceType
|
||||
};
|
||||
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
// POST: Api/CoreCmsAgentGrade/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
var agentDefaultSalesPriceType = EnumHelper.EnumToList<GlobalEnumVars.AgentDefaultSalesPriceType>();
|
||||
jm.data = new
|
||||
{
|
||||
agentDefaultSalesPriceType
|
||||
};
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
// POST: Api/CoreCmsAgentGrade/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsAgentGrade entity)
|
||||
{
|
||||
var jm = await _coreCmsAgentGradeServices.InsertAsync(entity);
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
// POST: Api/CoreCmsAgentGrade/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 _coreCmsAgentGradeServices.QueryByIdAsync(entity.id, false);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
var agentDefaultSalesPriceType = EnumHelper.EnumToList<GlobalEnumVars.AgentDefaultSalesPriceType>();
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
agentDefaultSalesPriceType
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
// POST: Api/CoreCmsAgentGrade/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsAgentGrade entity)
|
||||
{
|
||||
var jm = await _coreCmsAgentGradeServices.UpdateAsync(entity);
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
// POST: Api/CoreCmsAgentGrade/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 _coreCmsAgentGradeServices.ExistsAsync(p => p.id == entity.id, true);
|
||||
if (!model)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
jm = await _coreCmsAgentGradeServices.DeleteByIdAsync(entity.id);
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 设置是否默认等级============================================================
|
||||
// POST: Api/CoreCmsAgentGrade/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 _coreCmsAgentGradeServices.QueryByIdAsync(entity.id, false);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
oldModel.isDefault = (bool)entity.data;
|
||||
|
||||
jm = await _coreCmsAgentGradeServices.UpdateAsync(oldModel);
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 设置是否自动升级============================================================
|
||||
// POST: Api/CoreCmsAgentGrade/DoSetisAutoUpGrade/10
|
||||
/// <summary>
|
||||
/// 设置是否自动升级
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置是否自动升级")]
|
||||
public async Task<AdminUiCallBack> DoSetisAutoUpGrade([FromBody] FMUpdateBoolDataByIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsAgentGradeServices.QueryByIdAsync(entity.id, false);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
oldModel.isAutoUpGrade = (bool)entity.data;
|
||||
|
||||
jm = await _coreCmsAgentGradeServices.UpdateAsync(oldModel);
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,238 @@
|
||||
/***********************************************************************
|
||||
* 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 CoreCmsAgentOrderController : ControllerBase
|
||||
{
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly ICoreCmsAgentOrderServices _CoreCmsAgentOrderServices;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
///</summary>
|
||||
public CoreCmsAgentOrderController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsAgentOrderServices CoreCmsAgentOrderServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_CoreCmsAgentOrderServices = CoreCmsAgentOrderServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
// POST: Api/CoreCmsAgentOrder/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<CoreCmsAgentOrder>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
|
||||
Expression<Func<CoreCmsAgentOrder, object>> orderEx = orderField switch
|
||||
{
|
||||
"id" => p => p.id,
|
||||
"userId" => p => p.userId,
|
||||
"buyUserId" => p => p.buyUserId,
|
||||
"orderId" => p => p.orderId,
|
||||
"amount" => p => p.amount,
|
||||
"isSettlement" => p => p.isSettlement,
|
||||
"createTime" => p => p.createTime,
|
||||
"updateTime" => p => p.updateTime,
|
||||
"isDelete" => p => p.isDelete,
|
||||
_ => 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);
|
||||
}
|
||||
//用户代理商id int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0)
|
||||
{
|
||||
where = where.And(p => p.userId == userId);
|
||||
}
|
||||
//下单用户id int
|
||||
var buyUserId = Request.Form["buyUserId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (buyUserId > 0)
|
||||
{
|
||||
where = where.And(p => p.buyUserId == buyUserId);
|
||||
}
|
||||
//订单编号 nvarchar
|
||||
var orderId = Request.Form["orderId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(orderId))
|
||||
{
|
||||
where = where.And(p => p.orderId.Contains(orderId));
|
||||
}
|
||||
//是否结算 int
|
||||
var isSettlement = Request.Form["isSettlement"].FirstOrDefault().ObjectToInt(0);
|
||||
if (isSettlement > 0)
|
||||
{
|
||||
where = where.And(p => p.isSettlement == isSettlement);
|
||||
}
|
||||
//创建时间 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);
|
||||
}
|
||||
}
|
||||
//是否删除 bit
|
||||
var isDelete = Request.Form["isDelete"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isDelete) && isDelete.ToLowerInvariant() == "true")
|
||||
{
|
||||
where = where.And(p => p.isDelete == true);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(isDelete) && isDelete.ToLowerInvariant() == "false")
|
||||
{
|
||||
where = where.And(p => p.isDelete == false);
|
||||
}
|
||||
//获取数据
|
||||
var list = await _CoreCmsAgentOrderServices.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/CoreCmsAgentOrder/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var agentOrderSettlementStatus = EnumHelper.EnumToList<GlobalEnumVars.AgentOrderSettlementStatus>();
|
||||
jm.data = new
|
||||
{
|
||||
agentOrderSettlementStatus
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
// POST: Api/CoreCmsAgentOrder/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 _CoreCmsAgentOrderServices.QueryByIdAsync(entity.id, false);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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 CoreCmsAgentSettingController : ControllerBase
|
||||
{
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly ICoreCmsSettingServices _coreCmsSettingServices;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
///</summary>
|
||||
/// <param name="webHostEnvironment"></param>
|
||||
///<param name="CoreCmsSettingServices"></param>
|
||||
public CoreCmsAgentSettingController(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
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,478 @@
|
||||
/***********************************************************************
|
||||
* Project: CoreCms
|
||||
* ProjectName: 核心内容管理系统
|
||||
* Web: https://www.corecms.net
|
||||
* Author: 大灰灰
|
||||
* Email: jianweie@163.com
|
||||
* CreateTime: 2021/1/31 21:45:10
|
||||
* Description: 暂无
|
||||
***********************************************************************/
|
||||
|
||||
using CoreCms.Net.Configuration;
|
||||
using CoreCms.Net.Filter;
|
||||
using CoreCms.Net.IServices;
|
||||
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;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CoreCms.Net.Web.Admin.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 文章表
|
||||
/// </summary>
|
||||
[Description("文章表")]
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
[RequiredErrorForAdmin]
|
||||
[Authorize(Permissions.Name)]
|
||||
public class CoreCmsArticleController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsArticleServices _coreCmsArticleServices;
|
||||
private readonly ICoreCmsArticleTypeServices _coreCmsArticleTypeServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="webHostEnvironment"></param>
|
||||
/// <param name="coreCmsArticleServices"></param>
|
||||
/// <param name="coreCmsArticleTypeServices"></param>
|
||||
public CoreCmsArticleController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsArticleServices coreCmsArticleServices
|
||||
, ICoreCmsArticleTypeServices coreCmsArticleTypeServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsArticleServices = coreCmsArticleServices;
|
||||
_coreCmsArticleTypeServices = coreCmsArticleTypeServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsArticle/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<CoreCmsArticle>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsArticle, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
|
||||
case "title":
|
||||
orderEx = p => p.title;
|
||||
break;
|
||||
|
||||
case "brief":
|
||||
orderEx = p => p.brief;
|
||||
break;
|
||||
|
||||
case "coverImage":
|
||||
orderEx = p => p.coverImage;
|
||||
break;
|
||||
|
||||
case "contentBody":
|
||||
orderEx = p => p.contentBody;
|
||||
break;
|
||||
|
||||
case "typeId":
|
||||
orderEx = p => p.typeId;
|
||||
break;
|
||||
|
||||
case "sort":
|
||||
orderEx = p => p.sort;
|
||||
break;
|
||||
|
||||
case "isPub":
|
||||
orderEx = p => p.isPub;
|
||||
break;
|
||||
|
||||
case "isDel":
|
||||
orderEx = p => p.isDel;
|
||||
break;
|
||||
|
||||
case "pv":
|
||||
orderEx = p => p.pv;
|
||||
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);
|
||||
//标题 nvarchar
|
||||
var title = Request.Form["title"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(title)) @where = @where.And(p => p.title.Contains(title));
|
||||
//简介 nvarchar
|
||||
var brief = Request.Form["brief"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(brief)) @where = @where.And(p => p.brief.Contains(brief));
|
||||
//封面图 nvarchar
|
||||
var coverImage = Request.Form["coverImage"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(coverImage)) @where = @where.And(p => p.coverImage.Contains(coverImage));
|
||||
//文章内容 nvarchar
|
||||
var contentBody = Request.Form["contentBody"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(contentBody)) @where = @where.And(p => p.contentBody.Contains(contentBody));
|
||||
//分类id int
|
||||
var typeId = Request.Form["typeId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (typeId > 0) @where = @where.And(p => p.typeId == typeId);
|
||||
//排序 int
|
||||
var sort = Request.Form["sort"].FirstOrDefault().ObjectToInt(0);
|
||||
if (sort > 0) @where = @where.And(p => p.sort == sort);
|
||||
//是否发布 bit
|
||||
var isPub = Request.Form["isPub"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isPub) && isPub.ToLowerInvariant() == "true")
|
||||
@where = @where.And(p => p.isPub);
|
||||
else if (!string.IsNullOrEmpty(isPub) && isPub.ToLowerInvariant() == "false")
|
||||
@where = @where.And(p => p.isPub == false);
|
||||
//是否删除 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);
|
||||
//访问量 int
|
||||
var pv = Request.Form["pv"].FirstOrDefault().ObjectToInt(0);
|
||||
if (pv > 0) @where = @where.And(p => p.pv == pv);
|
||||
//创建时间 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 _coreCmsArticleServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 获取列表============================================================
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsArticle/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public async Task<AdminUiCallBack> GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
|
||||
var categories = await _coreCmsArticleTypeServices.QueryAsync();
|
||||
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
jm.data = new
|
||||
{
|
||||
categories
|
||||
};
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 首页数据============================================================
|
||||
|
||||
#region 创建数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsArticle/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public async Task<AdminUiCallBack> GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var categories = await _coreCmsArticleTypeServices.QueryAsync();
|
||||
jm.data = new
|
||||
{
|
||||
categories
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 创建数据============================================================
|
||||
|
||||
#region 创建提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsArticle/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsArticle entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
entity.createTime = DateTime.Now;
|
||||
|
||||
var bl = await _coreCmsArticleServices.InsertAsync(entity) > 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 创建提交============================================================
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsArticle/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 _coreCmsArticleServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
|
||||
var categories = await _coreCmsArticleTypeServices.QueryAsync();
|
||||
jm.data = new
|
||||
{
|
||||
categories,
|
||||
model
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 编辑数据============================================================
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Admins/CoreCmsArticle/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsArticle entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsArticleServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
//事物处理过程开始
|
||||
//oldModel.id = entity.id;
|
||||
oldModel.title = entity.title;
|
||||
oldModel.brief = entity.brief;
|
||||
oldModel.coverImage = entity.coverImage;
|
||||
oldModel.contentBody = entity.contentBody;
|
||||
oldModel.typeId = entity.typeId;
|
||||
oldModel.sort = entity.sort;
|
||||
oldModel.isPub = entity.isPub;
|
||||
oldModel.isDel = entity.isDel;
|
||||
oldModel.pv = entity.pv;
|
||||
//oldModel.createTime = entity.createTime;
|
||||
oldModel.updateTime = DateTime.Now;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _coreCmsArticleServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 编辑提交============================================================
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsArticle/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 _coreCmsArticleServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var bl = await _coreCmsArticleServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 删除数据============================================================
|
||||
|
||||
#region 设置是否发布============================================================
|
||||
|
||||
// POST: Api/CoreCmsArticle/DoSetisPub/10
|
||||
/// <summary>
|
||||
/// 设置是否发布
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置是否发布")]
|
||||
public async Task<AdminUiCallBack> DoSetisPub([FromBody] FMUpdateBoolDataByIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsArticleServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
oldModel.isPub = entity.data;
|
||||
|
||||
var bl = await _coreCmsArticleServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 设置是否发布============================================================
|
||||
|
||||
#region 设置是否删除============================================================
|
||||
|
||||
// POST: Api/CoreCmsArticle/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 _coreCmsArticleServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
oldModel.isDel = entity.data;
|
||||
|
||||
var bl = await _coreCmsArticleServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 设置是否删除============================================================
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,251 @@
|
||||
/***********************************************************************
|
||||
* 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.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 CoreCmsArticleTypeController : ControllerBase
|
||||
{
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly ICoreCmsArticleTypeServices _coreCmsArticleTypeServices;
|
||||
private readonly ICoreCmsArticleServices _coreCmsArticleServices;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="webHostEnvironment"></param>
|
||||
/// <param name="coreCmsArticleTypeServices"></param>
|
||||
/// <param name="coreCmsArticleServices"></param>
|
||||
public CoreCmsArticleTypeController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsArticleTypeServices coreCmsArticleTypeServices
|
||||
, ICoreCmsArticleServices coreCmsArticleServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsArticleTypeServices = coreCmsArticleTypeServices;
|
||||
_coreCmsArticleServices = coreCmsArticleServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
// POST: Api/CoreCmsArticleType/GetPageList
|
||||
/// <summary>
|
||||
/// 获取列表
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("获取列表")]
|
||||
public async Task<AdminUiCallBack> GetPageList()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
//获取数据
|
||||
var list = await _coreCmsArticleTypeServices.QueryAsync();
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
// POST: Api/CoreCmsArticleType/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
// POST: Api/CoreCmsArticleType/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public async Task<AdminUiCallBack> GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var categories = await _coreCmsArticleTypeServices.QueryAsync();
|
||||
jm.data = new
|
||||
{
|
||||
categories = ArticleHelper.GetTree(categories)
|
||||
};
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
// POST: Api/CoreCmsArticleType/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsArticleType entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var bl = await _coreCmsArticleTypeServices.InsertAsync(entity) > 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = (bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure);
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
// POST: Api/CoreCmsArticleType/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 _coreCmsArticleTypeServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
|
||||
var categories = await _coreCmsArticleTypeServices.QueryAsync();
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
categories = ArticleHelper.GetTree(categories)
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
// POST: Admins/CoreCmsArticleType/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsArticleType entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsArticleTypeServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
//事物处理过程开始
|
||||
oldModel.id = entity.id;
|
||||
oldModel.name = entity.name;
|
||||
oldModel.parentId = entity.parentId;
|
||||
oldModel.sort = entity.sort;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _coreCmsArticleTypeServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
// POST: Api/CoreCmsArticleType/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 _coreCmsArticleTypeServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
if (await _coreCmsArticleTypeServices.ExistsAsync(p => p.parentId == entity.id))
|
||||
{
|
||||
jm.msg = GlobalConstVars.DeleteIsHaveChildren;
|
||||
return jm;
|
||||
}
|
||||
|
||||
if (await _coreCmsArticleServices.ExistsAsync(p => p.typeId == entity.id))
|
||||
{
|
||||
jm.msg = "栏目下有文章禁止删除";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var bl = await _coreCmsArticleTypeServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,239 @@
|
||||
/***********************************************************************
|
||||
* 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.IdentityModel.Tokens.Jwt;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security.Claims;
|
||||
using System.Threading.Tasks;
|
||||
using CoreCms.Net.Auth.OverWrite;
|
||||
using CoreCms.Net.Auth.Policys;
|
||||
using CoreCms.Net.Configuration;
|
||||
using CoreCms.Net.IRepository;
|
||||
using CoreCms.Net.IServices;
|
||||
using CoreCms.Net.Model.Entities;
|
||||
using CoreCms.Net.Model.FromBody;
|
||||
using CoreCms.Net.Model.ViewModels.UI;
|
||||
using CoreCms.Net.Utility.Extensions;
|
||||
using CoreCms.Net.Utility.Helper;
|
||||
using Microsoft.AspNetCore.Authentication.JwtBearer;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Cors;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Net.Http.Headers;
|
||||
|
||||
namespace CoreCms.Net.Web.Admin.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户授权登录
|
||||
/// </summary>
|
||||
[Route("api/[controller]/[action]")]
|
||||
[AllowAnonymous]
|
||||
public class LoginController : ControllerBase
|
||||
{
|
||||
private readonly PermissionRequirement _permissionRequirement;
|
||||
private readonly IHttpContextAccessor _httpContextAccessor;
|
||||
|
||||
private readonly ISysUserServices _sysUserServices;
|
||||
private readonly ISysRoleMenuServices _sysRoleMenuServices;
|
||||
private readonly ISysLoginRecordRepository _sysLoginRecordRepository;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数注入
|
||||
/// </summary>
|
||||
public LoginController(
|
||||
PermissionRequirement permissionRequirement
|
||||
, ISysUserServices sysUserServices
|
||||
, ISysRoleMenuServices sysRoleMenuServices
|
||||
, IHttpContextAccessor httpContextAccessor
|
||||
, ISysLoginRecordRepository sysLoginRecordRepository
|
||||
)
|
||||
{
|
||||
_permissionRequirement = permissionRequirement;
|
||||
_sysUserServices = sysUserServices;
|
||||
_sysRoleMenuServices = sysRoleMenuServices;
|
||||
_httpContextAccessor = httpContextAccessor;
|
||||
_sysLoginRecordRepository = sysLoginRecordRepository;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取JWT的授权
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<AdminUiCallBack> GetJwtToken([FromBody] FMLogin model)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
if (string.IsNullOrEmpty(model.userName) || string.IsNullOrEmpty(model.password))
|
||||
{
|
||||
jm.msg = "用户名或密码不能为空";
|
||||
return jm;
|
||||
}
|
||||
|
||||
model.password = CommonHelper.Md5For32(model.password);
|
||||
|
||||
var user = await _sysUserServices.QueryByClauseAsync(p => p.userName == model.userName && p.passWord == model.password);
|
||||
if (user != null)
|
||||
{
|
||||
if (user.state == 1)
|
||||
{
|
||||
jm.msg = "您的账户已经被冻结,请联系管理员解锁";
|
||||
return jm;
|
||||
}
|
||||
var userRoles = await _sysUserServices.GetUserRoleNameStr(model.userName, model.password);
|
||||
//如果是基于用户的授权策略,这里要添加用户;如果是基于角色的授权策略,这里要添加角色
|
||||
var claims = new List<Claim> {
|
||||
new Claim(ClaimTypes.GivenName, user.nickName),
|
||||
new Claim(ClaimTypes.Name, user.userName),
|
||||
new Claim(JwtRegisteredClaimNames.Jti, user.id.ToString()),
|
||||
new Claim(ClaimTypes.Expiration, DateTime.Now.AddSeconds(_permissionRequirement.Expiration.TotalSeconds).ToString()) };
|
||||
claims.AddRange(userRoles.Split(',').Select(s => new Claim(ClaimTypes.Role, s)));
|
||||
|
||||
// ids4和jwt切换
|
||||
// jwt
|
||||
if (!Permissions.IsUseIds4)
|
||||
{
|
||||
var data = await _sysRoleMenuServices.RoleModuleMaps();
|
||||
var list = (from item in data
|
||||
orderby item.id
|
||||
select new PermissionItem
|
||||
{
|
||||
Url = item.menu?.component,
|
||||
RouteUrl = item.menu?.path,
|
||||
Authority = item.menu?.authority,
|
||||
Role = item.role?.roleCode,
|
||||
}).ToList();
|
||||
|
||||
_permissionRequirement.Permissions = list;
|
||||
}
|
||||
|
||||
//用户标识
|
||||
var identity = new ClaimsIdentity(JwtBearerDefaults.AuthenticationScheme);
|
||||
identity.AddClaims(claims);
|
||||
|
||||
var token = JwtToken.BuildJwtToken(claims.ToArray(), _permissionRequirement);
|
||||
|
||||
jm.code = 0;
|
||||
jm.msg = "认证成功";
|
||||
jm.data = new
|
||||
{
|
||||
token,
|
||||
loginUrl = "Panel.html"
|
||||
};
|
||||
|
||||
//插入登录日志
|
||||
var log = new SysLoginRecord();
|
||||
log.username = model.userName;
|
||||
log.ip = _httpContextAccessor.HttpContext?.Connection.RemoteIpAddress != null ?
|
||||
_httpContextAccessor.HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString() : "127.0.0.1";
|
||||
|
||||
log.os = RuntimeInformation.OSDescription;
|
||||
if (_httpContextAccessor.HttpContext != null)
|
||||
log.browser = _httpContextAccessor.HttpContext.Request.Headers[HeaderNames.UserAgent];
|
||||
log.operType = (int)GlobalEnumVars.LoginRecordType.登录成功;
|
||||
log.createTime = DateTime.Now;
|
||||
await _sysLoginRecordRepository.InsertAsync(log);
|
||||
|
||||
return jm;
|
||||
}
|
||||
else
|
||||
{
|
||||
//插入登录日志
|
||||
var log = new SysLoginRecord();
|
||||
log.username = model.userName;
|
||||
log.ip = _httpContextAccessor.HttpContext?.Connection.RemoteIpAddress != null ?
|
||||
_httpContextAccessor.HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString() : "127.0.0.1";
|
||||
|
||||
log.os = RuntimeInformation.OSDescription;
|
||||
if (_httpContextAccessor.HttpContext != null)
|
||||
log.browser = _httpContextAccessor.HttpContext.Request.Headers[HeaderNames.UserAgent];
|
||||
log.operType = (int)GlobalEnumVars.LoginRecordType.登录失败;
|
||||
log.createTime = DateTime.Now;
|
||||
await _sysLoginRecordRepository.InsertAsync(log);
|
||||
|
||||
jm.msg = "账户密码错误";
|
||||
return jm;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 请求刷新Token(以旧换新)
|
||||
/// </summary>
|
||||
/// <param name="token"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Route("RefreshToken")]
|
||||
public async Task<AdminUiCallBack> RefreshToken(string token = "")
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
if (string.IsNullOrEmpty(token))
|
||||
{
|
||||
jm.code = 1001;
|
||||
jm.msg = "token无效,请重新登录!";
|
||||
return jm;
|
||||
}
|
||||
var tokenModel = JwtHelper.SerializeJwt(token);
|
||||
if (tokenModel != null && tokenModel.Uid > 0)
|
||||
{
|
||||
var user = await _sysUserServices.QueryByIdAsync(tokenModel.Uid);
|
||||
if (user != null)
|
||||
{
|
||||
var userRoles = await _sysUserServices.GetUserRoleNameStr(user.userName, user.passWord);
|
||||
//如果是基于用户的授权策略,这里要添加用户;如果是基于角色的授权策略,这里要添加角色
|
||||
var claims = new List<Claim> {
|
||||
new Claim(ClaimTypes.Name, user.userName),
|
||||
new Claim(JwtRegisteredClaimNames.Jti, tokenModel.Uid.ObjectToString()),
|
||||
new Claim(ClaimTypes.Expiration, DateTime.Now.AddSeconds(_permissionRequirement.Expiration.TotalSeconds).ToString()) };
|
||||
claims.AddRange(userRoles.Split(',').Select(s => new Claim(ClaimTypes.Role, s)));
|
||||
|
||||
//用户标识
|
||||
var identity = new ClaimsIdentity(JwtBearerDefaults.AuthenticationScheme);
|
||||
identity.AddClaims(claims);
|
||||
|
||||
var refreshToken = JwtToken.BuildJwtToken(claims.ToArray(), _permissionRequirement);
|
||||
jm.code = 0;
|
||||
jm.msg = "认证成功";
|
||||
jm.data = refreshToken;
|
||||
|
||||
|
||||
//插入登录日志
|
||||
var log = new SysLoginRecord();
|
||||
log.username = user.userName;
|
||||
if (_httpContextAccessor.HttpContext != null)
|
||||
{
|
||||
if (_httpContextAccessor.HttpContext.Connection.RemoteIpAddress != null)
|
||||
{
|
||||
log.ip = _httpContextAccessor.HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString();
|
||||
}
|
||||
log.os = RuntimeInformation.OSDescription;
|
||||
log.browser = _httpContextAccessor.HttpContext.Request.Headers[HeaderNames.UserAgent];
|
||||
}
|
||||
|
||||
log.operType = (int)GlobalEnumVars.LoginRecordType.刷新Token;
|
||||
log.createTime = DateTime.Now;
|
||||
await _sysLoginRecordRepository.InsertAsync(log);
|
||||
|
||||
return jm;
|
||||
}
|
||||
}
|
||||
jm.code = 1001;
|
||||
jm.msg = "token无效,请重新登录!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,390 @@
|
||||
/***********************************************************************
|
||||
* 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 SqlSugar;
|
||||
|
||||
namespace CoreCms.Net.Web.Admin.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 分销商表
|
||||
/// </summary>
|
||||
[Description("分销商表")]
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
[RequiredErrorForAdmin]
|
||||
[Authorize(Permissions.Name)]
|
||||
public class CoreCmsDistributionController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsDistributionServices _coreCmsDistributionServices;
|
||||
private readonly ICoreCmsUserGradeServices _userGradeServices;
|
||||
private readonly ICoreCmsDistributionGradeServices _distributionGradeServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public CoreCmsDistributionController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsDistributionServices coreCmsDistributionServices, ICoreCmsUserGradeServices userGradeServices, ICoreCmsDistributionGradeServices distributionGradeServices)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsDistributionServices = coreCmsDistributionServices;
|
||||
_userGradeServices = userGradeServices;
|
||||
_distributionGradeServices = distributionGradeServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistribution/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<CoreCmsDistribution>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsDistribution, object>> orderEx = orderField switch
|
||||
{
|
||||
"id" => p => p.id,
|
||||
"userId" => p => p.userId,
|
||||
"name" => p => p.name,
|
||||
"gradeId" => p => p.gradeId,
|
||||
"mobile" => p => p.mobile,
|
||||
"weixin" => p => p.weixin,
|
||||
"qq" => p => p.qq,
|
||||
"storeName" => p => p.storeName,
|
||||
"storeLogo" => p => p.storeLogo,
|
||||
"storeBanner" => p => p.storeBanner,
|
||||
"storeDesc" => p => p.storeDesc,
|
||||
"verifyStatus" => p => p.verifyStatus,
|
||||
"createTime" => p => p.createTime,
|
||||
"updateTime" => p => p.updateTime,
|
||||
"verifyTime" => p => p.verifyTime,
|
||||
"isDelete" => p => p.isDelete,
|
||||
_ => 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);
|
||||
//用户Id int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0) where = where.And(p => p.userId == userId);
|
||||
//分销商名称 nvarchar
|
||||
var name = Request.Form["name"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(name)) where = where.And(p => p.name.Contains(name));
|
||||
//分销等级 int
|
||||
var gradeId = Request.Form["gradeId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (gradeId > 0) where = where.And(p => p.gradeId == gradeId);
|
||||
//手机号 nvarchar
|
||||
var mobile = Request.Form["mobile"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(mobile)) where = where.And(p => p.mobile.Contains(mobile));
|
||||
//微信号 nvarchar
|
||||
var weixin = Request.Form["weixin"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(weixin)) where = where.And(p => p.weixin.Contains(weixin));
|
||||
//qq号 nvarchar
|
||||
var qq = Request.Form["qq"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(qq)) where = where.And(p => p.qq.Contains(qq));
|
||||
//店铺名称 nvarchar
|
||||
var storeName = Request.Form["storeName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(storeName)) where = where.And(p => p.storeName.Contains(storeName));
|
||||
//店铺Logo nvarchar
|
||||
var storeLogo = Request.Form["storeLogo"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(storeLogo)) where = where.And(p => p.storeLogo.Contains(storeLogo));
|
||||
//店铺Banner nvarchar
|
||||
var storeBanner = Request.Form["storeBanner"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(storeBanner)) where = where.And(p => p.storeBanner.Contains(storeBanner));
|
||||
//店铺简介 nvarchar
|
||||
var storeDesc = Request.Form["storeDesc"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(storeDesc)) where = where.And(p => p.storeDesc.Contains(storeDesc));
|
||||
//审核状态 int
|
||||
var verifyStatus = Request.Form["verifyStatus"].FirstOrDefault().ObjectToInt(0);
|
||||
if (verifyStatus > 0) where = where.And(p => p.verifyStatus == verifyStatus);
|
||||
//创建时间 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);
|
||||
}
|
||||
}
|
||||
|
||||
//审核时间 datetime
|
||||
var verifyTime = Request.Form["verifyTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(verifyTime))
|
||||
{
|
||||
if (verifyTime.Contains("到"))
|
||||
{
|
||||
var dts = verifyTime.Split("到");
|
||||
var dtStart = dts[0].Trim().ObjectToDate();
|
||||
where = where.And(p => p.verifyTime > dtStart);
|
||||
var dtEnd = dts[1].Trim().ObjectToDate();
|
||||
where = where.And(p => p.verifyTime < dtEnd);
|
||||
}
|
||||
else
|
||||
{
|
||||
var dt = verifyTime.ObjectToDate();
|
||||
where = where.And(p => p.verifyTime > dt);
|
||||
}
|
||||
}
|
||||
|
||||
//是否删除 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 _coreCmsDistributionServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent,
|
||||
pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistribution/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public async Task<AdminUiCallBack> GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
var distributionVerifyStatus = EnumHelper.EnumToList<GlobalEnumVars.DistributionVerifyStatus>();
|
||||
var grades = await _distributionGradeServices.GetCaChe();
|
||||
jm.data = new
|
||||
{
|
||||
distributionVerifyStatus,
|
||||
grades
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistribution/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 _coreCmsDistributionServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var distributionVerifyStatus = EnumHelper.EnumToList<GlobalEnumVars.DistributionVerifyStatus>();
|
||||
var grades = await _distributionGradeServices.GetCaChe();
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
distributionVerifyStatus,
|
||||
grades
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistribution/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsDistribution entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsDistributionServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
//事物处理过程开始
|
||||
oldModel.name = entity.name;
|
||||
oldModel.gradeId = entity.gradeId;
|
||||
oldModel.mobile = entity.mobile;
|
||||
oldModel.weixin = entity.weixin;
|
||||
oldModel.qq = entity.qq;
|
||||
oldModel.verifyStatus = entity.verifyStatus;
|
||||
oldModel.updateTime = DateTime.Now;
|
||||
if (oldModel.verifyStatus == (int)GlobalEnumVars.DistributionVerifyStatus.VerifyYes) oldModel.verifyTime = DateTime.Now;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _coreCmsDistributionServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistribution/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 _coreCmsDistributionServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var bl = await _coreCmsDistributionServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
return jm;
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistribution/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 _coreCmsDistributionServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var distributionVerifyStatus = EnumHelper.EnumToList<GlobalEnumVars.DistributionVerifyStatus>();
|
||||
var grades = await _distributionGradeServices.GetCaChe();
|
||||
jm.code = 0;
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
distributionVerifyStatus,
|
||||
grades
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,654 @@
|
||||
/***********************************************************************
|
||||
* 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 SqlSugar;
|
||||
|
||||
namespace CoreCms.Net.Web.Admin.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 分销商等级设置表
|
||||
/// </summary>
|
||||
[Description("分销商等级设置表")]
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
[RequiredErrorForAdmin]
|
||||
[Authorize(Permissions.Name)]
|
||||
public class CoreCmsDistributionGradeController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsDistributionConditionServices _coreCmsDistributionConditionServices;
|
||||
private readonly ICoreCmsDistributionGradeServices _coreCmsDistributionGradeServices;
|
||||
private readonly ICoreCmsDistributionResultServices _coreCmsDistributionResultServices;
|
||||
private readonly ICoreCmsUserGradeServices _coreCmsUserGradeServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public CoreCmsDistributionGradeController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsDistributionGradeServices coreCmsDistributionGradeServices
|
||||
, ICoreCmsUserGradeServices coreCmsUserGradeServices
|
||||
, ICoreCmsDistributionConditionServices coreCmsDistributionConditionServices
|
||||
, ICoreCmsDistributionResultServices coreCmsDistributionResultServices)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsDistributionGradeServices = coreCmsDistributionGradeServices;
|
||||
_coreCmsUserGradeServices = coreCmsUserGradeServices;
|
||||
_coreCmsDistributionConditionServices = coreCmsDistributionConditionServices;
|
||||
_coreCmsDistributionResultServices = coreCmsDistributionResultServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
// POST: Api/CoreCmsDistributionGrade/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<CoreCmsDistributionGrade>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsDistributionGrade, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "name":
|
||||
orderEx = p => p.name;
|
||||
break;
|
||||
case "isDefault":
|
||||
orderEx = p => p.isDefault;
|
||||
break;
|
||||
case "isAutoUpGrade":
|
||||
orderEx = p => p.isAutoUpGrade;
|
||||
break;
|
||||
case "sortId":
|
||||
orderEx = p => p.sortId;
|
||||
break;
|
||||
case "description":
|
||||
orderEx = p => p.description;
|
||||
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 isDefault = Request.Form["isDefault"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isDefault) && isDefault.ToLowerInvariant() == "true")
|
||||
{
|
||||
where = where.And(p => p.isDefault == true);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(isDefault) && isDefault.ToLowerInvariant() == "false")
|
||||
{
|
||||
where = where.And(p => p.isDefault == false);
|
||||
}
|
||||
//是否自动升级 bit
|
||||
var isAutoUpGrade = Request.Form["isAutoUpGrade"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isAutoUpGrade) && isAutoUpGrade.ToLowerInvariant() == "true")
|
||||
{
|
||||
where = where.And(p => p.isAutoUpGrade == true);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(isAutoUpGrade) && isAutoUpGrade.ToLowerInvariant() == "false")
|
||||
{
|
||||
where = where.And(p => p.isAutoUpGrade == false);
|
||||
}
|
||||
//等级排序 int
|
||||
var sortId = Request.Form["sortId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (sortId > 0)
|
||||
{
|
||||
where = where.And(p => p.sortId == sortId);
|
||||
}
|
||||
//等级说明 nvarchar
|
||||
var description = Request.Form["description"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(description))
|
||||
{
|
||||
where = where.And(p => p.description.Contains(description));
|
||||
}
|
||||
//获取数据
|
||||
var list = await _coreCmsDistributionGradeServices.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/CoreCmsDistributionGrade/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
// POST: Api/CoreCmsDistributionGrade/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
// POST: Api/CoreCmsDistributionGrade/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsDistributionGrade entity)
|
||||
{
|
||||
var jm = await _coreCmsDistributionGradeServices.InsertAsync(entity);
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserGrade/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 _coreCmsDistributionGradeServices.QueryByClauseAsync(p => p.id == entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var distributionConditions = await _coreCmsDistributionConditionServices.QueryListByClauseAsync(p => p.gradeId == model.id);
|
||||
var distributionResults = await _coreCmsDistributionResultServices.QueryListByClauseAsync(p => p.gradeId == model.id);
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
distributionConditions,
|
||||
distributionResults
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Admins/CoreCmsUserGrade/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsDistributionGrade entity)
|
||||
{
|
||||
var jm = await _coreCmsDistributionGradeServices.UpdateAsync(entity);
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 设置是否默认等级============================================================
|
||||
// POST: Api/CoreCmsDistributionGrade/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 _coreCmsDistributionGradeServices.QueryByIdAsync(entity.id, false);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
oldModel.isDefault = (bool)entity.data;
|
||||
|
||||
jm = await _coreCmsDistributionGradeServices.UpdateAsync(oldModel);
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 设置是否自动升级============================================================
|
||||
// POST: Api/CoreCmsDistributionGrade/DoSetisAutoUpGrade/10
|
||||
/// <summary>
|
||||
/// 设置是否自动升级
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置是否自动升级")]
|
||||
public async Task<AdminUiCallBack> DoSetisAutoUpGrade([FromBody] FMUpdateBoolDataByIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsDistributionGradeServices.QueryByIdAsync(entity.id, false);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
oldModel.isAutoUpGrade = (bool)entity.data;
|
||||
|
||||
jm = await _coreCmsDistributionGradeServices.UpdateAsync(oldModel);
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
// POST: Api/CoreCmsDistributionGrade/DoDelete/10
|
||||
/// <summary>
|
||||
/// 单选删除
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("单选删除")]
|
||||
public async Task<AdminUiCallBack> DoDelete([FromBody] FMIntId entity)
|
||||
{
|
||||
var jm = await _coreCmsDistributionGradeServices.DeleteByIdAsync(entity.id);
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
//升级条件
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistributionGrade/GetDistributionConditionPageList
|
||||
/// <summary>
|
||||
/// 获取列表
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("获取列表")]
|
||||
public async Task<AdminUiCallBack> GetDistributionConditionPageList()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
|
||||
var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30);
|
||||
var where = PredicateBuilder.True<CoreCmsDistributionCondition>();
|
||||
|
||||
//查询筛选
|
||||
|
||||
|
||||
//会员等级Id int
|
||||
var gradeId = Request.Form["gradeId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (gradeId > 0)
|
||||
{
|
||||
@where = @where.And(p => p.gradeId == gradeId);
|
||||
}
|
||||
|
||||
//获取数据
|
||||
var list = await _coreCmsDistributionConditionServices.QueryPageAsync(where, p => p.id, OrderByType.Asc, pageCurrent, pageSize);
|
||||
if (list.Any())
|
||||
{
|
||||
var distributionConditions = EnumHelper.EnumToList<GlobalEnumVars.DistributionConditions>();
|
||||
foreach (var condition in list)
|
||||
{
|
||||
var cd = distributionConditions.Find(p => p.title == condition.code);
|
||||
condition.name = cd?.description;
|
||||
}
|
||||
}
|
||||
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistributionGrade/GetDistributionConditionCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetDistributionConditionCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
var distributionConditionsCode = EnumHelper.EnumToList<GlobalEnumVars.DistributionConditionsCode>();
|
||||
|
||||
jm.data = new
|
||||
{
|
||||
distributionConditionsCode,
|
||||
};
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistributionGrade/DoDistributionConditionCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoDistributionConditionCreate([FromBody] CoreCmsDistributionCondition entity)
|
||||
{
|
||||
var jm = await _coreCmsDistributionConditionServices.InsertAsync(entity);
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistributionGrade/GetDistributionConditionEdit
|
||||
/// <summary>
|
||||
/// 编辑数据
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑数据")]
|
||||
public async Task<AdminUiCallBack> GetDistributionConditionEdit([FromBody] FMIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var model = await _coreCmsDistributionConditionServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var distributionConditionsCode = EnumHelper.EnumToList<GlobalEnumVars.DistributionConditionsCode>();
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
distributionConditionsCode,
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistributionGrade/DoDistributionConditionEdit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoDistributionConditionEdit([FromBody] CoreCmsDistributionCondition entity)
|
||||
{
|
||||
var jm = await _coreCmsDistributionConditionServices.UpdateAsync(entity);
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistributionGrade/DoDistributionConditionDelete/10
|
||||
/// <summary>
|
||||
/// 单选删除
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("单选删除")]
|
||||
public async Task<AdminUiCallBack> DoDistributionConditionDelete([FromBody] FMIntId entity)
|
||||
{
|
||||
var jm = await _coreCmsDistributionConditionServices.DeleteByIdAsync(entity.id);
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
//升级结果
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistributionGrade/GetDistributionResultPageList
|
||||
/// <summary>
|
||||
/// 获取列表
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("获取列表")]
|
||||
public async Task<AdminUiCallBack> GetDistributionResultPageList()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
|
||||
var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30);
|
||||
var where = PredicateBuilder.True<CoreCmsDistributionResult>();
|
||||
|
||||
//查询筛选
|
||||
|
||||
|
||||
//会员等级Id int
|
||||
var gradeId = Request.Form["gradeId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (gradeId > 0)
|
||||
{
|
||||
@where = @where.And(p => p.gradeId == gradeId);
|
||||
}
|
||||
|
||||
//获取数据
|
||||
var list = await _coreCmsDistributionResultServices.QueryPageAsync(where, p => p.code, OrderByType.Asc, pageCurrent,
|
||||
pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistributionGrade/GetDistributionResultCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetDistributionResultCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistributionGrade/DoDistributionResultCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoDistributionResultCreate([FromBody] CoreCmsDistributionResult entity)
|
||||
{
|
||||
var jm = await _coreCmsDistributionResultServices.InsertAsync(entity);
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistributionGrade/GetDistributionResultEdit
|
||||
/// <summary>
|
||||
/// 编辑数据
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑数据")]
|
||||
public async Task<AdminUiCallBack> GetDistributionResultEdit([FromBody] FMIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var model = await _coreCmsDistributionResultServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistributionGrade/DoDistributionResultEdit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoDistributionResultEdit([FromBody] CoreCmsDistributionResult entity)
|
||||
{
|
||||
var jm = await _coreCmsDistributionResultServices.UpdateAsync(entity);
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistributionGrade/DoDistributionResultDelete/10
|
||||
/// <summary>
|
||||
/// 单选删除
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("单选删除")]
|
||||
public async Task<AdminUiCallBack> DoDistributionResultDelete([FromBody] FMIntId entity)
|
||||
{
|
||||
var jm = await _coreCmsDistributionResultServices.DeleteByIdAsync(entity.id); ;
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,630 @@
|
||||
/***********************************************************************
|
||||
* 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 CoreCmsDistributionOrderController : ControllerBase
|
||||
{
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly ICoreCmsDistributionOrderServices _coreCmsDistributionOrderServices;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
///</summary>
|
||||
public CoreCmsDistributionOrderController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsDistributionOrderServices coreCmsDistributionOrderServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsDistributionOrderServices = coreCmsDistributionOrderServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
// POST: Api/CoreCmsDistributionOrder/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<CoreCmsDistributionOrder>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
|
||||
Expression<Func<CoreCmsDistributionOrder, object>> orderEx = orderField switch
|
||||
{
|
||||
"id" => p => p.id,
|
||||
"userId" => p => p.userId,
|
||||
"buyUserId" => p => p.buyUserId,
|
||||
"orderId" => p => p.orderId,
|
||||
"amount" => p => p.amount,
|
||||
"isSettlement" => p => p.isSettlement,
|
||||
"level" => p => p.level,
|
||||
"createTime" => p => p.createTime,
|
||||
"updateTime" => p => p.updateTime,
|
||||
"isDelete" => p => p.isDelete,
|
||||
_ => 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);
|
||||
}
|
||||
//用户分销商id int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0)
|
||||
{
|
||||
where = where.And(p => p.userId == userId);
|
||||
}
|
||||
//下单用户id int
|
||||
var buyUserId = Request.Form["buyUserId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (buyUserId > 0)
|
||||
{
|
||||
where = where.And(p => p.buyUserId == buyUserId);
|
||||
}
|
||||
//订单编号 nvarchar
|
||||
var orderId = Request.Form["orderId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(orderId))
|
||||
{
|
||||
where = where.And(p => p.orderId.Contains(orderId));
|
||||
}
|
||||
|
||||
//购买用户昵称 nvarchar
|
||||
var buyUserNickName = Request.Form["buyUserNickName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(buyUserNickName))
|
||||
{
|
||||
where = where.And(p => p.buyUserNickName.Contains(buyUserNickName));
|
||||
}
|
||||
//分销用户昵称 nvarchar
|
||||
var distributorName = Request.Form["distributorName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(distributorName))
|
||||
{
|
||||
where = where.And(p => p.distributorName.Contains(distributorName));
|
||||
}
|
||||
|
||||
//是否结算 int
|
||||
var isSettlement = Request.Form["isSettlement"].FirstOrDefault().ObjectToInt(0);
|
||||
if (isSettlement > 0)
|
||||
{
|
||||
where = where.And(p => p.isSettlement == isSettlement);
|
||||
}
|
||||
//层级 int
|
||||
var level = Request.Form["level"].FirstOrDefault().ObjectToInt(0);
|
||||
if (level > 0)
|
||||
{
|
||||
where = where.And(p => p.level == level);
|
||||
}
|
||||
//创建时间 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);
|
||||
}
|
||||
}
|
||||
//是否删除 bit
|
||||
var isDelete = Request.Form["isDelete"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isDelete) && isDelete.ToLowerInvariant() == "true")
|
||||
{
|
||||
where = where.And(p => p.isDelete == true);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(isDelete) && isDelete.ToLowerInvariant() == "false")
|
||||
{
|
||||
where = where.And(p => p.isDelete == false);
|
||||
}
|
||||
//获取数据
|
||||
var list = await _coreCmsDistributionOrderServices.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/CoreCmsDistributionOrder/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var distributionOrderSettlementStatus = EnumHelper.EnumToList<GlobalEnumVars.DistributionOrderSettlementStatus>();
|
||||
jm.data = new
|
||||
{
|
||||
distributionOrderSettlementStatus
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
// POST: Api/CoreCmsDistributionOrder/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 _coreCmsDistributionOrderServices.QueryByIdAsync(entity.id, false);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 选择导出============================================================
|
||||
// POST: Api/CoreCmsDistributionOrder/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 mySheet = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listModel = await _coreCmsDistributionOrderServices.QueryListByClauseAsync(p => entity.id.Contains(p.id), p => p.id, OrderByType.Asc, true);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var headerRow = mySheet.CreateRow(0);
|
||||
var headerStyle = ExcelHelper.GetHeaderStyle(book);
|
||||
|
||||
var cell0 = headerRow.CreateCell(0);
|
||||
cell0.SetCellValue("序列");
|
||||
cell0.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(0, 10 * 256);
|
||||
|
||||
var cell1 = headerRow.CreateCell(1);
|
||||
cell1.SetCellValue("用户分销商id");
|
||||
cell1.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(1, 10 * 256);
|
||||
|
||||
var cell2 = headerRow.CreateCell(2);
|
||||
cell2.SetCellValue("下单用户id");
|
||||
cell2.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(2, 10 * 256);
|
||||
|
||||
var cell3 = headerRow.CreateCell(3);
|
||||
cell3.SetCellValue("订单编号");
|
||||
cell3.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(3, 10 * 256);
|
||||
|
||||
var cell4 = headerRow.CreateCell(4);
|
||||
cell4.SetCellValue("结算金额");
|
||||
cell4.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(4, 10 * 256);
|
||||
|
||||
var cell5 = headerRow.CreateCell(5);
|
||||
cell5.SetCellValue("是否结算");
|
||||
cell5.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(5, 10 * 256);
|
||||
|
||||
var cell6 = headerRow.CreateCell(6);
|
||||
cell6.SetCellValue("层级");
|
||||
cell6.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(6, 10 * 256);
|
||||
|
||||
var cell7 = headerRow.CreateCell(7);
|
||||
cell7.SetCellValue("创建时间");
|
||||
cell7.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(7, 10 * 256);
|
||||
|
||||
var cell8 = headerRow.CreateCell(8);
|
||||
cell8.SetCellValue("更新时间");
|
||||
cell8.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(8, 10 * 256);
|
||||
|
||||
var cell9 = headerRow.CreateCell(9);
|
||||
cell9.SetCellValue("是否删除");
|
||||
cell9.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(9, 10 * 256);
|
||||
|
||||
headerRow.Height = 30 * 20;
|
||||
var commonCellStyle = ExcelHelper.GetCommonStyle(book);
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listModel.Count; i++)
|
||||
{
|
||||
var rowTemp = mySheet.CreateRow(i + 1);
|
||||
|
||||
var rowTemp0 = rowTemp.CreateCell(0);
|
||||
rowTemp0.SetCellValue(listModel[i].id.ToString());
|
||||
rowTemp0.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp1 = rowTemp.CreateCell(1);
|
||||
rowTemp1.SetCellValue(listModel[i].userId.ToString());
|
||||
rowTemp1.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp2 = rowTemp.CreateCell(2);
|
||||
rowTemp2.SetCellValue(listModel[i].buyUserId.ToString());
|
||||
rowTemp2.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp3 = rowTemp.CreateCell(3);
|
||||
rowTemp3.SetCellValue(listModel[i].orderId.ToString());
|
||||
rowTemp3.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp4 = rowTemp.CreateCell(4);
|
||||
rowTemp4.SetCellValue(listModel[i].amount.ToString());
|
||||
rowTemp4.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp5 = rowTemp.CreateCell(5);
|
||||
rowTemp5.SetCellValue(listModel[i].isSettlement.ToString());
|
||||
rowTemp5.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp6 = rowTemp.CreateCell(6);
|
||||
rowTemp6.SetCellValue(listModel[i].level.ToString());
|
||||
rowTemp6.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp7 = rowTemp.CreateCell(7);
|
||||
rowTemp7.SetCellValue(listModel[i].createTime.ToString());
|
||||
rowTemp7.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp8 = rowTemp.CreateCell(8);
|
||||
rowTemp8.SetCellValue(listModel[i].updateTime.ToString());
|
||||
rowTemp8.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp9 = rowTemp.CreateCell(9);
|
||||
rowTemp9.SetCellValue(listModel[i].isDelete.ToString());
|
||||
rowTemp9.CellStyle = commonCellStyle;
|
||||
|
||||
}
|
||||
// 导出excel
|
||||
string webRootPath = _webHostEnvironment.WebRootPath;
|
||||
string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsDistributionOrder导出(选择结果).xls";
|
||||
string filePath = webRootPath + tpath;
|
||||
DirectoryInfo di = new DirectoryInfo(filePath);
|
||||
if (!di.Exists)
|
||||
{
|
||||
di.Create();
|
||||
}
|
||||
FileStream 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/CoreCmsDistributionOrder/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<CoreCmsDistributionOrder>();
|
||||
//查询筛选
|
||||
|
||||
//序列 int
|
||||
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||
if (id > 0)
|
||||
{
|
||||
where = where.And(p => p.id == id);
|
||||
}
|
||||
//用户分销商id int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0)
|
||||
{
|
||||
where = where.And(p => p.userId == userId);
|
||||
}
|
||||
//下单用户id int
|
||||
var buyUserId = Request.Form["buyUserId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (buyUserId > 0)
|
||||
{
|
||||
where = where.And(p => p.buyUserId == buyUserId);
|
||||
}
|
||||
//订单编号 nvarchar
|
||||
var orderId = Request.Form["orderId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(orderId))
|
||||
{
|
||||
where = where.And(p => p.orderId.Contains(orderId));
|
||||
}
|
||||
//是否结算 int
|
||||
var isSettlement = Request.Form["isSettlement"].FirstOrDefault().ObjectToInt(0);
|
||||
if (isSettlement > 0)
|
||||
{
|
||||
where = where.And(p => p.isSettlement == isSettlement);
|
||||
}
|
||||
//层级 int
|
||||
var level = Request.Form["level"].FirstOrDefault().ObjectToInt(0);
|
||||
if (level > 0)
|
||||
{
|
||||
where = where.And(p => p.level == level);
|
||||
}
|
||||
//创建时间 datetime
|
||||
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(createTime))
|
||||
{
|
||||
var dt = createTime.ObjectToDate();
|
||||
where = where.And(p => p.createTime > dt);
|
||||
}
|
||||
//更新时间 datetime
|
||||
var updateTime = Request.Form["updateTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(updateTime))
|
||||
{
|
||||
var dt = updateTime.ObjectToDate();
|
||||
where = where.And(p => p.updateTime > dt);
|
||||
}
|
||||
//是否删除 bit
|
||||
var isDelete = Request.Form["isDelete"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isDelete) && isDelete.ToLowerInvariant() == "true")
|
||||
{
|
||||
where = where.And(p => p.isDelete == true);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(isDelete) && isDelete.ToLowerInvariant() == "false")
|
||||
{
|
||||
where = where.And(p => p.isDelete == false);
|
||||
}
|
||||
//获取数据
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var mySheet = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listModel = await _coreCmsDistributionOrderServices.QueryListByClauseAsync(where, p => p.id, OrderByType.Asc, true);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var headerRow = mySheet.CreateRow(0);
|
||||
var headerStyle = ExcelHelper.GetHeaderStyle(book);
|
||||
|
||||
var cell0 = headerRow.CreateCell(0);
|
||||
cell0.SetCellValue("序列");
|
||||
cell0.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(0, 10 * 256);
|
||||
|
||||
var cell1 = headerRow.CreateCell(1);
|
||||
cell1.SetCellValue("用户分销商id");
|
||||
cell1.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(1, 10 * 256);
|
||||
|
||||
var cell2 = headerRow.CreateCell(2);
|
||||
cell2.SetCellValue("下单用户id");
|
||||
cell2.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(2, 10 * 256);
|
||||
|
||||
var cell3 = headerRow.CreateCell(3);
|
||||
cell3.SetCellValue("订单编号");
|
||||
cell3.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(3, 10 * 256);
|
||||
|
||||
var cell4 = headerRow.CreateCell(4);
|
||||
cell4.SetCellValue("结算金额");
|
||||
cell4.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(4, 10 * 256);
|
||||
|
||||
var cell5 = headerRow.CreateCell(5);
|
||||
cell5.SetCellValue("是否结算");
|
||||
cell5.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(5, 10 * 256);
|
||||
|
||||
var cell6 = headerRow.CreateCell(6);
|
||||
cell6.SetCellValue("层级");
|
||||
cell6.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(6, 10 * 256);
|
||||
|
||||
var cell7 = headerRow.CreateCell(7);
|
||||
cell7.SetCellValue("创建时间");
|
||||
cell7.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(7, 10 * 256);
|
||||
|
||||
var cell8 = headerRow.CreateCell(8);
|
||||
cell8.SetCellValue("更新时间");
|
||||
cell8.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(8, 10 * 256);
|
||||
|
||||
var cell9 = headerRow.CreateCell(9);
|
||||
cell9.SetCellValue("是否删除");
|
||||
cell9.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(9, 10 * 256);
|
||||
|
||||
|
||||
headerRow.Height = 30 * 20;
|
||||
var commonCellStyle = ExcelHelper.GetCommonStyle(book);
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listModel.Count; i++)
|
||||
{
|
||||
var rowTemp = mySheet.CreateRow(i + 1);
|
||||
|
||||
|
||||
var rowTemp0 = rowTemp.CreateCell(0);
|
||||
rowTemp0.SetCellValue(listModel[i].id.ToString());
|
||||
rowTemp0.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp1 = rowTemp.CreateCell(1);
|
||||
rowTemp1.SetCellValue(listModel[i].userId.ToString());
|
||||
rowTemp1.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp2 = rowTemp.CreateCell(2);
|
||||
rowTemp2.SetCellValue(listModel[i].buyUserId.ToString());
|
||||
rowTemp2.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp3 = rowTemp.CreateCell(3);
|
||||
rowTemp3.SetCellValue(listModel[i].orderId.ToString());
|
||||
rowTemp3.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp4 = rowTemp.CreateCell(4);
|
||||
rowTemp4.SetCellValue(listModel[i].amount.ToString());
|
||||
rowTemp4.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp5 = rowTemp.CreateCell(5);
|
||||
rowTemp5.SetCellValue(listModel[i].isSettlement.ToString());
|
||||
rowTemp5.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp6 = rowTemp.CreateCell(6);
|
||||
rowTemp6.SetCellValue(listModel[i].level.ToString());
|
||||
rowTemp6.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp7 = rowTemp.CreateCell(7);
|
||||
rowTemp7.SetCellValue(listModel[i].createTime.ToString());
|
||||
rowTemp7.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp8 = rowTemp.CreateCell(8);
|
||||
rowTemp8.SetCellValue(listModel[i].updateTime.ToString());
|
||||
rowTemp8.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp9 = rowTemp.CreateCell(9);
|
||||
rowTemp9.SetCellValue(listModel[i].isDelete.ToString());
|
||||
rowTemp9.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
}
|
||||
// 写入到excel
|
||||
string webRootPath = _webHostEnvironment.WebRootPath;
|
||||
string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsDistributionOrder导出(查询结果).xls";
|
||||
string filePath = webRootPath + tpath;
|
||||
DirectoryInfo di = new DirectoryInfo(filePath);
|
||||
if (!di.Exists)
|
||||
{
|
||||
di.Create();
|
||||
}
|
||||
FileStream 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
|
||||
|
||||
}
|
||||
}
|
||||
+428
@@ -0,0 +1,428 @@
|
||||
/***********************************************************************
|
||||
* 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 CoreCmsDistributionResultController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsDistributionResultServices _coreCmsDistributionResultServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public CoreCmsDistributionResultController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsDistributionResultServices coreCmsDistributionResultServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsDistributionResultServices = coreCmsDistributionResultServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistributionResult/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<CoreCmsDistributionResult>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsDistributionResult, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "gradeId":
|
||||
orderEx = p => p.gradeId;
|
||||
break;
|
||||
case "code":
|
||||
orderEx = p => p.code;
|
||||
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);
|
||||
//会员等级Id int
|
||||
var gradeId = Request.Form["gradeId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (gradeId > 0) @where = @where.And(p => p.gradeId == gradeId);
|
||||
//佣金编码 nvarchar
|
||||
var code = Request.Form["code"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(code)) @where = @where.And(p => p.code.Contains(code));
|
||||
//佣金设置序列化参数 nvarchar
|
||||
var parameters = Request.Form["parameters"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(parameters)) @where = @where.And(p => p.parameters.Contains(parameters));
|
||||
//获取数据
|
||||
var list = await _coreCmsDistributionResultServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent,
|
||||
pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistributionResult/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistributionResult/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistributionResult/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsDistributionResult entity)
|
||||
{
|
||||
var jm = await _coreCmsDistributionResultServices.InsertAsync(entity);
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistributionResult/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 _coreCmsDistributionResultServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistributionResult/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsDistributionResult entity)
|
||||
{
|
||||
var jm = await _coreCmsDistributionResultServices.UpdateAsync(entity);
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistributionResult/DoDelete/10
|
||||
/// <summary>
|
||||
/// 单选删除
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("单选删除")]
|
||||
public async Task<AdminUiCallBack> DoDelete([FromBody] FMIntId entity)
|
||||
{
|
||||
var jm = await _coreCmsDistributionResultServices.DeleteByIdAsync(entity.id);
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 批量删除============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistributionResult/DoBatchDelete/10,11,20
|
||||
/// <summary>
|
||||
/// 批量删除
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("批量删除")]
|
||||
public async Task<AdminUiCallBack> DoBatchDelete([FromBody] FMArrayIntIds entity)
|
||||
{
|
||||
var jm = await _coreCmsDistributionResultServices.DeleteByIdsAsync(entity.id);
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistributionResult/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 _coreCmsDistributionResultServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 选择导出============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistributionResult/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 _coreCmsDistributionResultServices.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("会员等级Id");
|
||||
row1.CreateCell(2).SetCellValue("佣金编码");
|
||||
row1.CreateCell(3).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].gradeId.ToString());
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].code);
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].parameters);
|
||||
}
|
||||
|
||||
// 导出excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsDistributionResult导出(选择结果).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/CoreCmsDistributionResult/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<CoreCmsDistributionResult>();
|
||||
//查询筛选
|
||||
|
||||
//序列 int
|
||||
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||
if (id > 0) @where = @where.And(p => p.id == id);
|
||||
//会员等级Id int
|
||||
var gradeId = Request.Form["gradeId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (gradeId > 0) @where = @where.And(p => p.gradeId == gradeId);
|
||||
//佣金编码 nvarchar
|
||||
var code = Request.Form["code"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(code)) @where = @where.And(p => p.code.Contains(code));
|
||||
//佣金设置序列化参数 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 _coreCmsDistributionResultServices.QueryListByClauseAsync(where, p => p.id, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var row1 = sheet1.CreateRow(0);
|
||||
row1.CreateCell(0).SetCellValue("序列");
|
||||
row1.CreateCell(1).SetCellValue("会员等级Id");
|
||||
row1.CreateCell(2).SetCellValue("佣金编码");
|
||||
row1.CreateCell(3).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].gradeId.ToString());
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].code);
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].parameters);
|
||||
}
|
||||
|
||||
// 写入到excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsDistributionResult导出(查询结果).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
|
||||
}
|
||||
}
|
||||
+103
@@ -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 CoreCmsDistributionSettingController : ControllerBase
|
||||
{
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly ICoreCmsSettingServices _coreCmsSettingServices;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
///</summary>
|
||||
/// <param name="webHostEnvironment"></param>
|
||||
///<param name="CoreCmsSettingServices"></param>
|
||||
public CoreCmsDistributionSettingController(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
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,479 @@
|
||||
/***********************************************************************
|
||||
* 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 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 CoreCmsBillPaymentsController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsBillPaymentsServices _coreCmsBillPaymentsServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="webHostEnvironment"></param>
|
||||
/// <param name="coreCmsBillPaymentsServices"></param>
|
||||
public CoreCmsBillPaymentsController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsBillPaymentsServices coreCmsBillPaymentsServices)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsBillPaymentsServices = coreCmsBillPaymentsServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillPayments/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<CoreCmsBillPayments>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsBillPayments, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "paymentId":
|
||||
orderEx = p => p.paymentId;
|
||||
break;
|
||||
case "money":
|
||||
orderEx = p => p.money;
|
||||
break;
|
||||
case "userId":
|
||||
orderEx = p => p.userId;
|
||||
break;
|
||||
case "type":
|
||||
orderEx = p => p.type;
|
||||
break;
|
||||
case "status":
|
||||
orderEx = p => p.status;
|
||||
break;
|
||||
case "paymentCode":
|
||||
orderEx = p => p.paymentCode;
|
||||
break;
|
||||
case "ip":
|
||||
orderEx = p => p.ip;
|
||||
break;
|
||||
case "parameters":
|
||||
orderEx = p => p.parameters;
|
||||
break;
|
||||
case "payedMsg":
|
||||
orderEx = p => p.payedMsg;
|
||||
break;
|
||||
case "tradeNo":
|
||||
orderEx = p => p.tradeNo;
|
||||
break;
|
||||
case "createTime":
|
||||
orderEx = p => p.createTime;
|
||||
break;
|
||||
case "updateTime":
|
||||
orderEx = p => p.updateTime;
|
||||
break;
|
||||
default:
|
||||
orderEx = p => p.paymentId;
|
||||
break;
|
||||
}
|
||||
|
||||
//设置排序方式
|
||||
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
|
||||
var orderBy = orderDirection switch
|
||||
{
|
||||
"asc" => OrderByType.Asc,
|
||||
"desc" => OrderByType.Desc,
|
||||
_ => OrderByType.Desc
|
||||
};
|
||||
//查询筛选
|
||||
|
||||
//支付单号 nvarchar
|
||||
var paymentId = Request.Form["paymentId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(paymentId)) where = where.And(p => p.paymentId.Contains(paymentId));
|
||||
|
||||
//用户ID 关联user.id int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0) where = where.And(p => p.userId == userId);
|
||||
//资源类型 int
|
||||
var type = Request.Form["type"].FirstOrDefault().ObjectToInt(0);
|
||||
if (type > 0) where = where.And(p => p.type == type);
|
||||
//支付状态 int
|
||||
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
|
||||
if (status > 0) where = where.And(p => p.status == status);
|
||||
//支付类型编码 关联payments.code nvarchar
|
||||
var paymentCode = Request.Form["paymentCode"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(paymentCode)) where = where.And(p => p.paymentCode.Contains(paymentCode));
|
||||
//支付单生成IP nvarchar
|
||||
var ip = Request.Form["ip"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(ip)) where = where.And(p => p.ip.Contains(ip));
|
||||
//支付的时候需要的参数,存的是json格式的一维数组 nvarchar
|
||||
var parameters = Request.Form["parameters"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(parameters)) where = where.And(p => p.parameters.Contains(parameters));
|
||||
//支付回调后的状态描述 nvarchar
|
||||
var payedMsg = Request.Form["payedMsg"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(payedMsg)) where = where.And(p => p.payedMsg.Contains(payedMsg));
|
||||
//第三方平台交易流水号 nvarchar
|
||||
var tradeNo = Request.Form["tradeNo"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(tradeNo)) where = where.And(p => p.tradeNo.Contains(tradeNo));
|
||||
//创建时间 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 _coreCmsBillPaymentsServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent,
|
||||
pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillPayments/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var paymentsStatus = EnumHelper.EnumToList<GlobalEnumVars.BillPaymentsStatus>();
|
||||
var paymentsResourceTypes = EnumHelper.EnumToList<GlobalEnumVars.BillPaymentsType>();
|
||||
|
||||
//订单支付方式
|
||||
var paymentCode = EnumHelper.EnumToList<GlobalEnumVars.PaymentsTypes>();
|
||||
|
||||
jm.data = new
|
||||
{
|
||||
paymentsStatus,
|
||||
paymentsResourceTypes,
|
||||
paymentCode
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillPayments/GetDetails/10
|
||||
/// <summary>
|
||||
/// 预览数据
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("预览数据")]
|
||||
public async Task<AdminUiCallBack> GetDetails([FromBody] FMStringId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var model = await _coreCmsBillPaymentsServices.QueryByClauseAsync(p => p.paymentId == entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var paymentsStatus = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.BillPaymentsStatus>(model.status);
|
||||
var paymentsResourceTypes = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.BillPaymentsType>(model.type);
|
||||
var paymentCode = EnumHelper.GetEnumDescriptionByKey<GlobalEnumVars.PaymentsTypes>(model.paymentCode);
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
paymentsStatus,
|
||||
paymentsResourceTypes,
|
||||
paymentCode,
|
||||
};
|
||||
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 选择导出============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillPayments/SelectExportExcel/10
|
||||
/// <summary>
|
||||
/// 选择导出
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("选择导出")]
|
||||
public async Task<AdminUiCallBack> SelectExportExcel([FromBody] FMArrayStringIds entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var sheet1 = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listmodel =
|
||||
await _coreCmsBillPaymentsServices.QueryListByClauseAsync(p => entity.id.Contains(p.paymentId),
|
||||
p => p.paymentId, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var row1 = sheet1.CreateRow(0);
|
||||
row1.CreateCell(0).SetCellValue("支付单号");
|
||||
row1.CreateCell(1).SetCellValue("支付金额");
|
||||
row1.CreateCell(2).SetCellValue("用户ID 关联user.id");
|
||||
row1.CreateCell(3).SetCellValue("资源类型");
|
||||
row1.CreateCell(4).SetCellValue("支付状态");
|
||||
row1.CreateCell(5).SetCellValue("支付类型编码 关联payments.code");
|
||||
row1.CreateCell(6).SetCellValue("支付单生成IP");
|
||||
row1.CreateCell(7).SetCellValue("支付的时候需要的参数,存的是json格式的一维数组");
|
||||
row1.CreateCell(8).SetCellValue("支付回调后的状态描述");
|
||||
row1.CreateCell(9).SetCellValue("第三方平台交易流水号");
|
||||
row1.CreateCell(10).SetCellValue("创建时间");
|
||||
row1.CreateCell(11).SetCellValue("更新时间");
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listmodel.Count; i++)
|
||||
{
|
||||
var rowtemp = sheet1.CreateRow(i + 1);
|
||||
rowtemp.CreateCell(0).SetCellValue(listmodel[i].paymentId);
|
||||
rowtemp.CreateCell(1).SetCellValue(listmodel[i].money.ToString());
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].userId.ToString());
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].type.ToString());
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].status.ToString());
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].paymentCode);
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].ip);
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].parameters);
|
||||
rowtemp.CreateCell(8).SetCellValue(listmodel[i].payedMsg);
|
||||
rowtemp.CreateCell(9).SetCellValue(listmodel[i].tradeNo);
|
||||
rowtemp.CreateCell(10).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(11).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 导出excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsBillPayments导出(选择结果).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/CoreCmsBillPayments/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<CoreCmsBillPayments>();
|
||||
//查询筛选
|
||||
|
||||
//支付单号 nvarchar
|
||||
var paymentId = Request.Form["paymentId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(paymentId)) where = where.And(p => p.paymentId.Contains(paymentId));
|
||||
//用户ID 关联user.id int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0) where = where.And(p => p.userId == userId);
|
||||
//资源类型 int
|
||||
var type = Request.Form["type"].FirstOrDefault().ObjectToInt(0);
|
||||
if (type > 0) where = where.And(p => p.type == type);
|
||||
//支付状态 int
|
||||
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
|
||||
if (status > 0) where = where.And(p => p.status == status);
|
||||
//支付类型编码 关联payments.code nvarchar
|
||||
var paymentCode = Request.Form["paymentCode"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(paymentCode)) where = where.And(p => p.paymentCode.Contains(paymentCode));
|
||||
//支付单生成IP nvarchar
|
||||
var ip = Request.Form["ip"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(ip)) where = where.And(p => p.ip.Contains(ip));
|
||||
//支付的时候需要的参数,存的是json格式的一维数组 nvarchar
|
||||
var parameters = Request.Form["parameters"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(parameters)) where = where.And(p => p.parameters.Contains(parameters));
|
||||
//支付回调后的状态描述 nvarchar
|
||||
var payedMsg = Request.Form["payedMsg"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(payedMsg)) where = where.And(p => p.payedMsg.Contains(payedMsg));
|
||||
//第三方平台交易流水号 nvarchar
|
||||
var tradeNo = Request.Form["tradeNo"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(tradeNo)) where = where.And(p => p.tradeNo.Contains(tradeNo));
|
||||
//创建时间 datetime
|
||||
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(createTime))
|
||||
{
|
||||
var dt = createTime.ObjectToDate();
|
||||
where = where.And(p => p.createTime > dt);
|
||||
}
|
||||
|
||||
//更新时间 datetime
|
||||
var updateTime = Request.Form["updateTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(updateTime))
|
||||
{
|
||||
var dt = updateTime.ObjectToDate();
|
||||
where = where.And(p => p.updateTime > dt);
|
||||
}
|
||||
|
||||
//获取数据
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var sheet1 = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listmodel =
|
||||
await _coreCmsBillPaymentsServices.QueryListByClauseAsync(where, p => p.paymentId, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var row1 = sheet1.CreateRow(0);
|
||||
row1.CreateCell(0).SetCellValue("支付单号");
|
||||
row1.CreateCell(1).SetCellValue("支付金额");
|
||||
row1.CreateCell(2).SetCellValue("用户ID 关联user.id");
|
||||
row1.CreateCell(3).SetCellValue("资源类型");
|
||||
row1.CreateCell(4).SetCellValue("支付状态");
|
||||
row1.CreateCell(5).SetCellValue("支付类型编码 关联payments.code");
|
||||
row1.CreateCell(6).SetCellValue("支付单生成IP");
|
||||
row1.CreateCell(7).SetCellValue("支付的时候需要的参数,存的是json格式的一维数组");
|
||||
row1.CreateCell(8).SetCellValue("支付回调后的状态描述");
|
||||
row1.CreateCell(9).SetCellValue("第三方平台交易流水号");
|
||||
row1.CreateCell(10).SetCellValue("创建时间");
|
||||
row1.CreateCell(11).SetCellValue("更新时间");
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listmodel.Count; i++)
|
||||
{
|
||||
var rowtemp = sheet1.CreateRow(i + 1);
|
||||
rowtemp.CreateCell(0).SetCellValue(listmodel[i].paymentId);
|
||||
rowtemp.CreateCell(1).SetCellValue(listmodel[i].money.ToString());
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].userId.ToString());
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].type.ToString());
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].status.ToString());
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].paymentCode);
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].ip);
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].parameters);
|
||||
rowtemp.CreateCell(8).SetCellValue(listmodel[i].payedMsg);
|
||||
rowtemp.CreateCell(9).SetCellValue(listmodel[i].tradeNo);
|
||||
rowtemp.CreateCell(10).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(11).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 写入到excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsBillPayments导出(查询结果).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
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,606 @@
|
||||
/***********************************************************************
|
||||
* 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 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 CoreCmsBillRefundController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsBillRefundServices _coreCmsBillRefundServices;
|
||||
private readonly ICoreCmsUserServices _userServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="webHostEnvironment"></param>
|
||||
/// <param name="coreCmsBillRefundServices"></param>
|
||||
/// <param name="userServices"></param>
|
||||
public CoreCmsBillRefundController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsBillRefundServices coreCmsBillRefundServices, ICoreCmsUserServices userServices)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsBillRefundServices = coreCmsBillRefundServices;
|
||||
_userServices = userServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillRefund/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<CoreCmsBillRefund>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsBillRefund, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "refundId":
|
||||
orderEx = p => p.refundId;
|
||||
break;
|
||||
case "aftersalesId":
|
||||
orderEx = p => p.aftersalesId;
|
||||
break;
|
||||
case "money":
|
||||
orderEx = p => p.money;
|
||||
break;
|
||||
case "userId":
|
||||
orderEx = p => p.userId;
|
||||
break;
|
||||
case "sourceId":
|
||||
orderEx = p => p.sourceId;
|
||||
break;
|
||||
case "type":
|
||||
orderEx = p => p.type;
|
||||
break;
|
||||
case "paymentCode":
|
||||
orderEx = p => p.paymentCode;
|
||||
break;
|
||||
case "tradeNo":
|
||||
orderEx = p => p.tradeNo;
|
||||
break;
|
||||
case "status":
|
||||
orderEx = p => p.status;
|
||||
break;
|
||||
case "memo":
|
||||
orderEx = p => p.memo;
|
||||
break;
|
||||
case "createTime":
|
||||
orderEx = p => p.createTime;
|
||||
break;
|
||||
case "updateTime":
|
||||
orderEx = p => p.updateTime;
|
||||
break;
|
||||
default:
|
||||
orderEx = p => p.refundId;
|
||||
break;
|
||||
}
|
||||
|
||||
//设置排序方式
|
||||
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
|
||||
var orderBy = orderDirection switch
|
||||
{
|
||||
"asc" => OrderByType.Asc,
|
||||
"desc" => OrderByType.Desc,
|
||||
_ => OrderByType.Desc
|
||||
};
|
||||
//查询筛选
|
||||
|
||||
//退款单ID nvarchar
|
||||
var refundId = Request.Form["refundId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(refundId)) where = where.And(p => p.refundId.Contains(refundId));
|
||||
//售后单id nvarchar
|
||||
var aftersalesId = Request.Form["aftersalesId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(aftersalesId)) where = where.And(p => p.aftersalesId.Contains(aftersalesId));
|
||||
//用户ID 关联user.id int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0) where = where.And(p => p.userId == userId);
|
||||
//资源id,根据type不同而关联不同的表 nvarchar
|
||||
var sourceId = Request.Form["sourceId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(sourceId)) where = where.And(p => p.sourceId.Contains(sourceId));
|
||||
//资源类型1=订单,2充值单 int
|
||||
var type = Request.Form["type"].FirstOrDefault().ObjectToInt(0);
|
||||
if (type > 0) where = where.And(p => p.type == type);
|
||||
//退款支付类型编码 默认原路返回 关联支付单表支付编码 nvarchar
|
||||
var paymentCode = Request.Form["paymentCode"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(paymentCode)) where = where.And(p => p.paymentCode.Contains(paymentCode));
|
||||
//第三方平台交易流水号 nvarchar
|
||||
var tradeNo = Request.Form["tradeNo"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(tradeNo)) where = where.And(p => p.tradeNo.Contains(tradeNo));
|
||||
//状态 int
|
||||
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
|
||||
if (status > 0) where = where.And(p => p.status == status);
|
||||
//退款失败原因 nvarchar
|
||||
var memo = Request.Form["memo"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(memo)) where = where.And(p => p.memo.Contains(memo));
|
||||
//创建时间 datetime
|
||||
var 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 _coreCmsBillRefundServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillRefund/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
var paymentsResourceTypes = EnumHelper.EnumToList<GlobalEnumVars.BillPaymentsType>();
|
||||
var refundStatus = EnumHelper.EnumToList<GlobalEnumVars.BillRefundStatus>();
|
||||
//订单支付方式
|
||||
var paymentCode = EnumHelper.EnumToList<GlobalEnumVars.PaymentsTypes>();
|
||||
jm.data = new
|
||||
{
|
||||
paymentsResourceTypes,
|
||||
refundStatus,
|
||||
paymentCode
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillRefund/GetDetails/10
|
||||
/// <summary>
|
||||
/// 预览数据
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("预览数据")]
|
||||
public async Task<AdminUiCallBack> GetDetails([FromBody] FMStringId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var model = await _coreCmsBillRefundServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var paymentsResourceTypes = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.BillPaymentsType>(model.type);
|
||||
var refundStatus = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.BillRefundStatus>(model.status);
|
||||
var paymentCode = EnumHelper.GetEnumDescriptionByKey<GlobalEnumVars.PaymentsTypes>(model.paymentCode);
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
jm.data = new
|
||||
{
|
||||
paymentsResourceTypes,
|
||||
refundStatus,
|
||||
paymentCode,
|
||||
model
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 审核退款单============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillRefund/GetAudit
|
||||
/// <summary>
|
||||
/// 审核退款单
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("审核退款单")]
|
||||
public async Task<AdminUiCallBack> GetAudit([FromBody] FMStringId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var model = await _coreCmsBillRefundServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var paymentsResourceTypes =
|
||||
EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.BillPaymentsType>(model.type);
|
||||
var refundStatus = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.BillRefundStatus>(model.status);
|
||||
var paymentCode = EnumHelper.EnumToList<GlobalEnumVars.PaymentsTypes>();
|
||||
var userInfo = await _userServices.QueryByClauseAsync(p => p.id == model.userId);
|
||||
jm.code = 0;
|
||||
jm.data = new
|
||||
{
|
||||
paymentsResourceTypes,
|
||||
refundStatus,
|
||||
paymentCode,
|
||||
model,
|
||||
userInfo
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 提交审核结果============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillRefund/Edit
|
||||
/// <summary>
|
||||
/// 提交审核结果
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("提交审核结果")]
|
||||
public async Task<AdminUiCallBack> DoAudit([FromBody] FMDoAuditPost entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
if (string.IsNullOrEmpty(entity.refundId))
|
||||
{
|
||||
jm.msg = GlobalErrorCodeVars.Code10000;
|
||||
return jm;
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(entity.paymentCode))
|
||||
{
|
||||
jm.msg = GlobalErrorCodeVars.Code10000;
|
||||
return jm;
|
||||
}
|
||||
|
||||
if (entity.status != 2 && entity.status != 4)
|
||||
{
|
||||
jm.msg = GlobalErrorCodeVars.Code10000;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var result =
|
||||
await _coreCmsBillRefundServices.ToRefund(entity.refundId, entity.status, entity.paymentCode);
|
||||
|
||||
//事物处理过程结束
|
||||
jm.code = result.status ? 0 : 1;
|
||||
jm.msg = result.msg;
|
||||
jm.data = result.data;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 退款失败状态再次退款============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillRefund/Edit
|
||||
/// <summary>
|
||||
/// 退款失败状态再次退款
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("退款失败状态再次退款")]
|
||||
public async Task<AdminUiCallBack> DoReAudit([FromBody] FMStringId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
if (string.IsNullOrEmpty(entity.id))
|
||||
{
|
||||
jm.msg = GlobalErrorCodeVars.Code13215;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var oldModel = await _coreCmsBillRefundServices.QueryByClauseAsync(p =>
|
||||
p.refundId == entity.id && p.status == (int)GlobalEnumVars.BillRefundStatus.STATUS_FAIL);
|
||||
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = GlobalErrorCodeVars.Code13224;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var result = await _coreCmsBillRefundServices.PaymentRefund(entity.id);
|
||||
|
||||
//事物处理过程结束
|
||||
jm.code = result.status ? 0 : 1;
|
||||
jm.msg = result.msg;
|
||||
jm.data = result.data;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 选择导出============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillRefund/SelectExportExcel/10
|
||||
/// <summary>
|
||||
/// 选择导出
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("选择导出")]
|
||||
public async Task<AdminUiCallBack> SelectExportExcel([FromBody] FMArrayStringIds entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var sheet1 = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listmodel =
|
||||
await _coreCmsBillRefundServices.QueryListByClauseAsync(p => entity.id.Contains(p.refundId),
|
||||
p => p.refundId, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var row1 = sheet1.CreateRow(0);
|
||||
row1.CreateCell(0).SetCellValue("退款单ID");
|
||||
row1.CreateCell(1).SetCellValue("售后单id");
|
||||
row1.CreateCell(2).SetCellValue("退款金额");
|
||||
row1.CreateCell(3).SetCellValue("用户ID 关联user.id");
|
||||
row1.CreateCell(4).SetCellValue("资源id,根据type不同而关联不同的表");
|
||||
row1.CreateCell(5).SetCellValue("资源类型1=订单,2充值单");
|
||||
row1.CreateCell(6).SetCellValue("退款支付类型编码 默认原路返回 关联支付单表支付编码");
|
||||
row1.CreateCell(7).SetCellValue("第三方平台交易流水号");
|
||||
row1.CreateCell(8).SetCellValue("状态");
|
||||
row1.CreateCell(9).SetCellValue("退款失败原因");
|
||||
row1.CreateCell(10).SetCellValue("创建时间");
|
||||
row1.CreateCell(11).SetCellValue("更新时间");
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listmodel.Count; i++)
|
||||
{
|
||||
var rowtemp = sheet1.CreateRow(i + 1);
|
||||
rowtemp.CreateCell(0).SetCellValue(listmodel[i].refundId);
|
||||
rowtemp.CreateCell(1).SetCellValue(listmodel[i].aftersalesId);
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].money.ToString());
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].userId.ToString());
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].sourceId);
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].type.ToString());
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].paymentCode);
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].tradeNo);
|
||||
rowtemp.CreateCell(8).SetCellValue(listmodel[i].status.ToString());
|
||||
rowtemp.CreateCell(9).SetCellValue(listmodel[i].memo);
|
||||
rowtemp.CreateCell(10).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(11).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 导出excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsBillRefund导出(选择结果).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/CoreCmsBillRefund/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<CoreCmsBillRefund>();
|
||||
//查询筛选
|
||||
|
||||
//退款单ID nvarchar
|
||||
var refundId = Request.Form["refundId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(refundId)) where = where.And(p => p.refundId.Contains(refundId));
|
||||
//售后单id nvarchar
|
||||
var aftersalesId = Request.Form["aftersalesId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(aftersalesId))
|
||||
where = where.And(p => p.aftersalesId.Contains(aftersalesId));
|
||||
//用户ID 关联user.id int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0) where = where.And(p => p.userId == userId);
|
||||
//资源id,根据type不同而关联不同的表 nvarchar
|
||||
var sourceId = Request.Form["sourceId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(sourceId)) where = where.And(p => p.sourceId.Contains(sourceId));
|
||||
//资源类型1=订单,2充值单 int
|
||||
var type = Request.Form["type"].FirstOrDefault().ObjectToInt(0);
|
||||
if (type > 0) where = where.And(p => p.type == type);
|
||||
//退款支付类型编码 默认原路返回 关联支付单表支付编码 nvarchar
|
||||
var paymentCode = Request.Form["paymentCode"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(paymentCode)) where = where.And(p => p.paymentCode.Contains(paymentCode));
|
||||
//第三方平台交易流水号 nvarchar
|
||||
var tradeNo = Request.Form["tradeNo"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(tradeNo)) where = where.And(p => p.tradeNo.Contains(tradeNo));
|
||||
//状态 int
|
||||
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
|
||||
if (status > 0) where = where.And(p => p.status == status);
|
||||
//退款失败原因 nvarchar
|
||||
var memo = Request.Form["memo"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(memo)) where = where.And(p => p.memo.Contains(memo));
|
||||
//创建时间 datetime
|
||||
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(createTime))
|
||||
{
|
||||
var dt = createTime.ObjectToDate();
|
||||
where = where.And(p => p.createTime > dt);
|
||||
}
|
||||
|
||||
//更新时间 datetime
|
||||
var updateTime = Request.Form["updateTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(updateTime))
|
||||
{
|
||||
var dt = updateTime.ObjectToDate();
|
||||
where = where.And(p => p.updateTime > dt);
|
||||
}
|
||||
|
||||
//获取数据
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var sheet1 = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listmodel =
|
||||
await _coreCmsBillRefundServices.QueryListByClauseAsync(where, p => p.refundId, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var row1 = sheet1.CreateRow(0);
|
||||
row1.CreateCell(0).SetCellValue("退款单ID");
|
||||
row1.CreateCell(1).SetCellValue("售后单id");
|
||||
row1.CreateCell(2).SetCellValue("退款金额");
|
||||
row1.CreateCell(3).SetCellValue("用户ID 关联user.id");
|
||||
row1.CreateCell(4).SetCellValue("资源id,根据type不同而关联不同的表");
|
||||
row1.CreateCell(5).SetCellValue("资源类型1=订单,2充值单");
|
||||
row1.CreateCell(6).SetCellValue("退款支付类型编码 默认原路返回 关联支付单表支付编码");
|
||||
row1.CreateCell(7).SetCellValue("第三方平台交易流水号");
|
||||
row1.CreateCell(8).SetCellValue("状态");
|
||||
row1.CreateCell(9).SetCellValue("退款失败原因");
|
||||
row1.CreateCell(10).SetCellValue("创建时间");
|
||||
row1.CreateCell(11).SetCellValue("更新时间");
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listmodel.Count; i++)
|
||||
{
|
||||
var rowtemp = sheet1.CreateRow(i + 1);
|
||||
rowtemp.CreateCell(0).SetCellValue(listmodel[i].refundId);
|
||||
rowtemp.CreateCell(1).SetCellValue(listmodel[i].aftersalesId);
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].money.ToString());
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].userId.ToString());
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].sourceId);
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].type.ToString());
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].paymentCode);
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].tradeNo);
|
||||
rowtemp.CreateCell(8).SetCellValue(listmodel[i].status.ToString());
|
||||
rowtemp.CreateCell(9).SetCellValue(listmodel[i].memo);
|
||||
rowtemp.CreateCell(10).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(11).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 写入到excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsBillRefund导出(查询结果).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
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,534 @@
|
||||
/***********************************************************************
|
||||
* 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 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 CoreCmsInvoiceController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsInvoiceServices _coreCmsInvoiceServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="webHostEnvironment"></param>
|
||||
/// <param name="coreCmsInvoiceServices"></param>
|
||||
public CoreCmsInvoiceController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsInvoiceServices coreCmsInvoiceServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsInvoiceServices = coreCmsInvoiceServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsInvoice/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<CoreCmsInvoice>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsInvoice, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "category":
|
||||
orderEx = p => p.category;
|
||||
break;
|
||||
case "sourceId":
|
||||
orderEx = p => p.sourceId;
|
||||
break;
|
||||
case "userId":
|
||||
orderEx = p => p.userId;
|
||||
break;
|
||||
case "type":
|
||||
orderEx = p => p.type;
|
||||
break;
|
||||
case "title":
|
||||
orderEx = p => p.title;
|
||||
break;
|
||||
case "taxNumber":
|
||||
orderEx = p => p.taxNumber;
|
||||
break;
|
||||
case "amount":
|
||||
orderEx = p => p.amount;
|
||||
break;
|
||||
case "status":
|
||||
orderEx = p => p.status;
|
||||
break;
|
||||
case "remarks":
|
||||
orderEx = p => p.remarks;
|
||||
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);
|
||||
//开票类型 int
|
||||
var category = Request.Form["category"].FirstOrDefault().ObjectToInt(0);
|
||||
if (category > 0) where = where.And(p => p.category == category);
|
||||
//资源ID nvarchar
|
||||
var sourceId = Request.Form["sourceId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(sourceId)) where = where.And(p => p.sourceId.Contains(sourceId));
|
||||
//所属用户ID int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0) where = where.And(p => p.userId == userId);
|
||||
//发票类型 int
|
||||
var type = Request.Form["type"].FirstOrDefault().ObjectToInt(0);
|
||||
if (type > 0) where = where.And(p => p.type == type);
|
||||
//发票抬头 nvarchar
|
||||
var title = Request.Form["title"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(title)) where = where.And(p => p.title.Contains(title));
|
||||
//发票税号 nvarchar
|
||||
var taxNumber = Request.Form["taxNumber"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(taxNumber)) where = where.And(p => p.taxNumber.Contains(taxNumber));
|
||||
//开票备注 nvarchar
|
||||
var remarks = Request.Form["remarks"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(remarks)) where = where.And(p => p.remarks.Contains(remarks));
|
||||
//创建时间 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 _coreCmsInvoiceServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsInvoice/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var orderTaxCategory = EnumHelper.EnumToList<GlobalEnumVars.OrderTaxCategory>();
|
||||
var orderTaxType = EnumHelper.EnumToList<GlobalEnumVars.OrderTaxType>();
|
||||
var orderTaxStatus = EnumHelper.EnumToList<GlobalEnumVars.OrderTaxStatus>();
|
||||
jm.data = new
|
||||
{
|
||||
orderTaxCategory,
|
||||
orderTaxType,
|
||||
orderTaxStatus
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsInvoice/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 _coreCmsInvoiceServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var orderTaxCategory = EnumHelper.EnumToList<GlobalEnumVars.OrderTaxCategory>();
|
||||
var orderTaxType = EnumHelper.EnumToList<GlobalEnumVars.OrderTaxType>();
|
||||
var orderTaxStatus = EnumHelper.EnumToList<GlobalEnumVars.OrderTaxStatus>();
|
||||
jm.code = 0;
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
orderTaxCategory,
|
||||
orderTaxType,
|
||||
orderTaxStatus
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsInvoice/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsInvoice entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsInvoiceServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
//事物处理过程开始
|
||||
oldModel.type = entity.type;
|
||||
oldModel.title = entity.title;
|
||||
oldModel.taxNumber = entity.taxNumber;
|
||||
oldModel.amount = entity.amount;
|
||||
oldModel.status = entity.status;
|
||||
oldModel.remarks = entity.remarks;
|
||||
oldModel.updateTime = DateTime.Now;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _coreCmsInvoiceServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsInvoice/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 _coreCmsInvoiceServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var bl = await _coreCmsInvoiceServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 选择导出============================================================
|
||||
|
||||
// POST: Api/CoreCmsInvoice/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 _coreCmsInvoiceServices.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("资源ID");
|
||||
row1.CreateCell(3).SetCellValue("所属用户ID");
|
||||
row1.CreateCell(4).SetCellValue("发票类型");
|
||||
row1.CreateCell(5).SetCellValue("发票抬头");
|
||||
row1.CreateCell(6).SetCellValue("发票税号");
|
||||
row1.CreateCell(7).SetCellValue("发票金额");
|
||||
row1.CreateCell(8).SetCellValue("是否开票");
|
||||
row1.CreateCell(9).SetCellValue("开票备注");
|
||||
row1.CreateCell(10).SetCellValue("创建时间");
|
||||
row1.CreateCell(11).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].category.ToString());
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].sourceId);
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].userId.ToString());
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].type.ToString());
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].title);
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].taxNumber);
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].amount.ToString());
|
||||
rowtemp.CreateCell(8).SetCellValue(listmodel[i].status.ToString());
|
||||
rowtemp.CreateCell(9).SetCellValue(listmodel[i].remarks);
|
||||
rowtemp.CreateCell(10).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(11).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 导出excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsInvoice导出(选择结果).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/CoreCmsInvoice/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<CoreCmsInvoice>();
|
||||
//查询筛选
|
||||
|
||||
//序列 int
|
||||
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||
if (id > 0) where = where.And(p => p.id == id);
|
||||
//开票类型 int
|
||||
var category = Request.Form["category"].FirstOrDefault().ObjectToInt(0);
|
||||
if (category > 0) where = where.And(p => p.category == category);
|
||||
//资源ID nvarchar
|
||||
var sourceId = Request.Form["sourceId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(sourceId)) where = where.And(p => p.sourceId.Contains(sourceId));
|
||||
//所属用户ID int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0) where = where.And(p => p.userId == userId);
|
||||
//发票类型 int
|
||||
var type = Request.Form["type"].FirstOrDefault().ObjectToInt(0);
|
||||
if (type > 0) where = where.And(p => p.type == type);
|
||||
//发票抬头 nvarchar
|
||||
var title = Request.Form["title"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(title)) where = where.And(p => p.title.Contains(title));
|
||||
//发票税号 nvarchar
|
||||
var taxNumber = Request.Form["taxNumber"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(taxNumber)) where = where.And(p => p.taxNumber.Contains(taxNumber));
|
||||
//开票备注 nvarchar
|
||||
var remarks = Request.Form["remarks"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(remarks)) where = where.And(p => p.remarks.Contains(remarks));
|
||||
//创建时间 datetime
|
||||
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(createTime))
|
||||
{
|
||||
var dt = createTime.ObjectToDate();
|
||||
where = where.And(p => p.createTime > dt);
|
||||
}
|
||||
|
||||
//更新时间 datetime
|
||||
var updateTime = Request.Form["updateTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(updateTime))
|
||||
{
|
||||
var dt = updateTime.ObjectToDate();
|
||||
where = where.And(p => p.updateTime > dt);
|
||||
}
|
||||
|
||||
//获取数据
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var sheet1 = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listmodel = await _coreCmsInvoiceServices.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("资源ID");
|
||||
row1.CreateCell(3).SetCellValue("所属用户ID");
|
||||
row1.CreateCell(4).SetCellValue("发票类型");
|
||||
row1.CreateCell(5).SetCellValue("发票抬头");
|
||||
row1.CreateCell(6).SetCellValue("发票税号");
|
||||
row1.CreateCell(7).SetCellValue("发票金额");
|
||||
row1.CreateCell(8).SetCellValue("是否开票");
|
||||
row1.CreateCell(9).SetCellValue("开票备注");
|
||||
row1.CreateCell(10).SetCellValue("创建时间");
|
||||
row1.CreateCell(11).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].category.ToString());
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].sourceId);
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].userId.ToString());
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].type.ToString());
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].title);
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].taxNumber);
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].amount.ToString());
|
||||
rowtemp.CreateCell(8).SetCellValue(listmodel[i].status.ToString());
|
||||
rowtemp.CreateCell(9).SetCellValue(listmodel[i].remarks);
|
||||
rowtemp.CreateCell(10).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(11).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 写入到excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsInvoice导出(查询结果).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
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,306 @@
|
||||
/***********************************************************************
|
||||
* 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 CoreCmsPaymentsController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsPaymentsServices _coreCmsPaymentsServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="webHostEnvironment"></param>
|
||||
/// <param name="coreCmsPaymentsServices"></param>
|
||||
public CoreCmsPaymentsController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsPaymentsServices coreCmsPaymentsServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsPaymentsServices = coreCmsPaymentsServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsPayments/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<CoreCmsPayments>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsPayments, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "name":
|
||||
orderEx = p => p.name;
|
||||
break;
|
||||
case "code":
|
||||
orderEx = p => p.code;
|
||||
break;
|
||||
case "isOnline":
|
||||
orderEx = p => p.isOnline;
|
||||
break;
|
||||
case "parameters":
|
||||
orderEx = p => p.parameters;
|
||||
break;
|
||||
case "sort":
|
||||
orderEx = p => p.sort;
|
||||
break;
|
||||
case "memo":
|
||||
orderEx = p => p.memo;
|
||||
break;
|
||||
case "isEnable":
|
||||
orderEx = p => p.isEnable;
|
||||
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));
|
||||
//支付类型编码 nvarchar
|
||||
var code = Request.Form["code"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(code)) @where = @where.And(p => p.code.Contains(code));
|
||||
//是否线上支付 bit
|
||||
var isOnline = Request.Form["isOnline"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isOnline) && isOnline.ToLowerInvariant() == "true")
|
||||
@where = @where.And(p => p.isOnline);
|
||||
else if (!string.IsNullOrEmpty(isOnline) && isOnline.ToLowerInvariant() == "false")
|
||||
@where = @where.And(p => p.isOnline == false);
|
||||
//参数 nvarchar
|
||||
var parameters = Request.Form["parameters"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(parameters)) @where = @where.And(p => p.parameters.Contains(parameters));
|
||||
//排序 int
|
||||
var sort = Request.Form["sort"].FirstOrDefault().ObjectToInt(0);
|
||||
if (sort > 0) @where = @where.And(p => p.sort == sort);
|
||||
//方式描述 nvarchar
|
||||
var memo = Request.Form["memo"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(memo)) @where = @where.And(p => p.memo.Contains(memo));
|
||||
//是否启用 bit
|
||||
var isEnable = Request.Form["isEnable"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isEnable) && isEnable.ToLowerInvariant() == "true")
|
||||
@where = @where.And(p => p.isEnable);
|
||||
else if (!string.IsNullOrEmpty(isEnable) && isEnable.ToLowerInvariant() == "false")
|
||||
@where = @where.And(p => p.isEnable == false);
|
||||
//获取数据
|
||||
var list = await _coreCmsPaymentsServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsPayments/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsPayments/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 _coreCmsPaymentsServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsPayments/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsPayments entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsPaymentsServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
//事物处理过程开始
|
||||
oldModel.parameters = entity.parameters;
|
||||
oldModel.sort = entity.sort;
|
||||
oldModel.isEnable = entity.isEnable;
|
||||
//事物处理过程结束
|
||||
|
||||
var bl = await _coreCmsPaymentsServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 设置是否线上支付============================================================
|
||||
|
||||
// POST: Api/CoreCmsPayments/DoSetisOnline/10
|
||||
/// <summary>
|
||||
/// 设置是否线上支付
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置是否线上支付")]
|
||||
public async Task<AdminUiCallBack> DoSetisOnline([FromBody] FMUpdateBoolDataByIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsPaymentsServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
oldModel.isOnline = entity.data;
|
||||
|
||||
var bl = await _coreCmsPaymentsServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 设置是否启用============================================================
|
||||
|
||||
// POST: Api/CoreCmsPayments/DoSetisEnable/10
|
||||
/// <summary>
|
||||
/// 设置是否启用
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置是否启用")]
|
||||
public async Task<AdminUiCallBack> DoSetisEnable([FromBody] FMUpdateBoolDataByIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsPaymentsServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
oldModel.isEnable = entity.data;
|
||||
|
||||
var bl = await _coreCmsPaymentsServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,362 @@
|
||||
/***********************************************************************
|
||||
* 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 CoreCmsBrandController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsBrandServices _coreCmsBrandServices;
|
||||
private readonly ICoreCmsGoodsServices _goodsServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public CoreCmsBrandController(IWebHostEnvironment webHostEnvironment,
|
||||
ICoreCmsBrandServices coreCmsBrandServices, ICoreCmsGoodsServices goodsServices)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsBrandServices = coreCmsBrandServices;
|
||||
_goodsServices = goodsServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsBrand/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<CoreCmsBrand>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsBrand, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "name":
|
||||
orderEx = p => p.name;
|
||||
break;
|
||||
case "logoImageUrl":
|
||||
orderEx = p => p.logoImageUrl;
|
||||
break;
|
||||
case "sort":
|
||||
orderEx = p => p.sort;
|
||||
break;
|
||||
case "isShow":
|
||||
orderEx = p => p.isShow;
|
||||
break;
|
||||
case "createTime":
|
||||
orderEx = p => p.createTime;
|
||||
break;
|
||||
default:
|
||||
orderEx = p => p.sort;
|
||||
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);
|
||||
//品牌名称 nvarchar
|
||||
var name = Request.Form["name"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(name)) @where = @where.And(p => p.name.Contains(name));
|
||||
//品牌LOGO nvarchar
|
||||
var logoImageUrl = Request.Form["logoImageUrl"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(logoImageUrl)) @where = @where.And(p => p.logoImageUrl.Contains(logoImageUrl));
|
||||
//品牌排序 int
|
||||
var sort = Request.Form["sort"].FirstOrDefault().ObjectToInt(0);
|
||||
if (sort > 0) @where = @where.And(p => p.sort == sort);
|
||||
//是否显示 bit
|
||||
var isShow = Request.Form["isShow"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isShow) && isShow.ToLowerInvariant() == "true")
|
||||
@where = @where.And(p => p.isShow);
|
||||
else if (!string.IsNullOrEmpty(isShow) && isShow.ToLowerInvariant() == "false")
|
||||
@where = @where.And(p => p.isShow == 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 _coreCmsBrandServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsBrand/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsBrand/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsBrand/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsBrand entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var bl = await _coreCmsBrandServices.InsertAsync(entity) > 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
|
||||
|
||||
if (bl)
|
||||
{
|
||||
var brands = await _coreCmsBrandServices.QueryListByClauseAsync(p => p.id > 0, p => p.id, OrderByType.Desc, true);
|
||||
jm.data = new
|
||||
{
|
||||
brands
|
||||
};
|
||||
}
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsBrand/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 _coreCmsBrandServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Admins/CoreCmsBrand/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsBrand entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsBrandServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
//事物处理过程开始
|
||||
oldModel.name = entity.name;
|
||||
oldModel.logoImageUrl = entity.logoImageUrl;
|
||||
oldModel.sort = entity.sort;
|
||||
oldModel.isShow = entity.isShow;
|
||||
oldModel.createTime = DateTime.Now;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _coreCmsBrandServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsBrand/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 _coreCmsBrandServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
if (await _goodsServices.ExistsAsync(p => p.brandId == model.id))
|
||||
{
|
||||
jm.msg = "有商品关联品牌数据,禁止删除";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var bl = await _coreCmsBrandServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
return jm;
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 设置是否显示============================================================
|
||||
|
||||
// POST: Api/CoreCmsBrand/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 _coreCmsBrandServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
oldModel.isShow = entity.data;
|
||||
oldModel.createTime = DateTime.Now;
|
||||
|
||||
var bl = await _coreCmsBrandServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,306 @@
|
||||
/***********************************************************************
|
||||
* 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 AutoMapper;
|
||||
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.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 CoreCmsGoodsCategoryController : ControllerBase
|
||||
{
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly ICoreCmsGoodsCategoryServices _coreCmsGoodsCategoryServices;
|
||||
private readonly ICoreCmsGoodsServices _goodsServices;
|
||||
private IMapper _mapper;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public CoreCmsGoodsCategoryController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsGoodsCategoryServices coreCmsGoodsCategoryServices
|
||||
, IMapper mapper, ICoreCmsGoodsServices goodsServices)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsGoodsCategoryServices = coreCmsGoodsCategoryServices;
|
||||
_mapper = mapper;
|
||||
_goodsServices = goodsServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
// POST: Api/CoreCmsGoodsCategory/GetPageList
|
||||
/// <summary>
|
||||
/// 获取列表
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("获取列表")]
|
||||
public async Task<AdminUiCallBack> GetPageList()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
//获取数据
|
||||
var list = await _coreCmsGoodsCategoryServices.QueryListByClauseAsync(p => p.id > 0, p => p.sort,
|
||||
OrderByType.Desc);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
// POST: Api/CoreCmsGoodsCategory/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
// POST: Api/CoreCmsGoodsCategory/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public async Task<AdminUiCallBack> GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
var categories = await _coreCmsGoodsCategoryServices.QueryListByClauseAsync(p => p.isShow == true, p => p.sort,
|
||||
OrderByType.Asc);
|
||||
jm.data = new
|
||||
{
|
||||
categories = GoodsHelper.GetTree(categories),
|
||||
};
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
// POST: Api/CoreCmsGoodsCategory/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsGoodsCategory entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var result = await _coreCmsGoodsCategoryServices.InsertAsync(entity);
|
||||
var bl = result.code == 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = (bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure);
|
||||
if (bl)
|
||||
{
|
||||
var categories = await _coreCmsGoodsCategoryServices.QueryListByClauseAsync(p => p.isShow == true, p => p.sort,
|
||||
OrderByType.Asc);
|
||||
jm.data = new
|
||||
{
|
||||
categories = GoodsHelper.GetTree(categories, false)
|
||||
};
|
||||
}
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
// POST: Api/CoreCmsGoodsCategory/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 _coreCmsGoodsCategoryServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
|
||||
var categories = await _coreCmsGoodsCategoryServices.QueryListByClauseAsync(p => p.isShow == true, p => p.sort,
|
||||
OrderByType.Asc); ;
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
categories = GoodsHelper.GetTree(categories),
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
// POST: Admins/CoreCmsGoodsCategory/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsGoodsCategory entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsGoodsCategoryServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
if (entity.id == entity.parentId)
|
||||
{
|
||||
jm.msg = "上级不能为本类";
|
||||
return jm;
|
||||
}
|
||||
|
||||
//事物处理过程开始
|
||||
oldModel.parentId = entity.parentId;
|
||||
oldModel.name = entity.name;
|
||||
oldModel.typeId = entity.typeId;
|
||||
oldModel.sort = entity.sort;
|
||||
oldModel.imageUrl = entity.imageUrl;
|
||||
oldModel.isShow = entity.isShow;
|
||||
oldModel.createTime = entity.createTime;
|
||||
|
||||
//事物处理过程结束
|
||||
var result = await _coreCmsGoodsCategoryServices.UpdateAsync(oldModel);
|
||||
var bl = result.code == 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
// POST: Api/CoreCmsGoodsCategory/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 _coreCmsGoodsCategoryServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
if (await _coreCmsGoodsCategoryServices.ExistsAsync(p => p.parentId == entity.id))
|
||||
{
|
||||
jm.msg = GlobalConstVars.DeleteIsHaveChildren;
|
||||
return jm;
|
||||
}
|
||||
|
||||
if (await _goodsServices.ExistsAsync(p => p.goodsCategoryId == entity.id && !p.isDel))
|
||||
{
|
||||
jm.msg = "有商品关联此栏目,禁止删除";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var result = await _coreCmsGoodsCategoryServices.DeleteByIdAsync(entity.id);
|
||||
var bl = result.code == 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
return jm;
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 设置是否显示============================================================
|
||||
// POST: Api/CoreCmsGoodsCategory/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 _coreCmsGoodsCategoryServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
oldModel.isShow = (bool)entity.data;
|
||||
|
||||
var result = await _coreCmsGoodsCategoryServices.UpdateAsync(oldModel);
|
||||
var bl = result.code == 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,380 @@
|
||||
/***********************************************************************
|
||||
* 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 CoreCmsGoodsCommentController : ControllerBase
|
||||
{
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly ICoreCmsGoodsCommentServices _coreCmsGoodsCommentServices;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
///</summary>
|
||||
public CoreCmsGoodsCommentController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsGoodsCommentServices coreCmsGoodsCommentServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsGoodsCommentServices = coreCmsGoodsCommentServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
// POST: Api/CoreCmsGoodsComment/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<CoreCmsGoodsComment>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsGoodsComment, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "commentId":
|
||||
orderEx = p => p.commentId;
|
||||
break;
|
||||
case "score":
|
||||
orderEx = p => p.score;
|
||||
break;
|
||||
case "userId":
|
||||
orderEx = p => p.userId;
|
||||
break;
|
||||
case "goodsId":
|
||||
orderEx = p => p.goodsId;
|
||||
break;
|
||||
case "orderId":
|
||||
orderEx = p => p.orderId;
|
||||
break;
|
||||
case "addon":
|
||||
orderEx = p => p.addon;
|
||||
break;
|
||||
case "images":
|
||||
orderEx = p => p.images;
|
||||
break;
|
||||
case "contentBody":
|
||||
orderEx = p => p.contentBody;
|
||||
break;
|
||||
case "sellerContent":
|
||||
orderEx = p => p.sellerContent;
|
||||
break;
|
||||
case "isDisplay":
|
||||
orderEx = p => p.isDisplay;
|
||||
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);
|
||||
}
|
||||
//父级评价ID int
|
||||
var commentId = Request.Form["commentId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (commentId > 0)
|
||||
{
|
||||
where = where.And(p => p.commentId == commentId);
|
||||
}
|
||||
//评价1-5星 int
|
||||
var score = Request.Form["score"].FirstOrDefault().ObjectToInt(0);
|
||||
if (score > 0)
|
||||
{
|
||||
where = where.And(p => p.score == score);
|
||||
}
|
||||
//评价用户ID int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0)
|
||||
{
|
||||
where = where.And(p => p.userId == userId);
|
||||
}
|
||||
//商品ID int
|
||||
var goodsId = Request.Form["goodsId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (goodsId > 0)
|
||||
{
|
||||
where = where.And(p => p.goodsId == goodsId);
|
||||
}
|
||||
//评价订单ID nvarchar
|
||||
var orderId = Request.Form["orderId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(orderId))
|
||||
{
|
||||
where = where.And(p => p.orderId.Contains(orderId));
|
||||
}
|
||||
//货品规格序列号存储 nvarchar
|
||||
var addon = Request.Form["addon"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(addon))
|
||||
{
|
||||
where = where.And(p => p.addon.Contains(addon));
|
||||
}
|
||||
//评价图片逗号分隔最多五张 nvarchar
|
||||
var images = Request.Form["images"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(images))
|
||||
{
|
||||
where = where.And(p => p.images.Contains(images));
|
||||
}
|
||||
//评价内容 nvarchar
|
||||
var contentBody = Request.Form["contentBody"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(contentBody))
|
||||
{
|
||||
where = where.And(p => p.contentBody.Contains(contentBody));
|
||||
}
|
||||
//商家回复 nvarchar
|
||||
var sellerContent = Request.Form["sellerContent"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(sellerContent))
|
||||
{
|
||||
where = where.And(p => p.sellerContent.Contains(sellerContent));
|
||||
}
|
||||
|
||||
|
||||
//用户昵称 nvarchar
|
||||
var nickName = Request.Form["nickName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(nickName))
|
||||
{
|
||||
where = where.And(p => p.nickName.Contains(nickName));
|
||||
}
|
||||
//商品名称 nvarchar
|
||||
var goodName = Request.Form["goodName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(goodName))
|
||||
{
|
||||
where = where.And(p => p.goodName.Contains(goodName));
|
||||
}
|
||||
|
||||
|
||||
//前台显示 bit
|
||||
var isDisplay = Request.Form["isDisplay"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isDisplay) && isDisplay.ToLowerInvariant() == "true")
|
||||
{
|
||||
where = where.And(p => p.isDisplay == true);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(isDisplay) && isDisplay.ToLowerInvariant() == "false")
|
||||
{
|
||||
where = where.And(p => p.isDisplay == 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 _coreCmsGoodsCommentServices.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/CoreCmsGoodsComment/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
// POST: Api/CoreCmsGoodsComment/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 _coreCmsGoodsCommentServices.DetailsByIdAsync(p => p.id == entity.id, p => p.id, OrderByType.Desc);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
// POST: Api/CoreCmsGoodsComment/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] FMIntId entity)
|
||||
{
|
||||
var jm = await _coreCmsGoodsCommentServices.Reply(entity.id, entity.data.ToString());
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
// POST: Api/CoreCmsGoodsComment/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 _coreCmsGoodsCommentServices.ExistsAsync(p => p.id == entity.id, true);
|
||||
if (!model)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
jm = await _coreCmsGoodsCommentServices.DeleteByIdAsync(entity.id);
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
// POST: Api/CoreCmsGoodsComment/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 _coreCmsGoodsCommentServices.DetailsByIdAsync(p => p.id == entity.id, p => p.id, OrderByType.Desc);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 设置前台显示============================================================
|
||||
// POST: Api/CoreCmsGoodsComment/DoSetisDisplay/10
|
||||
/// <summary>
|
||||
/// 设置前台显示
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置前台显示")]
|
||||
public async Task<AdminUiCallBack> DoSetisDisplay([FromBody] FMUpdateBoolDataByIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsGoodsCommentServices.QueryByIdAsync(entity.id, false);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
oldModel.isDisplay = (bool)entity.data;
|
||||
|
||||
jm = await _coreCmsGoodsCommentServices.UpdateAsync(oldModel);
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,540 @@
|
||||
/***********************************************************************
|
||||
* 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 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 CoreCmsGoodsParamsController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsGoodsParamsServices _coreCmsGoodsParamsServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public CoreCmsGoodsParamsController(IWebHostEnvironment webHostEnvironment,
|
||||
ICoreCmsGoodsParamsServices coreCmsGoodsParamsServices)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsGoodsParamsServices = coreCmsGoodsParamsServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsGoodsParams/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<CoreCmsGoodsParams>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsGoodsParams, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "name":
|
||||
orderEx = p => p.name;
|
||||
break;
|
||||
case "value":
|
||||
orderEx = p => p.value;
|
||||
break;
|
||||
case "type":
|
||||
orderEx = p => p.type;
|
||||
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);
|
||||
//参数名称 nvarchar
|
||||
var name = Request.Form["name"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(name)) @where = @where.And(p => p.name.Contains(name));
|
||||
//参数值 nvarchar
|
||||
var value = Request.Form["value"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(value)) @where = @where.And(p => p.value.Contains(value));
|
||||
//参数类型 nvarchar
|
||||
var type = Request.Form["type"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(type)) @where = @where.And(p => p.type.Contains(type));
|
||||
//创建时间 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 _coreCmsGoodsParamsServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsGoodsParams/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
var goodsParamTypes = EnumHelper.EnumToList<GlobalEnumVars.GoodsParamTypes>();
|
||||
jm.data = new
|
||||
{
|
||||
goodsParamTypes
|
||||
};
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsGoodsParams/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
var goodsParamTypes = EnumHelper.EnumToList<GlobalEnumVars.GoodsParamTypes>();
|
||||
jm.data = new
|
||||
{
|
||||
goodsParamTypes
|
||||
};
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsGoodsParams/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsGoodsParams entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
entity.createTime = DateTime.Now;
|
||||
var bl = await _coreCmsGoodsParamsServices.InsertAsync(entity) > 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
|
||||
|
||||
if (bl)
|
||||
{
|
||||
//获取列表
|
||||
var paramsList = await _coreCmsGoodsParamsServices.QueryListByClauseAsync(p => p.id > 0, p => p.id, OrderByType.Desc, true);
|
||||
jm.data = new
|
||||
{
|
||||
paramsList
|
||||
};
|
||||
}
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsGoodsParams/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 _coreCmsGoodsParamsServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
var goodsParamTypes = EnumHelper.EnumToList<GlobalEnumVars.GoodsParamTypes>();
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
goodsParamTypes
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Admins/CoreCmsGoodsParams/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsGoodsParams entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsGoodsParamsServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
//事物处理过程开始
|
||||
oldModel.name = entity.name;
|
||||
oldModel.value = entity.value;
|
||||
oldModel.type = entity.type;
|
||||
oldModel.updateTime = DateTime.Now;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _coreCmsGoodsParamsServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsGoodsParams/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 _coreCmsGoodsParamsServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var bl = await _coreCmsGoodsParamsServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsGoodsParams/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 _coreCmsGoodsParamsServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 选择导出============================================================
|
||||
|
||||
// POST: Api/CoreCmsGoodsParams/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 _coreCmsGoodsParamsServices.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].name);
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].value);
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].type);
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 导出excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsGoodsParams导出(选择结果).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/CoreCmsGoodsParams/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<CoreCmsGoodsParams>();
|
||||
//查询筛选
|
||||
|
||||
//序列 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));
|
||||
//参数值 nvarchar
|
||||
var value = Request.Form["value"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(value)) @where = @where.And(p => p.value.Contains(value));
|
||||
//参数类型 nvarchar
|
||||
var type = Request.Form["type"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(type)) @where = @where.And(p => p.type.Contains(type));
|
||||
//创建时间 datetime
|
||||
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(createTime))
|
||||
{
|
||||
var dt = createTime.ObjectToDate();
|
||||
where = where.And(p => p.createTime > dt);
|
||||
}
|
||||
|
||||
//更新时间 datetime
|
||||
var updateTime = Request.Form["updateTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(updateTime))
|
||||
{
|
||||
var dt = updateTime.ObjectToDate();
|
||||
where = where.And(p => p.updateTime > dt);
|
||||
}
|
||||
|
||||
//获取数据
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var sheet1 = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listmodel =
|
||||
await _coreCmsGoodsParamsServices.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].name);
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].value);
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].type);
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 写入到excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsGoodsParams导出(查询结果).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
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,278 @@
|
||||
/***********************************************************************
|
||||
* 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 CoreCmsGoodsTypeSpecController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsGoodsTypeSpecServices _coreCmsGoodsTypeSpecServices;
|
||||
private readonly ICoreCmsGoodsTypeSpecValueServices _valueServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public CoreCmsGoodsTypeSpecController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsGoodsTypeSpecServices coreCmsGoodsTypeSpecServices
|
||||
, ICoreCmsGoodsTypeSpecValueServices coreCmsGoodsTypeSpecValueServices)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsGoodsTypeSpecServices = coreCmsGoodsTypeSpecServices;
|
||||
_valueServices = coreCmsGoodsTypeSpecValueServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsGoodsTypeSpec/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<CoreCmsGoodsTypeSpec>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsGoodsTypeSpec, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "name":
|
||||
orderEx = p => p.name;
|
||||
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
|
||||
};
|
||||
//查询筛选
|
||||
|
||||
//序列 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));
|
||||
//属性排序 int
|
||||
var sort = Request.Form["sort"].FirstOrDefault().ObjectToInt(0);
|
||||
if (sort > 0) @where = @where.And(p => p.sort == sort);
|
||||
//获取数据
|
||||
var list = await _coreCmsGoodsTypeSpecServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent,
|
||||
pageSize);
|
||||
|
||||
if (list != null && list.Any())
|
||||
{
|
||||
var ids = list.Select(p => p.id).ToList();
|
||||
if (ids.Any())
|
||||
{
|
||||
var values = await _valueServices.QueryListByClauseAsync(p => ids.Contains(p.specId));
|
||||
foreach (var item in list)
|
||||
item.specValues = values.Where(p => p.specId == item.id).OrderBy(p => p.sort).ToList();
|
||||
}
|
||||
}
|
||||
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsGoodsTypeSpec/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsGoodsTypeSpec/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsGoodsTypeSpec/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] FmGoodsTypeSpecInsert entity)
|
||||
{
|
||||
var jm = await _coreCmsGoodsTypeSpecServices.InsertAsync(entity);
|
||||
|
||||
if (jm.code == 0)
|
||||
{
|
||||
//获取SKU列表
|
||||
var skuList = await _coreCmsGoodsTypeSpecServices.QueryListByClauseAsync(p => p.id > 0, p => p.id, OrderByType.Desc, true);
|
||||
jm.data = new
|
||||
{
|
||||
skuList
|
||||
};
|
||||
|
||||
}
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsGoodsTypeSpec/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 _coreCmsGoodsTypeSpecServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var values =
|
||||
await _valueServices.QueryListByClauseAsync(p => p.specId == model.id, p => p.sort,
|
||||
OrderByType.Asc);
|
||||
model.specValues = values;
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Admins/CoreCmsGoodsTypeSpec/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] FmGoodsTypeSpecUpdate entity)
|
||||
{
|
||||
var jm = await _coreCmsGoodsTypeSpecServices.UpdateAsync(entity);
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsGoodsTypeSpec/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 _coreCmsGoodsTypeSpecServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
jm = await _coreCmsGoodsTypeSpecServices.DeleteByIdAsync(entity.id);
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,208 @@
|
||||
/***********************************************************************
|
||||
* 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 CoreCmsProductsController : ControllerBase
|
||||
{
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly ICoreCmsProductsServices _coreCmsProductsServices;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
///</summary>
|
||||
public CoreCmsProductsController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsProductsServices coreCmsProductsServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsProductsServices = coreCmsProductsServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
// POST: Api/CoreCmsProducts/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<CoreCmsProducts>();
|
||||
where = where.And(p => p.isDel == false);
|
||||
|
||||
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
|
||||
Expression<Func<CoreCmsProducts, object>> orderEx = orderField switch
|
||||
{
|
||||
"id" => p => p.id,
|
||||
"goodsId" => p => p.goodsId,
|
||||
"barcode" => p => p.barcode,
|
||||
"sn" => p => p.sn,
|
||||
"price" => p => p.price,
|
||||
"costprice" => p => p.costprice,
|
||||
"mktprice" => p => p.mktprice,
|
||||
"marketable" => p => p.marketable,
|
||||
"weight" => p => p.weight,
|
||||
"stock" => p => p.stock,
|
||||
"freezeStock" => p => p.freezeStock,
|
||||
"spesDesc" => p => p.spesDesc,
|
||||
"isDefalut" => p => p.isDefalut,
|
||||
"images" => p => p.images,
|
||||
"isDel" => p => p.isDel,
|
||||
_ => p => p.id
|
||||
};
|
||||
|
||||
//设置排序方式
|
||||
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
|
||||
var orderBy = orderDirection switch
|
||||
{
|
||||
"asc" => OrderByType.Asc,
|
||||
"desc" => OrderByType.Desc,
|
||||
_ => OrderByType.Desc
|
||||
};
|
||||
//查询筛选
|
||||
|
||||
|
||||
//货品条码 nvarchar
|
||||
var barcode = Request.Form["barcode"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(barcode))
|
||||
{
|
||||
where = where.And(p => p.barcode.Contains(barcode));
|
||||
}
|
||||
//商品编码 nvarchar
|
||||
var sn = Request.Form["sn"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(sn))
|
||||
{
|
||||
where = where.And(p => p.sn.Contains(sn));
|
||||
}
|
||||
//规格值 nvarchar
|
||||
var spesDesc = Request.Form["spesDesc"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(spesDesc))
|
||||
{
|
||||
where = where.And(p => p.spesDesc.Contains(spesDesc));
|
||||
}
|
||||
//规格值 nvarchar
|
||||
var name = Request.Form["name"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(name))
|
||||
{
|
||||
where = where.And(p => p.name.Contains(name));
|
||||
}
|
||||
|
||||
//获取数据
|
||||
var list = await _coreCmsProductsServices.QueryDetailPageAsync(where, orderEx, orderBy, pageCurrent, pageSize, true);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
// POST: Api/CoreCmsProducts/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region 预览数据============================================================
|
||||
// POST: Api/CoreCmsProducts/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 _coreCmsProductsServices.QueryByClauseAsync(p => p.id == entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 设置库存============================================================
|
||||
// POST: Api/CoreCmsProducts/DoSetStock/10
|
||||
/// <summary>
|
||||
/// 设置库存
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置库存")]
|
||||
public async Task<AdminUiCallBack> DoSetStock([FromBody] FMUpdateIntegerDataByIntId entity)
|
||||
{
|
||||
var jm = await _coreCmsProductsServices.EditStock(entity.id, entity.data);
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,498 @@
|
||||
/***********************************************************************
|
||||
* 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 SqlSugar;
|
||||
|
||||
namespace CoreCms.Net.Web.Admin.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 表单
|
||||
/// </summary>
|
||||
[Description("表单")]
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
[RequiredErrorForAdmin]
|
||||
[Authorize(Permissions.Name)]
|
||||
public class CoreCmsFormController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsFormServices _coreCmsFormServices;
|
||||
private readonly ICoreCmsFormItemServices _formItemServices;
|
||||
private readonly ICoreCmsFormSubmitServices _formSubmitServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public CoreCmsFormController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsFormServices coreCmsFormServices, ICoreCmsFormItemServices formItemServices, ICoreCmsFormSubmitServices formSubmitServices)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsFormServices = coreCmsFormServices;
|
||||
_formItemServices = formItemServices;
|
||||
_formSubmitServices = formSubmitServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsForm/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<CoreCmsForm>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsForm, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "name":
|
||||
orderEx = p => p.name;
|
||||
break;
|
||||
case "type":
|
||||
orderEx = p => p.type;
|
||||
break;
|
||||
case "sort":
|
||||
orderEx = p => p.sort;
|
||||
break;
|
||||
case "description":
|
||||
orderEx = p => p.description;
|
||||
break;
|
||||
case "headType":
|
||||
orderEx = p => p.headType;
|
||||
break;
|
||||
case "headTypeValue":
|
||||
orderEx = p => p.headTypeValue;
|
||||
break;
|
||||
case "headTypeVideo":
|
||||
orderEx = p => p.headTypeVideo;
|
||||
break;
|
||||
case "buttonName":
|
||||
orderEx = p => p.buttonName;
|
||||
break;
|
||||
case "buttonColor":
|
||||
orderEx = p => p.buttonColor;
|
||||
break;
|
||||
case "isLogin":
|
||||
orderEx = p => p.isLogin;
|
||||
break;
|
||||
case "times":
|
||||
orderEx = p => p.times;
|
||||
break;
|
||||
case "qrcode":
|
||||
orderEx = p => p.qrcode;
|
||||
break;
|
||||
case "returnMsg":
|
||||
orderEx = p => p.returnMsg;
|
||||
break;
|
||||
case "endDateTime":
|
||||
orderEx = p => p.endDateTime;
|
||||
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);
|
||||
//表单名称 nvarchar
|
||||
var name = Request.Form["name"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(name)) where = where.And(p => p.name.Contains(name));
|
||||
//表单类型 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);
|
||||
//表单描述 nvarchar
|
||||
var description = Request.Form["description"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(description)) where = where.And(p => p.description.Contains(description));
|
||||
//表头类型 int
|
||||
var headType = Request.Form["headType"].FirstOrDefault().ObjectToInt(0);
|
||||
if (headType > 0) where = where.And(p => p.headType == headType);
|
||||
//表单头值 nvarchar
|
||||
var headTypeValue = Request.Form["headTypeValue"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(headTypeValue)) where = where.And(p => p.headTypeValue.Contains(headTypeValue));
|
||||
//表单视频 nvarchar
|
||||
var headTypeVideo = Request.Form["headTypeVideo"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(headTypeVideo)) where = where.And(p => p.headTypeVideo.Contains(headTypeVideo));
|
||||
//表单提交按钮名称 nvarchar
|
||||
var buttonName = Request.Form["buttonName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(buttonName)) where = where.And(p => p.buttonName.Contains(buttonName));
|
||||
//表单按钮颜色 nvarchar
|
||||
var buttonColor = Request.Form["buttonColor"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(buttonColor)) where = where.And(p => p.buttonColor.Contains(buttonColor));
|
||||
//是否需要登录 bit
|
||||
var isLogin = Request.Form["isLogin"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isLogin) && isLogin.ToLowerInvariant() == "true")
|
||||
where = where.And(p => p.isLogin);
|
||||
else if (!string.IsNullOrEmpty(isLogin) && isLogin.ToLowerInvariant() == "false")
|
||||
where = where.And(p => p.isLogin == false);
|
||||
//可提交次数 int
|
||||
var times = Request.Form["times"].FirstOrDefault().ObjectToInt(0);
|
||||
if (times > 0) where = where.And(p => p.times == times);
|
||||
//二维码图片地址 nvarchar
|
||||
var qrcode = Request.Form["qrcode"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(qrcode)) where = where.And(p => p.qrcode.Contains(qrcode));
|
||||
//提交后提示语 nvarchar
|
||||
var returnMsg = Request.Form["returnMsg"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(returnMsg)) where = where.And(p => p.returnMsg.Contains(returnMsg));
|
||||
//结束时间 datetime
|
||||
var endDateTime = Request.Form["endDateTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(endDateTime))
|
||||
{
|
||||
if (endDateTime.Contains("到"))
|
||||
{
|
||||
var dts = endDateTime.Split("到");
|
||||
var dtStart = dts[0].Trim().ObjectToDate();
|
||||
where = where.And(p => p.endDateTime > dtStart);
|
||||
var dtEnd = dts[1].Trim().ObjectToDate();
|
||||
where = where.And(p => p.endDateTime < dtEnd);
|
||||
}
|
||||
else
|
||||
{
|
||||
var dt = endDateTime.ObjectToDate();
|
||||
where = where.And(p => p.endDateTime > dt);
|
||||
}
|
||||
}
|
||||
|
||||
//创建时间 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 _coreCmsFormServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsForm/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var formTypes = EnumHelper.EnumToList<GlobalEnumVars.FormTypes>();
|
||||
jm.data = new
|
||||
{
|
||||
formTypes
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsForm/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var formTypes = EnumHelper.EnumToList<GlobalEnumVars.FormTypes>();
|
||||
var formHeadTypes = EnumHelper.EnumToList<GlobalEnumVars.FormHeadTypes>();
|
||||
var formFieldTypes = EnumHelper.EnumToList<GlobalEnumVars.FormFieldTypes>();
|
||||
var formValidationTypes = EnumHelper.EnumToList<GlobalEnumVars.FormValidationTypes>();
|
||||
|
||||
jm.data = new
|
||||
{
|
||||
formTypes,
|
||||
formHeadTypes,
|
||||
formFieldTypes,
|
||||
formValidationTypes
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsForm/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] FMForm entity)
|
||||
{
|
||||
var jm = await _coreCmsFormServices.InsertAsync(entity);
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsForm/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 _coreCmsFormServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
|
||||
var formTypes = EnumHelper.EnumToList<GlobalEnumVars.FormTypes>();
|
||||
var formHeadTypes = EnumHelper.EnumToList<GlobalEnumVars.FormHeadTypes>();
|
||||
var formFieldTypes = EnumHelper.EnumToList<GlobalEnumVars.FormFieldTypes>();
|
||||
var formValidationTypes = EnumHelper.EnumToList<GlobalEnumVars.FormValidationTypes>();
|
||||
var items = await _formItemServices.QueryListByClauseAsync(p => p.formId == model.id, p => p.sort, OrderByType.Asc);
|
||||
jm.data = new
|
||||
{
|
||||
formTypes,
|
||||
formHeadTypes,
|
||||
formFieldTypes,
|
||||
formValidationTypes,
|
||||
model,
|
||||
items
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsForm/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] FMForm entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
//事物处理过程结束
|
||||
jm = await _coreCmsFormServices.UpdateAsync(entity);
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsForm/DoDelete/10
|
||||
/// <summary>
|
||||
/// 单选删除
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("单选删除")]
|
||||
public async Task<AdminUiCallBack> DoDelete([FromBody] FMIntId entity)
|
||||
{
|
||||
var jm = await _coreCmsFormServices.DeleteByIdAsync(entity.id);
|
||||
|
||||
return jm;
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsForm/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 _coreCmsFormServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
var totalSubmit = await _formSubmitServices.GetCountAsync(p => p.formId == entity.id);
|
||||
var sumSubmit = await _formSubmitServices.GetSumAsync(p => p.formId == entity.id, p => p.money);
|
||||
|
||||
var formData = await _formSubmitServices.GetStatisticsByFormid(entity.id, 7);
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
formData.data,
|
||||
formData.day,
|
||||
totalSubmit,
|
||||
sumSubmit
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 设置是否需要登录============================================================
|
||||
|
||||
// POST: Api/CoreCmsForm/DoSetisLogin/10
|
||||
/// <summary>
|
||||
/// 设置是否需要登录
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置是否需要登录")]
|
||||
public async Task<AdminUiCallBack> DoSetisLogin([FromBody] FMUpdateBoolDataByIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsFormServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
oldModel.isLogin = entity.data;
|
||||
|
||||
var bl = await _coreCmsFormServices.UpdateAsync(p => new CoreCmsForm() { isLogin = oldModel.isLogin }, p => p.id == oldModel.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? "设置成功" : "设置失败";
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,841 @@
|
||||
/***********************************************************************
|
||||
* 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 CoreCmsFormSubmitController : ControllerBase
|
||||
{
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly ICoreCmsFormSubmitServices _coreCmsFormSubmitServices;
|
||||
private readonly ICoreCmsFormSubmitDetailServices _formSubmitDetailServices;
|
||||
private readonly ICoreCmsFormServices _formServices;
|
||||
private readonly ICoreCmsUserServices _userServices;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
///</summary>
|
||||
public CoreCmsFormSubmitController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsFormSubmitServices coreCmsFormSubmitServices, ICoreCmsFormServices formServices, ICoreCmsFormSubmitDetailServices formSubmitDetailServices, ICoreCmsUserServices userServices)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsFormSubmitServices = coreCmsFormSubmitServices;
|
||||
_formServices = formServices;
|
||||
_formSubmitDetailServices = formSubmitDetailServices;
|
||||
_userServices = userServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
// POST: Api/CoreCmsFormSubmit/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<CoreCmsFormSubmit>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
|
||||
Expression<Func<CoreCmsFormSubmit, object>> orderEx = orderField switch
|
||||
{
|
||||
"id" => p => p.id,
|
||||
"formId" => p => p.formId,
|
||||
"formName" => p => p.formName,
|
||||
"userId" => p => p.userId,
|
||||
"money" => p => p.money,
|
||||
"payStatus" => p => p.payStatus,
|
||||
"status" => p => p.status,
|
||||
"feedback" => p => p.feedback,
|
||||
"ip" => p => p.ip,
|
||||
"createTime" => p => p.createTime,
|
||||
"updateTime" => p => p.updateTime,
|
||||
_ => p => p.id
|
||||
};
|
||||
|
||||
//设置排序方式
|
||||
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
|
||||
var orderBy = orderDirection switch
|
||||
{
|
||||
"asc" => OrderByType.Asc,
|
||||
"desc" => OrderByType.Desc,
|
||||
_ => OrderByType.Desc
|
||||
};
|
||||
//查询筛选
|
||||
|
||||
//表单id int
|
||||
var formId = Request.Form["formId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (formId > 0)
|
||||
{
|
||||
where = where.And(p => p.formId == formId);
|
||||
}
|
||||
|
||||
//用户昵称 nvarchar
|
||||
var userName = Request.Form["userName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(userName))
|
||||
{
|
||||
where = where.And(p => p.userName.Contains(userName));
|
||||
}
|
||||
|
||||
//是否支付 bit
|
||||
var payStatus = Request.Form["payStatus"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(payStatus) && payStatus.ToLowerInvariant() == "true")
|
||||
{
|
||||
where = where.And(p => p.payStatus == true);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(payStatus) && payStatus.ToLowerInvariant() == "false")
|
||||
{
|
||||
where = where.And(p => p.payStatus == false);
|
||||
}
|
||||
//是否处理 bit
|
||||
var status = Request.Form["status"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(status) && status.ToLowerInvariant() == "true")
|
||||
{
|
||||
where = where.And(p => p.status == true);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(status) && status.ToLowerInvariant() == "false")
|
||||
{
|
||||
where = where.And(p => p.status == false);
|
||||
}
|
||||
//表单反馈 nvarchar
|
||||
var feedback = Request.Form["feedback"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(feedback))
|
||||
{
|
||||
where = where.And(p => p.feedback.Contains(feedback));
|
||||
}
|
||||
//提交人ip nvarchar
|
||||
var ip = Request.Form["ip"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(ip))
|
||||
{
|
||||
where = where.And(p => p.ip.Contains(ip));
|
||||
}
|
||||
//创建时间 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 _coreCmsFormSubmitServices.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/CoreCmsFormSubmit/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public async Task<AdminUiCallBack> GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var forms = await _formServices.QueryAsync();
|
||||
jm.data = new
|
||||
{
|
||||
forms
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
// POST: Api/CoreCmsFormSubmit/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 _coreCmsFormSubmitServices.QueryByIdAsync(entity.id, false);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
// POST: Api/CoreCmsFormSubmit/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 _coreCmsFormSubmitServices.ExistsAsync(p => p.id == entity.id, true);
|
||||
if (!model)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
jm = await _coreCmsFormSubmitServices.DeleteByIdAsync(entity.id);
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
// POST: Api/CoreCmsFormSubmit/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 _coreCmsFormSubmitServices.QueryByIdAsync(entity.id, false);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
|
||||
var getResult = await _formServices.GetFormInfo(model.formId, "", true);
|
||||
var formModel = getResult.data as CoreCmsForm;
|
||||
if (formModel == null)
|
||||
{
|
||||
jm.msg = "表单信息获取失败";
|
||||
jm.data = getResult;
|
||||
return jm;
|
||||
}
|
||||
|
||||
if (formModel.Items.Any())
|
||||
{
|
||||
var ids = formModel.Items.Select(p => p.id).ToArray();
|
||||
var submitDetail = await _formSubmitDetailServices.QueryListByClauseAsync(p => ids.Contains(p.formItemId) && p.submitId == model.id);
|
||||
|
||||
foreach (var item in formModel.Items)
|
||||
{
|
||||
var sub = submitDetail.Find(p => p.formItemId == item.id);
|
||||
if (sub != null)
|
||||
{
|
||||
if (item.type == GlobalEnumVars.FormFieldTypes.goods.ToString())
|
||||
{
|
||||
item.value = sub.formItemName + " x 数量" + sub.formItemValue;
|
||||
}
|
||||
else
|
||||
{
|
||||
item.value = sub.formItemValue;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
item.value = "";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (model.userId > 0)
|
||||
{
|
||||
var user = await _userServices.QueryByClauseAsync(p => p.id == model.userId);
|
||||
model.userName = user != null ? user.nickName : "";
|
||||
}
|
||||
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
formModel.Items
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 选择导出============================================================
|
||||
// POST: Api/CoreCmsFormSubmit/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 mySheet = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listModel = await _coreCmsFormSubmitServices.QueryListByClauseAsync(p => entity.id.Contains(p.id), p => p.id, OrderByType.Asc, true);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var headerRow = mySheet.CreateRow(0);
|
||||
var headerStyle = ExcelHelper.GetHeaderStyle(book);
|
||||
|
||||
var cell0 = headerRow.CreateCell(0);
|
||||
cell0.SetCellValue("序列");
|
||||
cell0.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(0, 10 * 256);
|
||||
|
||||
var cell1 = headerRow.CreateCell(1);
|
||||
cell1.SetCellValue("表单id");
|
||||
cell1.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(1, 10 * 256);
|
||||
|
||||
var cell2 = headerRow.CreateCell(2);
|
||||
cell2.SetCellValue("表单名称");
|
||||
cell2.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(2, 10 * 256);
|
||||
|
||||
var cell3 = headerRow.CreateCell(3);
|
||||
cell3.SetCellValue("会员id");
|
||||
cell3.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(3, 10 * 256);
|
||||
|
||||
var cell4 = headerRow.CreateCell(4);
|
||||
cell4.SetCellValue("总金额");
|
||||
cell4.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(4, 10 * 256);
|
||||
|
||||
var cell5 = headerRow.CreateCell(5);
|
||||
cell5.SetCellValue("是否支付");
|
||||
cell5.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(5, 10 * 256);
|
||||
|
||||
var cell6 = headerRow.CreateCell(6);
|
||||
cell6.SetCellValue("是否处理");
|
||||
cell6.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(6, 10 * 256);
|
||||
|
||||
var cell7 = headerRow.CreateCell(7);
|
||||
cell7.SetCellValue("表单反馈");
|
||||
cell7.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(7, 10 * 256);
|
||||
|
||||
var cell8 = headerRow.CreateCell(8);
|
||||
cell8.SetCellValue("提交人ip");
|
||||
cell8.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(8, 10 * 256);
|
||||
|
||||
var cell9 = headerRow.CreateCell(9);
|
||||
cell9.SetCellValue("创建时间");
|
||||
cell9.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(9, 10 * 256);
|
||||
|
||||
var cell10 = headerRow.CreateCell(10);
|
||||
cell10.SetCellValue("更新时间");
|
||||
cell10.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(10, 10 * 256);
|
||||
|
||||
headerRow.Height = 30 * 20;
|
||||
var commonCellStyle = ExcelHelper.GetCommonStyle(book);
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listModel.Count; i++)
|
||||
{
|
||||
var rowTemp = mySheet.CreateRow(i + 1);
|
||||
|
||||
var rowTemp0 = rowTemp.CreateCell(0);
|
||||
rowTemp0.SetCellValue(listModel[i].id.ToString());
|
||||
rowTemp0.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp1 = rowTemp.CreateCell(1);
|
||||
rowTemp1.SetCellValue(listModel[i].formId.ToString());
|
||||
rowTemp1.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp2 = rowTemp.CreateCell(2);
|
||||
rowTemp2.SetCellValue(listModel[i].formName.ToString());
|
||||
rowTemp2.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp3 = rowTemp.CreateCell(3);
|
||||
rowTemp3.SetCellValue(listModel[i].userId.ToString());
|
||||
rowTemp3.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp4 = rowTemp.CreateCell(4);
|
||||
rowTemp4.SetCellValue(listModel[i].money.ToString());
|
||||
rowTemp4.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp5 = rowTemp.CreateCell(5);
|
||||
rowTemp5.SetCellValue(listModel[i].payStatus.ToString());
|
||||
rowTemp5.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp6 = rowTemp.CreateCell(6);
|
||||
rowTemp6.SetCellValue(listModel[i].status.ToString());
|
||||
rowTemp6.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp7 = rowTemp.CreateCell(7);
|
||||
rowTemp7.SetCellValue(listModel[i].feedback.ToString());
|
||||
rowTemp7.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp8 = rowTemp.CreateCell(8);
|
||||
rowTemp8.SetCellValue(listModel[i].ip.ToString());
|
||||
rowTemp8.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp9 = rowTemp.CreateCell(9);
|
||||
rowTemp9.SetCellValue(listModel[i].createTime.ToString());
|
||||
rowTemp9.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp10 = rowTemp.CreateCell(10);
|
||||
rowTemp10.SetCellValue(listModel[i].updateTime.ToString());
|
||||
rowTemp10.CellStyle = commonCellStyle;
|
||||
|
||||
}
|
||||
// 导出excel
|
||||
string webRootPath = _webHostEnvironment.WebRootPath;
|
||||
string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsFormSubmit导出(选择结果).xls";
|
||||
string filePath = webRootPath + tpath;
|
||||
DirectoryInfo di = new DirectoryInfo(filePath);
|
||||
if (!di.Exists)
|
||||
{
|
||||
di.Create();
|
||||
}
|
||||
FileStream 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/CoreCmsFormSubmit/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<CoreCmsFormSubmit>();
|
||||
//查询筛选
|
||||
|
||||
//序列 int
|
||||
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||
if (id > 0)
|
||||
{
|
||||
where = where.And(p => p.id == id);
|
||||
}
|
||||
//表单id int
|
||||
var formId = Request.Form["formId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (formId > 0)
|
||||
{
|
||||
where = where.And(p => p.formId == formId);
|
||||
}
|
||||
//表单名称 nvarchar
|
||||
var formName = Request.Form["formName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(formName))
|
||||
{
|
||||
where = where.And(p => p.formName.Contains(formName));
|
||||
}
|
||||
//会员id int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0)
|
||||
{
|
||||
where = where.And(p => p.userId == userId);
|
||||
}
|
||||
//是否支付 bit
|
||||
var payStatus = Request.Form["payStatus"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(payStatus) && payStatus.ToLowerInvariant() == "true")
|
||||
{
|
||||
where = where.And(p => p.payStatus == true);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(payStatus) && payStatus.ToLowerInvariant() == "false")
|
||||
{
|
||||
where = where.And(p => p.payStatus == false);
|
||||
}
|
||||
//是否处理 bit
|
||||
var status = Request.Form["status"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(status) && status.ToLowerInvariant() == "true")
|
||||
{
|
||||
where = where.And(p => p.status == true);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(status) && status.ToLowerInvariant() == "false")
|
||||
{
|
||||
where = where.And(p => p.status == false);
|
||||
}
|
||||
//表单反馈 nvarchar
|
||||
var feedback = Request.Form["feedback"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(feedback))
|
||||
{
|
||||
where = where.And(p => p.feedback.Contains(feedback));
|
||||
}
|
||||
//提交人ip nvarchar
|
||||
var ip = Request.Form["ip"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(ip))
|
||||
{
|
||||
where = where.And(p => p.ip.Contains(ip));
|
||||
}
|
||||
//创建时间 datetime
|
||||
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(createTime))
|
||||
{
|
||||
var dt = createTime.ObjectToDate();
|
||||
where = where.And(p => p.createTime > dt);
|
||||
}
|
||||
//更新时间 datetime
|
||||
var updateTime = Request.Form["updateTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(updateTime))
|
||||
{
|
||||
var dt = updateTime.ObjectToDate();
|
||||
where = where.And(p => p.updateTime > dt);
|
||||
}
|
||||
//获取数据
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var mySheet = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listModel = await _coreCmsFormSubmitServices.QueryListByClauseAsync(where, p => p.id, OrderByType.Asc, true);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var headerRow = mySheet.CreateRow(0);
|
||||
var headerStyle = ExcelHelper.GetHeaderStyle(book);
|
||||
|
||||
var cell0 = headerRow.CreateCell(0);
|
||||
cell0.SetCellValue("序列");
|
||||
cell0.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(0, 10 * 256);
|
||||
|
||||
var cell1 = headerRow.CreateCell(1);
|
||||
cell1.SetCellValue("表单id");
|
||||
cell1.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(1, 10 * 256);
|
||||
|
||||
var cell2 = headerRow.CreateCell(2);
|
||||
cell2.SetCellValue("表单名称");
|
||||
cell2.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(2, 10 * 256);
|
||||
|
||||
var cell3 = headerRow.CreateCell(3);
|
||||
cell3.SetCellValue("会员id");
|
||||
cell3.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(3, 10 * 256);
|
||||
|
||||
var cell4 = headerRow.CreateCell(4);
|
||||
cell4.SetCellValue("总金额");
|
||||
cell4.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(4, 10 * 256);
|
||||
|
||||
var cell5 = headerRow.CreateCell(5);
|
||||
cell5.SetCellValue("是否支付");
|
||||
cell5.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(5, 10 * 256);
|
||||
|
||||
var cell6 = headerRow.CreateCell(6);
|
||||
cell6.SetCellValue("是否处理");
|
||||
cell6.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(6, 10 * 256);
|
||||
|
||||
var cell7 = headerRow.CreateCell(7);
|
||||
cell7.SetCellValue("表单反馈");
|
||||
cell7.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(7, 10 * 256);
|
||||
|
||||
var cell8 = headerRow.CreateCell(8);
|
||||
cell8.SetCellValue("提交人ip");
|
||||
cell8.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(8, 10 * 256);
|
||||
|
||||
var cell9 = headerRow.CreateCell(9);
|
||||
cell9.SetCellValue("创建时间");
|
||||
cell9.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(9, 10 * 256);
|
||||
|
||||
var cell10 = headerRow.CreateCell(10);
|
||||
cell10.SetCellValue("更新时间");
|
||||
cell10.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(10, 10 * 256);
|
||||
|
||||
|
||||
headerRow.Height = 30 * 20;
|
||||
var commonCellStyle = ExcelHelper.GetCommonStyle(book);
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listModel.Count; i++)
|
||||
{
|
||||
var rowTemp = mySheet.CreateRow(i + 1);
|
||||
|
||||
|
||||
var rowTemp0 = rowTemp.CreateCell(0);
|
||||
rowTemp0.SetCellValue(listModel[i].id.ToString());
|
||||
rowTemp0.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp1 = rowTemp.CreateCell(1);
|
||||
rowTemp1.SetCellValue(listModel[i].formId.ToString());
|
||||
rowTemp1.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp2 = rowTemp.CreateCell(2);
|
||||
rowTemp2.SetCellValue(listModel[i].formName.ToString());
|
||||
rowTemp2.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp3 = rowTemp.CreateCell(3);
|
||||
rowTemp3.SetCellValue(listModel[i].userId.ToString());
|
||||
rowTemp3.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp4 = rowTemp.CreateCell(4);
|
||||
rowTemp4.SetCellValue(listModel[i].money.ToString());
|
||||
rowTemp4.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp5 = rowTemp.CreateCell(5);
|
||||
rowTemp5.SetCellValue(listModel[i].payStatus.ToString());
|
||||
rowTemp5.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp6 = rowTemp.CreateCell(6);
|
||||
rowTemp6.SetCellValue(listModel[i].status.ToString());
|
||||
rowTemp6.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp7 = rowTemp.CreateCell(7);
|
||||
rowTemp7.SetCellValue(listModel[i].feedback.ToString());
|
||||
rowTemp7.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp8 = rowTemp.CreateCell(8);
|
||||
rowTemp8.SetCellValue(listModel[i].ip.ToString());
|
||||
rowTemp8.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp9 = rowTemp.CreateCell(9);
|
||||
rowTemp9.SetCellValue(listModel[i].createTime.ToString());
|
||||
rowTemp9.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp10 = rowTemp.CreateCell(10);
|
||||
rowTemp10.SetCellValue(listModel[i].updateTime.ToString());
|
||||
rowTemp10.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
}
|
||||
// 写入到excel
|
||||
string webRootPath = _webHostEnvironment.WebRootPath;
|
||||
string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsFormSubmit导出(查询结果).xls";
|
||||
string filePath = webRootPath + tpath;
|
||||
DirectoryInfo di = new DirectoryInfo(filePath);
|
||||
if (!di.Exists)
|
||||
{
|
||||
di.Create();
|
||||
}
|
||||
FileStream 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/CoreCmsFormSubmit/DoSetpayStatus/10
|
||||
/// <summary>
|
||||
/// 设置是否支付
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置是否支付")]
|
||||
public async Task<AdminUiCallBack> DoSetpayStatus([FromBody] FMUpdateBoolDataByIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsFormSubmitServices.QueryByIdAsync(entity.id, false);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
oldModel.payStatus = (bool)entity.data;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _coreCmsFormSubmitServices.UpdateAsync(p => new CoreCmsFormSubmit() { payStatus = oldModel.payStatus }, p => p.id == oldModel.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 设置是否处理============================================================
|
||||
// POST: Api/CoreCmsFormSubmit/DoSetstatus/10
|
||||
/// <summary>
|
||||
/// 设置是否处理
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置是否处理")]
|
||||
public async Task<AdminUiCallBack> DoSetstatus([FromBody] FMUpdateBoolDataByIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsFormSubmitServices.QueryByIdAsync(entity.id, false);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
oldModel.status = (bool)entity.data;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _coreCmsFormSubmitServices.UpdateAsync(p => new CoreCmsFormSubmit() { status = oldModel.status }, p => p.id == oldModel.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 更新反馈============================================================
|
||||
// POST: Api/CoreCmsFormSubmit/DoSetstatus/10
|
||||
/// <summary>
|
||||
/// 更新反馈
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("更新反馈")]
|
||||
public async Task<AdminUiCallBack> DoSetFeedback([FromBody] FMUpdateStringDataByIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsFormSubmitServices.QueryByIdAsync(entity.id, false);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
oldModel.feedback = entity.data.ToString();
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _coreCmsFormSubmitServices.UpdateAsync(p => new CoreCmsFormSubmit() { feedback = oldModel.feedback, updateTime = DateTime.Now }, p => p.id == oldModel.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,271 @@
|
||||
/***********************************************************************
|
||||
* 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 SqlSugar;
|
||||
|
||||
namespace CoreCms.Net.Web.Admin.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 消息配置表
|
||||
/// </summary>
|
||||
[Description("消息配置表")]
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
[RequiredErrorForAdmin]
|
||||
[Authorize(Permissions.Name)]
|
||||
public class CoreCmsMessageCenterController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsMessageCenterServices _coreCmsMessageCenterServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="webHostEnvironment"></param>
|
||||
/// <param name="coreCmsMessageCenterServices"></param>
|
||||
public CoreCmsMessageCenterController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsMessageCenterServices coreCmsMessageCenterServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsMessageCenterServices = coreCmsMessageCenterServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsMessageCenter/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<CoreCmsMessageCenter>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsMessageCenter, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "code":
|
||||
orderEx = p => p.code;
|
||||
break;
|
||||
case "isSms":
|
||||
orderEx = p => p.isSms;
|
||||
break;
|
||||
case "isMessage":
|
||||
orderEx = p => p.isMessage;
|
||||
break;
|
||||
case "isWxTempletMessage":
|
||||
orderEx = p => p.isWxTempletMessage;
|
||||
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));
|
||||
//启用短信 bit
|
||||
var isSms = Request.Form["isSms"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isSms) && isSms.ToLowerInvariant() == "true")
|
||||
@where = @where.And(p => p.isSms);
|
||||
else if (!string.IsNullOrEmpty(isSms) && isSms.ToLowerInvariant() == "false")
|
||||
@where = @where.And(p => p.isSms == false);
|
||||
//启用站内消息 bit
|
||||
var isMessage = Request.Form["isMessage"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isMessage) && isMessage.ToLowerInvariant() == "true")
|
||||
@where = @where.And(p => p.isMessage);
|
||||
else if (!string.IsNullOrEmpty(isMessage) && isMessage.ToLowerInvariant() == "false")
|
||||
@where = @where.And(p => p.isMessage == false);
|
||||
//启用微信模板消息 bit
|
||||
var isWxTempletMessage = Request.Form["isWxTempletMessage"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isWxTempletMessage) && isWxTempletMessage.ToLowerInvariant() == "true")
|
||||
@where = @where.And(p => p.isWxTempletMessage);
|
||||
else if (!string.IsNullOrEmpty(isWxTempletMessage) && isWxTempletMessage.ToLowerInvariant() == "false")
|
||||
@where = @where.And(p => p.isWxTempletMessage == false);
|
||||
//获取数据
|
||||
var list = await _coreCmsMessageCenterServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent,
|
||||
pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsMessageCenter/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var platformMessageTypes = EnumHelper.EnumToList<GlobalEnumVars.PlatformMessageTypes>();
|
||||
jm.data = new
|
||||
{
|
||||
platformMessageTypes
|
||||
};
|
||||
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 设置启用短信============================================================
|
||||
|
||||
// POST: Api/CoreCmsMessageCenter/DoSetisSms/10
|
||||
/// <summary>
|
||||
/// 设置启用短信
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置启用短信")]
|
||||
public async Task<AdminUiCallBack> DoSetisSms([FromBody] FMUpdateBoolDataByIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsMessageCenterServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
oldModel.isSms = entity.data;
|
||||
|
||||
var bl = await _coreCmsMessageCenterServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 设置启用站内消息============================================================
|
||||
|
||||
// POST: Api/CoreCmsMessageCenter/DoSetisMessage/10
|
||||
/// <summary>
|
||||
/// 设置启用站内消息
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置启用站内消息")]
|
||||
public async Task<AdminUiCallBack> DoSetisMessage([FromBody] FMUpdateBoolDataByIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsMessageCenterServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
oldModel.isMessage = entity.data;
|
||||
|
||||
var bl = await _coreCmsMessageCenterServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 设置启用微信模板消息============================================================
|
||||
|
||||
// POST: Api/CoreCmsMessageCenter/DoSetisWxTempletMessage/10
|
||||
/// <summary>
|
||||
/// 设置启用微信模板消息
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置启用微信模板消息")]
|
||||
public async Task<AdminUiCallBack> DoSetisWxTempletMessage([FromBody] FMUpdateBoolDataByIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsMessageCenterServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
oldModel.isWxTempletMessage = entity.data;
|
||||
|
||||
var bl = await _coreCmsMessageCenterServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,251 @@
|
||||
/***********************************************************************
|
||||
* 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 SqlSugar;
|
||||
|
||||
namespace CoreCms.Net.Web.Admin.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 短信发送日志
|
||||
/// </summary>
|
||||
[Description("短信发送日志")]
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
[RequiredErrorForAdmin]
|
||||
[Authorize(Permissions.Name)]
|
||||
public class CoreCmsSmsController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsSmsServices _coreCmsSmsServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="webHostEnvironment"></param>
|
||||
/// <param name="coreCmsSmsServices"></param>
|
||||
public CoreCmsSmsController(IWebHostEnvironment webHostEnvironment, ICoreCmsSmsServices coreCmsSmsServices)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsSmsServices = coreCmsSmsServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsSms/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<CoreCmsSms>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsSms, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "mobile":
|
||||
orderEx = p => p.mobile;
|
||||
break;
|
||||
case "code":
|
||||
orderEx = p => p.code;
|
||||
break;
|
||||
case "parameters":
|
||||
orderEx = p => p.parameters;
|
||||
break;
|
||||
case "contentBody":
|
||||
orderEx = p => p.contentBody;
|
||||
break;
|
||||
case "ip":
|
||||
orderEx = p => p.ip;
|
||||
break;
|
||||
case "isUsed":
|
||||
orderEx = p => p.isUsed;
|
||||
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 mobile = Request.Form["mobile"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(mobile)) @where = @where.And(p => p.mobile.Contains(mobile));
|
||||
//发送编码 nvarchar
|
||||
var code = Request.Form["code"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(code)) @where = @where.And(p => p.code.Contains(code));
|
||||
//参数 nvarchar
|
||||
var parameters = Request.Form["parameters"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(parameters)) @where = @where.And(p => p.parameters.Contains(parameters));
|
||||
//内容 nvarchar
|
||||
var contentBody = Request.Form["contentBody"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(contentBody)) @where = @where.And(p => p.contentBody.Contains(contentBody));
|
||||
//ip nvarchar
|
||||
var ip = Request.Form["ip"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(ip)) @where = @where.And(p => p.ip.Contains(ip));
|
||||
//是否使用 bit
|
||||
var isUsed = Request.Form["isUsed"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isUsed) && isUsed.ToLowerInvariant() == "true")
|
||||
@where = @where.And(p => p.isUsed);
|
||||
else if (!string.IsNullOrEmpty(isUsed) && isUsed.ToLowerInvariant() == "false")
|
||||
@where = @where.And(p => p.isUsed == 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 _coreCmsSmsServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsSms/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var smsMessageTypes = EnumHelper.EnumToList<GlobalEnumVars.SmsMessageTypes>();
|
||||
var platformMessageTypes = EnumHelper.EnumToList<GlobalEnumVars.PlatformMessageTypes>();
|
||||
jm.data = new
|
||||
{
|
||||
smsMessageTypes,
|
||||
platformMessageTypes
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsSms/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 _coreCmsSmsServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var bl = await _coreCmsSmsServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
return jm;
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 批量删除============================================================
|
||||
|
||||
// POST: Api/CoreCmsSms/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 _coreCmsSmsServices.DeleteByIdsAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -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 CoreCmsSmsSettingController : ControllerBase
|
||||
{
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly ICoreCmsSettingServices _coreCmsSettingServices;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
///</summary>
|
||||
/// <param name="webHostEnvironment"></param>
|
||||
///<param name="coreCmsSettingServices"></param>
|
||||
public CoreCmsSmsSettingController(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
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,508 @@
|
||||
/***********************************************************************
|
||||
* 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 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 CoreCmsBillAftersalesController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsBillAftersalesServices _coreCmsBillAftersalesServices;
|
||||
private readonly ICoreCmsBillAftersalesImagesServices _imagesServices;
|
||||
private readonly ICoreCmsBillAftersalesItemServices _itemServices;
|
||||
private readonly ICoreCmsOrderServices _orderServices;
|
||||
private readonly ICoreCmsUserServices _userServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public CoreCmsBillAftersalesController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsBillAftersalesServices coreCmsBillAftersalesServices
|
||||
, ICoreCmsUserServices userServices
|
||||
, ICoreCmsBillAftersalesItemServices itemServices
|
||||
, ICoreCmsBillAftersalesImagesServices imagesServices
|
||||
, ICoreCmsOrderServices orderServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsBillAftersalesServices = coreCmsBillAftersalesServices;
|
||||
_userServices = userServices;
|
||||
_itemServices = itemServices;
|
||||
_imagesServices = imagesServices;
|
||||
_orderServices = orderServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillAftersales/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<CoreCmsBillAftersales>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsBillAftersales, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "aftersalesId":
|
||||
orderEx = p => p.aftersalesId;
|
||||
break;
|
||||
case "orderId":
|
||||
orderEx = p => p.orderId;
|
||||
break;
|
||||
case "userId":
|
||||
orderEx = p => p.userId;
|
||||
break;
|
||||
case "type":
|
||||
orderEx = p => p.type;
|
||||
break;
|
||||
case "refundAmount":
|
||||
orderEx = p => p.refundAmount;
|
||||
break;
|
||||
case "status":
|
||||
orderEx = p => p.status;
|
||||
break;
|
||||
case "reason":
|
||||
orderEx = p => p.reason;
|
||||
break;
|
||||
case "mark":
|
||||
orderEx = p => p.mark;
|
||||
break;
|
||||
case "createTime":
|
||||
orderEx = p => p.createTime;
|
||||
break;
|
||||
case "updateTime":
|
||||
orderEx = p => p.updateTime;
|
||||
break;
|
||||
default:
|
||||
orderEx = p => p.createTime;
|
||||
break;
|
||||
}
|
||||
|
||||
//设置排序方式
|
||||
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
|
||||
var orderBy = orderDirection switch
|
||||
{
|
||||
"asc" => OrderByType.Asc,
|
||||
"desc" => OrderByType.Desc,
|
||||
_ => OrderByType.Desc
|
||||
};
|
||||
//查询筛选
|
||||
|
||||
//售后单id nvarchar
|
||||
var aftersalesId = Request.Form["aftersalesId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(aftersalesId)) @where = @where.And(p => p.aftersalesId.Contains(aftersalesId));
|
||||
//订单ID nvarchar
|
||||
var orderId = Request.Form["orderId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(orderId)) @where = @where.And(p => p.orderId.Contains(orderId));
|
||||
//用户ID int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0) @where = @where.And(p => p.userId == userId);
|
||||
//售后类型 int
|
||||
var type = Request.Form["type"].FirstOrDefault().ObjectToInt(0);
|
||||
if (type > 0) @where = @where.And(p => p.type == type);
|
||||
//状态 int
|
||||
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
|
||||
if (status > 0) @where = @where.And(p => p.status == status);
|
||||
//退款原因 nvarchar
|
||||
var reason = Request.Form["reason"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(reason)) @where = @where.And(p => p.reason.Contains(reason));
|
||||
//卖家备注,如果审核失败了,会显示到前端 nvarchar
|
||||
var mark = Request.Form["mark"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(mark)) @where = @where.And(p => p.mark.Contains(mark));
|
||||
//提交时间 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 _coreCmsBillAftersalesServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillAftersales/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 审核数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillAftersales/GetEdit
|
||||
/// <summary>
|
||||
/// 审核数据
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("审核数据")]
|
||||
public async Task<AdminUiCallBack> GetEdit([FromBody] FMStringId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var model = await _coreCmsBillAftersalesServices.PreAudit(entity.id);
|
||||
if (!model.status)
|
||||
{
|
||||
jm.msg = model.msg;
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model.data;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 审核提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillAftersales/Edit
|
||||
/// <summary>
|
||||
/// 审核提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("审核提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] FMBillAftersalesAddPost entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
if (entity.status == 0)
|
||||
{
|
||||
jm.msg = "请选择审核状态";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var res = await _coreCmsBillAftersalesServices.Audit(entity.aftersalesId, entity.status, entity.type,
|
||||
entity.refund, entity.mark, entity.items);
|
||||
jm.code = res.status ? 0 : 1;
|
||||
jm.msg = res.msg;
|
||||
jm.data = res.data;
|
||||
jm.otherData = entity;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillAftersales/GetDetails/10
|
||||
/// <summary>
|
||||
/// 预览数据
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("预览数据")]
|
||||
public async Task<AdminUiCallBack> GetDetails([FromBody] FMStringId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var model = await _coreCmsBillAftersalesServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var userModel = await _userServices.QueryByClauseAsync(p => p.id == model.userId);
|
||||
model.userNickName = userModel != null ? userModel.nickName : "";
|
||||
model.statusName =
|
||||
EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.BillAftersalesStatus>(model.status);
|
||||
model.images = await _imagesServices.QueryListByClauseAsync(p => p.aftersalesId == model.aftersalesId);
|
||||
model.items = await _itemServices.QueryListByClauseAsync(p => p.aftersalesId == model.aftersalesId);
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 选择导出============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillAftersales/SelectExportExcel/10
|
||||
/// <summary>
|
||||
/// 选择导出
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("选择导出")]
|
||||
public async Task<AdminUiCallBack> SelectExportExcel([FromBody] FMArrayStringIds entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var sheet1 = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listmodel =
|
||||
await _coreCmsBillAftersalesServices.QueryListByClauseAsync(p => entity.id.Contains(p.aftersalesId),
|
||||
p => p.createTime, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var row1 = sheet1.CreateRow(0);
|
||||
row1.CreateCell(0).SetCellValue("售后单id");
|
||||
row1.CreateCell(1).SetCellValue("订单ID");
|
||||
row1.CreateCell(2).SetCellValue("用户ID");
|
||||
row1.CreateCell(3).SetCellValue("售后类型");
|
||||
row1.CreateCell(4).SetCellValue("退款金额");
|
||||
row1.CreateCell(5).SetCellValue("状态");
|
||||
row1.CreateCell(6).SetCellValue("退款原因");
|
||||
row1.CreateCell(7).SetCellValue("卖家备注,如果审核失败了,会显示到前端");
|
||||
row1.CreateCell(8).SetCellValue("提交时间");
|
||||
row1.CreateCell(9).SetCellValue("更新时间");
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listmodel.Count; i++)
|
||||
{
|
||||
var rowtemp = sheet1.CreateRow(i + 1);
|
||||
rowtemp.CreateCell(0).SetCellValue(listmodel[i].aftersalesId);
|
||||
rowtemp.CreateCell(1).SetCellValue(listmodel[i].orderId);
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].userId.ToString());
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].type.ToString());
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].refundAmount.ToString());
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].status.ToString());
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].reason);
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].mark);
|
||||
rowtemp.CreateCell(8).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(9).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 导出excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsBillAftersales导出(选择结果).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/CoreCmsBillAftersales/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<CoreCmsBillAftersales>();
|
||||
//查询筛选
|
||||
|
||||
//售后单id nvarchar
|
||||
var aftersalesId = Request.Form["aftersalesId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(aftersalesId))
|
||||
@where = @where.And(p => p.aftersalesId.Contains(aftersalesId));
|
||||
//订单ID nvarchar
|
||||
var orderId = Request.Form["orderId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(orderId)) @where = @where.And(p => p.orderId.Contains(orderId));
|
||||
//用户ID int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0) @where = @where.And(p => p.userId == userId);
|
||||
//售后类型 int
|
||||
var type = Request.Form["type"].FirstOrDefault().ObjectToInt(0);
|
||||
if (type > 0) @where = @where.And(p => p.type == type);
|
||||
//状态 int
|
||||
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
|
||||
if (status > 0) @where = @where.And(p => p.status == status);
|
||||
//退款原因 nvarchar
|
||||
var reason = Request.Form["reason"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(reason)) @where = @where.And(p => p.reason.Contains(reason));
|
||||
//卖家备注,如果审核失败了,会显示到前端 nvarchar
|
||||
var mark = Request.Form["mark"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(mark)) @where = @where.And(p => p.mark.Contains(mark));
|
||||
//提交时间 datetime
|
||||
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(createTime))
|
||||
{
|
||||
var dt = createTime.ObjectToDate();
|
||||
where = where.And(p => p.createTime > dt);
|
||||
}
|
||||
|
||||
//更新时间 datetime
|
||||
var updateTime = Request.Form["updateTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(updateTime))
|
||||
{
|
||||
var dt = updateTime.ObjectToDate();
|
||||
where = where.And(p => p.updateTime > dt);
|
||||
}
|
||||
|
||||
//获取数据
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var sheet1 = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listmodel =
|
||||
await _coreCmsBillAftersalesServices.QueryListByClauseAsync(where, p => p.createTime,
|
||||
OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var row1 = sheet1.CreateRow(0);
|
||||
row1.CreateCell(0).SetCellValue("售后单id");
|
||||
row1.CreateCell(1).SetCellValue("订单ID");
|
||||
row1.CreateCell(2).SetCellValue("用户ID");
|
||||
row1.CreateCell(3).SetCellValue("售后类型");
|
||||
row1.CreateCell(4).SetCellValue("退款金额");
|
||||
row1.CreateCell(5).SetCellValue("状态");
|
||||
row1.CreateCell(6).SetCellValue("退款原因");
|
||||
row1.CreateCell(7).SetCellValue("卖家备注");
|
||||
row1.CreateCell(8).SetCellValue("提交时间");
|
||||
row1.CreateCell(9).SetCellValue("更新时间");
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listmodel.Count; i++)
|
||||
{
|
||||
var rowtemp = sheet1.CreateRow(i + 1);
|
||||
rowtemp.CreateCell(0).SetCellValue(listmodel[i].aftersalesId);
|
||||
rowtemp.CreateCell(1).SetCellValue(listmodel[i].orderId);
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].userId.ToString());
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].type.ToString());
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].refundAmount.ToString());
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].status.ToString());
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].reason);
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].mark);
|
||||
rowtemp.CreateCell(8).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(9).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 写入到excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsBillAftersales导出(查询结果).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
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,638 @@
|
||||
/***********************************************************************
|
||||
* 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 CoreCmsBillDeliveryController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsAreaServices _areaServices;
|
||||
private readonly ICoreCmsBillDeliveryServices _coreCmsBillDeliveryServices;
|
||||
private readonly ICoreCmsBillDeliveryItemServices _itemServices;
|
||||
private readonly ICoreCmsLogisticsServices _logisticsServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public CoreCmsBillDeliveryController(IWebHostEnvironment webHostEnvironment,
|
||||
ICoreCmsBillDeliveryServices coreCmsBillDeliveryServices, ICoreCmsAreaServices areaServices,
|
||||
ICoreCmsBillDeliveryItemServices itemServices, ICoreCmsLogisticsServices logisticsServices)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsBillDeliveryServices = coreCmsBillDeliveryServices;
|
||||
_areaServices = areaServices;
|
||||
_itemServices = itemServices;
|
||||
_logisticsServices = logisticsServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillDelivery/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<CoreCmsBillDelivery>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsBillDelivery, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "deliveryId":
|
||||
orderEx = p => p.deliveryId;
|
||||
break;
|
||||
case "logiCode":
|
||||
orderEx = p => p.logiCode;
|
||||
break;
|
||||
case "logiNo":
|
||||
orderEx = p => p.logiNo;
|
||||
break;
|
||||
case "logiInformation":
|
||||
orderEx = p => p.logiInformation;
|
||||
break;
|
||||
case "logiStatus":
|
||||
orderEx = p => p.logiStatus;
|
||||
break;
|
||||
case "shipAreaId":
|
||||
orderEx = p => p.shipAreaId;
|
||||
break;
|
||||
case "shipAddress":
|
||||
orderEx = p => p.shipAddress;
|
||||
break;
|
||||
case "shipName":
|
||||
orderEx = p => p.shipName;
|
||||
break;
|
||||
case "shipMobile":
|
||||
orderEx = p => p.shipMobile;
|
||||
break;
|
||||
case "status":
|
||||
orderEx = p => p.status;
|
||||
break;
|
||||
case "memo":
|
||||
orderEx = p => p.memo;
|
||||
break;
|
||||
case "confirmTime":
|
||||
orderEx = p => p.confirmTime;
|
||||
break;
|
||||
case "createTime":
|
||||
orderEx = p => p.createTime;
|
||||
break;
|
||||
case "updateTime":
|
||||
orderEx = p => p.updateTime;
|
||||
break;
|
||||
default:
|
||||
orderEx = p => p.deliveryId;
|
||||
break;
|
||||
}
|
||||
|
||||
//设置排序方式
|
||||
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
|
||||
var orderBy = orderDirection switch
|
||||
{
|
||||
"asc" => OrderByType.Asc,
|
||||
"desc" => OrderByType.Desc,
|
||||
_ => OrderByType.Desc
|
||||
};
|
||||
//查询筛选
|
||||
|
||||
//发货单序列 nvarchar
|
||||
var deliveryId = Request.Form["deliveryId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(deliveryId)) @where = @where.And(p => p.deliveryId.Contains(deliveryId));
|
||||
//物流公司编码 nvarchar
|
||||
var logiCode = Request.Form["logiCode"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(logiCode)) @where = @where.And(p => p.logiCode.Contains(logiCode));
|
||||
//物流单号 nvarchar
|
||||
var logiNo = Request.Form["logiNo"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(logiNo)) @where = @where.And(p => p.logiNo.Contains(logiNo));
|
||||
//快递物流信息 nvarchar
|
||||
var logiInformation = Request.Form["logiInformation"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(logiInformation))
|
||||
@where = @where.And(p => p.logiInformation.Contains(logiInformation));
|
||||
//快递是否不更新 bit
|
||||
var logiStatus = Request.Form["logiStatus"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(logiStatus) && logiStatus.ToLowerInvariant() == "true")
|
||||
@where = @where.And(p => p.logiStatus);
|
||||
else if (!string.IsNullOrEmpty(logiStatus) && logiStatus.ToLowerInvariant() == "false")
|
||||
@where = @where.And(p => p.logiStatus == false);
|
||||
//收货地区ID int
|
||||
var shipAreaId = Request.Form["shipAreaId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (shipAreaId > 0) @where = @where.And(p => p.shipAreaId == shipAreaId);
|
||||
//收货详细地址 nvarchar
|
||||
var shipAddress = Request.Form["shipAddress"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(shipAddress)) @where = @where.And(p => p.shipAddress.Contains(shipAddress));
|
||||
//收货人姓名 nvarchar
|
||||
var shipName = Request.Form["shipName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(shipName)) @where = @where.And(p => p.shipName.Contains(shipName));
|
||||
//收货电话 nvarchar
|
||||
var shipMobile = Request.Form["shipMobile"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(shipMobile)) @where = @where.And(p => p.shipMobile.Contains(shipMobile));
|
||||
//状态 int
|
||||
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
|
||||
if (status > 0) @where = @where.And(p => p.status == status);
|
||||
//备注 nvarchar
|
||||
var memo = Request.Form["memo"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(memo)) @where = @where.And(p => p.memo.Contains(memo));
|
||||
//确认收货时间 datetime
|
||||
var confirmTime = Request.Form["confirmTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(confirmTime))
|
||||
{
|
||||
if (confirmTime.Contains("到"))
|
||||
{
|
||||
var dts = confirmTime.Split("到");
|
||||
var dtStart = dts[0].Trim().ObjectToDate();
|
||||
where = where.And(p => p.confirmTime > dtStart);
|
||||
var dtEnd = dts[1].Trim().ObjectToDate();
|
||||
where = where.And(p => p.confirmTime < dtEnd);
|
||||
}
|
||||
else
|
||||
{
|
||||
var dt = confirmTime.ObjectToDate();
|
||||
where = where.And(p => p.confirmTime > dt);
|
||||
}
|
||||
}
|
||||
|
||||
//创建时间 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 _coreCmsBillDeliveryServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent,
|
||||
pageSize);
|
||||
|
||||
if (list.Any())
|
||||
{
|
||||
var logist = await _logisticsServices.QueryAsync();
|
||||
var areaCache =await _areaServices.GetCaChe();
|
||||
foreach (var item in list)
|
||||
{
|
||||
if (item.shipAreaId > 0)
|
||||
{
|
||||
var result =await _areaServices.GetAreaFullName(item.shipAreaId, areaCache);
|
||||
if (result.status) item.shipAddress = result.data + item.shipAddress;
|
||||
}
|
||||
|
||||
|
||||
if (!string.IsNullOrEmpty(item.logiCode))
|
||||
{
|
||||
var logiModel = logist.Find(p => p.logiCode == item.logiCode);
|
||||
if (logiModel != null) item.logiName = logiModel.logiName;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillDelivery/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillDelivery/GetEdit
|
||||
/// <summary>
|
||||
/// 编辑数据
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑数据")]
|
||||
public async Task<AdminUiCallBack> GetEdit([FromBody] FMStringId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var model = await _coreCmsBillDeliveryServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
|
||||
var logistics = await _logisticsServices.QueryListByClauseAsync(p => p.isDelete == false);
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
logistics
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillDelivery/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsBillDelivery entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsBillDeliveryServices.QueryByIdAsync(entity.deliveryId);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
//事物处理过程开始
|
||||
oldModel.logiCode = entity.logiCode;
|
||||
oldModel.logiNo = entity.logiNo;
|
||||
oldModel.shipAreaId = entity.shipAreaId;
|
||||
oldModel.shipAddress = entity.shipAddress;
|
||||
oldModel.shipName = entity.shipName;
|
||||
oldModel.shipMobile = entity.shipMobile;
|
||||
oldModel.memo = entity.memo;
|
||||
oldModel.updateTime = DateTime.Now;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _coreCmsBillDeliveryServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillDelivery/GetDetails/10
|
||||
/// <summary>
|
||||
/// 预览数据
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("预览数据")]
|
||||
public async Task<AdminUiCallBack> GetDetails([FromBody] FMStringId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var model = await _coreCmsBillDeliveryServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
if (model.shipAreaId > 0)
|
||||
{
|
||||
var result =await _areaServices.GetAreaFullName(model.shipAreaId);
|
||||
if (result.status) model.shipAddress = result.data + model.shipAddress;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(model.logiCode))
|
||||
{
|
||||
var logiModel = await _logisticsServices.QueryByClauseAsync(p => p.logiCode == model.logiCode);
|
||||
;
|
||||
if (logiModel != null) model.logiName = logiModel.logiName;
|
||||
}
|
||||
|
||||
var items = await _itemServices.QueryListByClauseAsync(p => p.deliveryId == model.deliveryId,
|
||||
p => p.id, OrderByType.Asc);
|
||||
jm.code = 0;
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
items
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 选择导出============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillDelivery/SelectExportExcel/10
|
||||
/// <summary>
|
||||
/// 选择导出
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("选择导出")]
|
||||
public async Task<AdminUiCallBack> SelectExportExcel([FromBody] FMArrayStringIds entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var sheet1 = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listmodel =
|
||||
await _coreCmsBillDeliveryServices.QueryListByClauseAsync(p => entity.id.Contains(p.deliveryId),
|
||||
p => p.deliveryId, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var row1 = sheet1.CreateRow(0);
|
||||
row1.CreateCell(0).SetCellValue("发货单序列");
|
||||
row1.CreateCell(1).SetCellValue("物流公司编码");
|
||||
row1.CreateCell(2).SetCellValue("物流单号");
|
||||
row1.CreateCell(3).SetCellValue("快递物流信息");
|
||||
row1.CreateCell(4).SetCellValue("快递是否不更新");
|
||||
row1.CreateCell(5).SetCellValue("收货地区ID");
|
||||
row1.CreateCell(6).SetCellValue("收货详细地址");
|
||||
row1.CreateCell(7).SetCellValue("收货人姓名");
|
||||
row1.CreateCell(8).SetCellValue("收货电话");
|
||||
row1.CreateCell(9).SetCellValue("状态");
|
||||
row1.CreateCell(10).SetCellValue("备注");
|
||||
row1.CreateCell(11).SetCellValue("确认收货时间");
|
||||
row1.CreateCell(12).SetCellValue("创建时间");
|
||||
row1.CreateCell(13).SetCellValue("更新时间");
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listmodel.Count; i++)
|
||||
{
|
||||
var rowtemp = sheet1.CreateRow(i + 1);
|
||||
rowtemp.CreateCell(0).SetCellValue(listmodel[i].deliveryId);
|
||||
rowtemp.CreateCell(1).SetCellValue(listmodel[i].logiCode);
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].logiNo);
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].logiInformation);
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].logiStatus.ToString());
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].shipAreaId.ToString());
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].shipAddress);
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].shipName);
|
||||
rowtemp.CreateCell(8).SetCellValue(listmodel[i].shipMobile);
|
||||
rowtemp.CreateCell(9).SetCellValue(listmodel[i].status.ToString());
|
||||
rowtemp.CreateCell(10).SetCellValue(listmodel[i].memo);
|
||||
rowtemp.CreateCell(11).SetCellValue(listmodel[i].confirmTime.ToString());
|
||||
rowtemp.CreateCell(12).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(13).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 导出excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsBillDelivery导出(选择结果).xls";
|
||||
var filePath = webRootPath + tpath;
|
||||
var di = new DirectoryInfo(filePath);
|
||||
if (!di.Exists) di.Create();
|
||||
var fileHssf = new FileStream(filePath + fileName, FileMode.Create);
|
||||
book.Write(fileHssf);
|
||||
fileHssf.Close();
|
||||
|
||||
jm.code = 0;
|
||||
jm.msg = GlobalConstVars.ExcelExportSuccess;
|
||||
jm.data = tpath + fileName;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 查询导出============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillDelivery/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<CoreCmsBillDelivery>();
|
||||
//查询筛选
|
||||
|
||||
//发货单序列 nvarchar
|
||||
var deliveryId = Request.Form["deliveryId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(deliveryId)) @where = @where.And(p => p.deliveryId.Contains(deliveryId));
|
||||
//物流公司编码 nvarchar
|
||||
var logiCode = Request.Form["logiCode"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(logiCode)) @where = @where.And(p => p.logiCode.Contains(logiCode));
|
||||
//物流单号 nvarchar
|
||||
var logiNo = Request.Form["logiNo"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(logiNo)) @where = @where.And(p => p.logiNo.Contains(logiNo));
|
||||
//快递物流信息 nvarchar
|
||||
var logiInformation = Request.Form["logiInformation"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(logiInformation))
|
||||
@where = @where.And(p => p.logiInformation.Contains(logiInformation));
|
||||
//快递是否不更新 bit
|
||||
var logiStatus = Request.Form["logiStatus"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(logiStatus) && logiStatus.ToLowerInvariant() == "true")
|
||||
@where = @where.And(p => p.logiStatus);
|
||||
else if (!string.IsNullOrEmpty(logiStatus) && logiStatus.ToLowerInvariant() == "false")
|
||||
@where = @where.And(p => p.logiStatus == false);
|
||||
//收货地区ID int
|
||||
var shipAreaId = Request.Form["shipAreaId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (shipAreaId > 0) @where = @where.And(p => p.shipAreaId == shipAreaId);
|
||||
//收货详细地址 nvarchar
|
||||
var shipAddress = Request.Form["shipAddress"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(shipAddress)) @where = @where.And(p => p.shipAddress.Contains(shipAddress));
|
||||
//收货人姓名 nvarchar
|
||||
var shipName = Request.Form["shipName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(shipName)) @where = @where.And(p => p.shipName.Contains(shipName));
|
||||
//收货电话 nvarchar
|
||||
var shipMobile = Request.Form["shipMobile"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(shipMobile)) @where = @where.And(p => p.shipMobile.Contains(shipMobile));
|
||||
//状态 int
|
||||
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
|
||||
if (status > 0) @where = @where.And(p => p.status == status);
|
||||
//备注 nvarchar
|
||||
var memo = Request.Form["memo"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(memo)) @where = @where.And(p => p.memo.Contains(memo));
|
||||
//确认收货时间 datetime
|
||||
var confirmTime = Request.Form["confirmTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(confirmTime))
|
||||
{
|
||||
var dt = confirmTime.ObjectToDate();
|
||||
where = where.And(p => p.confirmTime > dt);
|
||||
}
|
||||
|
||||
//创建时间 datetime
|
||||
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(createTime))
|
||||
{
|
||||
var dt = createTime.ObjectToDate();
|
||||
where = where.And(p => p.createTime > dt);
|
||||
}
|
||||
|
||||
//更新时间 datetime
|
||||
var updateTime = Request.Form["updateTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(updateTime))
|
||||
{
|
||||
var dt = updateTime.ObjectToDate();
|
||||
where = where.And(p => p.updateTime > dt);
|
||||
}
|
||||
|
||||
//获取数据
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var sheet1 = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listmodel =
|
||||
await _coreCmsBillDeliveryServices.QueryListByClauseAsync(where, p => p.deliveryId,
|
||||
OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var row1 = sheet1.CreateRow(0);
|
||||
row1.CreateCell(0).SetCellValue("发货单序列");
|
||||
row1.CreateCell(1).SetCellValue("物流公司编码");
|
||||
row1.CreateCell(2).SetCellValue("物流单号");
|
||||
row1.CreateCell(3).SetCellValue("快递物流信息");
|
||||
row1.CreateCell(4).SetCellValue("快递是否不更新");
|
||||
row1.CreateCell(5).SetCellValue("收货地区ID");
|
||||
row1.CreateCell(6).SetCellValue("收货详细地址");
|
||||
row1.CreateCell(7).SetCellValue("收货人姓名");
|
||||
row1.CreateCell(8).SetCellValue("收货电话");
|
||||
row1.CreateCell(9).SetCellValue("状态");
|
||||
row1.CreateCell(10).SetCellValue("备注");
|
||||
row1.CreateCell(11).SetCellValue("确认收货时间");
|
||||
row1.CreateCell(12).SetCellValue("创建时间");
|
||||
row1.CreateCell(13).SetCellValue("更新时间");
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listmodel.Count; i++)
|
||||
{
|
||||
var rowtemp = sheet1.CreateRow(i + 1);
|
||||
rowtemp.CreateCell(0).SetCellValue(listmodel[i].deliveryId);
|
||||
rowtemp.CreateCell(1).SetCellValue(listmodel[i].logiCode);
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].logiNo);
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].logiInformation);
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].logiStatus.ToString());
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].shipAreaId.ToString());
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].shipAddress);
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].shipName);
|
||||
rowtemp.CreateCell(8).SetCellValue(listmodel[i].shipMobile);
|
||||
rowtemp.CreateCell(9).SetCellValue(listmodel[i].status.ToString());
|
||||
rowtemp.CreateCell(10).SetCellValue(listmodel[i].memo);
|
||||
rowtemp.CreateCell(11).SetCellValue(listmodel[i].confirmTime.ToString());
|
||||
rowtemp.CreateCell(12).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(13).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 写入到excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsBillDelivery导出(查询结果).xls";
|
||||
var filePath = webRootPath + tpath;
|
||||
var di = new DirectoryInfo(filePath);
|
||||
if (!di.Exists) di.Create();
|
||||
var fileHssf = new FileStream(filePath + fileName, FileMode.Create);
|
||||
book.Write(fileHssf);
|
||||
fileHssf.Close();
|
||||
|
||||
jm.code = 0;
|
||||
jm.msg = GlobalConstVars.ExcelExportSuccess;
|
||||
jm.data = tpath + fileName;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,601 @@
|
||||
/***********************************************************************
|
||||
* 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 CoreCmsBillLadingController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsBillLadingServices _coreCmsBillLadingServices;
|
||||
private readonly ICoreCmsStoreServices _storeServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public CoreCmsBillLadingController(
|
||||
IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsBillLadingServices coreCmsBillLadingServices
|
||||
, ICoreCmsStoreServices storeServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsBillLadingServices = coreCmsBillLadingServices;
|
||||
_storeServices = storeServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillLading/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<CoreCmsBillLading>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsBillLading, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "orderId":
|
||||
orderEx = p => p.orderId;
|
||||
break;
|
||||
case "storeId":
|
||||
orderEx = p => p.storeId;
|
||||
break;
|
||||
case "name":
|
||||
orderEx = p => p.name;
|
||||
break;
|
||||
case "mobile":
|
||||
orderEx = p => p.mobile;
|
||||
break;
|
||||
case "clerkId":
|
||||
orderEx = p => p.clerkId;
|
||||
break;
|
||||
case "pickUpTime":
|
||||
orderEx = p => p.pickUpTime;
|
||||
break;
|
||||
case "status":
|
||||
orderEx = p => p.status;
|
||||
break;
|
||||
case "createTime":
|
||||
orderEx = p => p.createTime;
|
||||
break;
|
||||
case "updateTime":
|
||||
orderEx = p => p.updateTime;
|
||||
break;
|
||||
case "isDel":
|
||||
orderEx = p => p.isDel;
|
||||
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
|
||||
};
|
||||
//查询筛选
|
||||
|
||||
//提货单号 nvarchar
|
||||
var id = Request.Form["id"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(id)) @where = @where.And(p => p.id.Contains(id));
|
||||
//订单号 nvarchar
|
||||
var orderId = Request.Form["orderId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(orderId)) @where = @where.And(p => p.orderId.Contains(orderId));
|
||||
//提货门店ID int
|
||||
var storeId = Request.Form["storeId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (storeId > 0) @where = @where.And(p => p.storeId == storeId);
|
||||
//提货人姓名 nvarchar
|
||||
var name = Request.Form["name"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(name)) @where = @where.And(p => p.name.Contains(name));
|
||||
//提货手机号 nvarchar
|
||||
var mobile = Request.Form["mobile"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(mobile)) @where = @where.And(p => p.mobile.Contains(mobile));
|
||||
//处理店员ID int
|
||||
var clerkId = Request.Form["clerkId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (clerkId > 0) @where = @where.And(p => p.clerkId == clerkId);
|
||||
//提货时间 datetime
|
||||
var pickUpTime = Request.Form["pickUpTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(pickUpTime))
|
||||
{
|
||||
if (pickUpTime.Contains("到"))
|
||||
{
|
||||
var dts = pickUpTime.Split("到");
|
||||
var dtStart = dts[0].Trim().ObjectToDate();
|
||||
where = where.And(p => p.pickUpTime > dtStart);
|
||||
var dtEnd = dts[1].Trim().ObjectToDate();
|
||||
where = where.And(p => p.pickUpTime < dtEnd);
|
||||
}
|
||||
else
|
||||
{
|
||||
var dt = pickUpTime.ObjectToDate();
|
||||
where = where.And(p => p.pickUpTime > dt);
|
||||
}
|
||||
}
|
||||
|
||||
//是否提货 bit
|
||||
var status = Request.Form["status"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(status) && status.ToLowerInvariant() == "true")
|
||||
@where = @where.And(p => p.status);
|
||||
else if (!string.IsNullOrEmpty(status) && status.ToLowerInvariant() == "false")
|
||||
@where = @where.And(p => p.status == 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);
|
||||
}
|
||||
}
|
||||
|
||||
//删除时间 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);
|
||||
//获取数据
|
||||
var list = await _coreCmsBillLadingServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillLading/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public async Task<AdminUiCallBack> GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
var stores = await _storeServices.QueryAsync();
|
||||
jm.data = new
|
||||
{
|
||||
stores
|
||||
};
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillLading/GetEdit
|
||||
/// <summary>
|
||||
/// 编辑数据
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑数据")]
|
||||
public async Task<AdminUiCallBack> GetEdit([FromBody] FMStringId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var model = await _coreCmsBillLadingServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var stores = await _storeServices.QueryAsync();
|
||||
jm.code = 0;
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
stores
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Admins/CoreCmsBillLading/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsBillLading entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsBillLadingServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
//事物处理过程开始
|
||||
oldModel.storeId = entity.storeId;
|
||||
oldModel.name = entity.name;
|
||||
oldModel.mobile = entity.mobile;
|
||||
//事物处理过程结束
|
||||
|
||||
var bl = await _coreCmsBillLadingServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillLading/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 _coreCmsBillLadingServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var bl = await _coreCmsBillLadingServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
return jm;
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 选择导出============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillLading/SelectExportExcel/10
|
||||
/// <summary>
|
||||
/// 选择导出
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("选择导出")]
|
||||
public async Task<AdminUiCallBack> SelectExportExcel([FromBody] FMArrayStringIds entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var sheet1 = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listmodel = await _coreCmsBillLadingServices.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("提货门店ID");
|
||||
row1.CreateCell(3).SetCellValue("提货人姓名");
|
||||
row1.CreateCell(4).SetCellValue("提货手机号");
|
||||
row1.CreateCell(5).SetCellValue("处理店员ID");
|
||||
row1.CreateCell(6).SetCellValue("提货时间");
|
||||
row1.CreateCell(7).SetCellValue("是否提货");
|
||||
row1.CreateCell(8).SetCellValue("创建时间");
|
||||
row1.CreateCell(9).SetCellValue("更新时间");
|
||||
row1.CreateCell(10).SetCellValue("删除时间");
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listmodel.Count; i++)
|
||||
{
|
||||
var rowtemp = sheet1.CreateRow(i + 1);
|
||||
rowtemp.CreateCell(0).SetCellValue(listmodel[i].id);
|
||||
rowtemp.CreateCell(1).SetCellValue(listmodel[i].orderId);
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].storeId.ToString());
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].name);
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].mobile);
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].clerkId.ToString());
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].pickUpTime.ToString());
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].status.ToString());
|
||||
rowtemp.CreateCell(8).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(9).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
rowtemp.CreateCell(10).SetCellValue(listmodel[i].isDel.ToString());
|
||||
}
|
||||
|
||||
// 导出excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsBillLading导出(选择结果).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/CoreCmsBillLading/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<CoreCmsBillLading>();
|
||||
//查询筛选
|
||||
|
||||
//提货单号 nvarchar
|
||||
var id = Request.Form["id"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(id)) @where = @where.And(p => p.id.Contains(id));
|
||||
//订单号 nvarchar
|
||||
var orderId = Request.Form["orderId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(orderId)) @where = @where.And(p => p.orderId.Contains(orderId));
|
||||
//提货门店ID int
|
||||
var storeId = Request.Form["storeId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (storeId > 0) @where = @where.And(p => p.storeId == storeId);
|
||||
//提货人姓名 nvarchar
|
||||
var name = Request.Form["name"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(name)) @where = @where.And(p => p.name.Contains(name));
|
||||
//提货手机号 nvarchar
|
||||
var mobile = Request.Form["mobile"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(mobile)) @where = @where.And(p => p.mobile.Contains(mobile));
|
||||
//处理店员ID int
|
||||
var clerkId = Request.Form["clerkId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (clerkId > 0) @where = @where.And(p => p.clerkId == clerkId);
|
||||
//提货时间 datetime
|
||||
var pickUpTime = Request.Form["pickUpTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(pickUpTime))
|
||||
{
|
||||
var dt = pickUpTime.ObjectToDate();
|
||||
where = where.And(p => p.pickUpTime > dt);
|
||||
}
|
||||
|
||||
//是否提货 bit
|
||||
var status = Request.Form["status"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(status) && status.ToLowerInvariant() == "true")
|
||||
@where = @where.And(p => p.status);
|
||||
else if (!string.IsNullOrEmpty(status) && status.ToLowerInvariant() == "false")
|
||||
@where = @where.And(p => p.status == false);
|
||||
//创建时间 datetime
|
||||
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(createTime))
|
||||
{
|
||||
var dt = createTime.ObjectToDate();
|
||||
where = where.And(p => p.createTime > dt);
|
||||
}
|
||||
|
||||
//更新时间 datetime
|
||||
var updateTime = Request.Form["updateTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(updateTime))
|
||||
{
|
||||
var dt = updateTime.ObjectToDate();
|
||||
where = where.And(p => p.updateTime > dt);
|
||||
}
|
||||
|
||||
//删除时间 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);
|
||||
//获取数据
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var sheet1 = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listmodel =
|
||||
await _coreCmsBillLadingServices.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("提货门店ID");
|
||||
row1.CreateCell(3).SetCellValue("提货人姓名");
|
||||
row1.CreateCell(4).SetCellValue("提货手机号");
|
||||
row1.CreateCell(5).SetCellValue("处理店员ID");
|
||||
row1.CreateCell(6).SetCellValue("提货时间");
|
||||
row1.CreateCell(7).SetCellValue("是否提货");
|
||||
row1.CreateCell(8).SetCellValue("创建时间");
|
||||
row1.CreateCell(9).SetCellValue("更新时间");
|
||||
row1.CreateCell(10).SetCellValue("删除时间");
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listmodel.Count; i++)
|
||||
{
|
||||
var rowtemp = sheet1.CreateRow(i + 1);
|
||||
rowtemp.CreateCell(0).SetCellValue(listmodel[i].id);
|
||||
rowtemp.CreateCell(1).SetCellValue(listmodel[i].orderId);
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].storeId.ToString());
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].name);
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].mobile);
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].clerkId.ToString());
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].pickUpTime.ToString());
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].status.ToString());
|
||||
rowtemp.CreateCell(8).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(9).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
rowtemp.CreateCell(10).SetCellValue(listmodel[i].isDel.ToString());
|
||||
}
|
||||
|
||||
// 写入到excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsBillLading导出(查询结果).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/CoreCmsBillLading/LadingOperating/10
|
||||
/// <summary>
|
||||
/// 核销数据
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("核销数据")]
|
||||
public async Task<AdminUiCallBack> LadingOperating([FromBody] FMStringId entity)
|
||||
{
|
||||
var ids = entity.id.Split(",");
|
||||
var jm = await _coreCmsBillLadingServices.LadingOperating(ids);
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 批量核销数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillLading/LadingOperating/10
|
||||
/// <summary>
|
||||
/// 批量核销数据
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("核销数据")]
|
||||
public async Task<AdminUiCallBack> BatchLadingOperating([FromBody] FMArrayStringIds entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
if (entity.id.Length == 0)
|
||||
{
|
||||
jm.msg = "请选择需要核销的数据";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm = await _coreCmsBillLadingServices.LadingOperating(entity.id);
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,524 @@
|
||||
/***********************************************************************
|
||||
* 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.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 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 CoreCmsBillReshipController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsBillReshipServices _coreCmsBillReshipServices;
|
||||
private readonly ICoreCmsBillReshipItemServices _billReshipItemServices;
|
||||
private readonly ICoreCmsGoodsServices _goodsServices;
|
||||
private readonly ICoreCmsStockServices _stockServices;
|
||||
private readonly ICoreCmsStockLogServices _stockLogServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public CoreCmsBillReshipController(IWebHostEnvironment webHostEnvironment,
|
||||
ICoreCmsBillReshipServices coreCmsBillReshipServices, ICoreCmsBillReshipItemServices billReshipItemServices, ICoreCmsGoodsServices goodsServices, ICoreCmsStockServices stockServices, ICoreCmsStockLogServices stockLogServices)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsBillReshipServices = coreCmsBillReshipServices;
|
||||
_billReshipItemServices = billReshipItemServices;
|
||||
_goodsServices = goodsServices;
|
||||
_stockServices = stockServices;
|
||||
_stockLogServices = stockLogServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillReship/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<CoreCmsBillReship>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsBillReship, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "reshipId":
|
||||
orderEx = p => p.reshipId;
|
||||
break;
|
||||
case "orderId":
|
||||
orderEx = p => p.orderId;
|
||||
break;
|
||||
case "aftersalesId":
|
||||
orderEx = p => p.aftersalesId;
|
||||
break;
|
||||
case "userId":
|
||||
orderEx = p => p.userId;
|
||||
break;
|
||||
case "logiCode":
|
||||
orderEx = p => p.logiCode;
|
||||
break;
|
||||
case "logiNo":
|
||||
orderEx = p => p.logiNo;
|
||||
break;
|
||||
case "status":
|
||||
orderEx = p => p.status;
|
||||
break;
|
||||
case "memo":
|
||||
orderEx = p => p.memo;
|
||||
break;
|
||||
case "createTime":
|
||||
orderEx = p => p.createTime;
|
||||
break;
|
||||
case "updateTime":
|
||||
orderEx = p => p.updateTime;
|
||||
break;
|
||||
default:
|
||||
orderEx = p => p.reshipId;
|
||||
break;
|
||||
}
|
||||
|
||||
//设置排序方式
|
||||
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
|
||||
var orderBy = orderDirection switch
|
||||
{
|
||||
"asc" => OrderByType.Asc,
|
||||
"desc" => OrderByType.Desc,
|
||||
_ => OrderByType.Desc
|
||||
};
|
||||
//查询筛选
|
||||
|
||||
//退货单号 nvarchar
|
||||
var reshipId = Request.Form["reshipId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(reshipId)) @where = @where.And(p => p.reshipId.Contains(reshipId));
|
||||
//订单序列 nvarchar
|
||||
var orderId = Request.Form["orderId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(orderId)) @where = @where.And(p => p.orderId.Contains(orderId));
|
||||
//售后单序列 nvarchar
|
||||
var aftersalesId = Request.Form["aftersalesId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(aftersalesId)) @where = @where.And(p => p.aftersalesId.Contains(aftersalesId));
|
||||
//用户ID 关联user.id int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0) @where = @where.And(p => p.userId == userId);
|
||||
//物流公司编码 nvarchar
|
||||
var logiCode = Request.Form["logiCode"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(logiCode)) @where = @where.And(p => p.logiCode.Contains(logiCode));
|
||||
//物流单号 nvarchar
|
||||
var logiNo = Request.Form["logiNo"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(logiNo)) @where = @where.And(p => p.logiNo.Contains(logiNo));
|
||||
//状态 int
|
||||
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
|
||||
if (status > 0) @where = @where.And(p => p.status == status);
|
||||
//备注 nvarchar
|
||||
var memo = Request.Form["memo"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(memo)) @where = @where.And(p => p.memo.Contains(memo));
|
||||
//创建时间 datetime
|
||||
var 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 _coreCmsBillReshipServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillReship/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var status = EnumHelper.EnumToList<GlobalEnumVars.BillReshipStatus>();
|
||||
|
||||
jm.data = new
|
||||
{
|
||||
status
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 确认收货============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillReship/DoDelete/10
|
||||
/// <summary>
|
||||
/// 确认收货
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("确认收货")]
|
||||
public async Task<AdminUiCallBack> DoAudit([FromBody] FMStringId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var model = await _coreCmsBillReshipServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var bl = await _coreCmsBillReshipServices.UpdateAsync(
|
||||
p => new CoreCmsBillReship
|
||||
{ status = (int)GlobalEnumVars.BillReshipStatus.已收退货, updateTime = DateTime.Now },
|
||||
p => p.reshipId == entity.id);
|
||||
|
||||
if (bl)
|
||||
{
|
||||
//调整库存
|
||||
var items = await _billReshipItemServices.QueryListByClauseAsync(p => p.reshipId == entity.id);
|
||||
var stockLogs = new List<CoreCmsStockLog>();
|
||||
foreach (var item in items)
|
||||
{
|
||||
_goodsServices.ChangeStock(item.productId, GlobalEnumVars.OrderChangeStockType.@return.ToString(), item.nums);
|
||||
|
||||
var sLog = new CoreCmsStockLog
|
||||
{
|
||||
stockId = entity.id,
|
||||
productId = item.id,
|
||||
goodsId = item.goodsId,
|
||||
nums = item.nums,
|
||||
sn = item.sn,
|
||||
bn = item.bn,
|
||||
goodsName = item.name,
|
||||
spesDesc = item.addon
|
||||
};
|
||||
stockLogs.Add(sLog);
|
||||
|
||||
}
|
||||
|
||||
//库存管理日志
|
||||
|
||||
var stock = new CoreCmsStock
|
||||
{
|
||||
manager = 0,
|
||||
id = entity.id,
|
||||
createTime = DateTime.Now,
|
||||
type = (int)GlobalEnumVars.StockType.ReturnedGoods,
|
||||
memo = "退货单退货"
|
||||
};
|
||||
await _stockServices.InsertAsync(stock);
|
||||
await _stockLogServices.InsertAsync(stockLogs);
|
||||
}
|
||||
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? "确认成功" : "确认失败";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillReship/GetDetails/10
|
||||
/// <summary>
|
||||
/// 预览数据
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("预览数据")]
|
||||
public async Task<AdminUiCallBack> GetDetails([FromBody] FMStringId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var model = await _coreCmsBillReshipServices.GetDetails(p => p.reshipId == entity.id, p => p.createTime, OrderByType.Desc);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
var status = EnumHelper.EnumToList<GlobalEnumVars.BillReshipStatus>();
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = new
|
||||
{
|
||||
status,
|
||||
model
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 选择导出============================================================
|
||||
|
||||
// POST: Api/CoreCmsBillReship/SelectExportExcel/10
|
||||
/// <summary>
|
||||
/// 选择导出
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("选择导出")]
|
||||
public async Task<AdminUiCallBack> SelectExportExcel([FromBody] FMArrayStringIds entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var sheet1 = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listmodel =
|
||||
await _coreCmsBillReshipServices.QueryListByClauseAsync(p => entity.id.Contains(p.reshipId),
|
||||
p => p.reshipId, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var row1 = sheet1.CreateRow(0);
|
||||
row1.CreateCell(0).SetCellValue("退货单号");
|
||||
row1.CreateCell(1).SetCellValue("订单序列");
|
||||
row1.CreateCell(2).SetCellValue("售后单序列");
|
||||
row1.CreateCell(3).SetCellValue("用户ID 关联user.id");
|
||||
row1.CreateCell(4).SetCellValue("物流公司编码");
|
||||
row1.CreateCell(5).SetCellValue("物流单号");
|
||||
row1.CreateCell(6).SetCellValue("状态");
|
||||
row1.CreateCell(7).SetCellValue("备注");
|
||||
row1.CreateCell(8).SetCellValue("创建时间");
|
||||
row1.CreateCell(9).SetCellValue("更新时间");
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listmodel.Count; i++)
|
||||
{
|
||||
var rowtemp = sheet1.CreateRow(i + 1);
|
||||
rowtemp.CreateCell(0).SetCellValue(listmodel[i].reshipId);
|
||||
rowtemp.CreateCell(1).SetCellValue(listmodel[i].orderId);
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].aftersalesId);
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].userId.ToString());
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].logiCode);
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].logiNo);
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].status.ToString());
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].memo);
|
||||
rowtemp.CreateCell(8).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(9).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 导出excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsBillReship导出(选择结果).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/CoreCmsBillReship/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<CoreCmsBillReship>();
|
||||
//查询筛选
|
||||
|
||||
//退货单号 nvarchar
|
||||
var reshipId = Request.Form["reshipId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(reshipId)) @where = @where.And(p => p.reshipId.Contains(reshipId));
|
||||
//订单序列 nvarchar
|
||||
var orderId = Request.Form["orderId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(orderId)) @where = @where.And(p => p.orderId.Contains(orderId));
|
||||
//售后单序列 nvarchar
|
||||
var aftersalesId = Request.Form["aftersalesId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(aftersalesId))
|
||||
@where = @where.And(p => p.aftersalesId.Contains(aftersalesId));
|
||||
//用户ID 关联user.id int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0) @where = @where.And(p => p.userId == userId);
|
||||
//物流公司编码 nvarchar
|
||||
var logiCode = Request.Form["logiCode"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(logiCode)) @where = @where.And(p => p.logiCode.Contains(logiCode));
|
||||
//物流单号 nvarchar
|
||||
var logiNo = Request.Form["logiNo"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(logiNo)) @where = @where.And(p => p.logiNo.Contains(logiNo));
|
||||
//状态 int
|
||||
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
|
||||
if (status > 0) @where = @where.And(p => p.status == status);
|
||||
//备注 nvarchar
|
||||
var memo = Request.Form["memo"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(memo)) @where = @where.And(p => p.memo.Contains(memo));
|
||||
//创建时间 datetime
|
||||
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(createTime))
|
||||
{
|
||||
var dt = createTime.ObjectToDate();
|
||||
where = where.And(p => p.createTime > dt);
|
||||
}
|
||||
|
||||
//更新时间 datetime
|
||||
var updateTime = Request.Form["updateTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(updateTime))
|
||||
{
|
||||
var dt = updateTime.ObjectToDate();
|
||||
where = where.And(p => p.updateTime > dt);
|
||||
}
|
||||
|
||||
//获取数据
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var sheet1 = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listmodel =
|
||||
await _coreCmsBillReshipServices.QueryListByClauseAsync(where, p => p.reshipId, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var row1 = sheet1.CreateRow(0);
|
||||
row1.CreateCell(0).SetCellValue("退货单号");
|
||||
row1.CreateCell(1).SetCellValue("订单序列");
|
||||
row1.CreateCell(2).SetCellValue("售后单序列");
|
||||
row1.CreateCell(3).SetCellValue("用户ID 关联user.id");
|
||||
row1.CreateCell(4).SetCellValue("物流公司编码");
|
||||
row1.CreateCell(5).SetCellValue("物流单号");
|
||||
row1.CreateCell(6).SetCellValue("状态");
|
||||
row1.CreateCell(7).SetCellValue("备注");
|
||||
row1.CreateCell(8).SetCellValue("创建时间");
|
||||
row1.CreateCell(9).SetCellValue("更新时间");
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listmodel.Count; i++)
|
||||
{
|
||||
var rowtemp = sheet1.CreateRow(i + 1);
|
||||
rowtemp.CreateCell(0).SetCellValue(listmodel[i].reshipId);
|
||||
rowtemp.CreateCell(1).SetCellValue(listmodel[i].orderId);
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].aftersalesId);
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].userId.ToString());
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].logiCode);
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].logiNo);
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].status.ToString());
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].memo);
|
||||
rowtemp.CreateCell(8).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(9).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 写入到excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsBillReship导出(查询结果).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
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,244 @@
|
||||
/***********************************************************************
|
||||
* 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.Model.Entities;
|
||||
using CoreCms.Net.Model.Entities.Expression;
|
||||
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 SqlSugar;
|
||||
|
||||
namespace CoreCms.Net.Web.Admin.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 拼团记录表
|
||||
/// </summary>
|
||||
[Description("拼团记录表")]
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
[RequiredErrorForAdmin]
|
||||
[Authorize(Permissions.Name)]
|
||||
public class CoreCmsPinTuanRecordController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsPinTuanRecordServices _coreCmsPinTuanRecordServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="webHostEnvironment"></param>
|
||||
/// <param name="coreCmsPinTuanRecordServices"></param>
|
||||
public CoreCmsPinTuanRecordController(IWebHostEnvironment webHostEnvironment,
|
||||
ICoreCmsPinTuanRecordServices coreCmsPinTuanRecordServices)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsPinTuanRecordServices = coreCmsPinTuanRecordServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsPinTuanRecord/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<CoreCmsPinTuanRecord>();
|
||||
where = where.And(p => p.id == p.teamId);
|
||||
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsPinTuanRecord, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "teamId":
|
||||
orderEx = p => p.teamId;
|
||||
break;
|
||||
case "userId":
|
||||
orderEx = p => p.userId;
|
||||
break;
|
||||
case "ruleId":
|
||||
orderEx = p => p.ruleId;
|
||||
break;
|
||||
case "goodsId":
|
||||
orderEx = p => p.goodsId;
|
||||
break;
|
||||
case "status":
|
||||
orderEx = p => p.status;
|
||||
break;
|
||||
case "orderId":
|
||||
orderEx = p => p.orderId;
|
||||
break;
|
||||
case "parameters":
|
||||
orderEx = p => p.parameters;
|
||||
break;
|
||||
case "closeTime":
|
||||
orderEx = p => p.closeTime;
|
||||
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);
|
||||
//团序列 int
|
||||
var teamId = Request.Form["teamId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (teamId > 0) @where = @where.And(p => p.teamId == teamId);
|
||||
//用户序列 int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0) @where = @where.And(p => p.userId == userId);
|
||||
//规则表序列 int
|
||||
var ruleId = Request.Form["ruleId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (ruleId > 0) @where = @where.And(p => p.ruleId == ruleId);
|
||||
//商品序列 int
|
||||
var goodsId = Request.Form["goodsId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (goodsId > 0) @where = @where.And(p => p.goodsId == goodsId);
|
||||
//状态 int
|
||||
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
|
||||
if (status > 0) @where = @where.And(p => p.status == status);
|
||||
//订单序列 nvarchar
|
||||
var orderId = Request.Form["orderId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(orderId)) @where = @where.And(p => p.orderId.Contains(orderId));
|
||||
//拼团人数Json nvarchar
|
||||
var parameters = Request.Form["parameters"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(parameters)) @where = @where.And(p => p.parameters.Contains(parameters));
|
||||
//关闭时间 datetime
|
||||
var closeTime = Request.Form["closeTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(closeTime))
|
||||
{
|
||||
if (closeTime.Contains("到"))
|
||||
{
|
||||
var dts = closeTime.Split("到");
|
||||
var dtStart = dts[0].Trim().ObjectToDate();
|
||||
where = where.And(p => p.closeTime > dtStart);
|
||||
var dtEnd = dts[1].Trim().ObjectToDate();
|
||||
where = where.And(p => p.closeTime < dtEnd);
|
||||
}
|
||||
else
|
||||
{
|
||||
var dt = closeTime.ObjectToDate();
|
||||
where = where.And(p => p.closeTime > dt);
|
||||
}
|
||||
}
|
||||
|
||||
//创建时间 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 _coreCmsPinTuanRecordServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent,
|
||||
pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsPinTuanRecord/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var status = EnumHelper.EnumToList<GlobalEnumVars.PinTuanRecordStatus>();
|
||||
jm.data = new
|
||||
{
|
||||
status
|
||||
};
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,421 @@
|
||||
/***********************************************************************
|
||||
* 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.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 CoreCmsPinTuanRuleController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsGoodsServices _coreCmsGoodsServices;
|
||||
private readonly ICoreCmsPinTuanGoodsServices _coreCmsPinTuanGoodsServices;
|
||||
private readonly ICoreCmsPinTuanRuleServices _coreCmsPinTuanRuleServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="webHostEnvironment"></param>
|
||||
/// <param name="coreCmsPinTuanRuleServices"></param>
|
||||
/// <param name="coreCmsGoodsServices"></param>
|
||||
/// <param name="coreCmsPinTuanGoodsServices"></param>
|
||||
public CoreCmsPinTuanRuleController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsPinTuanRuleServices coreCmsPinTuanRuleServices
|
||||
, ICoreCmsGoodsServices coreCmsGoodsServices
|
||||
, ICoreCmsPinTuanGoodsServices coreCmsPinTuanGoodsServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsPinTuanRuleServices = coreCmsPinTuanRuleServices;
|
||||
_coreCmsGoodsServices = coreCmsGoodsServices;
|
||||
_coreCmsPinTuanGoodsServices = coreCmsPinTuanGoodsServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsPinTuanRule/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<CoreCmsPinTuanRule>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsPinTuanRule, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "name":
|
||||
orderEx = p => p.name;
|
||||
break;
|
||||
case "startTime":
|
||||
orderEx = p => p.startTime;
|
||||
break;
|
||||
case "endTime":
|
||||
orderEx = p => p.endTime;
|
||||
break;
|
||||
case "peopleNumber":
|
||||
orderEx = p => p.peopleNumber;
|
||||
break;
|
||||
case "significantInterval":
|
||||
orderEx = p => p.significantInterval;
|
||||
break;
|
||||
case "discountAmount":
|
||||
orderEx = p => p.discountAmount;
|
||||
break;
|
||||
case "sort":
|
||||
orderEx = p => p.sort;
|
||||
break;
|
||||
case "isStatusOpen":
|
||||
orderEx = p => p.isStatusOpen;
|
||||
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);
|
||||
//活动名称 nvarchar
|
||||
var name = Request.Form["name"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(name)) @where = @where.And(p => p.name.Contains(name));
|
||||
//开始时间 datetime
|
||||
var startTime = Request.Form["startTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(startTime))
|
||||
{
|
||||
if (startTime.Contains("到"))
|
||||
{
|
||||
var dts = startTime.Split("到");
|
||||
var dtStart = dts[0].Trim().ObjectToDate();
|
||||
where = where.And(p => p.startTime > dtStart);
|
||||
var dtEnd = dts[1].Trim().ObjectToDate();
|
||||
where = where.And(p => p.endTime < dtEnd);
|
||||
}
|
||||
else
|
||||
{
|
||||
var dt = startTime.ObjectToDate();
|
||||
where = where.And(p => p.startTime > dt);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//是否开启 bit
|
||||
var isStatusOpen = Request.Form["isStatusOpen"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isStatusOpen) && isStatusOpen.ToLowerInvariant() == "true")
|
||||
@where = @where.And(p => p.isStatusOpen);
|
||||
else if (!string.IsNullOrEmpty(isStatusOpen) && isStatusOpen.ToLowerInvariant() == "false")
|
||||
@where = @where.And(p => p.isStatusOpen == false);
|
||||
//获取数据
|
||||
var list = await _coreCmsPinTuanRuleServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsPinTuanRule/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsPinTuanRule/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsPinTuanRule/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsPinTuanRule entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
if (entity.peopleNumber < 2 || entity.peopleNumber > 10)
|
||||
{
|
||||
jm.msg = "拼团人数只允许2至10人";
|
||||
return jm;
|
||||
}
|
||||
|
||||
entity.createTime = DateTime.Now;
|
||||
var id = await _coreCmsPinTuanRuleServices.InsertAsync(entity);
|
||||
var bl = id > 0;
|
||||
if (bl && entity.goods.Any())
|
||||
{
|
||||
var list = new List<CoreCmsPinTuanGoods>();
|
||||
foreach (var good in entity.goods)
|
||||
list.Add(new CoreCmsPinTuanGoods
|
||||
{
|
||||
goodsId = good,
|
||||
ruleId = id
|
||||
});
|
||||
await _coreCmsPinTuanGoodsServices.InsertAsync(list);
|
||||
}
|
||||
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsPinTuanRule/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 _coreCmsPinTuanRuleServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
|
||||
var pinTuanGoods = await _coreCmsPinTuanGoodsServices.QueryListByClauseAsync(p => p.ruleId == model.id);
|
||||
var Ids = pinTuanGoods.Select(p => p.goodsId).ToArray();
|
||||
var goods = await _coreCmsGoodsServices.QueryListByClauseAsync(p => Ids.Contains(p.id));
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
goods
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Admins/CoreCmsPinTuanRule/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsPinTuanRule entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
if (entity.peopleNumber < 2 || entity.peopleNumber > 10)
|
||||
{
|
||||
jm.msg = "拼团人数只允许2至10人";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var oldModel = await _coreCmsPinTuanRuleServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
//事物处理过程开始
|
||||
oldModel.name = entity.name;
|
||||
oldModel.startTime = entity.startTime;
|
||||
oldModel.endTime = entity.endTime;
|
||||
oldModel.peopleNumber = entity.peopleNumber;
|
||||
oldModel.significantInterval = entity.significantInterval;
|
||||
oldModel.discountAmount = entity.discountAmount;
|
||||
oldModel.sort = entity.sort;
|
||||
oldModel.isStatusOpen = entity.isStatusOpen;
|
||||
oldModel.maxGoodsNums = entity.maxGoodsNums;
|
||||
oldModel.maxNums = entity.maxNums;
|
||||
oldModel.updateTime = DateTime.Now;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _coreCmsPinTuanRuleServices.UpdateAsync(oldModel);
|
||||
if (bl && entity.goods.Any())
|
||||
{
|
||||
await _coreCmsPinTuanGoodsServices.DeleteAsync(p => p.ruleId == oldModel.id);
|
||||
var list = new List<CoreCmsPinTuanGoods>();
|
||||
foreach (var good in entity.goods)
|
||||
list.Add(new CoreCmsPinTuanGoods
|
||||
{
|
||||
goodsId = good,
|
||||
ruleId = oldModel.id
|
||||
});
|
||||
await _coreCmsPinTuanGoodsServices.InsertAsync(list);
|
||||
}
|
||||
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsPinTuanRule/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 _coreCmsPinTuanRuleServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var bl = await _coreCmsPinTuanRuleServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
return jm;
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 设置是否开启============================================================
|
||||
|
||||
// POST: Api/CoreCmsPinTuanRule/DoSetisStatusOpen/10
|
||||
/// <summary>
|
||||
/// 设置是否开启
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置是否开启")]
|
||||
public async Task<AdminUiCallBack> DoSetisStatusOpen([FromBody] FMUpdateBoolDataByIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsPinTuanRuleServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
oldModel.isStatusOpen = entity.data;
|
||||
|
||||
var bl = await _coreCmsPinTuanRuleServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,538 @@
|
||||
/***********************************************************************
|
||||
* Project: CoreCms
|
||||
* ProjectName: 核心内容管理系统
|
||||
* Web: https://www.corecms.net
|
||||
* Author: 大灰灰
|
||||
* Email: jianweie@163.com
|
||||
* CreateTime: 2021/1/31 21:45:10
|
||||
* Description: 暂无
|
||||
***********************************************************************/
|
||||
|
||||
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.Echarts;
|
||||
using CoreCms.Net.Model.ViewModels.UI;
|
||||
using CoreCms.Net.Utility.Helper;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using CoreCms.Net.Utility.Extensions;
|
||||
using SqlSugar;
|
||||
|
||||
namespace CoreCms.Net.Web.Admin.Controllers.Content
|
||||
{
|
||||
/// <summary>
|
||||
/// 报表统计
|
||||
///</summary>
|
||||
[Description("报表统计")]
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
[RequiredErrorForAdmin]
|
||||
[Authorize(Permissions.Name)]
|
||||
public class CoreCmsReportsController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsReportsServices _reportsServices;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="reportsServices"></param>
|
||||
public CoreCmsReportsController(ICoreCmsReportsServices reportsServices)
|
||||
{
|
||||
_reportsServices = reportsServices;
|
||||
}
|
||||
|
||||
#region 订单销量统计
|
||||
// POST: Api/CoreCmsReports/GetOrder
|
||||
/// <summary>
|
||||
/// 订单销量统计
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("订单销量统计")]
|
||||
public AdminUiCallBack GetOrder([FromBody] FMReports entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var dataRes = ReportsHelper.GetDate(entity.date, entity.section);
|
||||
if (!dataRes.status)
|
||||
{
|
||||
jm.msg = dataRes.msg;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var echartsOption = new EchartsOption();
|
||||
|
||||
echartsOption.title.text = "订单统计";
|
||||
var legend = new List<string>() { "全部", "待付款", "已付款" };
|
||||
echartsOption.legend.data = legend;
|
||||
|
||||
var getDate = dataRes.data as ReportsBackForGetDate;
|
||||
|
||||
var xData = ReportsHelper.GetXdata(getDate);
|
||||
if (!xData.status)
|
||||
{
|
||||
jm.msg = dataRes.msg;
|
||||
return jm;
|
||||
}
|
||||
echartsOption.xAxis.data = xData.data as List<string>;
|
||||
|
||||
var whereSql = string.Empty;
|
||||
var data = new List<GetOrdersReportsDbSelectOut>();
|
||||
var data1 = new List<GetOrdersReportsDbSelectOut>();
|
||||
var data2 = new List<GetOrdersReportsDbSelectOut>();
|
||||
var data3 = new List<GetOrdersReportsDbSelectOut>();
|
||||
foreach (var item in legend)
|
||||
{
|
||||
switch (item)
|
||||
{
|
||||
case "全部":
|
||||
whereSql = string.Empty;
|
||||
whereSql += " and createTime > '" + getDate.start.ToString("yyyy-MM-dd HH:mm:ss") + "' ";
|
||||
whereSql += " and createTime < '" + getDate.end.ToString("yyyy-MM-dd HH:mm:ss") + "' ";
|
||||
data = _reportsServices.GetOrderMark(getDate.num, whereSql, getDate.section, getDate.start, "createTime");
|
||||
data1 = data;
|
||||
break;
|
||||
case "待付款":
|
||||
whereSql = string.Empty;
|
||||
whereSql += " and createTime > '" + getDate.start.ToString("yyyy-MM-dd HH:mm:ss") + "' ";
|
||||
whereSql += " and createTime < '" + getDate.end.ToString("yyyy-MM-dd HH:mm:ss") + "' ";
|
||||
whereSql += " and payStatus=1 ";
|
||||
data = _reportsServices.GetOrderMark(getDate.num, whereSql, getDate.section, getDate.start, "createTime");
|
||||
data2 = data;
|
||||
break;
|
||||
case "已付款":
|
||||
whereSql = string.Empty;
|
||||
whereSql += " and paymentTime > '" + getDate.start.ToString("yyyy-MM-dd HH:mm:ss") + "' ";
|
||||
whereSql += " and paymentTime < '" + getDate.end.ToString("yyyy-MM-dd HH:mm:ss") + "' ";
|
||||
whereSql += " and payStatus>1 ";
|
||||
data = _reportsServices.GetOrderMark(getDate.num, whereSql, getDate.section, getDate.start, "paymentTime");
|
||||
data3 = data;
|
||||
break;
|
||||
}
|
||||
|
||||
if (data != null && data.Any())
|
||||
{
|
||||
var vals = data.Select(p => p.val).ToList();
|
||||
echartsOption.series.Add(new SeriesItem()
|
||||
{
|
||||
name = item,
|
||||
type = "line",
|
||||
data = vals.ConvertAll<string>(x => x.ToString(CultureInfo.InvariantCulture))
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
echartsOption.series.Add(new SeriesItem()
|
||||
{
|
||||
name = item,
|
||||
type = "line",
|
||||
data = new List<string>()
|
||||
});
|
||||
}
|
||||
}
|
||||
//组装数据列表用于table里使用
|
||||
var tableData = new List<OrderTableItem>();
|
||||
for (int i = 0; i < getDate.num; i++)
|
||||
{
|
||||
var item = new OrderTableItem();
|
||||
if (echartsOption.xAxis.data != null) item.x = echartsOption.xAxis.data[i];
|
||||
item.order_all_val = data1[i].val.ToString(CultureInfo.InvariantCulture);
|
||||
item.order_all_num = data1[i].num;
|
||||
item.order_nopay_val = data2[i].val.ToString(CultureInfo.InvariantCulture);
|
||||
item.order_nopay_num = data2[i].num;
|
||||
item.order_payed_val = data3[i].val.ToString(CultureInfo.InvariantCulture);
|
||||
item.order_payed_num = data3[i].num;
|
||||
tableData.Add(item);
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = new
|
||||
{
|
||||
option = echartsOption,
|
||||
table = tableData
|
||||
};
|
||||
|
||||
return jm;
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 财务收款单
|
||||
// POST: Api/CoreCmsReports/GetPayments
|
||||
/// <summary>
|
||||
/// 财务收款单
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("财务收款单")]
|
||||
public AdminUiCallBack GetPayments([FromBody] FMReports entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var dataRes = ReportsHelper.GetDate(entity.date, entity.section);
|
||||
if (!dataRes.status)
|
||||
{
|
||||
jm.msg = dataRes.msg;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var echartsOption = new EchartsOption();
|
||||
|
||||
echartsOption.title.text = "财务统计";
|
||||
var legend = new List<string>() { "收款单", "订单收款", "订单退款", "充值", "提现" };
|
||||
echartsOption.legend.data = legend;
|
||||
|
||||
var getDate = dataRes.data as ReportsBackForGetDate;
|
||||
|
||||
var xData = ReportsHelper.GetXdata(getDate);
|
||||
if (!xData.status)
|
||||
{
|
||||
jm.msg = dataRes.msg;
|
||||
return jm;
|
||||
}
|
||||
echartsOption.xAxis.data = xData.data as List<string>;
|
||||
|
||||
var whereSql = string.Empty;
|
||||
var data = new List<GetOrdersReportsDbSelectOut>();
|
||||
var data1 = new List<GetOrdersReportsDbSelectOut>();
|
||||
var data2 = new List<GetOrdersReportsDbSelectOut>();
|
||||
var data3 = new List<GetOrdersReportsDbSelectOut>();
|
||||
var data4 = new List<GetOrdersReportsDbSelectOut>();
|
||||
var data5 = new List<GetOrdersReportsDbSelectOut>();
|
||||
foreach (var item in legend)
|
||||
{
|
||||
switch (item)
|
||||
{
|
||||
case "收款单":
|
||||
whereSql = string.Empty;
|
||||
whereSql += " and updateTime > '" + getDate.start.ToString("yyyy-MM-dd HH:mm:ss") + "' ";
|
||||
whereSql += " and updateTime < '" + getDate.end.ToString("yyyy-MM-dd HH:mm:ss") + "' ";
|
||||
whereSql += " and status = 2 ";
|
||||
data = _reportsServices.GetPaymentsMark(getDate.num, whereSql, getDate.section, getDate.start, "updateTime");
|
||||
data1 = data;
|
||||
break;
|
||||
case "订单收款":
|
||||
whereSql = string.Empty;
|
||||
whereSql += " and updateTime > '" + getDate.start.ToString("yyyy-MM-dd HH:mm:ss") + "' ";
|
||||
whereSql += " and updateTime < '" + getDate.end.ToString("yyyy-MM-dd HH:mm:ss") + "' ";
|
||||
whereSql += " and status = 2 ";
|
||||
whereSql += " and type = 1 ";
|
||||
data = _reportsServices.GetPaymentsMark(getDate.num, whereSql, getDate.section, getDate.start, "updateTime");
|
||||
data2 = data;
|
||||
break;
|
||||
case "订单退款":
|
||||
whereSql = string.Empty;
|
||||
whereSql += " and updateTime > '" + getDate.start.ToString("yyyy-MM-dd HH:mm:ss") + "' ";
|
||||
whereSql += " and updateTime < '" + getDate.end.ToString("yyyy-MM-dd HH:mm:ss") + "' ";
|
||||
whereSql += " and status = 2 ";
|
||||
whereSql += " and type = 1 ";
|
||||
data = _reportsServices.GetRefundMark(getDate.num, whereSql, getDate.section, getDate.start, "updateTime");
|
||||
data3 = data;
|
||||
break;
|
||||
case "充值":
|
||||
whereSql = string.Empty;
|
||||
whereSql += " and updateTime > '" + getDate.start.ToString("yyyy-MM-dd HH:mm:ss") + "' ";
|
||||
whereSql += " and updateTime < '" + getDate.end.ToString("yyyy-MM-dd HH:mm:ss") + "' ";
|
||||
whereSql += " and status = 2 ";
|
||||
whereSql += " and type = 2 ";
|
||||
data = _reportsServices.GetPaymentsMark(getDate.num, whereSql, getDate.section, getDate.start, "updateTime");
|
||||
data4 = data;
|
||||
break;
|
||||
case "提现":
|
||||
whereSql = string.Empty;
|
||||
whereSql += " and updateTime > '" + getDate.start.ToString("yyyy-MM-dd HH:mm:ss") + "' ";
|
||||
whereSql += " and updateTime < '" + getDate.end.ToString("yyyy-MM-dd HH:mm:ss") + "' ";
|
||||
whereSql += " and status = 2 ";
|
||||
data = _reportsServices.GetTocashMark(getDate.num, whereSql, getDate.section, getDate.start, "updateTime");
|
||||
data5 = data;
|
||||
break;
|
||||
}
|
||||
|
||||
if (data != null && data.Any())
|
||||
{
|
||||
var vals = data.Select(p => p.val).ToList();
|
||||
echartsOption.series.Add(new SeriesItem()
|
||||
{
|
||||
name = item,
|
||||
type = "line",
|
||||
data = vals.ConvertAll<string>(x => x.ToString(CultureInfo.InvariantCulture))
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
echartsOption.series.Add(new SeriesItem()
|
||||
{
|
||||
name = item,
|
||||
type = "line",
|
||||
data = new List<string>()
|
||||
});
|
||||
}
|
||||
}
|
||||
//组装数据列表用于table里使用
|
||||
//var legend = new List<string>() { "收款单", "订单收款", "订单退款", "充值", "提现" };
|
||||
|
||||
var tableData = new List<PaymentsTableItem>();
|
||||
for (int i = 0; i < getDate.num; i++)
|
||||
{
|
||||
var item = new PaymentsTableItem();
|
||||
if (echartsOption.xAxis.data != null) item.x = echartsOption.xAxis.data[i];
|
||||
item.payments_all_val = data1[i].val.ToString(CultureInfo.InvariantCulture);
|
||||
item.payments_all_num = data1[i].num;
|
||||
item.payments_order_val = data2[i].val.ToString(CultureInfo.InvariantCulture);
|
||||
item.payments_order_num = data2[i].num;
|
||||
item.payments_order_refund_val = data3[i].val.ToString(CultureInfo.InvariantCulture);
|
||||
item.payments_order_refund_num = data3[i].num;
|
||||
|
||||
item.payments_recharge_val = data4[i].val.ToString(CultureInfo.InvariantCulture);
|
||||
item.payments_recharge_num = data4[i].num;
|
||||
|
||||
item.payments_tocash_val = data5[i].val.ToString(CultureInfo.InvariantCulture);
|
||||
item.payments_tocash_num = data5[i].num;
|
||||
|
||||
tableData.Add(item);
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = new
|
||||
{
|
||||
option = echartsOption,
|
||||
table = tableData
|
||||
};
|
||||
|
||||
return jm;
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 商品销量统计
|
||||
// POST: Api/CoreCmsReports/GetGoods
|
||||
/// <summary>
|
||||
/// 商品销量统计
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("商品销量统计")]
|
||||
public async Task<AdminUiCallBack> GetGoods()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var page = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
|
||||
var limit = Request.Form["limit"].FirstOrDefault().ObjectToInt(5000);
|
||||
|
||||
var thesort = Request.Form["thesort"].FirstOrDefault();
|
||||
if (string.IsNullOrEmpty(thesort))
|
||||
{
|
||||
thesort = "desc";
|
||||
}
|
||||
|
||||
var filter = Request.Form["filter"].FirstOrDefault();
|
||||
if (string.IsNullOrEmpty(filter))
|
||||
{
|
||||
filter = "nums";
|
||||
}
|
||||
var filter_sed = filter == "nums" ? "amount" : "nums";
|
||||
|
||||
var dt = DateTime.Now;
|
||||
var start = "";
|
||||
var end = "";
|
||||
var date = Request.Form["date"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(date))
|
||||
{
|
||||
var dts = date.Split("到");
|
||||
if (dts.Length == 2)
|
||||
{
|
||||
var startDt = dts[0].Trim().ObjectToDate();
|
||||
start = startDt.ToString("yyyy-MM-dd 00:00:00");
|
||||
var endDt = dts[1].Trim().ObjectToDate();
|
||||
end = endDt.ToString("yyyy-MM-dd 23:59:59");
|
||||
}
|
||||
else
|
||||
{
|
||||
jm.msg = "时间段格式不正确";
|
||||
return jm;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//默认今天
|
||||
start = dt.ToString("yyyy-MM-dd 00:00:00");
|
||||
end = dt.ToString("yyyy-MM-dd 23:59:59");
|
||||
}
|
||||
var list = await _reportsServices.GetGoodsSalesVolumes(start, end, filter, filter_sed, thesort, page, limit);
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = list;
|
||||
jm.count = list.TotalCount;
|
||||
|
||||
return jm;
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 商品收藏统计
|
||||
// POST: Api/CoreCmsReports/GetGoodsCollection
|
||||
/// <summary>
|
||||
/// 商品收藏统计
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("商品收藏统计")]
|
||||
public async Task<AdminUiCallBack> GetGoodsCollection()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var page = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
|
||||
var limit = Request.Form["limit"].FirstOrDefault().ObjectToInt(5000);
|
||||
|
||||
var thesort = Request.Form["thesort"].FirstOrDefault();
|
||||
if (string.IsNullOrEmpty(thesort))
|
||||
{
|
||||
thesort = "desc";
|
||||
}
|
||||
var dt = DateTime.Now;
|
||||
var start = "";
|
||||
var end = "";
|
||||
var date = Request.Form["date"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(date))
|
||||
{
|
||||
var dts = date.Split("到");
|
||||
if (dts.Length == 2)
|
||||
{
|
||||
var startDt = dts[0].Trim().ObjectToDate();
|
||||
start = startDt.ToString("yyyy-MM-dd 00:00:00");
|
||||
var endDt = dts[1].Trim().ObjectToDate();
|
||||
end = endDt.ToString("yyyy-MM-dd 23:59:59");
|
||||
}
|
||||
else
|
||||
{
|
||||
jm.msg = "时间段格式不正确";
|
||||
return jm;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//默认今天
|
||||
start = dt.ToString("yyyy-MM-dd 00:00:00");
|
||||
end = dt.ToString("yyyy-MM-dd 23:59:59");
|
||||
}
|
||||
var list = await _reportsServices.GetGoodsCollections(start, end, thesort, page, limit);
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = list;
|
||||
jm.count = list.TotalCount;
|
||||
|
||||
return jm;
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 换算前台时间按钮
|
||||
|
||||
//换算前台时间按钮
|
||||
// POST: Api/CoreCmsReports/GetDateType
|
||||
/// <summary>
|
||||
/// 换算前台时间按钮
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("换算前台时间按钮")]
|
||||
public AdminUiCallBack GetDateType([FromBody] FMIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
if (entity.id <= 0)
|
||||
{
|
||||
jm.msg = "请选择合法的时间段";
|
||||
return jm;
|
||||
}
|
||||
|
||||
DateTime dt = DateTime.Now; //当前时间
|
||||
var start = "";
|
||||
var end = "";
|
||||
switch (entity.id)
|
||||
{
|
||||
case 1: //当天
|
||||
start = dt.ToString("yyyy-MM-dd");
|
||||
end = start;
|
||||
break;
|
||||
case 2: //昨天
|
||||
start = dt.AddDays(-1).ToString("yyyy-MM-dd");
|
||||
end = start;
|
||||
break;
|
||||
case 3: //本周
|
||||
var startWeek = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d"))); //本周周一
|
||||
var endWeek = startWeek.AddDays(6); //本周周日
|
||||
start = startWeek.ToString("yyyy-MM-dd");
|
||||
end = endWeek.ToString("yyyy-MM-dd");
|
||||
break;
|
||||
case 4: //上周
|
||||
var lastWeekStart = dt.AddDays(Convert.ToInt32(1 - Convert.ToInt32(dt.DayOfWeek)) - 7);
|
||||
var lastWeekEnd = dt.AddDays(Convert.ToInt32(1 - Convert.ToInt32(dt.DayOfWeek)) - 7).AddDays(6); //上周末(星期日)
|
||||
start = lastWeekStart.ToString("yyyy-MM-dd");
|
||||
end = lastWeekEnd.ToString("yyyy-MM-dd");
|
||||
break;
|
||||
case 5: //本月
|
||||
var startMonth = dt.AddDays(1 - dt.Day); //本月月初
|
||||
var endMonth = startMonth.AddMonths(1).AddDays(-1); //本月月末
|
||||
start = startMonth.ToString("yyyy-MM-dd");
|
||||
end = endMonth.ToString("yyyy-MM-dd");
|
||||
break;
|
||||
case 6: //上月
|
||||
start = DateTime.Parse(dt.ToString("yyyy-MM-01")).AddMonths(-1).ToString("yyyy-MM-dd");
|
||||
end = DateTime.Parse(dt.ToString("yyyy-MM-01")).AddDays(-1).ToString("yyyy-MM-dd");
|
||||
break;
|
||||
case 7: //最近7天
|
||||
start = dt.AddDays(-7).ToString("yyyy-MM-dd");
|
||||
end = dt.Date.ToString("yyyy-MM-dd");
|
||||
break;
|
||||
case 8: //最近一月
|
||||
start = dt.AddMonths(-1).AddDays(1).ToString("yyyy-MM-dd");
|
||||
end = dt.Date.ToString("yyyy-MM-dd");
|
||||
break;
|
||||
case 9: //最近3月
|
||||
start = dt.AddMonths(-3).AddDays(1).ToString("yyyy-MM-dd");
|
||||
end = dt.Date.ToString("yyyy-MM-dd");
|
||||
break;
|
||||
case 10: //最近6个月
|
||||
start = dt.AddMonths(-6).AddDays(1).ToString("yyyy-MM-dd");
|
||||
end = dt.Date.ToString("yyyy-MM-dd");
|
||||
break;
|
||||
case 11: //最近一年
|
||||
start = dt.AddMonths(-12).AddDays(1).ToString("yyyy-MM-dd");
|
||||
end = dt.Date.ToString("yyyy-MM-dd");
|
||||
break;
|
||||
case 12: //本年度
|
||||
start = DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).ToString("yyyy-MM-dd");
|
||||
end = DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).AddDays(-1).ToString("yyyy-MM-dd");
|
||||
break;
|
||||
case 13: //上年度
|
||||
start = DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(-1).ToString("yyyy-MM-dd");
|
||||
end = DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddDays(-1).ToString("yyyy-MM-dd");
|
||||
break;
|
||||
default:
|
||||
jm.msg = "没有此时间维度";
|
||||
break;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = new
|
||||
{
|
||||
start,
|
||||
end
|
||||
};
|
||||
return jm;
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,844 @@
|
||||
/***********************************************************************
|
||||
* Project: CoreCms
|
||||
* ProjectName: 核心内容管理系统
|
||||
* Web: https://www.corecms.net
|
||||
* Author: 大灰灰
|
||||
* Email: jianweie@163.com
|
||||
* CreateTime: 2021/1/31 21:45:10
|
||||
* Description: 暂无
|
||||
***********************************************************************/
|
||||
|
||||
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 NPOI.HSSF.UserModel;
|
||||
using SqlSugar;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CoreCms.Net.Web.Admin.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 服务购买表
|
||||
///</summary>
|
||||
[Description("服务购买表")]
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
[RequiredErrorForAdmin]
|
||||
[Authorize(Permissions.Name)]
|
||||
public class CoreCmsUserServicesOrderController : ControllerBase
|
||||
{
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly ICoreCmsUserServicesOrderServices _CoreCmsUserServicesOrderServices;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
///</summary>
|
||||
public CoreCmsUserServicesOrderController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsUserServicesOrderServices CoreCmsUserServicesOrderServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_CoreCmsUserServicesOrderServices = CoreCmsUserServicesOrderServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserServicesOrder/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<CoreCmsUserServicesOrder>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsUserServicesOrder, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
|
||||
case "serviceOrderId":
|
||||
orderEx = p => p.serviceOrderId;
|
||||
break;
|
||||
|
||||
case "userId":
|
||||
orderEx = p => p.userId;
|
||||
break;
|
||||
|
||||
case "servicesId":
|
||||
orderEx = p => p.servicesId;
|
||||
break;
|
||||
|
||||
case "isPay":
|
||||
orderEx = p => p.isPay;
|
||||
break;
|
||||
|
||||
case "payTime":
|
||||
orderEx = p => p.payTime;
|
||||
break;
|
||||
|
||||
case "paymentId":
|
||||
orderEx = p => p.paymentId;
|
||||
break;
|
||||
|
||||
case "status":
|
||||
orderEx = p => p.status;
|
||||
break;
|
||||
|
||||
case "createTime":
|
||||
orderEx = p => p.createTime;
|
||||
break;
|
||||
|
||||
case "servicesEndTime":
|
||||
orderEx = p => p.servicesEndTime;
|
||||
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 serviceOrderId = Request.Form["serviceOrderId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(serviceOrderId))
|
||||
{
|
||||
where = where.And(p => p.serviceOrderId.Contains(serviceOrderId));
|
||||
}
|
||||
//关联用户 int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0)
|
||||
{
|
||||
where = where.And(p => p.userId == userId);
|
||||
}
|
||||
//关联服务 int
|
||||
var servicesId = Request.Form["servicesId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (servicesId > 0)
|
||||
{
|
||||
where = where.And(p => p.servicesId == servicesId);
|
||||
}
|
||||
//是否支付 bit
|
||||
var isPay = Request.Form["isPay"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isPay) && isPay.ToLowerInvariant() == "true")
|
||||
{
|
||||
where = where.And(p => p.isPay == true);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(isPay) && isPay.ToLowerInvariant() == "false")
|
||||
{
|
||||
where = where.And(p => p.isPay == false);
|
||||
}
|
||||
//支付时间 datetime
|
||||
var payTime = Request.Form["payTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(payTime))
|
||||
{
|
||||
if (payTime.Contains("到"))
|
||||
{
|
||||
var dts = payTime.Split("到");
|
||||
var dtStart = dts[0].Trim().ObjectToDate();
|
||||
where = where.And(p => p.payTime > dtStart);
|
||||
var dtEnd = dts[1].Trim().ObjectToDate();
|
||||
where = where.And(p => p.payTime < dtEnd);
|
||||
}
|
||||
else
|
||||
{
|
||||
var dt = payTime.ObjectToDate();
|
||||
where = where.And(p => p.payTime > dt);
|
||||
}
|
||||
}
|
||||
//支付单号 nvarchar
|
||||
var paymentId = Request.Form["paymentId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(paymentId))
|
||||
{
|
||||
where = where.And(p => p.paymentId.Contains(paymentId));
|
||||
}
|
||||
//状态 int
|
||||
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
|
||||
if (status > 0)
|
||||
{
|
||||
where = where.And(p => p.status == status);
|
||||
}
|
||||
//订单创建时间 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 servicesEndTime = Request.Form["servicesEndTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(servicesEndTime))
|
||||
{
|
||||
if (servicesEndTime.Contains("到"))
|
||||
{
|
||||
var dts = servicesEndTime.Split("到");
|
||||
var dtStart = dts[0].Trim().ObjectToDate();
|
||||
where = where.And(p => p.servicesEndTime > dtStart);
|
||||
var dtEnd = dts[1].Trim().ObjectToDate();
|
||||
where = where.And(p => p.servicesEndTime < dtEnd);
|
||||
}
|
||||
else
|
||||
{
|
||||
var dt = servicesEndTime.ObjectToDate();
|
||||
where = where.And(p => p.servicesEndTime > dt);
|
||||
}
|
||||
}
|
||||
//获取数据
|
||||
var list = await _CoreCmsUserServicesOrderServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 获取列表============================================================
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserServicesOrder/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 首页数据============================================================
|
||||
|
||||
#region 创建数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserServicesOrder/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 创建数据============================================================
|
||||
|
||||
#region 创建提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserServicesOrder/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsUserServicesOrder entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var bl = await _CoreCmsUserServicesOrderServices.InsertAsync(entity) > 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = (bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure);
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 创建提交============================================================
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserServicesOrder/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 _CoreCmsUserServicesOrderServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 编辑数据============================================================
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserServicesOrder/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsUserServicesOrder entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _CoreCmsUserServicesOrderServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
//事物处理过程开始
|
||||
oldModel.id = entity.id;
|
||||
oldModel.serviceOrderId = entity.serviceOrderId;
|
||||
oldModel.userId = entity.userId;
|
||||
oldModel.servicesId = entity.servicesId;
|
||||
oldModel.isPay = entity.isPay;
|
||||
oldModel.payTime = entity.payTime;
|
||||
oldModel.paymentId = entity.paymentId;
|
||||
oldModel.status = entity.status;
|
||||
oldModel.createTime = entity.createTime;
|
||||
oldModel.servicesEndTime = entity.servicesEndTime;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _CoreCmsUserServicesOrderServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 编辑提交============================================================
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserServicesOrder/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 _CoreCmsUserServicesOrderServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
var bl = await _CoreCmsUserServicesOrderServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 删除数据============================================================
|
||||
|
||||
#region 批量删除============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserServicesOrder/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 _CoreCmsUserServicesOrderServices.DeleteByIdsAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 批量删除============================================================
|
||||
|
||||
#region 预览数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserServicesOrder/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 _CoreCmsUserServicesOrderServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 预览数据============================================================
|
||||
|
||||
#region 选择导出============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserServicesOrder/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 mySheet = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listModel = await _CoreCmsUserServicesOrderServices.QueryListByClauseAsync(p => entity.id.Contains(p.id), p => p.id, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var headerRow = mySheet.CreateRow(0);
|
||||
var headerStyle = ExcelHelper.GetHeaderStyle(book);
|
||||
|
||||
var cell0 = headerRow.CreateCell(0);
|
||||
cell0.SetCellValue("序列");
|
||||
cell0.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(0, 10 * 256);
|
||||
|
||||
var cell1 = headerRow.CreateCell(1);
|
||||
cell1.SetCellValue("服务订单编号");
|
||||
cell1.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(1, 10 * 256);
|
||||
|
||||
var cell2 = headerRow.CreateCell(2);
|
||||
cell2.SetCellValue("关联用户");
|
||||
cell2.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(2, 10 * 256);
|
||||
|
||||
var cell3 = headerRow.CreateCell(3);
|
||||
cell3.SetCellValue("关联服务");
|
||||
cell3.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(3, 10 * 256);
|
||||
|
||||
var cell4 = headerRow.CreateCell(4);
|
||||
cell4.SetCellValue("是否支付");
|
||||
cell4.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(4, 10 * 256);
|
||||
|
||||
var cell5 = headerRow.CreateCell(5);
|
||||
cell5.SetCellValue("支付时间");
|
||||
cell5.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(5, 10 * 256);
|
||||
|
||||
var cell6 = headerRow.CreateCell(6);
|
||||
cell6.SetCellValue("支付单号");
|
||||
cell6.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(6, 10 * 256);
|
||||
|
||||
var cell7 = headerRow.CreateCell(7);
|
||||
cell7.SetCellValue("状态");
|
||||
cell7.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(7, 10 * 256);
|
||||
|
||||
var cell8 = headerRow.CreateCell(8);
|
||||
cell8.SetCellValue("订单创建时间");
|
||||
cell8.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(8, 10 * 256);
|
||||
|
||||
var cell9 = headerRow.CreateCell(9);
|
||||
cell9.SetCellValue("截止服务时间");
|
||||
cell9.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(9, 10 * 256);
|
||||
|
||||
headerRow.Height = 30 * 20;
|
||||
var commonCellStyle = ExcelHelper.GetCommonStyle(book);
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listModel.Count; i++)
|
||||
{
|
||||
var rowTemp = mySheet.CreateRow(i + 1);
|
||||
|
||||
var rowTemp0 = rowTemp.CreateCell(0);
|
||||
rowTemp0.SetCellValue(listModel[i].id.ToString());
|
||||
rowTemp0.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp1 = rowTemp.CreateCell(1);
|
||||
rowTemp1.SetCellValue(listModel[i].serviceOrderId.ToString());
|
||||
rowTemp1.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp2 = rowTemp.CreateCell(2);
|
||||
rowTemp2.SetCellValue(listModel[i].userId.ToString());
|
||||
rowTemp2.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp3 = rowTemp.CreateCell(3);
|
||||
rowTemp3.SetCellValue(listModel[i].servicesId.ToString());
|
||||
rowTemp3.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp4 = rowTemp.CreateCell(4);
|
||||
rowTemp4.SetCellValue(listModel[i].isPay.ToString());
|
||||
rowTemp4.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp5 = rowTemp.CreateCell(5);
|
||||
rowTemp5.SetCellValue(listModel[i].payTime.ToString());
|
||||
rowTemp5.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp6 = rowTemp.CreateCell(6);
|
||||
rowTemp6.SetCellValue(listModel[i].paymentId.ToString());
|
||||
rowTemp6.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp7 = rowTemp.CreateCell(7);
|
||||
rowTemp7.SetCellValue(listModel[i].status.ToString());
|
||||
rowTemp7.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp8 = rowTemp.CreateCell(8);
|
||||
rowTemp8.SetCellValue(listModel[i].createTime.ToString());
|
||||
rowTemp8.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp9 = rowTemp.CreateCell(9);
|
||||
rowTemp9.SetCellValue(listModel[i].servicesEndTime.ToString());
|
||||
rowTemp9.CellStyle = commonCellStyle;
|
||||
}
|
||||
// 导出excel
|
||||
string webRootPath = _webHostEnvironment.WebRootPath;
|
||||
string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsUserServicesOrder导出(选择结果).xls";
|
||||
string filePath = webRootPath + tpath;
|
||||
DirectoryInfo di = new DirectoryInfo(filePath);
|
||||
if (!di.Exists)
|
||||
{
|
||||
di.Create();
|
||||
}
|
||||
FileStream 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/CoreCmsUserServicesOrder/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<CoreCmsUserServicesOrder>();
|
||||
//查询筛选
|
||||
|
||||
//序列 int
|
||||
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||
if (id > 0)
|
||||
{
|
||||
where = where.And(p => p.id == id);
|
||||
}
|
||||
//服务订单编号 nvarchar
|
||||
var serviceOrderId = Request.Form["serviceOrderId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(serviceOrderId))
|
||||
{
|
||||
where = where.And(p => p.serviceOrderId.Contains(serviceOrderId));
|
||||
}
|
||||
//关联用户 int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0)
|
||||
{
|
||||
where = where.And(p => p.userId == userId);
|
||||
}
|
||||
//关联服务 int
|
||||
var servicesId = Request.Form["servicesId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (servicesId > 0)
|
||||
{
|
||||
where = where.And(p => p.servicesId == servicesId);
|
||||
}
|
||||
//是否支付 bit
|
||||
var isPay = Request.Form["isPay"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isPay) && isPay.ToLowerInvariant() == "true")
|
||||
{
|
||||
where = where.And(p => p.isPay == true);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(isPay) && isPay.ToLowerInvariant() == "false")
|
||||
{
|
||||
where = where.And(p => p.isPay == false);
|
||||
}
|
||||
//支付时间 datetime
|
||||
var payTime = Request.Form["payTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(payTime))
|
||||
{
|
||||
var dt = payTime.ObjectToDate();
|
||||
where = where.And(p => p.payTime > dt);
|
||||
}
|
||||
//支付单号 nvarchar
|
||||
var paymentId = Request.Form["paymentId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(paymentId))
|
||||
{
|
||||
where = where.And(p => p.paymentId.Contains(paymentId));
|
||||
}
|
||||
//状态 int
|
||||
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
|
||||
if (status > 0)
|
||||
{
|
||||
where = where.And(p => p.status == status);
|
||||
}
|
||||
//订单创建时间 datetime
|
||||
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(createTime))
|
||||
{
|
||||
var dt = createTime.ObjectToDate();
|
||||
where = where.And(p => p.createTime > dt);
|
||||
}
|
||||
//截止服务时间 datetime
|
||||
var servicesEndTime = Request.Form["servicesEndTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(servicesEndTime))
|
||||
{
|
||||
var dt = servicesEndTime.ObjectToDate();
|
||||
where = where.And(p => p.servicesEndTime > dt);
|
||||
}
|
||||
//获取数据
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var mySheet = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listModel = await _CoreCmsUserServicesOrderServices.QueryListByClauseAsync(where, p => p.id, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var headerRow = mySheet.CreateRow(0);
|
||||
var headerStyle = ExcelHelper.GetHeaderStyle(book);
|
||||
|
||||
var cell0 = headerRow.CreateCell(0);
|
||||
cell0.SetCellValue("序列");
|
||||
cell0.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(0, 10 * 256);
|
||||
|
||||
var cell1 = headerRow.CreateCell(1);
|
||||
cell1.SetCellValue("服务订单编号");
|
||||
cell1.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(1, 10 * 256);
|
||||
|
||||
var cell2 = headerRow.CreateCell(2);
|
||||
cell2.SetCellValue("关联用户");
|
||||
cell2.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(2, 10 * 256);
|
||||
|
||||
var cell3 = headerRow.CreateCell(3);
|
||||
cell3.SetCellValue("关联服务");
|
||||
cell3.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(3, 10 * 256);
|
||||
|
||||
var cell4 = headerRow.CreateCell(4);
|
||||
cell4.SetCellValue("是否支付");
|
||||
cell4.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(4, 10 * 256);
|
||||
|
||||
var cell5 = headerRow.CreateCell(5);
|
||||
cell5.SetCellValue("支付时间");
|
||||
cell5.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(5, 10 * 256);
|
||||
|
||||
var cell6 = headerRow.CreateCell(6);
|
||||
cell6.SetCellValue("支付单号");
|
||||
cell6.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(6, 10 * 256);
|
||||
|
||||
var cell7 = headerRow.CreateCell(7);
|
||||
cell7.SetCellValue("状态");
|
||||
cell7.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(7, 10 * 256);
|
||||
|
||||
var cell8 = headerRow.CreateCell(8);
|
||||
cell8.SetCellValue("订单创建时间");
|
||||
cell8.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(8, 10 * 256);
|
||||
|
||||
var cell9 = headerRow.CreateCell(9);
|
||||
cell9.SetCellValue("截止服务时间");
|
||||
cell9.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(9, 10 * 256);
|
||||
|
||||
headerRow.Height = 30 * 20;
|
||||
var commonCellStyle = ExcelHelper.GetCommonStyle(book);
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listModel.Count; i++)
|
||||
{
|
||||
var rowTemp = mySheet.CreateRow(i + 1);
|
||||
|
||||
var rowTemp0 = rowTemp.CreateCell(0);
|
||||
rowTemp0.SetCellValue(listModel[i].id.ToString());
|
||||
rowTemp0.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp1 = rowTemp.CreateCell(1);
|
||||
rowTemp1.SetCellValue(listModel[i].serviceOrderId.ToString());
|
||||
rowTemp1.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp2 = rowTemp.CreateCell(2);
|
||||
rowTemp2.SetCellValue(listModel[i].userId.ToString());
|
||||
rowTemp2.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp3 = rowTemp.CreateCell(3);
|
||||
rowTemp3.SetCellValue(listModel[i].servicesId.ToString());
|
||||
rowTemp3.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp4 = rowTemp.CreateCell(4);
|
||||
rowTemp4.SetCellValue(listModel[i].isPay.ToString());
|
||||
rowTemp4.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp5 = rowTemp.CreateCell(5);
|
||||
rowTemp5.SetCellValue(listModel[i].payTime.ToString());
|
||||
rowTemp5.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp6 = rowTemp.CreateCell(6);
|
||||
rowTemp6.SetCellValue(listModel[i].paymentId.ToString());
|
||||
rowTemp6.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp7 = rowTemp.CreateCell(7);
|
||||
rowTemp7.SetCellValue(listModel[i].status.ToString());
|
||||
rowTemp7.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp8 = rowTemp.CreateCell(8);
|
||||
rowTemp8.SetCellValue(listModel[i].createTime.ToString());
|
||||
rowTemp8.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp9 = rowTemp.CreateCell(9);
|
||||
rowTemp9.SetCellValue(listModel[i].servicesEndTime.ToString());
|
||||
rowTemp9.CellStyle = commonCellStyle;
|
||||
}
|
||||
// 写入到excel
|
||||
string webRootPath = _webHostEnvironment.WebRootPath;
|
||||
string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsUserServicesOrder导出(查询结果).xls";
|
||||
string filePath = webRootPath + tpath;
|
||||
DirectoryInfo di = new DirectoryInfo(filePath);
|
||||
if (!di.Exists)
|
||||
{
|
||||
di.Create();
|
||||
}
|
||||
FileStream 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/CoreCmsUserServicesOrder/DoSetisPay/10
|
||||
/// <summary>
|
||||
/// 设置是否支付
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置是否支付")]
|
||||
public async Task<AdminUiCallBack> DoSetisPay([FromBody] FMUpdateBoolDataByIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _CoreCmsUserServicesOrderServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
oldModel.isPay = (bool)entity.data;
|
||||
|
||||
var bl = await _CoreCmsUserServicesOrderServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 设置是否支付============================================================
|
||||
}
|
||||
}
|
||||
+948
@@ -0,0 +1,948 @@
|
||||
/***********************************************************************
|
||||
* Project: CoreCms
|
||||
* ProjectName: 核心内容管理系统
|
||||
* Web: https://www.corecms.net
|
||||
* Author: 大灰灰
|
||||
* Email: jianweie@163.com
|
||||
* CreateTime: 2021/1/31 21:45:10
|
||||
* Description: 暂无
|
||||
***********************************************************************/
|
||||
|
||||
using CoreCms.Net.Configuration;
|
||||
using CoreCms.Net.Filter;
|
||||
using CoreCms.Net.IServices;
|
||||
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 NPOI.HSSF.UserModel;
|
||||
using SqlSugar;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CoreCms.Net.Web.Admin.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 服务消费券
|
||||
///</summary>
|
||||
[Description("服务消费券")]
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
[RequiredErrorForAdmin]
|
||||
[Authorize(Permissions.Name)]
|
||||
public class CoreCmsUserServicesTicketController : ControllerBase
|
||||
{
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly ICoreCmsUserServicesTicketServices _CoreCmsUserServicesTicketServices;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
///</summary>
|
||||
public CoreCmsUserServicesTicketController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsUserServicesTicketServices CoreCmsUserServicesTicketServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_CoreCmsUserServicesTicketServices = CoreCmsUserServicesTicketServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserServicesTicket/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<CoreCmsUserServicesTicket>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsUserServicesTicket, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
|
||||
case "serviceOrderId":
|
||||
orderEx = p => p.serviceOrderId;
|
||||
break;
|
||||
|
||||
case "securityCode":
|
||||
orderEx = p => p.securityCode;
|
||||
break;
|
||||
|
||||
case "redeemCode":
|
||||
orderEx = p => p.redeemCode;
|
||||
break;
|
||||
|
||||
case "serviceId":
|
||||
orderEx = p => p.serviceId;
|
||||
break;
|
||||
|
||||
case "userId":
|
||||
orderEx = p => p.userId;
|
||||
break;
|
||||
|
||||
case "status":
|
||||
orderEx = p => p.status;
|
||||
break;
|
||||
|
||||
case "validityType":
|
||||
orderEx = p => p.validityType;
|
||||
break;
|
||||
|
||||
case "validityStartTime":
|
||||
orderEx = p => p.validityStartTime;
|
||||
break;
|
||||
|
||||
case "validityEndTime":
|
||||
orderEx = p => p.validityEndTime;
|
||||
break;
|
||||
|
||||
case "createTime":
|
||||
orderEx = p => p.createTime;
|
||||
break;
|
||||
|
||||
case "isVerification":
|
||||
orderEx = p => p.isVerification;
|
||||
break;
|
||||
|
||||
case "verificationTime":
|
||||
orderEx = p => p.verificationTime;
|
||||
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 serviceOrderId = Request.Form["serviceOrderId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(serviceOrderId))
|
||||
{
|
||||
where = where.And(p => p.serviceOrderId.Contains(serviceOrderId));
|
||||
}
|
||||
//兑换码 nvarchar
|
||||
var redeemCode = Request.Form["redeemCode"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(redeemCode))
|
||||
{
|
||||
where = where.And(p => p.redeemCode.Contains(redeemCode));
|
||||
}
|
||||
//关联服务项目id int
|
||||
var serviceId = Request.Form["serviceId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (serviceId > 0)
|
||||
{
|
||||
where = where.And(p => p.serviceId == serviceId);
|
||||
}
|
||||
//关联用户id int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0)
|
||||
{
|
||||
where = where.And(p => p.userId == userId);
|
||||
}
|
||||
//状态 int
|
||||
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
|
||||
if (status > 0)
|
||||
{
|
||||
where = where.And(p => p.status == status);
|
||||
}
|
||||
//核销有效期类型 int
|
||||
var validityType = Request.Form["validityType"].FirstOrDefault().ObjectToInt(0);
|
||||
if (validityType > 0)
|
||||
{
|
||||
where = where.And(p => p.validityType == validityType);
|
||||
}
|
||||
//核销开始时间 datetime
|
||||
var validityStartTime = Request.Form["validityStartTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(validityStartTime))
|
||||
{
|
||||
if (validityStartTime.Contains("到"))
|
||||
{
|
||||
var dts = validityStartTime.Split("到");
|
||||
var dtStart = dts[0].Trim().ObjectToDate();
|
||||
where = where.And(p => p.validityStartTime > dtStart);
|
||||
var dtEnd = dts[1].Trim().ObjectToDate();
|
||||
where = where.And(p => p.validityStartTime < dtEnd);
|
||||
}
|
||||
else
|
||||
{
|
||||
var dt = validityStartTime.ObjectToDate();
|
||||
where = where.And(p => p.validityStartTime > dt);
|
||||
}
|
||||
}
|
||||
//核销结束时间 datetime
|
||||
var validityEndTime = Request.Form["validityEndTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(validityEndTime))
|
||||
{
|
||||
if (validityEndTime.Contains("到"))
|
||||
{
|
||||
var dts = validityEndTime.Split("到");
|
||||
var dtStart = dts[0].Trim().ObjectToDate();
|
||||
where = where.And(p => p.validityEndTime > dtStart);
|
||||
var dtEnd = dts[1].Trim().ObjectToDate();
|
||||
where = where.And(p => p.validityEndTime < dtEnd);
|
||||
}
|
||||
else
|
||||
{
|
||||
var dt = validityEndTime.ObjectToDate();
|
||||
where = where.And(p => p.validityEndTime > dt);
|
||||
}
|
||||
}
|
||||
//创建时间 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);
|
||||
}
|
||||
}
|
||||
//是否核销 bit
|
||||
var isVerification = Request.Form["isVerification"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isVerification) && isVerification.ToLowerInvariant() == "true")
|
||||
{
|
||||
where = where.And(p => p.isVerification == true);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(isVerification) && isVerification.ToLowerInvariant() == "false")
|
||||
{
|
||||
where = where.And(p => p.isVerification == false);
|
||||
}
|
||||
//核销时间 datetime
|
||||
var verificationTime = Request.Form["verificationTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(verificationTime))
|
||||
{
|
||||
if (verificationTime.Contains("到"))
|
||||
{
|
||||
var dts = verificationTime.Split("到");
|
||||
var dtStart = dts[0].Trim().ObjectToDate();
|
||||
where = where.And(p => p.verificationTime > dtStart);
|
||||
var dtEnd = dts[1].Trim().ObjectToDate();
|
||||
where = where.And(p => p.verificationTime < dtEnd);
|
||||
}
|
||||
else
|
||||
{
|
||||
var dt = verificationTime.ObjectToDate();
|
||||
where = where.And(p => p.verificationTime > dt);
|
||||
}
|
||||
}
|
||||
//获取数据
|
||||
var list = await _CoreCmsUserServicesTicketServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 获取列表============================================================
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserServicesTicket/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 首页数据============================================================
|
||||
|
||||
#region 创建数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserServicesTicket/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 创建数据============================================================
|
||||
|
||||
#region 创建提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserServicesTicket/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsUserServicesTicket entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var bl = await _CoreCmsUserServicesTicketServices.InsertAsync(entity) > 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = (bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure);
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 创建提交============================================================
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserServicesTicket/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 _CoreCmsUserServicesTicketServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 编辑数据============================================================
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserServicesTicket/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsUserServicesTicket entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _CoreCmsUserServicesTicketServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
//事物处理过程开始
|
||||
oldModel.serviceOrderId = entity.serviceOrderId;
|
||||
oldModel.securityCode = entity.securityCode;
|
||||
oldModel.redeemCode = entity.redeemCode;
|
||||
oldModel.serviceId = entity.serviceId;
|
||||
oldModel.userId = entity.userId;
|
||||
oldModel.status = entity.status;
|
||||
oldModel.validityType = entity.validityType;
|
||||
oldModel.validityStartTime = entity.validityStartTime;
|
||||
oldModel.validityEndTime = entity.validityEndTime;
|
||||
oldModel.createTime = entity.createTime;
|
||||
oldModel.isVerification = entity.isVerification;
|
||||
oldModel.verificationTime = entity.verificationTime;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _CoreCmsUserServicesTicketServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 编辑提交============================================================
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserServicesTicket/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 _CoreCmsUserServicesTicketServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
var bl = await _CoreCmsUserServicesTicketServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 删除数据============================================================
|
||||
|
||||
#region 批量删除============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserServicesTicket/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 _CoreCmsUserServicesTicketServices.DeleteByIdsAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 批量删除============================================================
|
||||
|
||||
#region 预览数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserServicesTicket/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 _CoreCmsUserServicesTicketServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 预览数据============================================================
|
||||
|
||||
#region 选择导出============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserServicesTicket/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 mySheet = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listModel = await _CoreCmsUserServicesTicketServices.QueryListByClauseAsync(p => entity.id.Contains(p.id), p => p.id, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var headerRow = mySheet.CreateRow(0);
|
||||
var headerStyle = ExcelHelper.GetHeaderStyle(book);
|
||||
|
||||
var cell0 = headerRow.CreateCell(0);
|
||||
cell0.SetCellValue("序列");
|
||||
cell0.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(0, 10 * 256);
|
||||
|
||||
var cell1 = headerRow.CreateCell(1);
|
||||
cell1.SetCellValue("关联购买订单");
|
||||
cell1.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(1, 10 * 256);
|
||||
|
||||
var cell2 = headerRow.CreateCell(2);
|
||||
cell2.SetCellValue("安全码");
|
||||
cell2.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(2, 10 * 256);
|
||||
|
||||
var cell3 = headerRow.CreateCell(3);
|
||||
cell3.SetCellValue("兑换码");
|
||||
cell3.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(3, 10 * 256);
|
||||
|
||||
var cell4 = headerRow.CreateCell(4);
|
||||
cell4.SetCellValue("关联服务项目id");
|
||||
cell4.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(4, 10 * 256);
|
||||
|
||||
var cell5 = headerRow.CreateCell(5);
|
||||
cell5.SetCellValue("关联用户id");
|
||||
cell5.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(5, 10 * 256);
|
||||
|
||||
var cell6 = headerRow.CreateCell(6);
|
||||
cell6.SetCellValue("状态");
|
||||
cell6.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(6, 10 * 256);
|
||||
|
||||
var cell7 = headerRow.CreateCell(7);
|
||||
cell7.SetCellValue("核销有效期类型");
|
||||
cell7.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(7, 10 * 256);
|
||||
|
||||
var cell8 = headerRow.CreateCell(8);
|
||||
cell8.SetCellValue("核销开始时间");
|
||||
cell8.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(8, 10 * 256);
|
||||
|
||||
var cell9 = headerRow.CreateCell(9);
|
||||
cell9.SetCellValue("核销结束时间");
|
||||
cell9.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(9, 10 * 256);
|
||||
|
||||
var cell10 = headerRow.CreateCell(10);
|
||||
cell10.SetCellValue("创建时间");
|
||||
cell10.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(10, 10 * 256);
|
||||
|
||||
var cell11 = headerRow.CreateCell(11);
|
||||
cell11.SetCellValue("是否核销");
|
||||
cell11.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(11, 10 * 256);
|
||||
|
||||
var cell12 = headerRow.CreateCell(12);
|
||||
cell12.SetCellValue("核销时间");
|
||||
cell12.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(12, 10 * 256);
|
||||
|
||||
headerRow.Height = 30 * 20;
|
||||
var commonCellStyle = ExcelHelper.GetCommonStyle(book);
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listModel.Count; i++)
|
||||
{
|
||||
var rowTemp = mySheet.CreateRow(i + 1);
|
||||
|
||||
var rowTemp0 = rowTemp.CreateCell(0);
|
||||
rowTemp0.SetCellValue(listModel[i].id.ToString());
|
||||
rowTemp0.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp1 = rowTemp.CreateCell(1);
|
||||
rowTemp1.SetCellValue(listModel[i].serviceOrderId.ToString());
|
||||
rowTemp1.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp2 = rowTemp.CreateCell(2);
|
||||
rowTemp2.SetCellValue(listModel[i].securityCode.ToString());
|
||||
rowTemp2.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp3 = rowTemp.CreateCell(3);
|
||||
rowTemp3.SetCellValue(listModel[i].redeemCode.ToString());
|
||||
rowTemp3.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp4 = rowTemp.CreateCell(4);
|
||||
rowTemp4.SetCellValue(listModel[i].serviceId.ToString());
|
||||
rowTemp4.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp5 = rowTemp.CreateCell(5);
|
||||
rowTemp5.SetCellValue(listModel[i].userId.ToString());
|
||||
rowTemp5.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp6 = rowTemp.CreateCell(6);
|
||||
rowTemp6.SetCellValue(listModel[i].status.ToString());
|
||||
rowTemp6.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp7 = rowTemp.CreateCell(7);
|
||||
rowTemp7.SetCellValue(listModel[i].validityType.ToString());
|
||||
rowTemp7.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp8 = rowTemp.CreateCell(8);
|
||||
rowTemp8.SetCellValue(listModel[i].validityStartTime.ToString());
|
||||
rowTemp8.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp9 = rowTemp.CreateCell(9);
|
||||
rowTemp9.SetCellValue(listModel[i].validityEndTime.ToString());
|
||||
rowTemp9.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp10 = rowTemp.CreateCell(10);
|
||||
rowTemp10.SetCellValue(listModel[i].createTime.ToString());
|
||||
rowTemp10.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp11 = rowTemp.CreateCell(11);
|
||||
rowTemp11.SetCellValue(listModel[i].isVerification.ToString());
|
||||
rowTemp11.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp12 = rowTemp.CreateCell(12);
|
||||
rowTemp12.SetCellValue(listModel[i].verificationTime.ToString());
|
||||
rowTemp12.CellStyle = commonCellStyle;
|
||||
}
|
||||
// 导出excel
|
||||
string webRootPath = _webHostEnvironment.WebRootPath;
|
||||
string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsUserServicesTicket导出(选择结果).xls";
|
||||
string filePath = webRootPath + tpath;
|
||||
DirectoryInfo di = new DirectoryInfo(filePath);
|
||||
if (!di.Exists)
|
||||
{
|
||||
di.Create();
|
||||
}
|
||||
FileStream 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/CoreCmsUserServicesTicket/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<CoreCmsUserServicesTicket>();
|
||||
//查询筛选
|
||||
|
||||
//序列 int
|
||||
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||
if (id > 0)
|
||||
{
|
||||
where = where.And(p => p.id == id);
|
||||
}
|
||||
//关联购买订单 nvarchar
|
||||
var serviceOrderId = Request.Form["serviceOrderId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(serviceOrderId))
|
||||
{
|
||||
where = where.And(p => p.serviceOrderId.Contains(serviceOrderId));
|
||||
}
|
||||
//兑换码 nvarchar
|
||||
var redeemCode = Request.Form["redeemCode"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(redeemCode))
|
||||
{
|
||||
where = where.And(p => p.redeemCode.Contains(redeemCode));
|
||||
}
|
||||
//关联服务项目id int
|
||||
var serviceId = Request.Form["serviceId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (serviceId > 0)
|
||||
{
|
||||
where = where.And(p => p.serviceId == serviceId);
|
||||
}
|
||||
//关联用户id int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0)
|
||||
{
|
||||
where = where.And(p => p.userId == userId);
|
||||
}
|
||||
//状态 int
|
||||
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
|
||||
if (status > 0)
|
||||
{
|
||||
where = where.And(p => p.status == status);
|
||||
}
|
||||
//核销有效期类型 int
|
||||
var validityType = Request.Form["validityType"].FirstOrDefault().ObjectToInt(0);
|
||||
if (validityType > 0)
|
||||
{
|
||||
where = where.And(p => p.validityType == validityType);
|
||||
}
|
||||
//核销开始时间 datetime
|
||||
var validityStartTime = Request.Form["validityStartTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(validityStartTime))
|
||||
{
|
||||
var dt = validityStartTime.ObjectToDate();
|
||||
where = where.And(p => p.validityStartTime > dt);
|
||||
}
|
||||
//核销结束时间 datetime
|
||||
var validityEndTime = Request.Form["validityEndTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(validityEndTime))
|
||||
{
|
||||
var dt = validityEndTime.ObjectToDate();
|
||||
where = where.And(p => p.validityEndTime > dt);
|
||||
}
|
||||
//创建时间 datetime
|
||||
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(createTime))
|
||||
{
|
||||
var dt = createTime.ObjectToDate();
|
||||
where = where.And(p => p.createTime > dt);
|
||||
}
|
||||
//是否核销 bit
|
||||
var isVerification = Request.Form["isVerification"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isVerification) && isVerification.ToLowerInvariant() == "true")
|
||||
{
|
||||
where = where.And(p => p.isVerification == true);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(isVerification) && isVerification.ToLowerInvariant() == "false")
|
||||
{
|
||||
where = where.And(p => p.isVerification == false);
|
||||
}
|
||||
//核销时间 datetime
|
||||
var verificationTime = Request.Form["verificationTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(verificationTime))
|
||||
{
|
||||
var dt = verificationTime.ObjectToDate();
|
||||
where = where.And(p => p.verificationTime > dt);
|
||||
}
|
||||
//获取数据
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var mySheet = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listModel = await _CoreCmsUserServicesTicketServices.QueryListByClauseAsync(where, p => p.id, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var headerRow = mySheet.CreateRow(0);
|
||||
var headerStyle = ExcelHelper.GetHeaderStyle(book);
|
||||
|
||||
var cell0 = headerRow.CreateCell(0);
|
||||
cell0.SetCellValue("序列");
|
||||
cell0.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(0, 10 * 256);
|
||||
|
||||
var cell1 = headerRow.CreateCell(1);
|
||||
cell1.SetCellValue("关联购买订单");
|
||||
cell1.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(1, 10 * 256);
|
||||
|
||||
var cell2 = headerRow.CreateCell(2);
|
||||
cell2.SetCellValue("安全码");
|
||||
cell2.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(2, 10 * 256);
|
||||
|
||||
var cell3 = headerRow.CreateCell(3);
|
||||
cell3.SetCellValue("兑换码");
|
||||
cell3.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(3, 10 * 256);
|
||||
|
||||
var cell4 = headerRow.CreateCell(4);
|
||||
cell4.SetCellValue("关联服务项目id");
|
||||
cell4.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(4, 10 * 256);
|
||||
|
||||
var cell5 = headerRow.CreateCell(5);
|
||||
cell5.SetCellValue("关联用户id");
|
||||
cell5.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(5, 10 * 256);
|
||||
|
||||
var cell6 = headerRow.CreateCell(6);
|
||||
cell6.SetCellValue("状态");
|
||||
cell6.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(6, 10 * 256);
|
||||
|
||||
var cell7 = headerRow.CreateCell(7);
|
||||
cell7.SetCellValue("核销有效期类型");
|
||||
cell7.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(7, 10 * 256);
|
||||
|
||||
var cell8 = headerRow.CreateCell(8);
|
||||
cell8.SetCellValue("核销开始时间");
|
||||
cell8.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(8, 10 * 256);
|
||||
|
||||
var cell9 = headerRow.CreateCell(9);
|
||||
cell9.SetCellValue("核销结束时间");
|
||||
cell9.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(9, 10 * 256);
|
||||
|
||||
var cell10 = headerRow.CreateCell(10);
|
||||
cell10.SetCellValue("创建时间");
|
||||
cell10.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(10, 10 * 256);
|
||||
|
||||
var cell11 = headerRow.CreateCell(11);
|
||||
cell11.SetCellValue("是否核销");
|
||||
cell11.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(11, 10 * 256);
|
||||
|
||||
var cell12 = headerRow.CreateCell(12);
|
||||
cell12.SetCellValue("核销时间");
|
||||
cell12.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(12, 10 * 256);
|
||||
|
||||
headerRow.Height = 30 * 20;
|
||||
var commonCellStyle = ExcelHelper.GetCommonStyle(book);
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listModel.Count; i++)
|
||||
{
|
||||
var rowTemp = mySheet.CreateRow(i + 1);
|
||||
|
||||
var rowTemp0 = rowTemp.CreateCell(0);
|
||||
rowTemp0.SetCellValue(listModel[i].id.ToString());
|
||||
rowTemp0.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp1 = rowTemp.CreateCell(1);
|
||||
rowTemp1.SetCellValue(listModel[i].serviceOrderId.ToString());
|
||||
rowTemp1.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp2 = rowTemp.CreateCell(2);
|
||||
rowTemp2.SetCellValue(listModel[i].securityCode.ToString());
|
||||
rowTemp2.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp3 = rowTemp.CreateCell(3);
|
||||
rowTemp3.SetCellValue(listModel[i].redeemCode.ToString());
|
||||
rowTemp3.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp4 = rowTemp.CreateCell(4);
|
||||
rowTemp4.SetCellValue(listModel[i].serviceId.ToString());
|
||||
rowTemp4.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp5 = rowTemp.CreateCell(5);
|
||||
rowTemp5.SetCellValue(listModel[i].userId.ToString());
|
||||
rowTemp5.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp6 = rowTemp.CreateCell(6);
|
||||
rowTemp6.SetCellValue(listModel[i].status.ToString());
|
||||
rowTemp6.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp7 = rowTemp.CreateCell(7);
|
||||
rowTemp7.SetCellValue(listModel[i].validityType.ToString());
|
||||
rowTemp7.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp8 = rowTemp.CreateCell(8);
|
||||
rowTemp8.SetCellValue(listModel[i].validityStartTime.ToString());
|
||||
rowTemp8.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp9 = rowTemp.CreateCell(9);
|
||||
rowTemp9.SetCellValue(listModel[i].validityEndTime.ToString());
|
||||
rowTemp9.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp10 = rowTemp.CreateCell(10);
|
||||
rowTemp10.SetCellValue(listModel[i].createTime.ToString());
|
||||
rowTemp10.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp11 = rowTemp.CreateCell(11);
|
||||
rowTemp11.SetCellValue(listModel[i].isVerification.ToString());
|
||||
rowTemp11.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp12 = rowTemp.CreateCell(12);
|
||||
rowTemp12.SetCellValue(listModel[i].verificationTime.ToString());
|
||||
rowTemp12.CellStyle = commonCellStyle;
|
||||
}
|
||||
// 写入到excel
|
||||
string webRootPath = _webHostEnvironment.WebRootPath;
|
||||
string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsUserServicesTicket导出(查询结果).xls";
|
||||
string filePath = webRootPath + tpath;
|
||||
DirectoryInfo di = new DirectoryInfo(filePath);
|
||||
if (!di.Exists)
|
||||
{
|
||||
di.Create();
|
||||
}
|
||||
FileStream 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/CoreCmsUserServicesTicket/DoSetisVerification/10
|
||||
/// <summary>
|
||||
/// 设置是否核销
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置是否核销")]
|
||||
public async Task<AdminUiCallBack> DoSetisVerification([FromBody] FMUpdateBoolDataByIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _CoreCmsUserServicesTicketServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
oldModel.isVerification = (bool)entity.data;
|
||||
|
||||
var bl = await _CoreCmsUserServicesTicketServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 设置是否核销============================================================
|
||||
}
|
||||
}
|
||||
+631
@@ -0,0 +1,631 @@
|
||||
/***********************************************************************
|
||||
* 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 CoreCmsUserServicesTicketVerificationLogController : ControllerBase
|
||||
{
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly ICoreCmsUserServicesTicketVerificationLogServices _CoreCmsUserServicesTicketVerificationLogServices;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
///</summary>
|
||||
public CoreCmsUserServicesTicketVerificationLogController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsUserServicesTicketVerificationLogServices CoreCmsUserServicesTicketVerificationLogServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_CoreCmsUserServicesTicketVerificationLogServices = CoreCmsUserServicesTicketVerificationLogServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
// POST: Api/CoreCmsUserServicesTicketVerificationLog/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<CoreCmsUserServicesTicketVerificationLog>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsUserServicesTicketVerificationLog, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "storeId":
|
||||
orderEx = p => p.storeId;
|
||||
break;
|
||||
case "verificationUserId":
|
||||
orderEx = p => p.verificationUserId;
|
||||
break;
|
||||
case "ticketId":
|
||||
orderEx = p => p.ticketId;
|
||||
break;
|
||||
case "ticketRedeemCode":
|
||||
orderEx = p => p.ticketRedeemCode;
|
||||
break;
|
||||
case "verificationTime":
|
||||
orderEx = p => p.verificationTime;
|
||||
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);
|
||||
}
|
||||
//核验人 int
|
||||
var verificationUserId = Request.Form["verificationUserId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (verificationUserId > 0)
|
||||
{
|
||||
where = where.And(p => p.verificationUserId == verificationUserId);
|
||||
}
|
||||
//服务券序列 int
|
||||
var ticketId = Request.Form["ticketId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (ticketId > 0)
|
||||
{
|
||||
where = where.And(p => p.ticketId == ticketId);
|
||||
}
|
||||
//核验码 nvarchar
|
||||
var ticketRedeemCode = Request.Form["ticketRedeemCode"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(ticketRedeemCode))
|
||||
{
|
||||
where = where.And(p => p.ticketRedeemCode.Contains(ticketRedeemCode));
|
||||
}
|
||||
//核验时间 datetime
|
||||
var verificationTime = Request.Form["verificationTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(verificationTime))
|
||||
{
|
||||
if (verificationTime.Contains("到"))
|
||||
{
|
||||
var dts = verificationTime.Split("到");
|
||||
var dtStart = dts[0].Trim().ObjectToDate();
|
||||
where = where.And(p => p.verificationTime > dtStart);
|
||||
var dtEnd = dts[1].Trim().ObjectToDate();
|
||||
where = where.And(p => p.verificationTime < dtEnd);
|
||||
}
|
||||
else
|
||||
{
|
||||
var dt = verificationTime.ObjectToDate();
|
||||
where = where.And(p => p.verificationTime > dt);
|
||||
}
|
||||
}
|
||||
//获取数据
|
||||
var list = await _CoreCmsUserServicesTicketVerificationLogServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
// POST: Api/CoreCmsUserServicesTicketVerificationLog/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
// POST: Api/CoreCmsUserServicesTicketVerificationLog/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
// POST: Api/CoreCmsUserServicesTicketVerificationLog/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsUserServicesTicketVerificationLog entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var bl = await _CoreCmsUserServicesTicketVerificationLogServices.InsertAsync(entity) > 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = (bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure);
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
// POST: Api/CoreCmsUserServicesTicketVerificationLog/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 _CoreCmsUserServicesTicketVerificationLogServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
// POST: Api/CoreCmsUserServicesTicketVerificationLog/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsUserServicesTicketVerificationLog entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _CoreCmsUserServicesTicketVerificationLogServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
//事物处理过程开始
|
||||
oldModel.id = entity.id;
|
||||
oldModel.storeId = entity.storeId;
|
||||
oldModel.verificationUserId = entity.verificationUserId;
|
||||
oldModel.ticketId = entity.ticketId;
|
||||
oldModel.ticketRedeemCode = entity.ticketRedeemCode;
|
||||
oldModel.verificationTime = entity.verificationTime;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _CoreCmsUserServicesTicketVerificationLogServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
// POST: Api/CoreCmsUserServicesTicketVerificationLog/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 _CoreCmsUserServicesTicketVerificationLogServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
var bl = await _CoreCmsUserServicesTicketVerificationLogServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
return jm;
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 批量删除============================================================
|
||||
// POST: Api/CoreCmsUserServicesTicketVerificationLog/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 _CoreCmsUserServicesTicketVerificationLogServices.DeleteByIdsAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
// POST: Api/CoreCmsUserServicesTicketVerificationLog/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 _CoreCmsUserServicesTicketVerificationLogServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 选择导出============================================================
|
||||
// POST: Api/CoreCmsUserServicesTicketVerificationLog/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 mySheet = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listModel = await _CoreCmsUserServicesTicketVerificationLogServices.QueryListByClauseAsync(p => entity.id.Contains(p.id), p => p.id, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var headerRow = mySheet.CreateRow(0);
|
||||
var headerStyle = ExcelHelper.GetHeaderStyle(book);
|
||||
|
||||
var cell0 = headerRow.CreateCell(0);
|
||||
cell0.SetCellValue("序列");
|
||||
cell0.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(0, 10 * 256);
|
||||
|
||||
var cell1 = headerRow.CreateCell(1);
|
||||
cell1.SetCellValue("核销门店id");
|
||||
cell1.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(1, 10 * 256);
|
||||
|
||||
var cell2 = headerRow.CreateCell(2);
|
||||
cell2.SetCellValue("核验人");
|
||||
cell2.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(2, 10 * 256);
|
||||
|
||||
var cell3 = headerRow.CreateCell(3);
|
||||
cell3.SetCellValue("服务券序列");
|
||||
cell3.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(3, 10 * 256);
|
||||
|
||||
var cell4 = headerRow.CreateCell(4);
|
||||
cell4.SetCellValue("核验码");
|
||||
cell4.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(4, 10 * 256);
|
||||
|
||||
var cell5 = headerRow.CreateCell(5);
|
||||
cell5.SetCellValue("核验时间");
|
||||
cell5.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(5, 10 * 256);
|
||||
|
||||
headerRow.Height = 30 * 20;
|
||||
var commonCellStyle = ExcelHelper.GetCommonStyle(book);
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listModel.Count; i++)
|
||||
{
|
||||
var rowTemp = mySheet.CreateRow(i + 1);
|
||||
|
||||
var rowTemp0 = rowTemp.CreateCell(0);
|
||||
rowTemp0.SetCellValue(listModel[i].id.ToString());
|
||||
rowTemp0.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp1 = rowTemp.CreateCell(1);
|
||||
rowTemp1.SetCellValue(listModel[i].storeId.ToString());
|
||||
rowTemp1.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp2 = rowTemp.CreateCell(2);
|
||||
rowTemp2.SetCellValue(listModel[i].verificationUserId.ToString());
|
||||
rowTemp2.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp3 = rowTemp.CreateCell(3);
|
||||
rowTemp3.SetCellValue(listModel[i].ticketId.ToString());
|
||||
rowTemp3.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp4 = rowTemp.CreateCell(4);
|
||||
rowTemp4.SetCellValue(listModel[i].ticketRedeemCode.ToString());
|
||||
rowTemp4.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp5 = rowTemp.CreateCell(5);
|
||||
rowTemp5.SetCellValue(listModel[i].verificationTime.ToString());
|
||||
rowTemp5.CellStyle = commonCellStyle;
|
||||
|
||||
}
|
||||
// 导出excel
|
||||
string webRootPath = _webHostEnvironment.WebRootPath;
|
||||
string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsUserServicesTicketVerificationLog导出(选择结果).xls";
|
||||
string filePath = webRootPath + tpath;
|
||||
DirectoryInfo di = new DirectoryInfo(filePath);
|
||||
if (!di.Exists)
|
||||
{
|
||||
di.Create();
|
||||
}
|
||||
FileStream 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/CoreCmsUserServicesTicketVerificationLog/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<CoreCmsUserServicesTicketVerificationLog>();
|
||||
//查询筛选
|
||||
|
||||
//序列 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);
|
||||
}
|
||||
//核验人 int
|
||||
var verificationUserId = Request.Form["verificationUserId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (verificationUserId > 0)
|
||||
{
|
||||
where = where.And(p => p.verificationUserId == verificationUserId);
|
||||
}
|
||||
//服务券序列 int
|
||||
var ticketId = Request.Form["ticketId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (ticketId > 0)
|
||||
{
|
||||
where = where.And(p => p.ticketId == ticketId);
|
||||
}
|
||||
//核验码 nvarchar
|
||||
var ticketRedeemCode = Request.Form["ticketRedeemCode"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(ticketRedeemCode))
|
||||
{
|
||||
where = where.And(p => p.ticketRedeemCode.Contains(ticketRedeemCode));
|
||||
}
|
||||
//核验时间 datetime
|
||||
var verificationTime = Request.Form["verificationTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(verificationTime))
|
||||
{
|
||||
var dt = verificationTime.ObjectToDate();
|
||||
where = where.And(p => p.verificationTime > dt);
|
||||
}
|
||||
//获取数据
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var mySheet = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listModel = await _CoreCmsUserServicesTicketVerificationLogServices.QueryListByClauseAsync(where, p => p.id, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var headerRow = mySheet.CreateRow(0);
|
||||
var headerStyle = ExcelHelper.GetHeaderStyle(book);
|
||||
|
||||
var cell0 = headerRow.CreateCell(0);
|
||||
cell0.SetCellValue("序列");
|
||||
cell0.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(0, 10 * 256);
|
||||
|
||||
var cell1 = headerRow.CreateCell(1);
|
||||
cell1.SetCellValue("核销门店id");
|
||||
cell1.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(1, 10 * 256);
|
||||
|
||||
var cell2 = headerRow.CreateCell(2);
|
||||
cell2.SetCellValue("核验人");
|
||||
cell2.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(2, 10 * 256);
|
||||
|
||||
var cell3 = headerRow.CreateCell(3);
|
||||
cell3.SetCellValue("服务券序列");
|
||||
cell3.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(3, 10 * 256);
|
||||
|
||||
var cell4 = headerRow.CreateCell(4);
|
||||
cell4.SetCellValue("核验码");
|
||||
cell4.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(4, 10 * 256);
|
||||
|
||||
var cell5 = headerRow.CreateCell(5);
|
||||
cell5.SetCellValue("核验时间");
|
||||
cell5.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(5, 10 * 256);
|
||||
|
||||
|
||||
headerRow.Height = 30 * 20;
|
||||
var commonCellStyle = ExcelHelper.GetCommonStyle(book);
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listModel.Count; i++)
|
||||
{
|
||||
var rowTemp = mySheet.CreateRow(i + 1);
|
||||
|
||||
|
||||
var rowTemp0 = rowTemp.CreateCell(0);
|
||||
rowTemp0.SetCellValue(listModel[i].id.ToString());
|
||||
rowTemp0.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp1 = rowTemp.CreateCell(1);
|
||||
rowTemp1.SetCellValue(listModel[i].storeId.ToString());
|
||||
rowTemp1.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp2 = rowTemp.CreateCell(2);
|
||||
rowTemp2.SetCellValue(listModel[i].verificationUserId.ToString());
|
||||
rowTemp2.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp3 = rowTemp.CreateCell(3);
|
||||
rowTemp3.SetCellValue(listModel[i].ticketId.ToString());
|
||||
rowTemp3.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp4 = rowTemp.CreateCell(4);
|
||||
rowTemp4.SetCellValue(listModel[i].ticketRedeemCode.ToString());
|
||||
rowTemp4.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp5 = rowTemp.CreateCell(5);
|
||||
rowTemp5.SetCellValue(listModel[i].verificationTime.ToString());
|
||||
rowTemp5.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
}
|
||||
// 写入到excel
|
||||
string webRootPath = _webHostEnvironment.WebRootPath;
|
||||
string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsUserServicesTicketVerificationLog导出(查询结果).xls";
|
||||
string filePath = webRootPath + tpath;
|
||||
DirectoryInfo di = new DirectoryInfo(filePath);
|
||||
if (!di.Exists)
|
||||
{
|
||||
di.Create();
|
||||
}
|
||||
FileStream 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
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,274 @@
|
||||
/***********************************************************************
|
||||
* 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.Auth.HttpContextUser;
|
||||
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 CoreCmsStockController : ControllerBase
|
||||
{
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly ICoreCmsStockServices _stockServices;
|
||||
private readonly ICoreCmsProductsServices _productsServices;
|
||||
private readonly ICoreCmsStockLogServices _stockLogServices;
|
||||
private readonly ISysUserServices _sysUserServices;
|
||||
private readonly IHttpContextUser _user;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
///</summary>
|
||||
public CoreCmsStockController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsStockServices stockServices, ICoreCmsProductsServices productsServices, IHttpContextUser user, ICoreCmsStockLogServices stockLogServices, ISysUserServices sysUserServices)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_stockServices = stockServices;
|
||||
_productsServices = productsServices;
|
||||
_user = user;
|
||||
_stockLogServices = stockLogServices;
|
||||
_sysUserServices = sysUserServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
// POST: Api/CoreCmsStock/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<CoreCmsStock>();
|
||||
|
||||
where = where.And(p => p.type == (int)GlobalEnumVars.StockType.In || p.type == (int)GlobalEnumVars.StockType.Out);
|
||||
|
||||
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
|
||||
Expression<Func<CoreCmsStock, object>> orderEx = orderField switch
|
||||
{
|
||||
"id" => p => p.id,
|
||||
"type" => p => p.type,
|
||||
"manager" => p => p.manager,
|
||||
"memo" => p => p.memo,
|
||||
"createTime" => p => p.createTime,
|
||||
_ => p => p.createTime
|
||||
};
|
||||
|
||||
//设置排序方式
|
||||
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
|
||||
var orderBy = orderDirection switch
|
||||
{
|
||||
"asc" => OrderByType.Asc,
|
||||
"desc" => OrderByType.Desc,
|
||||
_ => OrderByType.Desc
|
||||
};
|
||||
//查询筛选
|
||||
|
||||
//序列 nvarchar
|
||||
var id = Request.Form["id"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(id))
|
||||
{
|
||||
where = where.And(p => p.id.Contains(id));
|
||||
}
|
||||
//操作类型 int
|
||||
var type = Request.Form["type"].FirstOrDefault().ObjectToInt(0);
|
||||
if (type > 0)
|
||||
{
|
||||
where = where.And(p => p.type == type);
|
||||
}
|
||||
//操作员 int
|
||||
var manager = Request.Form["manager"].FirstOrDefault().ObjectToInt(0);
|
||||
if (manager > 0)
|
||||
{
|
||||
where = where.And(p => p.manager == manager);
|
||||
}
|
||||
//备注 nvarchar
|
||||
var memo = Request.Form["memo"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(memo))
|
||||
{
|
||||
where = where.And(p => p.memo.Contains(memo));
|
||||
}
|
||||
//创建时间 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 _stockServices.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/CoreCmsStock/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var stockType = EnumHelper.EnumToList<GlobalEnumVars.StockType>();
|
||||
stockType = stockType.Where(p => p.value < 3).ToList();
|
||||
jm.data = new
|
||||
{
|
||||
stockType,
|
||||
};
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
// POST: Api/CoreCmsStock/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public async Task<AdminUiCallBack> GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
var stockType = EnumHelper.EnumToList<GlobalEnumVars.StockType>();
|
||||
stockType = stockType.Where(p => p.value < 3).ToList();
|
||||
|
||||
var products = await _productsServices.GetProducts();
|
||||
|
||||
jm.data = new
|
||||
{
|
||||
stockType,
|
||||
products,
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
// POST: Api/CoreCmsStock/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] FMCreateStock entity)
|
||||
{
|
||||
if (_user != null)
|
||||
{
|
||||
entity.model.manager = _user.ID;
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.model.manager = 0;
|
||||
}
|
||||
|
||||
var jm = await _stockServices.InsertAsync(entity);
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
// POST: Api/CoreCmsStock/GetDetails/10
|
||||
/// <summary>
|
||||
/// 预览数据
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("预览数据")]
|
||||
public async Task<AdminUiCallBack> GetDetails([FromBody] FMStringId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var model = await _stockServices.QueryByIdAsync(entity.id, false);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var manager = await _sysUserServices.QueryByClauseAsync(p => p.id == model.manager);
|
||||
var logs = await _stockLogServices.QueryListByClauseAsync(p => p.stockId == model.id, p => p.id, OrderByType.Desc);
|
||||
|
||||
|
||||
jm.code = 0;
|
||||
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
logs,
|
||||
manager
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,231 @@
|
||||
/***********************************************************************
|
||||
* 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 CoreCmsStockLogController : ControllerBase
|
||||
{
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly ICoreCmsStockLogServices _coreCmsStockLogServices;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
///</summary>
|
||||
public CoreCmsStockLogController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsStockLogServices coreCmsStockLogServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsStockLogServices = coreCmsStockLogServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
// POST: Api/CoreCmsStockLog/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<CoreCmsStockLog>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
|
||||
Expression<Func<CoreCmsStockLog, object>> orderEx = orderField switch
|
||||
{
|
||||
"id" => p => p.id,
|
||||
"stockId" => p => p.stockId,
|
||||
"productId" => p => p.productId,
|
||||
"goodsId" => p => p.goodsId,
|
||||
"nums" => p => p.nums,
|
||||
"sn" => p => p.sn,
|
||||
"bn" => p => p.bn,
|
||||
"goodsName" => p => p.goodsName,
|
||||
"spesDesc" => p => p.spesDesc,
|
||||
_ => 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 stockId = Request.Form["stockId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(stockId))
|
||||
{
|
||||
where = where.And(p => p.stockId.Contains(stockId));
|
||||
}
|
||||
//货品序列 int
|
||||
var productId = Request.Form["productId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (productId > 0)
|
||||
{
|
||||
where = where.And(p => p.productId == productId);
|
||||
}
|
||||
//商品序列 int
|
||||
var goodsId = Request.Form["goodsId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (goodsId > 0)
|
||||
{
|
||||
where = where.And(p => p.goodsId == goodsId);
|
||||
}
|
||||
//数量 int
|
||||
var nums = Request.Form["nums"].FirstOrDefault().ObjectToInt(0);
|
||||
if (nums > 0)
|
||||
{
|
||||
where = where.And(p => p.nums == nums);
|
||||
}
|
||||
//货品编码 nvarchar
|
||||
var sn = Request.Form["sn"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(sn))
|
||||
{
|
||||
where = where.And(p => p.sn.Contains(sn));
|
||||
}
|
||||
//商品编码 nvarchar
|
||||
var bn = Request.Form["bn"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(bn))
|
||||
{
|
||||
where = where.And(p => p.bn.Contains(bn));
|
||||
}
|
||||
//商品名称 nvarchar
|
||||
var goodsName = Request.Form["goodsName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(goodsName))
|
||||
{
|
||||
where = where.And(p => p.goodsName.Contains(goodsName));
|
||||
}
|
||||
//货品明细序列号存储 nvarchar
|
||||
var spesDesc = Request.Form["spesDesc"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(spesDesc))
|
||||
{
|
||||
where = where.And(p => p.spesDesc.Contains(spesDesc));
|
||||
}
|
||||
//操作类型 int
|
||||
var type = Request.Form["type"].FirstOrDefault().ObjectToInt(0);
|
||||
if (type > 0)
|
||||
{
|
||||
where = where.And(p => p.type == type);
|
||||
}
|
||||
//创建时间 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 _coreCmsStockLogServices.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/CoreCmsStockLog/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var stockType = EnumHelper.EnumToList<GlobalEnumVars.StockType>();
|
||||
jm.data = new
|
||||
{
|
||||
stockType
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
// POST: Api/CoreCmsStockLog/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,208 @@
|
||||
/***********************************************************************
|
||||
* 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.Threading.Tasks;
|
||||
using AutoMapper;
|
||||
using CoreCms.Net.Configuration;
|
||||
using CoreCms.Net.IServices;
|
||||
using CoreCms.Net.Loging;
|
||||
using CoreCms.Net.Model.ViewModels.UI;
|
||||
using CoreCms.Net.Utility.Helper;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using NPOI.HSSF.UserModel;
|
||||
|
||||
namespace CoreCms.Net.Web.Admin.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 代码生成器
|
||||
/// </summary>
|
||||
[Description("代码生成器")]
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
//[Authorize(Permissions.Name)]
|
||||
public class CodeGeneratorController : ControllerBase
|
||||
{
|
||||
private readonly ICodeGeneratorServices _codeGeneratorServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
private readonly IMapper _mapper;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public CodeGeneratorController(ICodeGeneratorServices codeGeneratorServices, IMapper mapper, IWebHostEnvironment webHostEnvironment)
|
||||
{
|
||||
_codeGeneratorServices = codeGeneratorServices;
|
||||
_mapper = mapper;
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取数据表格列表
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("获取数据表格列表")]
|
||||
public AdminUiCallBack GetTables()
|
||||
{
|
||||
var tables = _codeGeneratorServices.GetDbTables();
|
||||
|
||||
var fristDb = new SqlSugar.DbTableInfo { Name = "AllTable", Description = "所有数据表含视图" };
|
||||
|
||||
tables.Insert(0, fristDb);
|
||||
|
||||
var jm = new AdminUiCallBack
|
||||
{
|
||||
code = 0,
|
||||
data = _mapper
|
||||
.Map<List<SqlSugar.DbTableInfo>, List<CoreCms.Net.Model.ViewModels.Basics.DbTableInfoTree>>(tables)
|
||||
};
|
||||
return jm;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 生成代码
|
||||
/// </summary>
|
||||
/// <param name="tableName"></param>
|
||||
/// <param name="fileType"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("生成代码")]
|
||||
public ActionResult CodeGenDown([FromQuery] string tableName, [FromQuery] string fileType)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
if (string.IsNullOrEmpty(tableName))
|
||||
{
|
||||
jm.msg = "请选择数据库";
|
||||
return new JsonResult(jm);
|
||||
}
|
||||
if (string.IsNullOrEmpty(fileType))
|
||||
{
|
||||
jm.msg = "请选择要导出的文件类型";
|
||||
return new JsonResult(jm);
|
||||
}
|
||||
|
||||
if (tableName == "AllTable")
|
||||
{
|
||||
var data = _codeGeneratorServices.CodeGenByAll(fileType);
|
||||
if (data != null)
|
||||
{
|
||||
return File(data, System.Net.Mime.MediaTypeNames.Application.Zip, tableName + "-" + fileType + ".zip");
|
||||
}
|
||||
else
|
||||
{
|
||||
jm.msg = tableName + "获取数据库字段失败";
|
||||
return new JsonResult(jm);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var data = _codeGeneratorServices.CodeGen(tableName, fileType);
|
||||
if (data != null)
|
||||
{
|
||||
return File(data, System.Net.Mime.MediaTypeNames.Application.Zip, tableName + "-" + fileType + ".zip");
|
||||
}
|
||||
else
|
||||
{
|
||||
jm.msg = tableName + "获取数据库字段失败";
|
||||
return new JsonResult(jm);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
#region 获取所有表和表名并生成excel
|
||||
|
||||
/// <summary>
|
||||
/// 获取所有表和表名并生成excel
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("获取所有表和表名并生成excel")]
|
||||
public AdminUiCallBack GetDataBaseTablesToExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var mySheet = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listmodel = _codeGeneratorServices.GetDbTables();
|
||||
|
||||
var headerStyle = ExcelHelper.GetHeaderStyle(book);
|
||||
var commonCellStyle = ExcelHelper.GetCommonStyle(book);
|
||||
|
||||
|
||||
//给sheet1添加第一行的头部标题
|
||||
var headerRow = mySheet.CreateRow(0);
|
||||
|
||||
var cell0 = headerRow.CreateCell(0); cell0.SetCellValue("序列"); cell0.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(0, 10 * 256);
|
||||
|
||||
var cell1 = headerRow.CreateCell(1); cell1.SetCellValue("表名"); cell1.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(1, 50 * 256);
|
||||
|
||||
var cell2 = headerRow.CreateCell(2); cell2.SetCellValue("描述"); cell2.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(2, 50 * 256);
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listmodel.Count; i++)
|
||||
{
|
||||
var rowtemp = mySheet.CreateRow(i + 1);
|
||||
|
||||
var rowtemp01 = rowtemp.CreateCell(0);
|
||||
rowtemp01.SetCellValue(i);
|
||||
rowtemp01.CellStyle = commonCellStyle;
|
||||
|
||||
var rowtemp02 = rowtemp.CreateCell(1);
|
||||
rowtemp02.SetCellValue(listmodel[i].Name);
|
||||
rowtemp02.CellStyle = commonCellStyle;
|
||||
|
||||
var rowtemp03 = rowtemp.CreateCell(2);
|
||||
rowtemp03.SetCellValue(listmodel[i].Description);
|
||||
rowtemp03.CellStyle = commonCellStyle;
|
||||
}
|
||||
// 导出excel
|
||||
string webRootPath = _webHostEnvironment.WebRootPath;
|
||||
string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-数据库表导出.xls";
|
||||
string filePath = webRootPath + tpath;
|
||||
DirectoryInfo di = new DirectoryInfo(filePath);
|
||||
if (!di.Exists)
|
||||
{
|
||||
di.Create();
|
||||
}
|
||||
FileStream 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
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,353 @@
|
||||
/***********************************************************************
|
||||
* 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 SysDictionaryController : ControllerBase
|
||||
{
|
||||
private readonly ISysDictionaryDataServices _sysDictionaryDataServices;
|
||||
private readonly ISysDictionaryServices _sysDictionaryServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public SysDictionaryController(IWebHostEnvironment webHostEnvironment
|
||||
, ISysDictionaryServices sysDictionaryServices
|
||||
, ISysDictionaryDataServices sysDictionaryDataServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_sysDictionaryServices = sysDictionaryServices;
|
||||
_sysDictionaryDataServices = sysDictionaryDataServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/SysDictionary/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<SysDictionary>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<SysDictionary, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "dictCode":
|
||||
orderEx = p => p.dictCode;
|
||||
break;
|
||||
case "dictName":
|
||||
orderEx = p => p.dictName;
|
||||
break;
|
||||
case "comments":
|
||||
orderEx = p => p.comments;
|
||||
break;
|
||||
case "sortNumber":
|
||||
orderEx = p => p.sortNumber;
|
||||
break;
|
||||
case "deleted":
|
||||
orderEx = p => p.deleted;
|
||||
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
|
||||
};
|
||||
//查询筛选
|
||||
|
||||
//字典id int
|
||||
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||
if (id > 0) @where = @where.And(p => p.id == id);
|
||||
//字典标识 nvarchar
|
||||
var dictCode = Request.Form["dictCode"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(dictCode)) @where = @where.And(p => p.dictCode.Contains(dictCode));
|
||||
//字典名称 nvarchar
|
||||
var dictName = Request.Form["dictName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(dictName)) @where = @where.And(p => p.dictName.Contains(dictName));
|
||||
//备注 nvarchar
|
||||
var comments = Request.Form["comments"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(comments)) @where = @where.And(p => p.comments.Contains(comments));
|
||||
//排序号 int
|
||||
var sortNumber = Request.Form["sortNumber"].FirstOrDefault().ObjectToInt(0);
|
||||
if (sortNumber > 0) @where = @where.And(p => p.sortNumber == sortNumber);
|
||||
//是否删除,0否,1是 bit
|
||||
var deleted = Request.Form["deleted"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(deleted) && deleted.ToLowerInvariant() == "true")
|
||||
@where = @where.And(p => p.deleted);
|
||||
else if (!string.IsNullOrEmpty(deleted) && deleted.ToLowerInvariant() == "false")
|
||||
@where = @where.And(p => p.deleted == 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 _sysDictionaryServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/SysDictionary/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
|
||||
// POST: Api/SysDictionary/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
|
||||
// POST: Api/SysDictionary/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] SysDictionary entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
entity.createTime = DateTime.Now;
|
||||
|
||||
var bl = await _sysDictionaryServices.InsertAsync(entity) > 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/SysDictionary/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 _sysDictionaryServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Api/SysDictionary/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] SysDictionary entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _sysDictionaryServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
//事物处理过程开始
|
||||
oldModel.dictCode = entity.dictCode;
|
||||
oldModel.dictName = entity.dictName;
|
||||
oldModel.comments = entity.comments;
|
||||
oldModel.sortNumber = entity.sortNumber;
|
||||
oldModel.updateTime = DateTime.Now;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _sysDictionaryServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/SysDictionary/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 _sysDictionaryServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
if (await _sysDictionaryDataServices.ExistsAsync(p => p.dictId == model.id))
|
||||
{
|
||||
jm.msg = GlobalConstVars.DeleteIsHaveChildren;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var bl = await _sysDictionaryServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
return jm;
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,374 @@
|
||||
/***********************************************************************
|
||||
* 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 SysDictionaryDataController : ControllerBase
|
||||
{
|
||||
private readonly ISysDictionaryDataServices _sysDictionaryDataServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public SysDictionaryDataController(IWebHostEnvironment webHostEnvironment
|
||||
, ISysDictionaryDataServices sysDictionaryDataServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_sysDictionaryDataServices = sysDictionaryDataServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/SysDictionaryData/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<SysDictionaryData>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<SysDictionaryData, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "dictId":
|
||||
orderEx = p => p.dictId;
|
||||
break;
|
||||
case "dictDataCode":
|
||||
orderEx = p => p.dictDataCode;
|
||||
break;
|
||||
case "dictDataName":
|
||||
orderEx = p => p.dictDataName;
|
||||
break;
|
||||
case "comments":
|
||||
orderEx = p => p.comments;
|
||||
break;
|
||||
case "sortNumber":
|
||||
orderEx = p => p.sortNumber;
|
||||
break;
|
||||
case "deleted":
|
||||
orderEx = p => p.deleted;
|
||||
break;
|
||||
case "createTime":
|
||||
orderEx = p => p.createTime;
|
||||
break;
|
||||
case "updateTime":
|
||||
orderEx = p => p.updateTime;
|
||||
break;
|
||||
default:
|
||||
orderEx = p => p.sortNumber;
|
||||
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 dictId = Request.Form["dictId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (dictId > 0) @where = @where.And(p => p.dictId == dictId);
|
||||
//字典项标识 nvarchar
|
||||
var dictDataCode = Request.Form["dictDataCode"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(dictDataCode)) @where = @where.And(p => p.dictDataCode.Contains(dictDataCode));
|
||||
//字典项名称 nvarchar
|
||||
var dictDataName = Request.Form["dictDataName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(dictDataName)) @where = @where.And(p => p.dictDataName.Contains(dictDataName));
|
||||
//备注 nvarchar
|
||||
var comments = Request.Form["comments"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(comments)) @where = @where.And(p => p.comments.Contains(comments));
|
||||
//排序号 int
|
||||
var sortNumber = Request.Form["sortNumber"].FirstOrDefault().ObjectToInt(0);
|
||||
if (sortNumber > 0) @where = @where.And(p => p.sortNumber == sortNumber);
|
||||
//是否删除,0否,1是 bit
|
||||
var deleted = Request.Form["deleted"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(deleted) && deleted.ToLowerInvariant() == "true")
|
||||
@where = @where.And(p => p.deleted);
|
||||
else if (!string.IsNullOrEmpty(deleted) && deleted.ToLowerInvariant() == "false")
|
||||
@where = @where.And(p => p.deleted == 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 _sysDictionaryDataServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/SysDictionaryData/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
|
||||
// POST: Api/SysDictionaryData/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
|
||||
// POST: Api/SysDictionaryData/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] SysDictionaryData entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
entity.createTime = DateTime.Now;
|
||||
|
||||
var bl = await _sysDictionaryDataServices.InsertAsync(entity) > 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/SysDictionaryData/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 _sysDictionaryDataServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Api/SysDictionaryData/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] SysDictionaryData entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _sysDictionaryDataServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
//事物处理过程开始
|
||||
oldModel.dictId = entity.dictId;
|
||||
oldModel.dictDataCode = entity.dictDataCode;
|
||||
oldModel.dictDataName = entity.dictDataName;
|
||||
oldModel.comments = entity.comments;
|
||||
oldModel.sortNumber = entity.sortNumber;
|
||||
oldModel.updateTime = DateTime.Now;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _sysDictionaryDataServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/SysDictionaryData/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 _sysDictionaryDataServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var bl = await _sysDictionaryDataServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 批量删除============================================================
|
||||
|
||||
// POST: Api/SysDictionaryData/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 _sysDictionaryDataServices.DeleteByIdsAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,480 @@
|
||||
/***********************************************************************
|
||||
* 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 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 SysLoginRecordController : ControllerBase
|
||||
{
|
||||
private readonly ISysLoginRecordServices _sysLoginRecordServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public SysLoginRecordController(IWebHostEnvironment webHostEnvironment
|
||||
, ISysLoginRecordServices sysLoginRecordServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_sysLoginRecordServices = sysLoginRecordServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/SysLoginRecord/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<SysLoginRecord>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<SysLoginRecord, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "username":
|
||||
orderEx = p => p.username;
|
||||
break;
|
||||
case "os":
|
||||
orderEx = p => p.os;
|
||||
break;
|
||||
case "device":
|
||||
orderEx = p => p.device;
|
||||
break;
|
||||
case "browser":
|
||||
orderEx = p => p.browser;
|
||||
break;
|
||||
case "ip":
|
||||
orderEx = p => p.ip;
|
||||
break;
|
||||
case "operType":
|
||||
orderEx = p => p.operType;
|
||||
break;
|
||||
case "comments":
|
||||
orderEx = p => p.comments;
|
||||
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);
|
||||
//用户账号 nvarchar
|
||||
var username = Request.Form["username"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(username)) @where = @where.And(p => p.username.Contains(username));
|
||||
//操作系统 nvarchar
|
||||
var os = Request.Form["os"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(os)) @where = @where.And(p => p.os.Contains(os));
|
||||
//设备名 nvarchar
|
||||
var device = Request.Form["device"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(device)) @where = @where.And(p => p.device.Contains(device));
|
||||
//浏览器类型 nvarchar
|
||||
var browser = Request.Form["browser"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(browser)) @where = @where.And(p => p.browser.Contains(browser));
|
||||
//ip地址 nvarchar
|
||||
var ip = Request.Form["ip"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(ip)) @where = @where.And(p => p.ip.Contains(ip));
|
||||
//操作类型,0登录成功,1登录失败,2退出登录,3刷新token int
|
||||
var operType = Request.Form["operType"].FirstOrDefault().ObjectToInt(0);
|
||||
if (operType > 0) @where = @where.And(p => p.operType == operType);
|
||||
//备注 nvarchar
|
||||
var comments = Request.Form["comments"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(comments)) @where = @where.And(p => p.comments.Contains(comments));
|
||||
//登录时间 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 _sysLoginRecordServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/SysLoginRecord/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var logType = EnumHelper.EnumToList<GlobalEnumVars.LoginRecordType>();
|
||||
jm.data = new
|
||||
{
|
||||
logType
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
|
||||
// POST: Api/SysLoginRecord/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 _sysLoginRecordServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 选择导出============================================================
|
||||
|
||||
// POST: Api/SysLoginRecord/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 _sysLoginRecordServices.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("ip地址");
|
||||
row1.CreateCell(6).SetCellValue("操作类型,0登录成功,1登录失败,2退出登录,3刷新token");
|
||||
row1.CreateCell(7).SetCellValue("备注");
|
||||
row1.CreateCell(8).SetCellValue("登录时间");
|
||||
row1.CreateCell(9).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].username);
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].os);
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].device);
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].browser);
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].ip);
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].operType.ToString());
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].comments);
|
||||
rowtemp.CreateCell(8).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(9).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 导出excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-SysLoginRecord导出(选择结果).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/SysLoginRecord/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<SysLoginRecord>();
|
||||
//查询筛选
|
||||
|
||||
//主键 int
|
||||
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||
if (id > 0) @where = @where.And(p => p.id == id);
|
||||
//用户账号 nvarchar
|
||||
var username = Request.Form["username"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(username)) @where = @where.And(p => p.username.Contains(username));
|
||||
//操作系统 nvarchar
|
||||
var os = Request.Form["os"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(os)) @where = @where.And(p => p.os.Contains(os));
|
||||
//设备名 nvarchar
|
||||
var device = Request.Form["device"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(device)) @where = @where.And(p => p.device.Contains(device));
|
||||
//浏览器类型 nvarchar
|
||||
var browser = Request.Form["browser"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(browser)) @where = @where.And(p => p.browser.Contains(browser));
|
||||
//ip地址 nvarchar
|
||||
var ip = Request.Form["ip"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(ip)) @where = @where.And(p => p.ip.Contains(ip));
|
||||
//操作类型,0登录成功,1登录失败,2退出登录,3刷新token int
|
||||
var operType = Request.Form["operType"].FirstOrDefault().ObjectToInt(0);
|
||||
if (operType > 0) @where = @where.And(p => p.operType == operType);
|
||||
//备注 nvarchar
|
||||
var comments = Request.Form["comments"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(comments)) @where = @where.And(p => p.comments.Contains(comments));
|
||||
//登录时间 datetime
|
||||
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(createTime))
|
||||
{
|
||||
var dt = createTime.ObjectToDate();
|
||||
where = where.And(p => p.createTime > dt);
|
||||
}
|
||||
|
||||
//修改时间 datetime
|
||||
var updateTime = Request.Form["updateTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(updateTime))
|
||||
{
|
||||
var dt = updateTime.ObjectToDate();
|
||||
where = where.And(p => p.updateTime > dt);
|
||||
}
|
||||
|
||||
//获取数据
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var sheet1 = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listmodel = await _sysLoginRecordServices.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("ip地址");
|
||||
row1.CreateCell(6).SetCellValue("操作类型,0登录成功,1登录失败,2退出登录,3刷新token");
|
||||
row1.CreateCell(7).SetCellValue("备注");
|
||||
row1.CreateCell(8).SetCellValue("登录时间");
|
||||
row1.CreateCell(9).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].username);
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].os);
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].device);
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].browser);
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].ip);
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].operType.ToString());
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].comments);
|
||||
rowtemp.CreateCell(8).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(9).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 写入到excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-SysLoginRecord导出(查询结果).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/SysNLogRecords/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 _sysLoginRecordServices.DeleteByIdsAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 清空数据============================================================
|
||||
|
||||
// POST: Api/SysNLogRecords/DoBatchDelete/10,11,20
|
||||
/// <summary>
|
||||
/// 清空数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("清空数据")]
|
||||
public async Task<AdminUiCallBack> DoWipeData()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var bl = await _sysLoginRecordServices.DeleteAsync(p => p.id > 0);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,281 @@
|
||||
/***********************************************************************
|
||||
* 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.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 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 SysMenuController : ControllerBase
|
||||
{
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly ISysMenuServices _sysMenuServices;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
///</summary>
|
||||
public SysMenuController(IWebHostEnvironment webHostEnvironment
|
||||
, ISysMenuServices sysMenuServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_sysMenuServices = sysMenuServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
// POST: Api/SysMenu/GetPageList
|
||||
/// <summary>
|
||||
/// 获取列表
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("获取列表")]
|
||||
public async Task<AdminUiCallBack> GetPageList()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
var where = PredicateBuilder.True<SysMenu>();
|
||||
where = where.And(p => p.deleted == false);
|
||||
//查询筛选
|
||||
|
||||
////菜单名称 nvarchar
|
||||
//var menuName = Request.Form["menuName"].FirstOrDefault();
|
||||
//if (!string.IsNullOrEmpty(menuName))
|
||||
//{
|
||||
// where = where.And(p => p.menuName.Contains(menuName));
|
||||
//}
|
||||
|
||||
////菜单组件地址 nvarchar
|
||||
//var component = Request.Form["component"].FirstOrDefault();
|
||||
//if (!string.IsNullOrEmpty(component))
|
||||
//{
|
||||
// where = where.And(p => p.component.Contains(component));
|
||||
//}
|
||||
|
||||
////权限标识 nvarchar
|
||||
//var authority = Request.Form["authority"].FirstOrDefault();
|
||||
//if (!string.IsNullOrEmpty(authority))
|
||||
//{
|
||||
// where = where.And(p => p.authority.Contains(authority));
|
||||
//}
|
||||
|
||||
//获取数据
|
||||
var list = await _sysMenuServices.QueryListByClauseAsync(where, p => p.sortNumber, OrderByType.Asc);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.Count;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
// POST: Api/SysMenu/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
// POST: Api/SysMenu/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
// POST: Api/SysMenu/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] SysMenu entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
entity.createTime = DateTime.Now; ;
|
||||
jm = await _sysMenuServices.InsertAsync(entity);
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
// POST: Api/SysMenu/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 _sysMenuServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
// POST: Api/SysMenu/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] SysMenu entity)
|
||||
{
|
||||
var jm = await _sysMenuServices.UpdateAsync(entity);
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
// POST: Api/SysMenu/DoDelete/10
|
||||
/// <summary>
|
||||
/// 单选删除
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("单选删除")]
|
||||
public async Task<AdminUiCallBack> DoDelete([FromBody] FMIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
jm = await _sysMenuServices.DeleteByIdAsync(entity.id);
|
||||
|
||||
|
||||
|
||||
|
||||
return jm;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 批量导入Action============================================================
|
||||
// POST: Api/SysMenu/DoDelete/10
|
||||
/// <summary>
|
||||
/// 单选删除
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("单选删除")]
|
||||
public async Task<AdminUiCallBack> ImportButtons([FromBody] FMSysMenuToImportButton entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
if (entity.data.Count <= 0)
|
||||
{
|
||||
jm.msg = "请选择要导入的按钮";
|
||||
return jm;
|
||||
}
|
||||
|
||||
//清空旗下按钮
|
||||
await _sysMenuServices.DeleteAsync(p => p.parentId == entity.data[0].menuId && p.menuType == 1);
|
||||
|
||||
var list = new List<SysMenu>();
|
||||
for (var index = 0; index < entity.data.Count; index++)
|
||||
{
|
||||
var p = entity.data[index];
|
||||
list.Add(new SysMenu()
|
||||
{
|
||||
parentId = p.menuId,
|
||||
identificationCode = p.actionName,
|
||||
menuName = p.description,
|
||||
component = "/Api/" + p.controllerName + "/" + p.actionName,
|
||||
menuType = 1,
|
||||
sortNumber = index,
|
||||
authority = p.controllerName + ":" + p.actionName,
|
||||
hide = false,
|
||||
deleted = false,
|
||||
createTime = DateTime.Now
|
||||
});
|
||||
}
|
||||
|
||||
var bl = await _sysMenuServices.InsertAsync(list) > 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
if (bl)
|
||||
{
|
||||
await _sysMenuServices.UpdateCaChe();
|
||||
}
|
||||
return jm;
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,545 @@
|
||||
/***********************************************************************
|
||||
* 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>
|
||||
/// Nlog记录表
|
||||
/// </summary>
|
||||
[Description("Nlog记录表")]
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
[RequiredErrorForAdmin]
|
||||
[Authorize(Permissions.Name)]
|
||||
public class SysNLogRecordsController : ControllerBase
|
||||
{
|
||||
private readonly ISysNLogRecordsServices _sysNLogRecordsServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public SysNLogRecordsController(IWebHostEnvironment webHostEnvironment
|
||||
, ISysNLogRecordsServices sysNLogRecordsServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_sysNLogRecordsServices = sysNLogRecordsServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/SysNLogRecords/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<SysNLogRecords>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<SysNLogRecords, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "LogDate":
|
||||
orderEx = p => p.LogDate;
|
||||
break;
|
||||
case "LogLevel":
|
||||
orderEx = p => p.LogLevel;
|
||||
break;
|
||||
case "LogType":
|
||||
orderEx = p => p.LogType;
|
||||
break;
|
||||
case "Logger":
|
||||
orderEx = p => p.Logger;
|
||||
break;
|
||||
case "Message":
|
||||
orderEx = p => p.Message;
|
||||
break;
|
||||
case "MachineName":
|
||||
orderEx = p => p.MachineName;
|
||||
break;
|
||||
case "MachineIp":
|
||||
orderEx = p => p.MachineIp;
|
||||
break;
|
||||
case "NetRequestMethod":
|
||||
orderEx = p => p.NetRequestMethod;
|
||||
break;
|
||||
case "NetRequestUrl":
|
||||
orderEx = p => p.NetRequestUrl;
|
||||
break;
|
||||
case "NetUserIsauthenticated":
|
||||
orderEx = p => p.NetUserIsauthenticated;
|
||||
break;
|
||||
case "NetUserAuthtype":
|
||||
orderEx = p => p.NetUserAuthtype;
|
||||
break;
|
||||
case "NetUserIdentity":
|
||||
orderEx = p => p.NetUserIdentity;
|
||||
break;
|
||||
case "Exception":
|
||||
orderEx = p => p.Exception;
|
||||
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);
|
||||
//时间 datetime
|
||||
var LogDate = Request.Form["LogDate"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(LogDate))
|
||||
{
|
||||
if (LogDate.Contains("到"))
|
||||
{
|
||||
var dts = LogDate.Split("到");
|
||||
var dtStart = dts[0].Trim().ObjectToDate();
|
||||
where = where.And(p => p.LogDate > dtStart);
|
||||
var dtEnd = dts[1].Trim().ObjectToDate();
|
||||
where = where.And(p => p.LogDate < dtEnd);
|
||||
}
|
||||
else
|
||||
{
|
||||
var dt = LogDate.ObjectToDate();
|
||||
where = where.And(p => p.LogDate > dt);
|
||||
}
|
||||
}
|
||||
|
||||
//级别 nvarchar
|
||||
var LogLevel = Request.Form["LogLevel"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(LogLevel)) @where = @where.And(p => p.LogLevel.Contains(LogLevel));
|
||||
//事件日志上下文 nvarchar
|
||||
var LogType = Request.Form["LogType"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(LogType)) @where = @where.And(p => p.LogType.Contains(LogType));
|
||||
//记录器名字 nvarchar
|
||||
var Logger = Request.Form["Logger"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(Logger)) @where = @where.And(p => p.Logger.Contains(Logger));
|
||||
//消息 nvarchar
|
||||
var Message = Request.Form["Message"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(Message)) @where = @where.And(p => p.Message.Contains(Message));
|
||||
//名称 nvarchar
|
||||
var MachineName = Request.Form["MachineName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(MachineName)) @where = @where.And(p => p.MachineName.Contains(MachineName));
|
||||
//ip nvarchar
|
||||
var MachineIp = Request.Form["MachineIp"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(MachineIp)) @where = @where.And(p => p.MachineIp.Contains(MachineIp));
|
||||
//请求方式 nvarchar
|
||||
var NetRequestMethod = Request.Form["NetRequestMethod"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(NetRequestMethod))
|
||||
@where = @where.And(p => p.NetRequestMethod.Contains(NetRequestMethod));
|
||||
//请求地址 nvarchar
|
||||
var NetRequestUrl = Request.Form["NetRequestUrl"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(NetRequestUrl)) @where = @where.And(p => p.NetRequestUrl.Contains(NetRequestUrl));
|
||||
//是否授权 nvarchar
|
||||
var NetUserIsauthenticated = Request.Form["NetUserIsauthenticated"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(NetUserIsauthenticated))
|
||||
@where = @where.And(p => p.NetUserIsauthenticated.Contains(NetUserIsauthenticated));
|
||||
//授权类型 nvarchar
|
||||
var NetUserAuthtype = Request.Form["NetUserAuthtype"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(NetUserAuthtype))
|
||||
@where = @where.And(p => p.NetUserAuthtype.Contains(NetUserAuthtype));
|
||||
//身份认证 nvarchar
|
||||
var NetUserIdentity = Request.Form["NetUserIdentity"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(NetUserIdentity))
|
||||
@where = @where.And(p => p.NetUserIdentity.Contains(NetUserIdentity));
|
||||
//异常信息 nvarchar
|
||||
var Exception = Request.Form["Exception"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(Exception)) @where = @where.And(p => p.Exception.Contains(Exception));
|
||||
//获取数据
|
||||
var list = await _sysNLogRecordsServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/SysNLogRecords/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/SysNLogRecords/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 _sysNLogRecordsServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var bl = await _sysNLogRecordsServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
return jm;
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 批量删除============================================================
|
||||
|
||||
// POST: Api/SysNLogRecords/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 _sysNLogRecordsServices.DeleteByIdsAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
|
||||
// POST: Api/SysNLogRecords/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 _sysNLogRecordsServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 选择导出============================================================
|
||||
|
||||
// POST: Api/SysNLogRecords/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 _sysNLogRecordsServices.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("消息");
|
||||
row1.CreateCell(6).SetCellValue("名称");
|
||||
row1.CreateCell(7).SetCellValue("ip");
|
||||
row1.CreateCell(8).SetCellValue("请求方式");
|
||||
row1.CreateCell(9).SetCellValue("请求地址");
|
||||
row1.CreateCell(10).SetCellValue("是否授权");
|
||||
row1.CreateCell(11).SetCellValue("授权类型");
|
||||
row1.CreateCell(12).SetCellValue("身份认证");
|
||||
row1.CreateCell(13).SetCellValue("异常信息");
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listmodel.Count; i++)
|
||||
{
|
||||
var rowtemp = sheet1.CreateRow(i + 1);
|
||||
rowtemp.CreateCell(0).SetCellValue(listmodel[i].id.ToString());
|
||||
rowtemp.CreateCell(1).SetCellValue(listmodel[i].LogDate.ToString());
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].LogLevel);
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].LogType);
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].Logger);
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].Message);
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].MachineName);
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].MachineIp);
|
||||
rowtemp.CreateCell(8).SetCellValue(listmodel[i].NetRequestMethod);
|
||||
rowtemp.CreateCell(9).SetCellValue(listmodel[i].NetRequestUrl);
|
||||
rowtemp.CreateCell(10).SetCellValue(listmodel[i].NetUserIsauthenticated);
|
||||
rowtemp.CreateCell(11).SetCellValue(listmodel[i].NetUserAuthtype);
|
||||
rowtemp.CreateCell(12).SetCellValue(listmodel[i].NetUserIdentity);
|
||||
rowtemp.CreateCell(13).SetCellValue(listmodel[i].Exception);
|
||||
}
|
||||
|
||||
// 导出excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-SysNLogRecords导出(选择结果).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/SysNLogRecords/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<SysNLogRecords>();
|
||||
//查询筛选
|
||||
|
||||
//序列 int
|
||||
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||
if (id > 0) @where = @where.And(p => p.id == id);
|
||||
//时间 datetime
|
||||
var LogDate = Request.Form["LogDate"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(LogDate))
|
||||
{
|
||||
var dt = LogDate.ObjectToDate();
|
||||
where = where.And(p => p.LogDate > dt);
|
||||
}
|
||||
|
||||
//级别 nvarchar
|
||||
var LogLevel = Request.Form["LogLevel"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(LogLevel)) @where = @where.And(p => p.LogLevel.Contains(LogLevel));
|
||||
//事件日志上下文 nvarchar
|
||||
var LogType = Request.Form["LogType"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(LogType)) @where = @where.And(p => p.LogType.Contains(LogType));
|
||||
//记录器名字 nvarchar
|
||||
var Logger = Request.Form["Logger"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(Logger)) @where = @where.And(p => p.Logger.Contains(Logger));
|
||||
//消息 nvarchar
|
||||
var Message = Request.Form["Message"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(Message)) @where = @where.And(p => p.Message.Contains(Message));
|
||||
//名称 nvarchar
|
||||
var MachineName = Request.Form["MachineName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(MachineName)) @where = @where.And(p => p.MachineName.Contains(MachineName));
|
||||
//ip nvarchar
|
||||
var MachineIp = Request.Form["MachineIp"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(MachineIp)) @where = @where.And(p => p.MachineIp.Contains(MachineIp));
|
||||
//请求方式 nvarchar
|
||||
var NetRequestMethod = Request.Form["NetRequestMethod"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(NetRequestMethod))
|
||||
@where = @where.And(p => p.NetRequestMethod.Contains(NetRequestMethod));
|
||||
//请求地址 nvarchar
|
||||
var NetRequestUrl = Request.Form["NetRequestUrl"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(NetRequestUrl))
|
||||
@where = @where.And(p => p.NetRequestUrl.Contains(NetRequestUrl));
|
||||
//是否授权 nvarchar
|
||||
var NetUserIsauthenticated = Request.Form["NetUserIsauthenticated"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(NetUserIsauthenticated))
|
||||
@where = @where.And(p => p.NetUserIsauthenticated.Contains(NetUserIsauthenticated));
|
||||
//授权类型 nvarchar
|
||||
var NetUserAuthtype = Request.Form["NetUserAuthtype"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(NetUserAuthtype))
|
||||
@where = @where.And(p => p.NetUserAuthtype.Contains(NetUserAuthtype));
|
||||
//身份认证 nvarchar
|
||||
var NetUserIdentity = Request.Form["NetUserIdentity"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(NetUserIdentity))
|
||||
@where = @where.And(p => p.NetUserIdentity.Contains(NetUserIdentity));
|
||||
//异常信息 nvarchar
|
||||
var Exception = Request.Form["Exception"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(Exception)) @where = @where.And(p => p.Exception.Contains(Exception));
|
||||
//获取数据
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var sheet1 = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listmodel = await _sysNLogRecordsServices.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("消息");
|
||||
row1.CreateCell(6).SetCellValue("名称");
|
||||
row1.CreateCell(7).SetCellValue("ip");
|
||||
row1.CreateCell(8).SetCellValue("请求方式");
|
||||
row1.CreateCell(9).SetCellValue("请求地址");
|
||||
row1.CreateCell(10).SetCellValue("是否授权");
|
||||
row1.CreateCell(11).SetCellValue("授权类型");
|
||||
row1.CreateCell(12).SetCellValue("身份认证");
|
||||
row1.CreateCell(13).SetCellValue("异常信息");
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listmodel.Count; i++)
|
||||
{
|
||||
var rowtemp = sheet1.CreateRow(i + 1);
|
||||
rowtemp.CreateCell(0).SetCellValue(listmodel[i].id.ToString());
|
||||
rowtemp.CreateCell(1).SetCellValue(listmodel[i].LogDate.ToString());
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].LogLevel);
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].LogType);
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].Logger);
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].Message);
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].MachineName);
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].MachineIp);
|
||||
rowtemp.CreateCell(8).SetCellValue(listmodel[i].NetRequestMethod);
|
||||
rowtemp.CreateCell(9).SetCellValue(listmodel[i].NetRequestUrl);
|
||||
rowtemp.CreateCell(10).SetCellValue(listmodel[i].NetUserIsauthenticated);
|
||||
rowtemp.CreateCell(11).SetCellValue(listmodel[i].NetUserAuthtype);
|
||||
rowtemp.CreateCell(12).SetCellValue(listmodel[i].NetUserIdentity);
|
||||
rowtemp.CreateCell(13).SetCellValue(listmodel[i].Exception);
|
||||
}
|
||||
|
||||
// 写入到excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-SysNLogRecords导出(查询结果).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/SysNLogRecords/DoBatchDelete/10,11,20
|
||||
/// <summary>
|
||||
/// 清空数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("清空数据")]
|
||||
public async Task<AdminUiCallBack> DoWipeData()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var bl = await _sysNLogRecordsServices.DeleteAsync(p => p.id > 0);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,737 @@
|
||||
/***********************************************************************
|
||||
* 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 SysOperRecordController : ControllerBase
|
||||
{
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly ISysOperRecordServices _sysOperRecordServices;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
///</summary>
|
||||
public SysOperRecordController(IWebHostEnvironment webHostEnvironment
|
||||
,ISysOperRecordServices sysOperRecordServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_sysOperRecordServices = sysOperRecordServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
// POST: Api/SysOperRecord/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<SysOperRecord>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
|
||||
Expression<Func<SysOperRecord, object>> orderEx = orderField switch
|
||||
{
|
||||
"id" => p => p.id,"userId" => p => p.userId,"userName" => p => p.userName,"model" => p => p.model,"description" => p => p.description,"url" => p => p.url,"requestMethod" => p => p.requestMethod,"operMethod" => p => p.operMethod,"param" => p => p.param,"result" => p => p.result,"ip" => p => p.ip,"spendTime" => p => p.spendTime,"state" => p => p.state,"createTime" => p => p.createTime,
|
||||
_ => 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);
|
||||
}
|
||||
//用户id int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0)
|
||||
{
|
||||
where = where.And(p => p.userId == userId);
|
||||
}
|
||||
//用户名 nvarchar
|
||||
var userName = Request.Form["userName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(userName))
|
||||
{
|
||||
where = where.And(p => p.userName.Contains(userName));
|
||||
}
|
||||
//操作模块 nvarchar
|
||||
var model = Request.Form["model"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(model))
|
||||
{
|
||||
where = where.And(p => p.model.Contains(model));
|
||||
}
|
||||
//操作方法 nvarchar
|
||||
var description = Request.Form["description"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(description))
|
||||
{
|
||||
where = where.And(p => p.description.Contains(description));
|
||||
}
|
||||
//请求地址 nvarchar
|
||||
var url = Request.Form["url"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(url))
|
||||
{
|
||||
where = where.And(p => p.url.Contains(url));
|
||||
}
|
||||
//请求方式 nvarchar
|
||||
var requestMethod = Request.Form["requestMethod"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(requestMethod))
|
||||
{
|
||||
where = where.And(p => p.requestMethod.Contains(requestMethod));
|
||||
}
|
||||
//调用方法 nvarchar
|
||||
var operMethod = Request.Form["operMethod"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(operMethod))
|
||||
{
|
||||
where = where.And(p => p.operMethod.Contains(operMethod));
|
||||
}
|
||||
//请求参数 nvarchar
|
||||
var param = Request.Form["param"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(param))
|
||||
{
|
||||
where = where.And(p => p.param.Contains(param));
|
||||
}
|
||||
//返回结果 nvarchar
|
||||
var result = Request.Form["result"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(result))
|
||||
{
|
||||
where = where.And(p => p.result.Contains(result));
|
||||
}
|
||||
//ip地址 nvarchar
|
||||
var ip = Request.Form["ip"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(ip))
|
||||
{
|
||||
where = where.And(p => p.ip.Contains(ip));
|
||||
}
|
||||
//请求耗时,单位毫秒 nvarchar
|
||||
var spendTime = Request.Form["spendTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(spendTime))
|
||||
{
|
||||
where = where.And(p => p.spendTime.Contains(spendTime));
|
||||
}
|
||||
//状态,0成功,1异常 int
|
||||
var state = Request.Form["state"].FirstOrDefault().ObjectToInt(0);
|
||||
if (state > 0)
|
||||
{
|
||||
where = where.And(p => p.state == state);
|
||||
}
|
||||
//登录时间 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 _sysOperRecordServices.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/SysOperRecord/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
// POST: Api/SysOperRecord/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
// POST: Api/SysOperRecord/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 _sysOperRecordServices.QueryByIdAsync(entity.id, false);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 选择导出============================================================
|
||||
// POST: Api/SysOperRecord/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 mySheet = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listModel = await _sysOperRecordServices.QueryListByClauseAsync(p => entity.id.Contains(p.id), p => p.id, OrderByType.Asc, true);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var headerRow = mySheet.CreateRow(0);
|
||||
var headerStyle = ExcelHelper.GetHeaderStyle(book);
|
||||
|
||||
var cell0 = headerRow.CreateCell(0);
|
||||
cell0.SetCellValue("主键");
|
||||
cell0.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(0, 10 * 256);
|
||||
|
||||
var cell1 = headerRow.CreateCell(1);
|
||||
cell1.SetCellValue("用户id");
|
||||
cell1.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(1, 10 * 256);
|
||||
|
||||
var cell2 = headerRow.CreateCell(2);
|
||||
cell2.SetCellValue("用户名");
|
||||
cell2.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(2, 10 * 256);
|
||||
|
||||
var cell3 = headerRow.CreateCell(3);
|
||||
cell3.SetCellValue("操作模块");
|
||||
cell3.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(3, 10 * 256);
|
||||
|
||||
var cell4 = headerRow.CreateCell(4);
|
||||
cell4.SetCellValue("操作方法");
|
||||
cell4.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(4, 10 * 256);
|
||||
|
||||
var cell5 = headerRow.CreateCell(5);
|
||||
cell5.SetCellValue("请求地址");
|
||||
cell5.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(5, 10 * 256);
|
||||
|
||||
var cell6 = headerRow.CreateCell(6);
|
||||
cell6.SetCellValue("请求方式");
|
||||
cell6.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(6, 10 * 256);
|
||||
|
||||
var cell7 = headerRow.CreateCell(7);
|
||||
cell7.SetCellValue("调用方法");
|
||||
cell7.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(7, 10 * 256);
|
||||
|
||||
var cell8 = headerRow.CreateCell(8);
|
||||
cell8.SetCellValue("请求参数");
|
||||
cell8.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(8, 10 * 256);
|
||||
|
||||
var cell9 = headerRow.CreateCell(9);
|
||||
cell9.SetCellValue("返回结果");
|
||||
cell9.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(9, 10 * 256);
|
||||
|
||||
var cell10 = headerRow.CreateCell(10);
|
||||
cell10.SetCellValue("ip地址");
|
||||
cell10.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(10, 10 * 256);
|
||||
|
||||
var cell11 = headerRow.CreateCell(11);
|
||||
cell11.SetCellValue("请求耗时,单位毫秒");
|
||||
cell11.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(11, 10 * 256);
|
||||
|
||||
var cell12 = headerRow.CreateCell(12);
|
||||
cell12.SetCellValue("状态,0成功,1异常");
|
||||
cell12.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(12, 10 * 256);
|
||||
|
||||
var cell13 = headerRow.CreateCell(13);
|
||||
cell13.SetCellValue("登录时间");
|
||||
cell13.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(13, 10 * 256);
|
||||
|
||||
headerRow.Height = 30 * 20;
|
||||
var commonCellStyle = ExcelHelper.GetCommonStyle(book);
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listModel.Count; i++)
|
||||
{
|
||||
var rowTemp = mySheet.CreateRow(i + 1);
|
||||
|
||||
var rowTemp0 = rowTemp.CreateCell(0);
|
||||
rowTemp0.SetCellValue(listModel[i].id.ToString());
|
||||
rowTemp0.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp1 = rowTemp.CreateCell(1);
|
||||
rowTemp1.SetCellValue(listModel[i].userId.ToString());
|
||||
rowTemp1.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp2 = rowTemp.CreateCell(2);
|
||||
rowTemp2.SetCellValue(listModel[i].userName.ToString());
|
||||
rowTemp2.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp3 = rowTemp.CreateCell(3);
|
||||
rowTemp3.SetCellValue(listModel[i].model.ToString());
|
||||
rowTemp3.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp4 = rowTemp.CreateCell(4);
|
||||
rowTemp4.SetCellValue(listModel[i].description.ToString());
|
||||
rowTemp4.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp5 = rowTemp.CreateCell(5);
|
||||
rowTemp5.SetCellValue(listModel[i].url.ToString());
|
||||
rowTemp5.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp6 = rowTemp.CreateCell(6);
|
||||
rowTemp6.SetCellValue(listModel[i].requestMethod.ToString());
|
||||
rowTemp6.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp7 = rowTemp.CreateCell(7);
|
||||
rowTemp7.SetCellValue(listModel[i].operMethod.ToString());
|
||||
rowTemp7.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp8 = rowTemp.CreateCell(8);
|
||||
rowTemp8.SetCellValue(listModel[i].param.ToString());
|
||||
rowTemp8.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp9 = rowTemp.CreateCell(9);
|
||||
rowTemp9.SetCellValue(listModel[i].result.ToString());
|
||||
rowTemp9.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp10 = rowTemp.CreateCell(10);
|
||||
rowTemp10.SetCellValue(listModel[i].ip.ToString());
|
||||
rowTemp10.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp11 = rowTemp.CreateCell(11);
|
||||
rowTemp11.SetCellValue(listModel[i].spendTime.ToString());
|
||||
rowTemp11.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp12 = rowTemp.CreateCell(12);
|
||||
rowTemp12.SetCellValue(listModel[i].state.ToString());
|
||||
rowTemp12.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp13 = rowTemp.CreateCell(13);
|
||||
rowTemp13.SetCellValue(listModel[i].createTime.ToString());
|
||||
rowTemp13.CellStyle = commonCellStyle;
|
||||
|
||||
}
|
||||
// 导出excel
|
||||
string webRootPath = _webHostEnvironment.WebRootPath;
|
||||
string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-SysOperRecord导出(选择结果).xls";
|
||||
string filePath = webRootPath + tpath;
|
||||
DirectoryInfo di = new DirectoryInfo(filePath);
|
||||
if (!di.Exists)
|
||||
{
|
||||
di.Create();
|
||||
}
|
||||
FileStream 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/SysOperRecord/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<SysOperRecord>();
|
||||
//查询筛选
|
||||
|
||||
//主键 int
|
||||
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||
if (id > 0)
|
||||
{
|
||||
where = where.And(p => p.id == id);
|
||||
}
|
||||
//用户id int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0)
|
||||
{
|
||||
where = where.And(p => p.userId == userId);
|
||||
}
|
||||
//用户名 nvarchar
|
||||
var userName = Request.Form["userName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(userName))
|
||||
{
|
||||
where = where.And(p => p.userName.Contains(userName));
|
||||
}
|
||||
//操作模块 nvarchar
|
||||
var model = Request.Form["model"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(model))
|
||||
{
|
||||
where = where.And(p => p.model.Contains(model));
|
||||
}
|
||||
//操作方法 nvarchar
|
||||
var description = Request.Form["description"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(description))
|
||||
{
|
||||
where = where.And(p => p.description.Contains(description));
|
||||
}
|
||||
//请求地址 nvarchar
|
||||
var url = Request.Form["url"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(url))
|
||||
{
|
||||
where = where.And(p => p.url.Contains(url));
|
||||
}
|
||||
//请求方式 nvarchar
|
||||
var requestMethod = Request.Form["requestMethod"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(requestMethod))
|
||||
{
|
||||
where = where.And(p => p.requestMethod.Contains(requestMethod));
|
||||
}
|
||||
//调用方法 nvarchar
|
||||
var operMethod = Request.Form["operMethod"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(operMethod))
|
||||
{
|
||||
where = where.And(p => p.operMethod.Contains(operMethod));
|
||||
}
|
||||
//请求参数 nvarchar
|
||||
var param = Request.Form["param"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(param))
|
||||
{
|
||||
where = where.And(p => p.param.Contains(param));
|
||||
}
|
||||
//返回结果 nvarchar
|
||||
var result = Request.Form["result"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(result))
|
||||
{
|
||||
where = where.And(p => p.result.Contains(result));
|
||||
}
|
||||
//ip地址 nvarchar
|
||||
var ip = Request.Form["ip"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(ip))
|
||||
{
|
||||
where = where.And(p => p.ip.Contains(ip));
|
||||
}
|
||||
//请求耗时,单位毫秒 nvarchar
|
||||
var spendTime = Request.Form["spendTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(spendTime))
|
||||
{
|
||||
where = where.And(p => p.spendTime.Contains(spendTime));
|
||||
}
|
||||
//状态,0成功,1异常 int
|
||||
var state = Request.Form["state"].FirstOrDefault().ObjectToInt(0);
|
||||
if (state > 0)
|
||||
{
|
||||
where = where.And(p => p.state == state);
|
||||
}
|
||||
//登录时间 datetime
|
||||
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(createTime))
|
||||
{
|
||||
var dt = createTime.ObjectToDate();
|
||||
where = where.And(p => p.createTime > dt);
|
||||
}
|
||||
//获取数据
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var mySheet = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listModel = await _sysOperRecordServices.QueryListByClauseAsync(where, p => p.id, OrderByType.Asc, true);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var headerRow = mySheet.CreateRow(0);
|
||||
var headerStyle = ExcelHelper.GetHeaderStyle(book);
|
||||
|
||||
var cell0 = headerRow.CreateCell(0);
|
||||
cell0.SetCellValue("主键");
|
||||
cell0.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(0, 10 * 256);
|
||||
|
||||
var cell1 = headerRow.CreateCell(1);
|
||||
cell1.SetCellValue("用户id");
|
||||
cell1.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(1, 10 * 256);
|
||||
|
||||
var cell2 = headerRow.CreateCell(2);
|
||||
cell2.SetCellValue("用户名");
|
||||
cell2.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(2, 10 * 256);
|
||||
|
||||
var cell3 = headerRow.CreateCell(3);
|
||||
cell3.SetCellValue("操作模块");
|
||||
cell3.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(3, 10 * 256);
|
||||
|
||||
var cell4 = headerRow.CreateCell(4);
|
||||
cell4.SetCellValue("操作方法");
|
||||
cell4.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(4, 10 * 256);
|
||||
|
||||
var cell5 = headerRow.CreateCell(5);
|
||||
cell5.SetCellValue("请求地址");
|
||||
cell5.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(5, 10 * 256);
|
||||
|
||||
var cell6 = headerRow.CreateCell(6);
|
||||
cell6.SetCellValue("请求方式");
|
||||
cell6.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(6, 10 * 256);
|
||||
|
||||
var cell7 = headerRow.CreateCell(7);
|
||||
cell7.SetCellValue("调用方法");
|
||||
cell7.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(7, 10 * 256);
|
||||
|
||||
var cell8 = headerRow.CreateCell(8);
|
||||
cell8.SetCellValue("请求参数");
|
||||
cell8.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(8, 10 * 256);
|
||||
|
||||
var cell9 = headerRow.CreateCell(9);
|
||||
cell9.SetCellValue("返回结果");
|
||||
cell9.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(9, 10 * 256);
|
||||
|
||||
var cell10 = headerRow.CreateCell(10);
|
||||
cell10.SetCellValue("ip地址");
|
||||
cell10.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(10, 10 * 256);
|
||||
|
||||
var cell11 = headerRow.CreateCell(11);
|
||||
cell11.SetCellValue("请求耗时,单位毫秒");
|
||||
cell11.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(11, 10 * 256);
|
||||
|
||||
var cell12 = headerRow.CreateCell(12);
|
||||
cell12.SetCellValue("状态,0成功,1异常");
|
||||
cell12.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(12, 10 * 256);
|
||||
|
||||
var cell13 = headerRow.CreateCell(13);
|
||||
cell13.SetCellValue("登录时间");
|
||||
cell13.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(13, 10 * 256);
|
||||
|
||||
|
||||
headerRow.Height = 30 * 20;
|
||||
var commonCellStyle = ExcelHelper.GetCommonStyle(book);
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listModel.Count; i++)
|
||||
{
|
||||
var rowTemp = mySheet.CreateRow(i + 1);
|
||||
|
||||
|
||||
var rowTemp0 = rowTemp.CreateCell(0);
|
||||
rowTemp0.SetCellValue(listModel[i].id.ToString());
|
||||
rowTemp0.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp1 = rowTemp.CreateCell(1);
|
||||
rowTemp1.SetCellValue(listModel[i].userId.ToString());
|
||||
rowTemp1.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp2 = rowTemp.CreateCell(2);
|
||||
rowTemp2.SetCellValue(listModel[i].userName.ToString());
|
||||
rowTemp2.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp3 = rowTemp.CreateCell(3);
|
||||
rowTemp3.SetCellValue(listModel[i].model.ToString());
|
||||
rowTemp3.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp4 = rowTemp.CreateCell(4);
|
||||
rowTemp4.SetCellValue(listModel[i].description.ToString());
|
||||
rowTemp4.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp5 = rowTemp.CreateCell(5);
|
||||
rowTemp5.SetCellValue(listModel[i].url.ToString());
|
||||
rowTemp5.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp6 = rowTemp.CreateCell(6);
|
||||
rowTemp6.SetCellValue(listModel[i].requestMethod.ToString());
|
||||
rowTemp6.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp7 = rowTemp.CreateCell(7);
|
||||
rowTemp7.SetCellValue(listModel[i].operMethod.ToString());
|
||||
rowTemp7.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp8 = rowTemp.CreateCell(8);
|
||||
rowTemp8.SetCellValue(listModel[i].param.ToString());
|
||||
rowTemp8.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp9 = rowTemp.CreateCell(9);
|
||||
rowTemp9.SetCellValue(listModel[i].result.ToString());
|
||||
rowTemp9.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp10 = rowTemp.CreateCell(10);
|
||||
rowTemp10.SetCellValue(listModel[i].ip.ToString());
|
||||
rowTemp10.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp11 = rowTemp.CreateCell(11);
|
||||
rowTemp11.SetCellValue(listModel[i].spendTime.ToString());
|
||||
rowTemp11.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp12 = rowTemp.CreateCell(12);
|
||||
rowTemp12.SetCellValue(listModel[i].state.ToString());
|
||||
rowTemp12.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
|
||||
var rowTemp13 = rowTemp.CreateCell(13);
|
||||
rowTemp13.SetCellValue(listModel[i].createTime.ToString());
|
||||
rowTemp13.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
}
|
||||
// 写入到excel
|
||||
string webRootPath = _webHostEnvironment.WebRootPath;
|
||||
string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-SysOperRecord导出(查询结果).xls";
|
||||
string filePath = webRootPath + tpath;
|
||||
DirectoryInfo di = new DirectoryInfo(filePath);
|
||||
if (!di.Exists)
|
||||
{
|
||||
di.Create();
|
||||
}
|
||||
FileStream 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
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,292 @@
|
||||
/***********************************************************************
|
||||
* 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.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 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 SysOrganizationController : ControllerBase
|
||||
{
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly ISysOrganizationServices _sysOrganizationServices;
|
||||
private readonly ISysDictionaryServices _sysDictionaryServices;
|
||||
private readonly ISysDictionaryDataServices _sysDictionaryDataServices;
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
///</summary>
|
||||
public SysOrganizationController(IWebHostEnvironment webHostEnvironment
|
||||
, ISysOrganizationServices sysOrganizationServices
|
||||
, ISysDictionaryServices sysDictionaryServices
|
||||
, ISysDictionaryDataServices sysDictionaryDataServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_sysOrganizationServices = sysOrganizationServices;
|
||||
_sysDictionaryServices = sysDictionaryServices;
|
||||
_sysDictionaryDataServices = sysDictionaryDataServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
// POST: Api/SysOrganization/GetPageList
|
||||
/// <summary>
|
||||
/// 获取列表
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("获取列表")]
|
||||
public async Task<AdminUiCallBack> GetPageList()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
//获取数据
|
||||
var list = await _sysOrganizationServices.QueryAsync();
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.Count;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
// POST: Api/SysOrganization/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
// POST: Api/SysOrganization/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public async Task<AdminUiCallBack> GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var dict = await _sysDictionaryServices.QueryByClauseAsync(p => p.dictCode == "organization_type");
|
||||
var dictData = new List<SysDictionaryData>();
|
||||
if (dict != null)
|
||||
{
|
||||
dictData = await _sysDictionaryDataServices.QueryListByClauseAsync(p => p.dictId == dict.id);
|
||||
}
|
||||
jm.data = new
|
||||
{
|
||||
dictData
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
// POST: Api/SysOrganization/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] SysOrganization entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var bl = await _sysOrganizationServices.InsertAsync(entity) > 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = (bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure);
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
// POST: Api/SysOrganization/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 _sysOrganizationServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var dict = await _sysDictionaryServices.QueryByClauseAsync(p => p.dictCode == "organization_type");
|
||||
var dictData = new List<SysDictionaryData>();
|
||||
if (dict != null)
|
||||
{
|
||||
dictData = await _sysDictionaryDataServices.QueryListByClauseAsync(p => p.dictId == dict.id);
|
||||
}
|
||||
jm.code = 0;
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
dictData
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
// POST: Api/SysOrganization/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] SysOrganization entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _sysOrganizationServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
//事物处理过程开始
|
||||
//oldModel.id = entity.id;
|
||||
oldModel.parentId = entity.parentId;
|
||||
oldModel.organizationName = entity.organizationName;
|
||||
oldModel.organizationFullName = entity.organizationFullName;
|
||||
oldModel.organizationType = entity.organizationType;
|
||||
//oldModel.leaderId = entity.leaderId;
|
||||
oldModel.sortNumber = entity.sortNumber;
|
||||
oldModel.comments = entity.comments;
|
||||
oldModel.deleted = entity.deleted;
|
||||
//oldModel.createTime = entity.createTime;
|
||||
oldModel.updateTime = DateTime.Now;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _sysOrganizationServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
// POST: Api/SysOrganization/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 _sysOrganizationServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
var bl = await _sysOrganizationServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
return jm;
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
//用户数据==============================================================================
|
||||
|
||||
|
||||
#region 设置leader============================================================
|
||||
// POST: Api/SysOrganization/DoSetSysOrganizationLeader/10
|
||||
/// <summary>
|
||||
/// 设置leader
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置leader")]
|
||||
public async Task<AdminUiCallBack> DoSetSysOrganizationLeader([FromBody] FMDoSetSysOrganizationLeaderPost entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _sysOrganizationServices.QueryByIdAsync(entity.organizationId);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
oldModel.leaderId = entity.leaderId;
|
||||
var bl = await _sysOrganizationServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.SetDataSuccess : GlobalConstVars.SetDataFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,504 @@
|
||||
/***********************************************************************
|
||||
* 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.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.Model.ViewModels.DTO;
|
||||
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 SysRoleController : ControllerBase
|
||||
{
|
||||
private readonly ISysMenuServices _sysMenuServices;
|
||||
private readonly ISysRoleMenuServices _sysRoleMenuServices;
|
||||
private readonly ISysRoleServices _sysRoleServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public SysRoleController(IWebHostEnvironment webHostEnvironment
|
||||
, ISysRoleServices sysRoleServices
|
||||
, ISysMenuServices sysMenuServices
|
||||
, ISysRoleMenuServices sysRoleMenuServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_sysRoleServices = sysRoleServices;
|
||||
_sysMenuServices = sysMenuServices;
|
||||
_sysRoleMenuServices = sysRoleMenuServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/SysRole/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<SysRole>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<SysRole, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "roleName":
|
||||
orderEx = p => p.roleName;
|
||||
break;
|
||||
case "roleCode":
|
||||
orderEx = p => p.roleCode;
|
||||
break;
|
||||
case "comments":
|
||||
orderEx = p => p.comments;
|
||||
break;
|
||||
case "deleted":
|
||||
orderEx = p => p.deleted;
|
||||
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
|
||||
};
|
||||
//查询筛选
|
||||
|
||||
//角色id int
|
||||
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||
if (id > 0) @where = @where.And(p => p.id == id);
|
||||
//角色名称 nvarchar
|
||||
var roleName = Request.Form["roleName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(roleName)) @where = @where.And(p => p.roleName.Contains(roleName));
|
||||
//角色标识 nvarchar
|
||||
var roleCode = Request.Form["roleCode"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(roleCode)) @where = @where.And(p => p.roleCode.Contains(roleCode));
|
||||
//备注 nvarchar
|
||||
var comments = Request.Form["comments"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(comments)) @where = @where.And(p => p.comments.Contains(comments));
|
||||
//是否删除,0否,1是 bit
|
||||
var deleted = Request.Form["deleted"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(deleted) && deleted.ToLowerInvariant() == "true")
|
||||
@where = @where.And(p => p.deleted);
|
||||
else if (!string.IsNullOrEmpty(deleted) && deleted.ToLowerInvariant() == "false")
|
||||
@where = @where.And(p => p.deleted == 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 _sysRoleServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/SysRole/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
|
||||
// POST: Api/SysRole/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
|
||||
// POST: Api/SysRole/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] SysRole entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
entity.createTime = DateTime.Now;
|
||||
|
||||
var bl = await _sysRoleServices.InsertAsync(entity) > 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/SysRole/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 _sysRoleServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Api/SysRole/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] SysRole entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _sysRoleServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
//事物处理过程开始
|
||||
oldModel.roleName = entity.roleName;
|
||||
oldModel.roleCode = entity.roleCode;
|
||||
oldModel.comments = entity.comments;
|
||||
oldModel.updateTime = DateTime.Now;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _sysRoleServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/SysRole/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 _sysRoleServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var bl = await _sysRoleServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 批量删除============================================================
|
||||
|
||||
// POST: Api/SysRole/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 _sysRoleServices.DeleteByIdsAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 获取权限设置============================================================
|
||||
|
||||
// POST: Api/SysRole/GetRoleSet
|
||||
/// <summary>
|
||||
/// 获取权限设置
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("获取权限设置")]
|
||||
public async Task<AdminUiCallBack> GetRoleSet([FromBody] FMIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var model = await _sysRoleServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 获取菜单=====================================================================
|
||||
|
||||
// POST: Api/SysRole/GetSysMenu
|
||||
/// <summary>
|
||||
/// 获取菜单
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("获取菜单")]
|
||||
public async Task<AdminUiCallBack> GetSysMenu([FromBody] FMIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var model = await _sysMenuServices.QueryListByClauseAsync(p => p.deleted == false && p.hide == false,
|
||||
p => p.sortNumber, OrderByType.Asc);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var roleMenus = await _sysRoleMenuServices.QueryListByClauseAsync(p => p.roleId == entity.id);
|
||||
var list = new List<SysMenuTreeDto>();
|
||||
if (model.Any())
|
||||
model.ForEach(p =>
|
||||
{
|
||||
list.Add(new SysMenuTreeDto
|
||||
{
|
||||
authority = p.authority,
|
||||
@checked = roleMenus.Exists(m => m.menuId == p.id),
|
||||
children = null,
|
||||
component = p.component,
|
||||
createTime = p.createTime,
|
||||
deleted = p.deleted,
|
||||
hide = p.hide,
|
||||
iconColor = p.iconColor,
|
||||
menuName = p.menuName,
|
||||
menuIcon = p.menuIcon,
|
||||
menuType = p.menuType,
|
||||
id = p.id,
|
||||
open = true,
|
||||
parentId = p.parentId,
|
||||
parentName = "",
|
||||
path = p.path,
|
||||
sortNumber = p.sortNumber,
|
||||
target = p.target,
|
||||
updateTime = p.updateTime
|
||||
});
|
||||
});
|
||||
jm.code = 0;
|
||||
jm.data = list;
|
||||
jm.otherData = new
|
||||
{
|
||||
entity,
|
||||
roleMenus
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 设置权限=====================================================================
|
||||
|
||||
// POST: Api/SysRole/DoSetSysMenu
|
||||
/// <summary>
|
||||
/// 设置权限
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置权限")]
|
||||
public async Task<AdminUiCallBack> DoSetSysMenu([FromBody] FMIntIdByListIntData entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _sysRoleServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
await _sysRoleMenuServices.DeleteAsync(p => p.roleId == oldModel.id);
|
||||
if (entity.data.Any())
|
||||
{
|
||||
var list = new List<SysRoleMenu>();
|
||||
entity.data.ForEach(p =>
|
||||
{
|
||||
list.Add(new SysRoleMenu
|
||||
{
|
||||
createTime = DateTime.Now,
|
||||
menuId = p,
|
||||
roleId = oldModel.id
|
||||
});
|
||||
});
|
||||
await _sysRoleMenuServices.InsertAsync(list);
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.msg = "权限设置成功";
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,525 @@
|
||||
/***********************************************************************
|
||||
* 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 SysRoleMenuController : ControllerBase
|
||||
{
|
||||
private readonly ISysRoleMenuServices _sysRoleMenuServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public SysRoleMenuController(IWebHostEnvironment webHostEnvironment
|
||||
, ISysRoleMenuServices SysRoleMenuServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_sysRoleMenuServices = SysRoleMenuServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/SysRoleMenu/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<SysRoleMenu>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<SysRoleMenu, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "roleId":
|
||||
orderEx = p => p.roleId;
|
||||
break;
|
||||
case "menuId":
|
||||
orderEx = p => p.menuId;
|
||||
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 roleId = Request.Form["roleId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (roleId > 0) @where = @where.And(p => p.roleId == roleId);
|
||||
//菜单id int
|
||||
var menuId = Request.Form["menuId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (menuId > 0) @where = @where.And(p => p.menuId == menuId);
|
||||
//创建时间 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 _sysRoleMenuServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/SysRoleMenu/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
|
||||
// POST: Api/SysRoleMenu/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
|
||||
// POST: Api/SysRoleMenu/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] SysRoleMenu entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var bl = await _sysRoleMenuServices.InsertAsync(entity) > 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
|
||||
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/SysRoleMenu/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 _sysRoleMenuServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Api/SysRoleMenu/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] SysRoleMenu entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _sysRoleMenuServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
//事物处理过程开始
|
||||
oldModel.id = entity.id;
|
||||
oldModel.roleId = entity.roleId;
|
||||
oldModel.menuId = entity.menuId;
|
||||
oldModel.createTime = entity.createTime;
|
||||
oldModel.updateTime = entity.updateTime;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _sysRoleMenuServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/SysRoleMenu/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 _sysRoleMenuServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var bl = await _sysRoleMenuServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 批量删除============================================================
|
||||
|
||||
// POST: Api/SysRoleMenu/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 _sysRoleMenuServices.DeleteByIdsAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
|
||||
// POST: Api/SysRoleMenu/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 _sysRoleMenuServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 选择导出============================================================
|
||||
|
||||
// POST: Api/SysRoleMenu/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 _sysRoleMenuServices.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("角色id");
|
||||
row1.CreateCell(2).SetCellValue("菜单id");
|
||||
row1.CreateCell(3).SetCellValue("创建时间");
|
||||
row1.CreateCell(4).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].roleId.ToString());
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].menuId.ToString());
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 导出excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-SysRoleMenu导出(选择结果).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/SysRoleMenu/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<SysRoleMenu>();
|
||||
//查询筛选
|
||||
|
||||
//主键 int
|
||||
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||
if (id > 0) @where = @where.And(p => p.id == id);
|
||||
//角色id int
|
||||
var roleId = Request.Form["roleId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (roleId > 0) @where = @where.And(p => p.roleId == roleId);
|
||||
//菜单id int
|
||||
var menuId = Request.Form["menuId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (menuId > 0) @where = @where.And(p => p.menuId == menuId);
|
||||
//创建时间 datetime
|
||||
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(createTime))
|
||||
{
|
||||
var dt = createTime.ObjectToDate();
|
||||
where = where.And(p => p.createTime > dt);
|
||||
}
|
||||
|
||||
//修改时间 datetime
|
||||
var updateTime = Request.Form["updateTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(updateTime))
|
||||
{
|
||||
var dt = updateTime.ObjectToDate();
|
||||
where = where.And(p => p.updateTime > dt);
|
||||
}
|
||||
|
||||
//获取数据
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var sheet1 = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listmodel = await _sysRoleMenuServices.QueryListByClauseAsync(where, p => p.id, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var row1 = sheet1.CreateRow(0);
|
||||
row1.CreateCell(0).SetCellValue("主键");
|
||||
row1.CreateCell(1).SetCellValue("角色id");
|
||||
row1.CreateCell(2).SetCellValue("菜单id");
|
||||
row1.CreateCell(3).SetCellValue("创建时间");
|
||||
row1.CreateCell(4).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].roleId.ToString());
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].menuId.ToString());
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 写入到excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-SysRoleMenu导出(查询结果).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
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,540 @@
|
||||
/***********************************************************************
|
||||
* 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 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 SysTaskLogController : ControllerBase
|
||||
{
|
||||
private readonly ISysTaskLogServices _sysTaskLogServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public SysTaskLogController(IWebHostEnvironment webHostEnvironment
|
||||
, ISysTaskLogServices sysTaskLogServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_sysTaskLogServices = sysTaskLogServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/SysTaskLog/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<SysTaskLog>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<SysTaskLog, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "name":
|
||||
orderEx = p => p.name;
|
||||
break;
|
||||
case "createTime":
|
||||
orderEx = p => p.createTime;
|
||||
break;
|
||||
case "isSuccess":
|
||||
orderEx = p => p.isSuccess;
|
||||
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 name = Request.Form["name"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(name)) @where = @where.And(p => p.name.Contains(name));
|
||||
//完成时间 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);
|
||||
}
|
||||
}
|
||||
|
||||
//是否完成 bit
|
||||
var isSuccess = Request.Form["isSuccess"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isSuccess) && isSuccess.ToLowerInvariant() == "true")
|
||||
@where = @where.And(p => p.isSuccess);
|
||||
else if (!string.IsNullOrEmpty(isSuccess) && isSuccess.ToLowerInvariant() == "false")
|
||||
@where = @where.And(p => p.isSuccess == false);
|
||||
//其他数据 nvarchar
|
||||
var parameters = Request.Form["parameters"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(parameters)) @where = @where.And(p => p.parameters.Contains(parameters));
|
||||
//获取数据
|
||||
var list = await _sysTaskLogServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/SysTaskLog/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/SysTaskLog/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 _sysTaskLogServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var bl = await _sysTaskLogServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 批量删除============================================================
|
||||
|
||||
// POST: Api/SysTaskLog/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 _sysTaskLogServices.DeleteByIdsAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
|
||||
// POST: Api/SysTaskLog/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 _sysTaskLogServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 选择导出============================================================
|
||||
|
||||
// POST: Api/SysTaskLog/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 mySheet = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listModel =
|
||||
await _sysTaskLogServices.QueryListByClauseAsync(p => entity.id.Contains(p.id), p => p.id,
|
||||
OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var headerRow = mySheet.CreateRow(0);
|
||||
var headerStyle = ExcelHelper.GetHeaderStyle(book);
|
||||
|
||||
var cell0 = headerRow.CreateCell(0);
|
||||
cell0.SetCellValue("序列");
|
||||
cell0.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(0, 10 * 256);
|
||||
|
||||
var cell1 = headerRow.CreateCell(1);
|
||||
cell1.SetCellValue("任务名称");
|
||||
cell1.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(1, 10 * 256);
|
||||
|
||||
var cell2 = headerRow.CreateCell(2);
|
||||
cell2.SetCellValue("完成时间");
|
||||
cell2.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(2, 10 * 256);
|
||||
|
||||
var cell3 = headerRow.CreateCell(3);
|
||||
cell3.SetCellValue("是否完成");
|
||||
cell3.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(3, 10 * 256);
|
||||
|
||||
var cell4 = headerRow.CreateCell(4);
|
||||
cell4.SetCellValue("其他数据");
|
||||
cell4.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(4, 10 * 256);
|
||||
|
||||
headerRow.Height = 30 * 20;
|
||||
var commonCellStyle = ExcelHelper.GetCommonStyle(book);
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listModel.Count; i++)
|
||||
{
|
||||
var rowTemp = mySheet.CreateRow(i + 1);
|
||||
|
||||
var rowTemp0 = rowTemp.CreateCell(0);
|
||||
rowTemp0.SetCellValue(listModel[i].id.ToString());
|
||||
rowTemp0.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp1 = rowTemp.CreateCell(1);
|
||||
rowTemp1.SetCellValue(listModel[i].name);
|
||||
rowTemp1.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp2 = rowTemp.CreateCell(2);
|
||||
rowTemp2.SetCellValue(listModel[i].createTime.ToString());
|
||||
rowTemp2.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp3 = rowTemp.CreateCell(3);
|
||||
rowTemp3.SetCellValue(listModel[i].isSuccess.ToString());
|
||||
rowTemp3.CellStyle = commonCellStyle;
|
||||
|
||||
var rowTemp4 = rowTemp.CreateCell(4);
|
||||
rowTemp4.SetCellValue(listModel[i].parameters);
|
||||
rowTemp4.CellStyle = commonCellStyle;
|
||||
}
|
||||
|
||||
// 导出excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-SysTaskLog导出(选择结果).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/SysTaskLog/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<SysTaskLog>();
|
||||
//查询筛选
|
||||
|
||||
//序列 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));
|
||||
//完成时间 datetime
|
||||
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(createTime))
|
||||
{
|
||||
var dt = createTime.ObjectToDate();
|
||||
where = where.And(p => p.createTime > dt);
|
||||
}
|
||||
|
||||
//是否完成 bit
|
||||
var isSuccess = Request.Form["isSuccess"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(isSuccess) && isSuccess.ToLowerInvariant() == "true")
|
||||
@where = @where.And(p => p.isSuccess);
|
||||
else if (!string.IsNullOrEmpty(isSuccess) && isSuccess.ToLowerInvariant() == "false")
|
||||
@where = @where.And(p => p.isSuccess == false);
|
||||
//其他数据 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 mySheet = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listModel = await _sysTaskLogServices.QueryListByClauseAsync(where, p => p.id, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var headerRow = mySheet.CreateRow(0);
|
||||
var headerStyle = ExcelHelper.GetHeaderStyle(book);
|
||||
|
||||
var cell0 = headerRow.CreateCell(0);
|
||||
cell0.SetCellValue("序列");
|
||||
cell0.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(0, 10 * 256);
|
||||
|
||||
var cell1 = headerRow.CreateCell(1);
|
||||
cell1.SetCellValue("任务名称");
|
||||
cell1.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(1, 10 * 256);
|
||||
|
||||
var cell2 = headerRow.CreateCell(2);
|
||||
cell2.SetCellValue("完成时间");
|
||||
cell2.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(2, 10 * 256);
|
||||
|
||||
var cell3 = headerRow.CreateCell(3);
|
||||
cell3.SetCellValue("是否完成");
|
||||
cell3.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(3, 10 * 256);
|
||||
|
||||
var cell4 = headerRow.CreateCell(4);
|
||||
cell4.SetCellValue("其他数据");
|
||||
cell4.CellStyle = headerStyle;
|
||||
mySheet.SetColumnWidth(4, 10 * 256);
|
||||
|
||||
|
||||
headerRow.Height = 30 * 20;
|
||||
var commonCellStyle = ExcelHelper.GetCommonStyle(book);
|
||||
|
||||
//将数据逐步写入sheet1各个行
|
||||
for (var i = 0; i < listModel.Count; i++)
|
||||
{
|
||||
var rowTemp = mySheet.CreateRow(i + 1);
|
||||
|
||||
|
||||
var rowTemp0 = rowTemp.CreateCell(0);
|
||||
rowTemp0.SetCellValue(listModel[i].id.ToString());
|
||||
rowTemp0.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
var rowTemp1 = rowTemp.CreateCell(1);
|
||||
rowTemp1.SetCellValue(listModel[i].name);
|
||||
rowTemp1.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
var rowTemp2 = rowTemp.CreateCell(2);
|
||||
rowTemp2.SetCellValue(listModel[i].createTime.ToString());
|
||||
rowTemp2.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
var rowTemp3 = rowTemp.CreateCell(3);
|
||||
rowTemp3.SetCellValue(listModel[i].isSuccess.ToString());
|
||||
rowTemp3.CellStyle = commonCellStyle;
|
||||
|
||||
|
||||
var rowTemp4 = rowTemp.CreateCell(4);
|
||||
rowTemp4.SetCellValue(listModel[i].parameters);
|
||||
rowTemp4.CellStyle = commonCellStyle;
|
||||
}
|
||||
|
||||
// 写入到excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-SysTaskLog导出(查询结果).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/SysTaskLog/DoSetisSuccess/10
|
||||
/// <summary>
|
||||
/// 设置是否完成
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置是否完成")]
|
||||
public async Task<AdminUiCallBack> DoSetisSuccess([FromBody] FMUpdateBoolDataByIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _sysTaskLogServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
oldModel.isSuccess = entity.data;
|
||||
|
||||
var bl = await _sysTaskLogServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 清空数据============================================================
|
||||
|
||||
// POST: Api/SysTaskLog/DoBatchDelete/10,11,20
|
||||
/// <summary>
|
||||
/// 清空数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("清空数据")]
|
||||
public async Task<AdminUiCallBack> DoWipeData()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var bl = await _sysTaskLogServices.DeleteAsync(p => p.id > 0);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,565 @@
|
||||
/***********************************************************************
|
||||
* 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.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 SqlSugar;
|
||||
|
||||
namespace CoreCms.Net.Web.Admin.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户表
|
||||
/// </summary>
|
||||
[Description("用户表")]
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
[RequiredErrorForAdmin]
|
||||
[Authorize(Permissions.Name)]
|
||||
public class SysUserController : ControllerBase
|
||||
{
|
||||
private readonly ISysOrganizationServices _sysOrganizationServices;
|
||||
private readonly ISysRoleServices _sysRoleServices;
|
||||
private readonly ISysUserRoleServices _sysUserRoleServices;
|
||||
private readonly ISysUserServices _sysUserServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public SysUserController(IWebHostEnvironment webHostEnvironment
|
||||
, ISysUserServices sysUserServices
|
||||
, ISysRoleServices sysRoleServices
|
||||
, ISysUserRoleServices sysUserRoleServices
|
||||
, ISysOrganizationServices sysOrganizationServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_sysUserServices = sysUserServices;
|
||||
_sysRoleServices = sysRoleServices;
|
||||
_sysUserRoleServices = sysUserRoleServices;
|
||||
_sysOrganizationServices = sysOrganizationServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/SysUser/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<SysUser>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<SysUser, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "userName":
|
||||
orderEx = p => p.userName;
|
||||
break;
|
||||
case "passWord":
|
||||
orderEx = p => p.passWord;
|
||||
break;
|
||||
case "nickName":
|
||||
orderEx = p => p.nickName;
|
||||
break;
|
||||
case "avatar":
|
||||
orderEx = p => p.avatar;
|
||||
break;
|
||||
case "sex":
|
||||
orderEx = p => p.sex;
|
||||
break;
|
||||
case "phone":
|
||||
orderEx = p => p.phone;
|
||||
break;
|
||||
case "email":
|
||||
orderEx = p => p.email;
|
||||
break;
|
||||
case "emailVerified":
|
||||
orderEx = p => p.emailVerified;
|
||||
break;
|
||||
case "trueName":
|
||||
orderEx = p => p.trueName;
|
||||
break;
|
||||
case "idCard":
|
||||
orderEx = p => p.idCard;
|
||||
break;
|
||||
case "birthday":
|
||||
orderEx = p => p.birthday;
|
||||
break;
|
||||
case "introduction":
|
||||
orderEx = p => p.introduction;
|
||||
break;
|
||||
case "organizationId":
|
||||
orderEx = p => p.organizationId;
|
||||
break;
|
||||
case "state":
|
||||
orderEx = p => p.state;
|
||||
break;
|
||||
case "deleted":
|
||||
orderEx = p => p.deleted;
|
||||
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
|
||||
};
|
||||
//查询筛选
|
||||
|
||||
//用户id int
|
||||
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||
if (id > 0) @where = @where.And(p => p.id == id);
|
||||
//账号 nvarchar
|
||||
var userName = Request.Form["userName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(userName)) @where = @where.And(p => p.userName.Contains(userName));
|
||||
//密码 nvarchar
|
||||
var passWord = Request.Form["passWord"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(passWord)) @where = @where.And(p => p.passWord.Contains(passWord));
|
||||
//昵称 nvarchar
|
||||
var nickName = Request.Form["nickName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(nickName)) @where = @where.And(p => p.nickName.Contains(nickName));
|
||||
//头像 nvarchar
|
||||
var avatar = Request.Form["avatar"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(avatar)) @where = @where.And(p => p.avatar.Contains(avatar));
|
||||
//性别 int
|
||||
var sex = Request.Form["sex"].FirstOrDefault().ObjectToInt(0);
|
||||
if (sex > 0) @where = @where.And(p => p.sex == sex);
|
||||
//手机号 nvarchar
|
||||
var phone = Request.Form["phone"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(phone)) @where = @where.And(p => p.phone.Contains(phone));
|
||||
//邮箱 nvarchar
|
||||
var email = Request.Form["email"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(email)) @where = @where.And(p => p.email.Contains(email));
|
||||
//邮箱是否验证 bit
|
||||
var emailVerified = Request.Form["emailVerified"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(emailVerified) && emailVerified.ToLowerInvariant() == "true")
|
||||
@where = @where.And(p => p.emailVerified);
|
||||
else if (!string.IsNullOrEmpty(emailVerified) && emailVerified.ToLowerInvariant() == "false")
|
||||
@where = @where.And(p => p.emailVerified == false);
|
||||
//真实姓名 nvarchar
|
||||
var trueName = Request.Form["trueName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(trueName)) @where = @where.And(p => p.trueName.Contains(trueName));
|
||||
//身份证号 nvarchar
|
||||
var idCard = Request.Form["idCard"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(idCard)) @where = @where.And(p => p.idCard.Contains(idCard));
|
||||
//个人简介 nvarchar
|
||||
var introduction = Request.Form["introduction"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(introduction)) @where = @where.And(p => p.introduction.Contains(introduction));
|
||||
//机构id int
|
||||
var organizationId = Request.Form["organizationId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (organizationId > 0)
|
||||
{
|
||||
//where = where.And(p => p.organizationId == organizationId);
|
||||
var o = await _sysOrganizationServices.QueryAsync();
|
||||
var ids = new List<int>();
|
||||
SysOrganizationHelper.GetOrganizeChildIds(o, organizationId, ref ids);
|
||||
if (ids.Any())
|
||||
{
|
||||
jm.otherData = ids;
|
||||
where = where.And(p => ids.Contains((int)p.organizationId));
|
||||
}
|
||||
}
|
||||
|
||||
//状态,0正常,1冻结 int
|
||||
var state = Request.Form["state"].FirstOrDefault().ObjectToInt(0);
|
||||
if (state > 0) @where = @where.And(p => p.state == state);
|
||||
//是否删除,0否,1是 bit
|
||||
var deleted = Request.Form["deleted"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(deleted) && deleted.ToLowerInvariant() == "true")
|
||||
@where = @where.And(p => p.deleted);
|
||||
else if (!string.IsNullOrEmpty(deleted) && deleted.ToLowerInvariant() == "false")
|
||||
@where = @where.And(p => p.deleted == 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 _sysUserServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
|
||||
if (list.Any())
|
||||
{
|
||||
var sysRoles = await _sysRoleServices.QueryAsync();
|
||||
var sysUserRoles = await _sysUserRoleServices.QueryAsync();
|
||||
|
||||
foreach (var user in list)
|
||||
{
|
||||
var roleIds = sysUserRoles.Where(p => p.userId == user.id).Select(p => p.roleId).ToList();
|
||||
if (roleIds.Any()) user.roles = sysRoles.Where(p => roleIds.Contains(p.id)).ToList();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/SysUser/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
|
||||
// POST: Api/SysUser/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public async Task<AdminUiCallBack> GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var userSexTypes = EnumHelper.EnumToList<GlobalEnumVars.UserSexTypes>();
|
||||
var roles = await _sysRoleServices.QueryListByClauseAsync(p => p.deleted == false);
|
||||
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
jm.data = new { userSexTypes, roles };
|
||||
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
|
||||
// POST: Api/SysUser/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] SysUser entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var haveName = await _sysUserServices.ExistsAsync(p => p.userName == entity.userName);
|
||||
if (haveName)
|
||||
{
|
||||
jm.msg = "账号已经存在";
|
||||
return jm;
|
||||
}
|
||||
|
||||
entity.createTime = DateTime.Now;
|
||||
entity.passWord = CommonHelper.Md5For32(entity.passWord);
|
||||
var id = await _sysUserServices.InsertAsync(entity);
|
||||
if (id > 0 && !string.IsNullOrEmpty(entity.roleIds))
|
||||
{
|
||||
var strIds = entity.roleIds.Split(",");
|
||||
var ids = CommonHelper.StringArrAyToIntArray(strIds);
|
||||
if (ids.Any())
|
||||
{
|
||||
var userRoles = new List<SysUserRole>();
|
||||
foreach (var itemRoleId in ids)
|
||||
userRoles.Add(new SysUserRole
|
||||
{
|
||||
createTime = DateTime.Now,
|
||||
roleId = itemRoleId,
|
||||
userId = id
|
||||
});
|
||||
if (userRoles.Any()) await _sysUserRoleServices.InsertAsync(userRoles);
|
||||
}
|
||||
}
|
||||
|
||||
jm.otherData = entity;
|
||||
var bl = id > 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/SysUser/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 _sysUserServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var userSexTypes = EnumHelper.EnumToList<GlobalEnumVars.UserSexTypes>();
|
||||
var userRoles = await _sysUserRoleServices.QueryListByClauseAsync(p => p.userId == model.id);
|
||||
var roleIds = userRoles.Select(p => p.roleId).ToList();
|
||||
var roles = await _sysRoleServices.QueryListByClauseAsync(p => p.deleted == false);
|
||||
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = new
|
||||
{
|
||||
model,
|
||||
userSexTypes,
|
||||
roles,
|
||||
roleIds
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Api/SysUser/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] SysUser entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _sysUserServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
|
||||
if (oldModel.userName != entity.userName)
|
||||
{
|
||||
var haveName = await _sysUserServices.ExistsAsync(p => p.userName == entity.userName);
|
||||
if (haveName)
|
||||
{
|
||||
jm.msg = "账号已经存在";
|
||||
return jm;
|
||||
}
|
||||
}
|
||||
|
||||
//事物处理过程开始
|
||||
oldModel.userName = entity.userName;
|
||||
if (!string.IsNullOrEmpty(entity.passWord))
|
||||
{
|
||||
var md5Str = CommonHelper.Md5For32(entity.passWord);
|
||||
oldModel.passWord = md5Str;
|
||||
}
|
||||
|
||||
oldModel.organizationId = entity.organizationId > 0 ? entity.organizationId : 0;
|
||||
oldModel.nickName = entity.nickName;
|
||||
oldModel.sex = entity.sex;
|
||||
oldModel.phone = entity.phone;
|
||||
oldModel.updateTime = DateTime.Now;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _sysUserServices.UpdateAsync(oldModel);
|
||||
if (bl)
|
||||
{
|
||||
await _sysUserRoleServices.DeleteAsync(p => p.userId == oldModel.id);
|
||||
if (!string.IsNullOrEmpty(entity.roleIds))
|
||||
{
|
||||
var strIds = entity.roleIds.Split(",");
|
||||
var ids = CommonHelper.StringArrAyToIntArray(strIds);
|
||||
if (ids.Any())
|
||||
{
|
||||
var userRoles = new List<SysUserRole>();
|
||||
foreach (var itemRoleId in ids)
|
||||
userRoles.Add(new SysUserRole
|
||||
{
|
||||
createTime = DateTime.Now,
|
||||
roleId = itemRoleId,
|
||||
userId = oldModel.id
|
||||
});
|
||||
if (userRoles.Any()) await _sysUserRoleServices.InsertAsync(userRoles);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/SysUser/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 _sysUserServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
if (model.id == 1)
|
||||
{
|
||||
jm.msg = "初始管理员账户禁止删除";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var bl = await _sysUserServices.DeleteByIdAsync(entity.id);
|
||||
if (bl) await _sysUserRoleServices.DeleteAsync(p => p.userId == model.id);
|
||||
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 设置是否锁定============================================================
|
||||
|
||||
// POST: Api/SysUser/DoSetdeleted/10
|
||||
/// <summary>
|
||||
/// 设置是否锁定,0否,1是
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置是否锁定,0否,1是")]
|
||||
public async Task<AdminUiCallBack> DoSetState([FromBody] FMUpdateBoolDataByIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _sysUserServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
oldModel.state = entity.data ? 0 : 1;
|
||||
|
||||
var bl = await _sysUserServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,526 @@
|
||||
/***********************************************************************
|
||||
* 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 SysUserRoleController : ControllerBase
|
||||
{
|
||||
private readonly ISysUserRoleServices _sysUserRoleServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public SysUserRoleController(IWebHostEnvironment webHostEnvironment
|
||||
, ISysUserRoleServices sysUserRoleServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_sysUserRoleServices = sysUserRoleServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/SysUserRole/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<SysUserRole>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<SysUserRole, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "userId":
|
||||
orderEx = p => p.userId;
|
||||
break;
|
||||
case "roleId":
|
||||
orderEx = p => p.roleId;
|
||||
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 userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0) @where = @where.And(p => p.userId == userId);
|
||||
//角色id int
|
||||
var roleId = Request.Form["roleId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (roleId > 0) @where = @where.And(p => p.roleId == roleId);
|
||||
//创建时间 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 _sysUserRoleServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/SysUserRole/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
|
||||
// POST: Api/SysUserRole/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
|
||||
// POST: Api/SysUserRole/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] SysUserRole entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var bl = await _sysUserRoleServices.InsertAsync(entity) > 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/SysUserRole/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 _sysUserRoleServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Api/SysUserRole/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] SysUserRole entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _sysUserRoleServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
//事物处理过程开始
|
||||
oldModel.id = entity.id;
|
||||
oldModel.userId = entity.userId;
|
||||
oldModel.roleId = entity.roleId;
|
||||
oldModel.createTime = entity.createTime;
|
||||
oldModel.updateTime = entity.updateTime;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _sysUserRoleServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/SysUserRole/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 _sysUserRoleServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var bl = await _sysUserRoleServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
return jm;
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 批量删除============================================================
|
||||
|
||||
// POST: Api/SysUserRole/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 _sysUserRoleServices.DeleteByIdsAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
|
||||
// POST: Api/SysUserRole/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 _sysUserRoleServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 选择导出============================================================
|
||||
|
||||
// POST: Api/SysUserRole/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 _sysUserRoleServices.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("用户id");
|
||||
row1.CreateCell(2).SetCellValue("角色id");
|
||||
row1.CreateCell(3).SetCellValue("创建时间");
|
||||
row1.CreateCell(4).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].userId.ToString());
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].roleId.ToString());
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 导出excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-SysUserRole导出(选择结果).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/SysUserRole/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<SysUserRole>();
|
||||
//查询筛选
|
||||
|
||||
//主键 int
|
||||
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||
if (id > 0) @where = @where.And(p => p.id == id);
|
||||
//用户id int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0) @where = @where.And(p => p.userId == userId);
|
||||
//角色id int
|
||||
var roleId = Request.Form["roleId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (roleId > 0) @where = @where.And(p => p.roleId == roleId);
|
||||
//创建时间 datetime
|
||||
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(createTime))
|
||||
{
|
||||
var dt = createTime.ObjectToDate();
|
||||
where = where.And(p => p.createTime > dt);
|
||||
}
|
||||
|
||||
//修改时间 datetime
|
||||
var updateTime = Request.Form["updateTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(updateTime))
|
||||
{
|
||||
var dt = updateTime.ObjectToDate();
|
||||
where = where.And(p => p.updateTime > dt);
|
||||
}
|
||||
|
||||
//获取数据
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var sheet1 = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listmodel = await _sysUserRoleServices.QueryListByClauseAsync(where, p => p.id, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var row1 = sheet1.CreateRow(0);
|
||||
row1.CreateCell(0).SetCellValue("主键");
|
||||
row1.CreateCell(1).SetCellValue("用户id");
|
||||
row1.CreateCell(2).SetCellValue("角色id");
|
||||
row1.CreateCell(3).SetCellValue("创建时间");
|
||||
row1.CreateCell(4).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].userId.ToString());
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].roleId.ToString());
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 写入到excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-SysUserRole导出(查询结果).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
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,385 @@
|
||||
/***********************************************************************
|
||||
* Project: CoreCms
|
||||
* ProjectName: 核心内容管理系统
|
||||
* Web: https://www.corecms.net
|
||||
* Author: 大灰灰
|
||||
* Email: jianweie@163.com
|
||||
* CreateTime: 2021/1/31 21:45:10
|
||||
* Description: 暂无
|
||||
***********************************************************************/
|
||||
|
||||
using CoreCms.Net.Configuration;
|
||||
using CoreCms.Net.Filter;
|
||||
using CoreCms.Net.IServices;
|
||||
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 NPOI.HSSF.UserModel;
|
||||
using SqlSugar;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CoreCms.Net.Web.Admin.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户余额表
|
||||
/// </summary>
|
||||
[Description("用户余额表")]
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
[RequiredErrorForAdmin]
|
||||
[Authorize(Permissions.Name)]
|
||||
public class CoreCmsUserBalanceController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsUserBalanceServices _coreCmsUserBalanceServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="webHostEnvironment"></param>
|
||||
/// <param name="coreCmsUserBalanceServices"></param>
|
||||
public CoreCmsUserBalanceController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsUserBalanceServices coreCmsUserBalanceServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsUserBalanceServices = coreCmsUserBalanceServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserBalance/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<CoreCmsUserBalance>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsUserBalance, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
|
||||
case "userId":
|
||||
orderEx = p => p.userId;
|
||||
break;
|
||||
|
||||
case "type":
|
||||
orderEx = p => p.type;
|
||||
break;
|
||||
|
||||
case "money":
|
||||
orderEx = p => p.money;
|
||||
break;
|
||||
|
||||
case "balance":
|
||||
orderEx = p => p.balance;
|
||||
break;
|
||||
|
||||
case "sourceId":
|
||||
orderEx = p => p.sourceId;
|
||||
break;
|
||||
|
||||
case "memo":
|
||||
orderEx = p => p.memo;
|
||||
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);
|
||||
//用户id int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0) @where = @where.And(p => p.userId == userId);
|
||||
//类型 int
|
||||
var type = Request.Form["type"].FirstOrDefault().ObjectToInt(0);
|
||||
if (type > 0) @where = @where.And(p => p.type == type);
|
||||
//资源id nvarchar
|
||||
var sourceId = Request.Form["sourceId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(sourceId)) @where = @where.And(p => p.sourceId.Contains(sourceId));
|
||||
//描述 nvarchar
|
||||
var memo = Request.Form["memo"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(memo)) @where = @where.And(p => p.memo.Contains(memo));
|
||||
//创建时间 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 _coreCmsUserBalanceServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 获取列表============================================================
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserBalance/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var userBalanceSourceTypes = EnumHelper.EnumToList<GlobalEnumVars.UserBalanceSourceTypes>();
|
||||
jm.data = new
|
||||
{
|
||||
userBalanceSourceTypes
|
||||
};
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 首页数据============================================================
|
||||
|
||||
#region 预览数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserBalance/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 _coreCmsUserBalanceServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion 预览数据============================================================
|
||||
|
||||
#region 选择导出============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserBalance/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 _coreCmsUserBalanceServices.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("用户id");
|
||||
row1.CreateCell(2).SetCellValue("类型");
|
||||
row1.CreateCell(3).SetCellValue("金额");
|
||||
row1.CreateCell(4).SetCellValue("余额");
|
||||
row1.CreateCell(5).SetCellValue("资源id");
|
||||
row1.CreateCell(6).SetCellValue("描述");
|
||||
row1.CreateCell(7).SetCellValue("创建时间");
|
||||
|
||||
//将数据逐步写入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].userId.ToString());
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].type.ToString());
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].money.ToString());
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].balance.ToString());
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].sourceId);
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].memo);
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].createTime.ToString());
|
||||
}
|
||||
|
||||
// 导出excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsUserBalance导出(选择结果).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/CoreCmsUserBalance/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<CoreCmsUserBalance>();
|
||||
//查询筛选
|
||||
|
||||
//序列 int
|
||||
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||
if (id > 0) @where = @where.And(p => p.id == id);
|
||||
//用户id int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0) @where = @where.And(p => p.userId == userId);
|
||||
//类型 int
|
||||
var type = Request.Form["type"].FirstOrDefault().ObjectToInt(0);
|
||||
if (type > 0) @where = @where.And(p => p.type == type);
|
||||
//资源id nvarchar
|
||||
var sourceId = Request.Form["sourceId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(sourceId)) @where = @where.And(p => p.sourceId.Contains(sourceId));
|
||||
//描述 nvarchar
|
||||
var memo = Request.Form["memo"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(memo)) @where = @where.And(p => p.memo.Contains(memo));
|
||||
//创建时间 datetime
|
||||
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(createTime))
|
||||
{
|
||||
var dt = createTime.ObjectToDate();
|
||||
where = where.And(p => p.createTime > dt);
|
||||
}
|
||||
|
||||
//获取数据
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var sheet1 = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listmodel =
|
||||
await _coreCmsUserBalanceServices.QueryListByClauseAsync(where, p => p.id, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var row1 = sheet1.CreateRow(0);
|
||||
row1.CreateCell(0).SetCellValue("序列");
|
||||
row1.CreateCell(1).SetCellValue("用户id");
|
||||
row1.CreateCell(2).SetCellValue("类型");
|
||||
row1.CreateCell(3).SetCellValue("金额");
|
||||
row1.CreateCell(4).SetCellValue("余额");
|
||||
row1.CreateCell(5).SetCellValue("资源id");
|
||||
row1.CreateCell(6).SetCellValue("描述");
|
||||
row1.CreateCell(7).SetCellValue("创建时间");
|
||||
|
||||
//将数据逐步写入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].userId.ToString());
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].type.ToString());
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].money.ToString());
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].balance.ToString());
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].sourceId);
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].memo);
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].createTime.ToString());
|
||||
}
|
||||
|
||||
// 写入到excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsUserBalance导出(查询结果).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 查询导出============================================================
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,402 @@
|
||||
/***********************************************************************
|
||||
* 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 CoreCmsUserGradeController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsUserGradeServices _coreCmsUserGradeServices;
|
||||
private readonly ICoreCmsUserServices _userServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public CoreCmsUserGradeController(IWebHostEnvironment webHostEnvironment,
|
||||
ICoreCmsUserGradeServices coreCmsUserGradeServices, ICoreCmsUserServices userServices)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsUserGradeServices = coreCmsUserGradeServices;
|
||||
_userServices = userServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserGrade/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<CoreCmsUserGrade>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsUserGrade, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "title":
|
||||
orderEx = p => p.title;
|
||||
break;
|
||||
case "isDefault":
|
||||
orderEx = p => p.isDefault;
|
||||
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);
|
||||
//标题 nvarchar
|
||||
var title = Request.Form["title"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(title)) @where = @where.And(p => p.title.Contains(title));
|
||||
//是否默认 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);
|
||||
//获取数据
|
||||
var list = await _coreCmsUserGradeServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserGrade/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack
|
||||
{
|
||||
code = 0
|
||||
};
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserGrade/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack
|
||||
{
|
||||
code = 0
|
||||
};
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserGrade/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsUserGrade entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var id = await _coreCmsUserGradeServices.InsertAsync(entity);
|
||||
var bl = id > 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
|
||||
|
||||
//其他处理
|
||||
if (bl && entity.isDefault)
|
||||
{
|
||||
Expression<Func<CoreCmsUserGrade, bool>> predicate = p => p.id != id;
|
||||
await _coreCmsUserGradeServices.UpdateAsync(it => new CoreCmsUserGrade { isDefault = false },
|
||||
predicate);
|
||||
}
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserGrade/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 _coreCmsUserGradeServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Admins/CoreCmsUserGrade/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsUserGrade entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsUserGradeServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var oldDf = oldModel.isDefault;
|
||||
|
||||
if (oldDf && entity.isDefault == false)
|
||||
{
|
||||
jm.msg = "请保留一个为默认等级";
|
||||
return jm;
|
||||
}
|
||||
|
||||
//事物处理过程开始
|
||||
oldModel.id = entity.id;
|
||||
oldModel.title = entity.title;
|
||||
oldModel.isDefault = entity.isDefault;
|
||||
//事物处理过程结束
|
||||
var bl = await _coreCmsUserGradeServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
//其他处理
|
||||
if (bl && entity.isDefault)
|
||||
{
|
||||
Expression<Func<CoreCmsUserGrade, bool>> predicate = p => p.id != entity.id;
|
||||
await _coreCmsUserGradeServices.UpdateAsync(it => new CoreCmsUserGrade { isDefault = false },
|
||||
predicate);
|
||||
}
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserGrade/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 _coreCmsUserGradeServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var isHave = await _userServices.ExistsAsync(p => p.grade == model.id);
|
||||
if (isHave)
|
||||
{
|
||||
jm.msg = "存在下级关联数据,禁止删除";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var isDefault = await _coreCmsUserGradeServices.ExistsAsync(p => p.isDefault && p.id != entity.id);
|
||||
if (isDefault == false)
|
||||
{
|
||||
jm.msg = "请先设置其他选项为默认";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var bl = await _coreCmsUserGradeServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
return jm;
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserGrade/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 _coreCmsUserGradeServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 设置是否默认============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserGrade/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 _coreCmsUserGradeServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
oldModel.isDefault = entity.data;
|
||||
|
||||
if (entity.data == false)
|
||||
{
|
||||
var isHave = await _coreCmsUserGradeServices.ExistsAsync(p => p.isDefault && p.id != entity.id);
|
||||
if (isHave == false)
|
||||
{
|
||||
jm.msg = "请保持一个默认设置";
|
||||
return jm;
|
||||
}
|
||||
}
|
||||
|
||||
var bl = await _coreCmsUserGradeServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
//其他处理
|
||||
if (bl && oldModel.isDefault)
|
||||
{
|
||||
Expression<Func<CoreCmsUserGrade, bool>> predicate = p => p.id != entity.id;
|
||||
await _coreCmsUserGradeServices.UpdateAsync(it => new CoreCmsUserGrade { isDefault = false },
|
||||
predicate);
|
||||
}
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,469 @@
|
||||
/***********************************************************************
|
||||
* 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 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 CoreCmsUserTocashController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsUserTocashServices _coreCmsUserTocashServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="webHostEnvironment"></param>
|
||||
/// <param name="coreCmsUserTocashServices"></param>
|
||||
public CoreCmsUserTocashController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsUserTocashServices coreCmsUserTocashServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsUserTocashServices = coreCmsUserTocashServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserTocash/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<CoreCmsUserTocash>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsUserTocash, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "userId":
|
||||
orderEx = p => p.userId;
|
||||
break;
|
||||
case "money":
|
||||
orderEx = p => p.money;
|
||||
break;
|
||||
case "bankName":
|
||||
orderEx = p => p.bankName;
|
||||
break;
|
||||
case "bankCode":
|
||||
orderEx = p => p.bankCode;
|
||||
break;
|
||||
case "bankAreaId":
|
||||
orderEx = p => p.bankAreaId;
|
||||
break;
|
||||
case "accountBank":
|
||||
orderEx = p => p.accountBank;
|
||||
break;
|
||||
case "accountName":
|
||||
orderEx = p => p.accountName;
|
||||
break;
|
||||
case "cardNumber":
|
||||
orderEx = p => p.cardNumber;
|
||||
break;
|
||||
case "withdrawals":
|
||||
orderEx = p => p.withdrawals;
|
||||
break;
|
||||
case "status":
|
||||
orderEx = p => p.status;
|
||||
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
|
||||
};
|
||||
//查询筛选
|
||||
|
||||
//ID号 int
|
||||
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||
if (id > 0) @where = @where.And(p => p.id == id);
|
||||
//用户ID int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0) @where = @where.And(p => p.userId == userId);
|
||||
|
||||
//银行名称 nvarchar
|
||||
var bankName = Request.Form["bankName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(bankName)) @where = @where.And(p => p.bankName.Contains(bankName));
|
||||
//银行缩写 nvarchar
|
||||
var bankCode = Request.Form["bankCode"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(bankCode)) @where = @where.And(p => p.bankCode.Contains(bankCode));
|
||||
//账号地区ID int
|
||||
var bankAreaId = Request.Form["bankAreaId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (bankAreaId > 0) @where = @where.And(p => p.bankAreaId == bankAreaId);
|
||||
//开户行 nvarchar
|
||||
var accountBank = Request.Form["accountBank"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(accountBank)) @where = @where.And(p => p.accountBank.Contains(accountBank));
|
||||
//账户名 nvarchar
|
||||
var accountName = Request.Form["accountName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(accountName)) @where = @where.And(p => p.accountName.Contains(accountName));
|
||||
//卡号 nvarchar
|
||||
var cardNumber = Request.Form["cardNumber"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(cardNumber)) @where = @where.And(p => p.cardNumber.Contains(cardNumber));
|
||||
//提现状态 int
|
||||
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
|
||||
if (status > 0) @where = @where.And(p => p.status == status);
|
||||
//创建时间 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 _coreCmsUserTocashServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserTocash/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var userTocashTypes = EnumHelper.EnumToList<GlobalEnumVars.UserTocashTypes>();
|
||||
|
||||
jm.data = new
|
||||
{
|
||||
userTocashTypes
|
||||
};
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 设置状态============================================================
|
||||
|
||||
// POST: Api/CoreCmsUser/DoSetisDelete/10
|
||||
/// <summary>
|
||||
/// 设置状态
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("设置状态")]
|
||||
public async Task<AdminUiCallBack> SetStatus([FromBody] FMIntId entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsUserTocashServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var res = await _coreCmsUserTocashServices.Examine(entity.id, entity.data.ObjectToInt(0));
|
||||
jm.code = res.status ? 0 : 1;
|
||||
jm.data = res.data;
|
||||
jm.msg = res.status ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 选择导出============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserTocash/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 _coreCmsUserTocashServices.QueryListByClauseAsync(p => entity.id.Contains(p.id),
|
||||
p => p.id, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var row1 = sheet1.CreateRow(0);
|
||||
row1.CreateCell(0).SetCellValue("ID号");
|
||||
row1.CreateCell(1).SetCellValue("用户ID");
|
||||
row1.CreateCell(2).SetCellValue("提现金额");
|
||||
row1.CreateCell(3).SetCellValue("银行名称");
|
||||
row1.CreateCell(4).SetCellValue("银行缩写");
|
||||
row1.CreateCell(5).SetCellValue("账号地区ID");
|
||||
row1.CreateCell(6).SetCellValue("开户行");
|
||||
row1.CreateCell(7).SetCellValue("账户名");
|
||||
row1.CreateCell(8).SetCellValue("卡号");
|
||||
row1.CreateCell(9).SetCellValue("提现服务费");
|
||||
row1.CreateCell(10).SetCellValue("提现状态");
|
||||
row1.CreateCell(11).SetCellValue("创建时间");
|
||||
row1.CreateCell(12).SetCellValue("更新时间");
|
||||
|
||||
//将数据逐步写入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].userId.ToString());
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].money.ToString());
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].bankName);
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].bankCode);
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].bankAreaId.ToString());
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].accountBank);
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].accountName);
|
||||
rowtemp.CreateCell(8).SetCellValue(listmodel[i].cardNumber);
|
||||
rowtemp.CreateCell(9).SetCellValue(listmodel[i].withdrawals.ToString());
|
||||
rowtemp.CreateCell(10).SetCellValue(listmodel[i].status.ToString());
|
||||
rowtemp.CreateCell(11).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(12).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 导出excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsUserTocash导出(选择结果).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/CoreCmsUserTocash/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<CoreCmsUserTocash>();
|
||||
//查询筛选
|
||||
|
||||
//ID号 int
|
||||
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||
if (id > 0) @where = @where.And(p => p.id == id);
|
||||
//用户ID int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0) @where = @where.And(p => p.userId == userId);
|
||||
//银行名称 nvarchar
|
||||
var bankName = Request.Form["bankName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(bankName)) @where = @where.And(p => p.bankName.Contains(bankName));
|
||||
//银行缩写 nvarchar
|
||||
var bankCode = Request.Form["bankCode"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(bankCode)) @where = @where.And(p => p.bankCode.Contains(bankCode));
|
||||
//账号地区ID int
|
||||
var bankAreaId = Request.Form["bankAreaId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (bankAreaId > 0) @where = @where.And(p => p.bankAreaId == bankAreaId);
|
||||
//开户行 nvarchar
|
||||
var accountBank = Request.Form["accountBank"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(accountBank)) @where = @where.And(p => p.accountBank.Contains(accountBank));
|
||||
//账户名 nvarchar
|
||||
var accountName = Request.Form["accountName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(accountName)) @where = @where.And(p => p.accountName.Contains(accountName));
|
||||
//卡号 nvarchar
|
||||
var cardNumber = Request.Form["cardNumber"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(cardNumber)) @where = @where.And(p => p.cardNumber.Contains(cardNumber));
|
||||
//提现状态 int
|
||||
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
|
||||
if (status > 0) @where = @where.And(p => p.status == status);
|
||||
//创建时间 datetime
|
||||
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(createTime))
|
||||
{
|
||||
var dt = createTime.ObjectToDate();
|
||||
where = where.And(p => p.createTime > dt);
|
||||
}
|
||||
|
||||
//更新时间 datetime
|
||||
var updateTime = Request.Form["updateTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(updateTime))
|
||||
{
|
||||
var dt = updateTime.ObjectToDate();
|
||||
where = where.And(p => p.updateTime > dt);
|
||||
}
|
||||
|
||||
//获取数据
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var sheet1 = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listmodel =
|
||||
await _coreCmsUserTocashServices.QueryListByClauseAsync(where, p => p.id, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var row1 = sheet1.CreateRow(0);
|
||||
row1.CreateCell(0).SetCellValue("ID号");
|
||||
row1.CreateCell(1).SetCellValue("用户ID");
|
||||
row1.CreateCell(2).SetCellValue("提现金额");
|
||||
row1.CreateCell(3).SetCellValue("银行名称");
|
||||
row1.CreateCell(4).SetCellValue("银行缩写");
|
||||
row1.CreateCell(5).SetCellValue("账号地区ID");
|
||||
row1.CreateCell(6).SetCellValue("开户行");
|
||||
row1.CreateCell(7).SetCellValue("账户名");
|
||||
row1.CreateCell(8).SetCellValue("卡号");
|
||||
row1.CreateCell(9).SetCellValue("提现服务费");
|
||||
row1.CreateCell(10).SetCellValue("提现状态");
|
||||
row1.CreateCell(11).SetCellValue("创建时间");
|
||||
row1.CreateCell(12).SetCellValue("更新时间");
|
||||
|
||||
//将数据逐步写入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].userId.ToString());
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].money.ToString());
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].bankName);
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].bankCode);
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].bankAreaId.ToString());
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].accountBank);
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].accountName);
|
||||
rowtemp.CreateCell(8).SetCellValue(listmodel[i].cardNumber);
|
||||
rowtemp.CreateCell(9).SetCellValue(listmodel[i].withdrawals.ToString());
|
||||
rowtemp.CreateCell(10).SetCellValue(listmodel[i].status.ToString());
|
||||
rowtemp.CreateCell(11).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(12).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 写入到excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsUserTocash导出(查询结果).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
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,696 @@
|
||||
/***********************************************************************
|
||||
* 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 CoreCmsUserWeChatInfoController : ControllerBase
|
||||
{
|
||||
private readonly ICoreCmsUserWeChatInfoServices _coreCmsUserWeChatInfoServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="webHostEnvironment"></param>
|
||||
/// <param name="coreCmsUserWeChatInfoServices"></param>
|
||||
public CoreCmsUserWeChatInfoController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsUserWeChatInfoServices coreCmsUserWeChatInfoServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsUserWeChatInfoServices = coreCmsUserWeChatInfoServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserWeChatInfo/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<CoreCmsUserWeChatInfo>();
|
||||
//获取排序字段
|
||||
var orderField = Request.Form["orderField"].FirstOrDefault();
|
||||
Expression<Func<CoreCmsUserWeChatInfo, object>> orderEx;
|
||||
switch (orderField)
|
||||
{
|
||||
case "id":
|
||||
orderEx = p => p.id;
|
||||
break;
|
||||
case "type":
|
||||
orderEx = p => p.type;
|
||||
break;
|
||||
case "userId":
|
||||
orderEx = p => p.userId;
|
||||
break;
|
||||
case "openid":
|
||||
orderEx = p => p.openid;
|
||||
break;
|
||||
case "sessionKey":
|
||||
orderEx = p => p.sessionKey;
|
||||
break;
|
||||
case "unionId":
|
||||
orderEx = p => p.unionId;
|
||||
break;
|
||||
case "avatar":
|
||||
orderEx = p => p.avatar;
|
||||
break;
|
||||
case "nickName":
|
||||
orderEx = p => p.nickName;
|
||||
break;
|
||||
case "gender":
|
||||
orderEx = p => p.gender;
|
||||
break;
|
||||
case "language":
|
||||
orderEx = p => p.language;
|
||||
break;
|
||||
case "city":
|
||||
orderEx = p => p.city;
|
||||
break;
|
||||
case "province":
|
||||
orderEx = p => p.province;
|
||||
break;
|
||||
case "country":
|
||||
orderEx = p => p.country;
|
||||
break;
|
||||
case "countryCode":
|
||||
orderEx = p => p.countryCode;
|
||||
break;
|
||||
case "mobile":
|
||||
orderEx = p => p.mobile;
|
||||
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
|
||||
};
|
||||
//查询筛选
|
||||
|
||||
//用户ID int
|
||||
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||
if (id > 0) @where = @where.And(p => p.id == id);
|
||||
//第三方登录类型 int
|
||||
var type = Request.Form["type"].FirstOrDefault().ObjectToInt(0);
|
||||
if (type > 0) @where = @where.And(p => p.type == type);
|
||||
//关联用户表 int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0) @where = @where.And(p => p.userId == userId);
|
||||
//openId nvarchar
|
||||
var openid = Request.Form["openid"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(openid)) @where = @where.And(p => p.openid.Contains(openid));
|
||||
//缓存key nvarchar
|
||||
var sessionKey = Request.Form["sessionKey"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(sessionKey)) @where = @where.And(p => p.sessionKey.Contains(sessionKey));
|
||||
//unionid nvarchar
|
||||
var unionId = Request.Form["unionId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(unionId)) @where = @where.And(p => p.unionId.Contains(unionId));
|
||||
//头像 nvarchar
|
||||
var avatar = Request.Form["avatar"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(avatar)) @where = @where.And(p => p.avatar.Contains(avatar));
|
||||
//昵称 nvarchar
|
||||
var nickName = Request.Form["nickName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(nickName)) @where = @where.And(p => p.nickName.Contains(nickName));
|
||||
//性别 int
|
||||
var gender = Request.Form["gender"].FirstOrDefault().ObjectToInt(0);
|
||||
if (gender > 0) @where = @where.And(p => p.gender == gender);
|
||||
//语言 nvarchar
|
||||
var language = Request.Form["language"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(language)) @where = @where.And(p => p.language.Contains(language));
|
||||
//城市 nvarchar
|
||||
var city = Request.Form["city"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(city)) @where = @where.And(p => p.city.Contains(city));
|
||||
//省 nvarchar
|
||||
var province = Request.Form["province"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(province)) @where = @where.And(p => p.province.Contains(province));
|
||||
//国家 nvarchar
|
||||
var country = Request.Form["country"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(country)) @where = @where.And(p => p.country.Contains(country));
|
||||
//手机号码国家编码 nvarchar
|
||||
var countryCode = Request.Form["countryCode"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(countryCode)) @where = @where.And(p => p.countryCode.Contains(countryCode));
|
||||
//手机号码 nvarchar
|
||||
var mobile = Request.Form["mobile"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(mobile)) @where = @where.And(p => p.mobile.Contains(mobile));
|
||||
//创建时间 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 _coreCmsUserWeChatInfoServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent,
|
||||
pageSize);
|
||||
//返回数据
|
||||
jm.data = list;
|
||||
jm.code = 0;
|
||||
jm.count = list.TotalCount;
|
||||
jm.msg = "数据调用成功!";
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 首页数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserWeChatInfo/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public AdminUiCallBack GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserWeChatInfo/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public AdminUiCallBack GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserWeChatInfo/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] CoreCmsUserWeChatInfo entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var bl = await _coreCmsUserWeChatInfoServices.InsertAsync(entity) > 0;
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserWeChatInfo/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 _coreCmsUserWeChatInfoServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserWeChatInfo/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] CoreCmsUserWeChatInfo entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var oldModel = await _coreCmsUserWeChatInfoServices.QueryByIdAsync(entity.id);
|
||||
if (oldModel == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
//事物处理过程开始
|
||||
oldModel.id = entity.id;
|
||||
oldModel.type = entity.type;
|
||||
oldModel.userId = entity.userId;
|
||||
oldModel.openid = entity.openid;
|
||||
oldModel.sessionKey = entity.sessionKey;
|
||||
oldModel.unionId = entity.unionId;
|
||||
oldModel.avatar = entity.avatar;
|
||||
oldModel.nickName = entity.nickName;
|
||||
oldModel.gender = entity.gender;
|
||||
oldModel.language = entity.language;
|
||||
oldModel.city = entity.city;
|
||||
oldModel.province = entity.province;
|
||||
oldModel.country = entity.country;
|
||||
oldModel.countryCode = entity.countryCode;
|
||||
oldModel.mobile = entity.mobile;
|
||||
oldModel.createTime = entity.createTime;
|
||||
oldModel.updateTime = entity.updateTime;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _coreCmsUserWeChatInfoServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserWeChatInfo/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 _coreCmsUserWeChatInfoServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = GlobalConstVars.DataisNo;
|
||||
return jm;
|
||||
}
|
||||
|
||||
var bl = await _coreCmsUserWeChatInfoServices.DeleteByIdAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
return jm;
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 批量删除============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserWeChatInfo/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 _coreCmsUserWeChatInfoServices.DeleteByIdsAsync(entity.id);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 预览数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserWeChatInfo/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 _coreCmsUserWeChatInfoServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 选择导出============================================================
|
||||
|
||||
// POST: Api/CoreCmsUserWeChatInfo/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 _coreCmsUserWeChatInfoServices.QueryListByClauseAsync(p => entity.id.Contains(p.id),
|
||||
p => p.id, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var row1 = sheet1.CreateRow(0);
|
||||
row1.CreateCell(0).SetCellValue("用户ID");
|
||||
row1.CreateCell(1).SetCellValue("第三方登录类型");
|
||||
row1.CreateCell(2).SetCellValue("关联用户表");
|
||||
row1.CreateCell(3).SetCellValue("openId");
|
||||
row1.CreateCell(4).SetCellValue("缓存key");
|
||||
row1.CreateCell(5).SetCellValue("unionid");
|
||||
row1.CreateCell(6).SetCellValue("头像");
|
||||
row1.CreateCell(7).SetCellValue("昵称");
|
||||
row1.CreateCell(8).SetCellValue("性别");
|
||||
row1.CreateCell(9).SetCellValue("语言");
|
||||
row1.CreateCell(10).SetCellValue("城市");
|
||||
row1.CreateCell(11).SetCellValue("省");
|
||||
row1.CreateCell(12).SetCellValue("国家");
|
||||
row1.CreateCell(13).SetCellValue("手机号码国家编码");
|
||||
row1.CreateCell(14).SetCellValue("手机号码");
|
||||
row1.CreateCell(15).SetCellValue("创建时间");
|
||||
row1.CreateCell(16).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].type.ToString());
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].userId.ToString());
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].openid);
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].sessionKey);
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].unionId);
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].avatar);
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].nickName);
|
||||
rowtemp.CreateCell(8).SetCellValue(listmodel[i].gender.ToString());
|
||||
rowtemp.CreateCell(9).SetCellValue(listmodel[i].language);
|
||||
rowtemp.CreateCell(10).SetCellValue(listmodel[i].city);
|
||||
rowtemp.CreateCell(11).SetCellValue(listmodel[i].province);
|
||||
rowtemp.CreateCell(12).SetCellValue(listmodel[i].country);
|
||||
rowtemp.CreateCell(13).SetCellValue(listmodel[i].countryCode);
|
||||
rowtemp.CreateCell(14).SetCellValue(listmodel[i].mobile);
|
||||
rowtemp.CreateCell(15).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(16).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 导出excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsUserWeChatInfo导出(选择结果).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/CoreCmsUserWeChatInfo/QueryExportExcel/10
|
||||
/// <summary>
|
||||
/// 查询导出
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("查询导出")]
|
||||
public async Task<AdminUiCallBack> QueryExportExcel()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var where = PredicateBuilder.True<CoreCmsUserWeChatInfo>();
|
||||
//查询筛选
|
||||
|
||||
//用户ID int
|
||||
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
|
||||
if (id > 0) @where = @where.And(p => p.id == id);
|
||||
//第三方登录类型 int
|
||||
var type = Request.Form["type"].FirstOrDefault().ObjectToInt(0);
|
||||
if (type > 0) @where = @where.And(p => p.type == type);
|
||||
//关联用户表 int
|
||||
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
|
||||
if (userId > 0) @where = @where.And(p => p.userId == userId);
|
||||
//openId nvarchar
|
||||
var openid = Request.Form["openid"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(openid)) @where = @where.And(p => p.openid.Contains(openid));
|
||||
//缓存key nvarchar
|
||||
var sessionKey = Request.Form["sessionKey"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(sessionKey)) @where = @where.And(p => p.sessionKey.Contains(sessionKey));
|
||||
//unionid nvarchar
|
||||
var unionId = Request.Form["unionId"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(unionId)) @where = @where.And(p => p.unionId.Contains(unionId));
|
||||
//头像 nvarchar
|
||||
var avatar = Request.Form["avatar"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(avatar)) @where = @where.And(p => p.avatar.Contains(avatar));
|
||||
//昵称 nvarchar
|
||||
var nickName = Request.Form["nickName"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(nickName)) @where = @where.And(p => p.nickName.Contains(nickName));
|
||||
//性别 int
|
||||
var gender = Request.Form["gender"].FirstOrDefault().ObjectToInt(0);
|
||||
if (gender > 0) @where = @where.And(p => p.gender == gender);
|
||||
//语言 nvarchar
|
||||
var language = Request.Form["language"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(language)) @where = @where.And(p => p.language.Contains(language));
|
||||
//城市 nvarchar
|
||||
var city = Request.Form["city"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(city)) @where = @where.And(p => p.city.Contains(city));
|
||||
//省 nvarchar
|
||||
var province = Request.Form["province"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(province)) @where = @where.And(p => p.province.Contains(province));
|
||||
//国家 nvarchar
|
||||
var country = Request.Form["country"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(country)) @where = @where.And(p => p.country.Contains(country));
|
||||
//手机号码国家编码 nvarchar
|
||||
var countryCode = Request.Form["countryCode"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(countryCode)) @where = @where.And(p => p.countryCode.Contains(countryCode));
|
||||
//手机号码 nvarchar
|
||||
var mobile = Request.Form["mobile"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(mobile)) @where = @where.And(p => p.mobile.Contains(mobile));
|
||||
//创建时间 datetime
|
||||
var createTime = Request.Form["createTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(createTime))
|
||||
{
|
||||
var dt = createTime.ObjectToDate();
|
||||
where = where.And(p => p.createTime > dt);
|
||||
}
|
||||
|
||||
//更新时间 datetime
|
||||
var updateTime = Request.Form["updateTime"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(updateTime))
|
||||
{
|
||||
var dt = updateTime.ObjectToDate();
|
||||
where = where.And(p => p.updateTime > dt);
|
||||
}
|
||||
|
||||
//获取数据
|
||||
//创建Excel文件的对象
|
||||
var book = new HSSFWorkbook();
|
||||
//添加一个sheet
|
||||
var sheet1 = book.CreateSheet("Sheet1");
|
||||
//获取list数据
|
||||
var listmodel =
|
||||
await _coreCmsUserWeChatInfoServices.QueryListByClauseAsync(where, p => p.id, OrderByType.Asc);
|
||||
//给sheet1添加第一行的头部标题
|
||||
var row1 = sheet1.CreateRow(0);
|
||||
row1.CreateCell(0).SetCellValue("用户ID");
|
||||
row1.CreateCell(1).SetCellValue("第三方登录类型");
|
||||
row1.CreateCell(2).SetCellValue("关联用户表");
|
||||
row1.CreateCell(3).SetCellValue("openId");
|
||||
row1.CreateCell(4).SetCellValue("缓存key");
|
||||
row1.CreateCell(5).SetCellValue("unionid");
|
||||
row1.CreateCell(6).SetCellValue("头像");
|
||||
row1.CreateCell(7).SetCellValue("昵称");
|
||||
row1.CreateCell(8).SetCellValue("性别");
|
||||
row1.CreateCell(9).SetCellValue("语言");
|
||||
row1.CreateCell(10).SetCellValue("城市");
|
||||
row1.CreateCell(11).SetCellValue("省");
|
||||
row1.CreateCell(12).SetCellValue("国家");
|
||||
row1.CreateCell(13).SetCellValue("手机号码国家编码");
|
||||
row1.CreateCell(14).SetCellValue("手机号码");
|
||||
row1.CreateCell(15).SetCellValue("创建时间");
|
||||
row1.CreateCell(16).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].type.ToString());
|
||||
rowtemp.CreateCell(2).SetCellValue(listmodel[i].userId.ToString());
|
||||
rowtemp.CreateCell(3).SetCellValue(listmodel[i].openid);
|
||||
rowtemp.CreateCell(4).SetCellValue(listmodel[i].sessionKey);
|
||||
rowtemp.CreateCell(5).SetCellValue(listmodel[i].unionId);
|
||||
rowtemp.CreateCell(6).SetCellValue(listmodel[i].avatar);
|
||||
rowtemp.CreateCell(7).SetCellValue(listmodel[i].nickName);
|
||||
rowtemp.CreateCell(8).SetCellValue(listmodel[i].gender.ToString());
|
||||
rowtemp.CreateCell(9).SetCellValue(listmodel[i].language);
|
||||
rowtemp.CreateCell(10).SetCellValue(listmodel[i].city);
|
||||
rowtemp.CreateCell(11).SetCellValue(listmodel[i].province);
|
||||
rowtemp.CreateCell(12).SetCellValue(listmodel[i].country);
|
||||
rowtemp.CreateCell(13).SetCellValue(listmodel[i].countryCode);
|
||||
rowtemp.CreateCell(14).SetCellValue(listmodel[i].mobile);
|
||||
rowtemp.CreateCell(15).SetCellValue(listmodel[i].createTime.ToString());
|
||||
rowtemp.CreateCell(16).SetCellValue(listmodel[i].updateTime.ToString());
|
||||
}
|
||||
|
||||
// 写入到excel
|
||||
var webRootPath = _webHostEnvironment.WebRootPath;
|
||||
var tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
||||
var fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsUserWeChatInfo导出(查询结果).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
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
/***********************************************************************
|
||||
* 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.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 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 CoreCmsUserWeChatMsgTemplateController : ControllerBase
|
||||
{
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly ICoreCmsUserWeChatMsgTemplateServices _coreCmsUserWeChatMsgTemplateServices;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
///</summary>
|
||||
public CoreCmsUserWeChatMsgTemplateController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsUserWeChatMsgTemplateServices coreCmsUserWeChatMsgTemplateServices
|
||||
)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsUserWeChatMsgTemplateServices = coreCmsUserWeChatMsgTemplateServices;
|
||||
}
|
||||
|
||||
#region 首页数据============================================================
|
||||
// POST: Api/CoreCmsUserWeChatMsgTemplate/GetIndex
|
||||
/// <summary>
|
||||
/// 首页数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("首页数据")]
|
||||
public async Task<AdminUiCallBack> GetIndex()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var data = await _coreCmsUserWeChatMsgTemplateServices.QueryAsync();
|
||||
|
||||
var order = data.Find(p => p.templateTitle == GlobalEnumVars.WeChatMsgTemplateType.order.ToString());
|
||||
var cancel = data.Find(p => p.templateTitle == GlobalEnumVars.WeChatMsgTemplateType.cancel.ToString());
|
||||
var pay = data.Find(p => p.templateTitle == GlobalEnumVars.WeChatMsgTemplateType.pay.ToString());
|
||||
var ship = data.Find(p => p.templateTitle == GlobalEnumVars.WeChatMsgTemplateType.ship.ToString());
|
||||
var aftersale = data.Find(p => p.templateTitle == GlobalEnumVars.WeChatMsgTemplateType.aftersale.ToString());
|
||||
var refund = data.Find(p => p.templateTitle == GlobalEnumVars.WeChatMsgTemplateType.refund.ToString());
|
||||
|
||||
jm.data = new
|
||||
{
|
||||
order,
|
||||
cancel,
|
||||
pay,
|
||||
ship,
|
||||
aftersale,
|
||||
refund
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
// POST: Api/CoreCmsUserWeChatMsgTemplate/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 _coreCmsUserWeChatMsgTemplateServices.QueryByIdAsync(entity.id);
|
||||
if (model == null)
|
||||
{
|
||||
jm.msg = "不存在此信息";
|
||||
return jm;
|
||||
}
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑提交============================================================
|
||||
// POST: Api/CoreCmsUserWeChatMsgTemplate/Edit
|
||||
/// <summary>
|
||||
/// 编辑提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("编辑提交")]
|
||||
public async Task<AdminUiCallBack> DoEdit([FromBody] FMWeChatMsgTemplateEdit entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
if (entity.list == null || entity.list.Count < 0)
|
||||
{
|
||||
jm.msg = "未传输讯息";
|
||||
return jm;
|
||||
}
|
||||
//事物处理过程开始
|
||||
var data = await _coreCmsUserWeChatMsgTemplateServices.QueryAsync();
|
||||
foreach (var item in data)
|
||||
{
|
||||
var o = entity.list.Find(p => p.templateTitle == item.templateTitle);
|
||||
if (o != null)
|
||||
{
|
||||
item.templateId = o.templateId.Trim();
|
||||
item.data01 = o.data01.Trim();
|
||||
item.data02 = o.data02.Trim();
|
||||
item.data03 = o.data03.Trim();
|
||||
item.data04 = o.data04.Trim();
|
||||
item.data05 = o.data05.Trim();
|
||||
}
|
||||
}
|
||||
|
||||
var bl = await _coreCmsUserWeChatMsgTemplateServices.UpdateAsync(data);
|
||||
jm.code = bl ? 0 : 1;
|
||||
jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
|
||||
jm.otherData = entity;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user