添加项目文件。

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

View File

@@ -0,0 +1,38 @@
/***********************************************************************
* 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.Threading.Tasks;
using CoreCms.Net.Configuration;
using CoreCms.Net.IRepository;
using CoreCms.Net.IRepository.UnitOfWork;
using CoreCms.Net.IServices;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.ViewModels.UI;
namespace CoreCms.Net.Services
{
/// <summary>
/// 发票信息记录 接口实现
/// </summary>
public class CoreCmsInvoiceRecordServices : BaseServices<CoreCmsInvoiceRecord>, ICoreCmsInvoiceRecordServices
{
private readonly ICoreCmsInvoiceRecordRepository _dal;
private readonly IUnitOfWork _unitOfWork;
public CoreCmsInvoiceRecordServices(IUnitOfWork unitOfWork, ICoreCmsInvoiceRecordRepository dal)
{
this._dal = dal;
base.BaseDal = dal;
_unitOfWork = unitOfWork;
}
}
}

View File

@@ -0,0 +1,81 @@
/***********************************************************************
* 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.Linq.Expressions;
using System.Threading.Tasks;
using CoreCms.Net.Configuration;
using CoreCms.Net.IRepository;
using CoreCms.Net.IRepository.UnitOfWork;
using CoreCms.Net.IServices;
using CoreCms.Net.Loging;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.ViewModels.Basics;
using CoreCms.Net.Model.ViewModels.UI;
using SqlSugar;
namespace CoreCms.Net.Services
{
/// <summary>
/// 发票表 接口实现
/// </summary>
public class CoreCmsInvoiceServices : BaseServices<CoreCmsInvoice>, ICoreCmsInvoiceServices
{
private readonly ICoreCmsInvoiceRepository _dal;
private readonly IUnitOfWork _unitOfWork;
public CoreCmsInvoiceServices(IUnitOfWork unitOfWork, ICoreCmsInvoiceRepository dal)
{
this._dal = dal;
base.BaseDal = dal;
_unitOfWork = unitOfWork;
}
/// <summary>
/// 获取订单的发票信息
/// </summary>
/// <param name="orderId">订单字符串编号</param>
/// <returns></returns>
public async Task<WebApiCallBack> GetOrderInvoiceInfo(string orderId)
{
var jm = new WebApiCallBack();
var model = await base.QueryByClauseAsync(p => p.sourceId == orderId && p.category == (int)GlobalEnumVars.OrderTaxCategory.Order);
jm.status = model != null;
jm.data = model;
jm.msg = jm.status ? GlobalConstVars.GetDataSuccess : GlobalConstVars.GetDataFailure;
return jm;
}
#region
/// <summary>
/// 重写根据条件查询分页数据
/// </summary>
/// <param name="predicate">判断集合</param>
/// <param name="orderByType">排序方式</param>
/// <param name="pageIndex">当前页面索引</param>
/// <param name="pageSize">分布大小</param>
/// <param name="orderByExpression"></param>
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
/// <returns></returns>
public new async Task<IPageList<CoreCmsInvoice>> QueryPageAsync(Expression<Func<CoreCmsInvoice, bool>> predicate,
Expression<Func<CoreCmsInvoice, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
int pageSize = 20, bool blUseNoLock = false)
{
return await _dal.QueryPageAsync(predicate, orderByExpression, orderByType, pageIndex, pageSize, blUseNoLock);
}
#endregion
}
}

View File

@@ -0,0 +1,39 @@
/***********************************************************************
* 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.Threading.Tasks;
using CoreCms.Net.Configuration;
using CoreCms.Net.IRepository;
using CoreCms.Net.IRepository.UnitOfWork;
using CoreCms.Net.IServices;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.ViewModels.UI;
namespace CoreCms.Net.Services
{
/// <summary>
/// 支付方式表 接口实现
/// </summary>
public class CoreCmsPaymentsServices : BaseServices<CoreCmsPayments>, ICoreCmsPaymentsServices
{
private readonly ICoreCmsPaymentsRepository _dal;
private readonly IUnitOfWork _unitOfWork;
public CoreCmsPaymentsServices(IUnitOfWork unitOfWork, ICoreCmsPaymentsRepository dal)
{
this._dal = dal;
base.BaseDal = dal;
_unitOfWork = unitOfWork;
}
}
}

View File

@@ -0,0 +1,307 @@
/***********************************************************************
* 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.Threading.Tasks;
using CoreCms.Net.Configuration;
using CoreCms.Net.IRepository;
using CoreCms.Net.IRepository.UnitOfWork;
using CoreCms.Net.IServices;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.ViewModels.Basics;
using CoreCms.Net.Model.ViewModels.Echarts;
using CoreCms.Net.Model.ViewModels.UI;
using SqlSugar;
namespace CoreCms.Net.Services
{
/// <summary>
/// 报表 接口实现
/// </summary>
public class CoreCmsReportsServices : BaseServices<GetOrdersReportsDbSelectOut>, ICoreCmsReportsServices
{
private readonly ICoreCmsReportsRepository _dal;
private readonly IUnitOfWork _unitOfWork;
public CoreCmsReportsServices(IUnitOfWork unitOfWork, ICoreCmsReportsRepository dal)
{
this._dal = dal;
base.BaseDal = dal;
_unitOfWork = unitOfWork;
}
/// <summary>
/// 订单报表
/// </summary>
/// <param name="num">数量</param>
/// <param name="where">查询条件</param>
/// <param name="section">查询值</param>
/// <param name="sTime">开始时间</param>
/// <param name="joinVal">筛选字段createTime/paymentTime </param>
/// <returns></returns>
public List<GetOrdersReportsDbSelectOut> GetOrderMark(int num, string where, int section, DateTime sTime, string joinVal)
{
var sqlStr = string.Empty;
string dbTypeString = AppSettingsConstVars.DbDbType;
if (dbTypeString == DbType.SqlServer.ToString())
{
sqlStr = @"SELECT tmp_x.number ,
ISNULL(SUM(o.orderAmount), 0) AS val ,
COUNT(o.orderId) AS num
FROM ( ( SELECT number
FROM MASTER..spt_values
WHERE TYPE = 'P'
AND number >= 0
AND number <= " + num + @"
) tmp_x
LEFT OUTER JOIN ( SELECT *
FROM CoreCmsOrder
WHERE isdel=0 " + where + @"
) o ON tmp_x.number = DATEDIFF(" + (section == 3600 ? "HOUR" : "DAY") + ", '" + sTime.ToString("yyyy-MM-dd HH:mm:ss") + @"', o." + joinVal + @")
)
GROUP BY tmp_x.number";
}
else if (dbTypeString == DbType.MySql.ToString())
{
sqlStr = @"select tmp_x.x,ifnull(sum(o.orderAmount),0) as val,count(o.orderId) as num
from
(SELECT @xi:=@xi+1 as x from
(SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10) x1,
(SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10) x2,
(SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10) x3,
(SELECT @xi:=-1) x0 limit 0," + num + @") tmp_x
left join (
select * from CoreCmsOrder
where 1 = 1
" + where + @"
) o on tmp_x.x = ((cast(date(o." + joinVal + @") as signed) - " + sTime.ToString("yyyy-MM-dd") + @") div(" + section + @"))
group by tmp_x.x
";
}
var sp = new List<SugarParameter>();
var list = _dal.SqlQuery(sqlStr, sp);
return list;
}
/// <summary>
/// 支付单报表
/// </summary>
/// <param name="num">数量</param>
/// <param name="where">查询条件</param>
/// <param name="section">查询值</param>
/// <param name="sTime">开始时间</param>
/// <param name="joinVal">筛选字段createTime/paymentTime </param>
/// <returns></returns>
public List<GetOrdersReportsDbSelectOut> GetPaymentsMark(int num, string where, int section, DateTime sTime, string joinVal)
{
var sqlStr = string.Empty;
string dbTypeString = AppSettingsConstVars.DbDbType;
if (dbTypeString == DbType.SqlServer.ToString())
{
sqlStr = @"SELECT tmp_x.number ,
ISNULL(SUM(o.money), 0) AS val ,
COUNT(o.paymentId) AS num
FROM ( ( SELECT number
FROM MASTER..spt_values
WHERE TYPE = 'P'
AND number >= 0
AND number <= " + num + @"
) tmp_x
LEFT OUTER JOIN ( SELECT *
FROM CoreCmsBillPayments
WHERE 1=1 " + where + @"
) o ON tmp_x.number = DATEDIFF(" + (section == 3600 ? "HOUR" : "DAY") + ", '" + sTime.ToString("yyyy-MM-dd HH:mm:ss") + @"', o." + joinVal + @")
)
GROUP BY tmp_x.number";
}
else if (dbTypeString == DbType.MySql.ToString())
{
sqlStr = @"select tmp_x.x,ifnull(sum(o.money),0) as val,count(o.paymentId) as num
from
(SELECT @xi:=@xi+1 as x from
(SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10) x1,
(SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10) x2,
(SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10) x3,
(SELECT @xi:=-1) x0 limit 0," + num + @") tmp_x
left join (
select * from CoreCmsBillPayments
where 1 = 1
" + where + @"
) o on tmp_x.x = ((cast(date(o." + joinVal + @") as signed) - " + sTime.ToString("yyyy-MM-dd") + @") div(" + section + @"))
group by tmp_x.x
";
}
var sp = new List<SugarParameter>();
var list = _dal.SqlQuery(sqlStr, sp);
return list;
}
/// <summary>
/// 退款单报表
/// </summary>
/// <param name="num">数量</param>
/// <param name="where">查询条件</param>
/// <param name="section">查询值</param>
/// <param name="sTime">开始时间</param>
/// <param name="joinVal">筛选字段createTime/paymentTime </param>
/// <returns></returns>
public List<GetOrdersReportsDbSelectOut> GetRefundMark(int num, string where, int section, DateTime sTime, string joinVal)
{
var sqlStr = string.Empty;
string dbTypeString = AppSettingsConstVars.DbDbType;
if (dbTypeString == DbType.SqlServer.ToString())
{
sqlStr = @"SELECT tmp_x.number ,
ISNULL(SUM(o.money), 0) AS val ,
COUNT(o.refundId) AS num
FROM ( ( SELECT number
FROM MASTER..spt_values
WHERE TYPE = 'P'
AND number >= 0
AND number <= " + num + @"
) tmp_x
LEFT OUTER JOIN ( SELECT *
FROM CoreCmsBillRefund
WHERE 1=1 " + where + @"
) o ON tmp_x.number = DATEDIFF(" + (section == 3600 ? "HOUR" : "DAY") + ", '" + sTime.ToString("yyyy-MM-dd HH:mm:ss") + @"', o." + joinVal + @")
)
GROUP BY tmp_x.number";
}
else if (dbTypeString == DbType.MySql.ToString())
{
sqlStr = @"select tmp_x.x,ifnull(sum(o.money),0) as val,count(o.refundId) as num
from
(SELECT @xi:=@xi+1 as x from
(SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10) x1,
(SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10) x2,
(SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10) x3,
(SELECT @xi:=-1) x0 limit 0," + num + @") tmp_x
left join(
select* from CoreCmsBillRefund
where 1 = 1
" + where + @"
) o on tmp_x.x = ((cast(date(o." + joinVal + @") as signed) - " + sTime.ToString("yyyy-MM-dd") + @") div(" + section + @"))
group by tmp_x.x
";
}
var sp = new List<SugarParameter>();
var list = _dal.SqlQuery(sqlStr, sp);
return list;
}
/// <summary>
/// 用户提现报表
/// </summary>
/// <param name="num">数量</param>
/// <param name="where">查询条件</param>
/// <param name="section">查询值</param>
/// <param name="sTime">开始时间</param>
/// <param name="joinVal">筛选字段createTime/paymentTime </param>
/// <returns></returns>
public List<GetOrdersReportsDbSelectOut> GetTocashMark(int num, string where, int section, DateTime sTime, string joinVal)
{
var sqlStr = string.Empty;
string dbTypeString = AppSettingsConstVars.DbDbType;
if (dbTypeString == DbType.SqlServer.ToString())
{
sqlStr = @"SELECT tmp_x.number ,
ISNULL(SUM(o.money), 0) AS val ,
COUNT(o.id) AS num
FROM ( ( SELECT number
FROM MASTER..spt_values
WHERE TYPE = 'P'
AND number >= 0
AND number <= " + num + @"
) tmp_x
LEFT OUTER JOIN ( SELECT *
FROM CoreCmsUserTocash
WHERE 1=1 " + where + @"
) o ON tmp_x.number = DATEDIFF(" + (section == 3600 ? "HOUR" : "DAY") + ", '" + sTime.ToString("yyyy-MM-dd HH:mm:ss") + @"', o." + joinVal + @")
)
GROUP BY tmp_x.number";
}
else if (dbTypeString == DbType.MySql.ToString())
{
sqlStr = @"select tmp_x.x,ifnull(sum(o.money),0) as val,count(o.id) as num
from
(SELECT @xi:=@xi+1 as x from
(SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10) x1,
(SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10) x2,
(SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10) x3,
(SELECT @xi:=-1) x0 limit 0," + num + @") tmp_x
left join (
select * from CoreCmsUserTocash
where 1 = 1
" + where + @"
) o on tmp_x.x = ((cast(date(o." + joinVal + @") as signed) - " + sTime.ToString("yyyy-MM-dd") + @") div(" + section + @"))
group by tmp_x.x
";
}
var sp = new List<SugarParameter>();
var list = _dal.SqlQuery(sqlStr, sp);
return list;
}
/// <summary>
/// 获取订单销量查询返回结果
/// </summary>
/// <param name="start"></param>
/// <param name="end"></param>
/// <param name="filter"></param>
/// <param name="filterSed"></param>
/// <param name="thesort"></param>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <returns></returns>
public async Task<IPageList<GoodsSalesVolume>> GetGoodsSalesVolumes(string start, string end, string filter, string filterSed, string thesort, int pageIndex = 1, int pageSize = 5000)
{
return await _dal.GetGoodsSalesVolumes(start, end, filter, filterSed, thesort, pageIndex, pageSize);
}
/// <summary>
/// 获取商品收藏查询返回结果
/// </summary>
/// <param name="start"></param>
/// <param name="end"></param>
/// <param name="thesort"></param>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <returns></returns>
public async Task<IPageList<GoodsCollection>> GetGoodsCollections(string start, string end, string thesort, int pageIndex = 1, int pageSize = 5000)
{
return await _dal.GetGoodsCollections(start, end, thesort, pageIndex, pageSize);
}
}
}