mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2026-03-22 17:37:20 +08:00
【优化】优化后台登录后面板【最近7天订单统计显示效果】。
This commit is contained in:
@@ -83,6 +83,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
private readonly ICoreCmsServicesServices _servicesServices;
|
private readonly ICoreCmsServicesServices _servicesServices;
|
||||||
private readonly ICoreCmsPagesServices _pagesServices;
|
private readonly ICoreCmsPagesServices _pagesServices;
|
||||||
private readonly IToolsServices _toolsServices;
|
private readonly IToolsServices _toolsServices;
|
||||||
|
private readonly ICoreCmsReportsServices _reportsServices;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -109,7 +110,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
, ISysUserRoleServices sysUserRoleServices
|
, ISysUserRoleServices sysUserRoleServices
|
||||||
, ISysOrganizationServices sysOrganizationServices,
|
, ISysOrganizationServices sysOrganizationServices,
|
||||||
ICoreCmsLogisticsServices logisticsServices, ISysLoginRecordServices sysLoginRecordServices, ISysNLogRecordsServices sysNLogRecordsServices, ICoreCmsBillPaymentsServices paymentsServices, ICoreCmsBillDeliveryServices billDeliveryServices, ICoreCmsUserServices userServices, ICoreCmsOrderServices orderServices, ICoreCmsBillAftersalesServices aftersalesServices, ICoreCmsSettingServices settingServices, ICoreCmsProductsServices productsServices, ICoreCmsServicesServices servicesServices, ISysRoleMenuServices sysRoleMenuServices
|
ICoreCmsLogisticsServices logisticsServices, ISysLoginRecordServices sysLoginRecordServices, ISysNLogRecordsServices sysNLogRecordsServices, ICoreCmsBillPaymentsServices paymentsServices, ICoreCmsBillDeliveryServices billDeliveryServices, ICoreCmsUserServices userServices, ICoreCmsOrderServices orderServices, ICoreCmsBillAftersalesServices aftersalesServices, ICoreCmsSettingServices settingServices, ICoreCmsProductsServices productsServices, ICoreCmsServicesServices servicesServices, ISysRoleMenuServices sysRoleMenuServices
|
||||||
, IWeChatApiHttpClientFactory weChatApiHttpClientFactory, ICoreCmsPagesServices pagesServices, IToolsServices toolsServices)
|
, IWeChatApiHttpClientFactory weChatApiHttpClientFactory, ICoreCmsPagesServices pagesServices, IToolsServices toolsServices, ICoreCmsReportsServices reportsServices)
|
||||||
{
|
{
|
||||||
_user = user;
|
_user = user;
|
||||||
_webHostEnvironment = webHostEnvironment;
|
_webHostEnvironment = webHostEnvironment;
|
||||||
@@ -144,6 +145,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
_weChatApiHttpClientFactory = weChatApiHttpClientFactory;
|
_weChatApiHttpClientFactory = weChatApiHttpClientFactory;
|
||||||
_pagesServices = pagesServices;
|
_pagesServices = pagesServices;
|
||||||
_toolsServices = toolsServices;
|
_toolsServices = toolsServices;
|
||||||
|
_reportsServices = reportsServices;
|
||||||
}
|
}
|
||||||
|
|
||||||
#region 获取登录用户用户信息(用于面板展示)====================================================
|
#region 获取登录用户用户信息(用于面板展示)====================================================
|
||||||
@@ -1515,53 +1517,114 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
[Description("获取7天订单情况数据统计")]
|
[Description("获取7天订单情况数据统计")]
|
||||||
public async Task<AdminUiCallBack> GetOrdersStatistics()
|
public Task<AdminUiCallBack> GetOrdersStatistics()
|
||||||
{
|
{
|
||||||
var jm = new AdminUiCallBack();
|
var jm = new AdminUiCallBack();
|
||||||
|
|
||||||
|
var dtEnd = DateTime.Now;
|
||||||
|
var dtStart = dtEnd.AddDays(-7);
|
||||||
|
var dtStr = dtStart.ToString("yyyy-MM-dd") + " 到 " + dtEnd.ToString("yyyy-MM-dd");
|
||||||
|
|
||||||
var data = new List<string>() { "已支付", "已发货" };
|
var dataRes = ReportsHelper.GetDate(dtStr, 2);
|
||||||
var legend = new Legend();
|
if (!dataRes.status)
|
||||||
legend.data = data;
|
|
||||||
|
|
||||||
var paymentsStatistics = await _paymentsServices.Statistics();
|
|
||||||
var billDeliveryStatistics = await _billDeliveryServices.Statistics();
|
|
||||||
|
|
||||||
|
|
||||||
var xAxis = new List<XAxis>();
|
|
||||||
var xItem = new XAxis();
|
|
||||||
xItem.type = "category";
|
|
||||||
xItem.data = paymentsStatistics.Select(p => p.day).ToList();
|
|
||||||
|
|
||||||
for (int i = 0; i < xItem.data.Count; i++)
|
|
||||||
{
|
{
|
||||||
xItem.data[i] = Convert.ToDateTime(xItem.data[i]).ToString("d日");
|
jm.msg = dataRes.msg;
|
||||||
|
return System.Threading.Tasks.Task.FromResult(jm);
|
||||||
}
|
}
|
||||||
xAxis.Add(xItem);
|
|
||||||
|
|
||||||
var series = new List<SeriesDataIntItem>
|
var echartsOption = new EchartsOption();
|
||||||
|
|
||||||
|
echartsOption.title.text = "最近7天订单统计";
|
||||||
|
var legend = new List<string>() { "全部", "待付款", "已付款" };
|
||||||
|
echartsOption.legend.data = legend;
|
||||||
|
|
||||||
|
var getDate = dataRes.data as ReportsBackForGetDate;
|
||||||
|
|
||||||
|
var xData = ReportsHelper.GetXdata(getDate);
|
||||||
|
if (!xData.status)
|
||||||
{
|
{
|
||||||
new SeriesDataIntItem()
|
jm.msg = dataRes.msg;
|
||||||
|
return System.Threading.Tasks.Task.FromResult(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)
|
||||||
{
|
{
|
||||||
name = "已支付", type = "line", data = paymentsStatistics.Select(p => p.nums).ToList()
|
case "全部":
|
||||||
},
|
whereSql = string.Empty;
|
||||||
new SeriesDataIntItem()
|
whereSql += " and createTime > '" + getDate.start.ToString("yyyy-MM-dd HH:mm:ss") + "' ";
|
||||||
{
|
whereSql += " and createTime < '" + getDate.end.ToString("yyyy-MM-dd HH:mm:ss") + "' ";
|
||||||
name = "已发货", type = "line", data = billDeliveryStatistics.Select(p => p.nums).ToList()
|
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.code = 0;
|
||||||
jm.data = new
|
jm.data = new
|
||||||
{
|
{
|
||||||
legend,
|
option = echartsOption,
|
||||||
xAxis,
|
table = tableData
|
||||||
series
|
|
||||||
};
|
};
|
||||||
|
|
||||||
//返回数据
|
return System.Threading.Tasks.Task.FromResult(jm);
|
||||||
jm.msg = "数据调用成功!";
|
|
||||||
return jm;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@@ -673,7 +673,7 @@
|
|||||||
后端常用方法
|
后端常用方法
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:CoreCms.Net.Web.Admin.Controllers.ToolsController.#ctor(CoreCms.Net.Auth.HttpContextUser.IHttpContextUser,Microsoft.AspNetCore.Hosting.IWebHostEnvironment,CoreCms.Net.IServices.ICoreCmsGoodsServices,CoreCms.Net.IServices.ICoreCmsSettingServices,CoreCms.Net.IServices.ICoreCmsArticleServices,CoreCms.Net.IServices.ICoreCmsFormServices,CoreCms.Net.IServices.ICoreCmsArticleTypeServices,CoreCms.Net.IServices.ICoreCmsNoticeServices,CoreCms.Net.IServices.ICoreCmsPinTuanRuleServices,CoreCms.Net.IServices.ICoreCmsPromotionServices,CoreCms.Net.IServices.ICoreCmsAreaServices,CoreCms.Net.IServices.ISysUserServices,CoreCms.Net.IServices.ISysRoleServices,CoreCms.Net.IServices.ISysMenuServices,CoreCms.Net.IServices.ISysUserRoleServices,CoreCms.Net.IServices.ISysOrganizationServices,CoreCms.Net.IServices.ICoreCmsLogisticsServices,CoreCms.Net.IServices.ISysLoginRecordServices,CoreCms.Net.IServices.ISysNLogRecordsServices,CoreCms.Net.IServices.ICoreCmsBillPaymentsServices,CoreCms.Net.IServices.ICoreCmsBillDeliveryServices,CoreCms.Net.IServices.ICoreCmsUserServices,CoreCms.Net.IServices.ICoreCmsOrderServices,CoreCms.Net.IServices.ICoreCmsBillAftersalesServices,CoreCms.Net.IServices.ICoreCmsSettingServices,CoreCms.Net.IServices.ICoreCmsProductsServices,CoreCms.Net.IServices.ICoreCmsServicesServices,CoreCms.Net.IServices.ISysRoleMenuServices,CoreCms.Net.WeChat.Service.HttpClients.IWeChatApiHttpClientFactory,CoreCms.Net.IServices.ICoreCmsPagesServices,CoreCms.Net.IServices.IToolsServices)">
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.ToolsController.#ctor(CoreCms.Net.Auth.HttpContextUser.IHttpContextUser,Microsoft.AspNetCore.Hosting.IWebHostEnvironment,CoreCms.Net.IServices.ICoreCmsGoodsServices,CoreCms.Net.IServices.ICoreCmsSettingServices,CoreCms.Net.IServices.ICoreCmsArticleServices,CoreCms.Net.IServices.ICoreCmsFormServices,CoreCms.Net.IServices.ICoreCmsArticleTypeServices,CoreCms.Net.IServices.ICoreCmsNoticeServices,CoreCms.Net.IServices.ICoreCmsPinTuanRuleServices,CoreCms.Net.IServices.ICoreCmsPromotionServices,CoreCms.Net.IServices.ICoreCmsAreaServices,CoreCms.Net.IServices.ISysUserServices,CoreCms.Net.IServices.ISysRoleServices,CoreCms.Net.IServices.ISysMenuServices,CoreCms.Net.IServices.ISysUserRoleServices,CoreCms.Net.IServices.ISysOrganizationServices,CoreCms.Net.IServices.ICoreCmsLogisticsServices,CoreCms.Net.IServices.ISysLoginRecordServices,CoreCms.Net.IServices.ISysNLogRecordsServices,CoreCms.Net.IServices.ICoreCmsBillPaymentsServices,CoreCms.Net.IServices.ICoreCmsBillDeliveryServices,CoreCms.Net.IServices.ICoreCmsUserServices,CoreCms.Net.IServices.ICoreCmsOrderServices,CoreCms.Net.IServices.ICoreCmsBillAftersalesServices,CoreCms.Net.IServices.ICoreCmsSettingServices,CoreCms.Net.IServices.ICoreCmsProductsServices,CoreCms.Net.IServices.ICoreCmsServicesServices,CoreCms.Net.IServices.ISysRoleMenuServices,CoreCms.Net.WeChat.Service.HttpClients.IWeChatApiHttpClientFactory,CoreCms.Net.IServices.ICoreCmsPagesServices,CoreCms.Net.IServices.IToolsServices,CoreCms.Net.IServices.ICoreCmsReportsServices)">
|
||||||
<summary>
|
<summary>
|
||||||
构造函数
|
构造函数
|
||||||
</summary>
|
</summary>
|
||||||
@@ -926,6 +926,12 @@
|
|||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.ToolsController.New_Temporary_Materials_UploadImg">
|
||||||
|
<summary>
|
||||||
|
(微信小程序)新增临时素材
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="T:CoreCms.Net.Web.Admin.Controllers.CoreCmsDistributionController">
|
<member name="T:CoreCms.Net.Web.Admin.Controllers.CoreCmsDistributionController">
|
||||||
<summary>
|
<summary>
|
||||||
分销商表
|
分销商表
|
||||||
|
|||||||
@@ -120,9 +120,8 @@
|
|||||||
<td>
|
<td>
|
||||||
<script type="text/html" template>
|
<script type="text/html" template>
|
||||||
{{ layui.setter.version }}
|
{{ layui.setter.version }}
|
||||||
<a href="http://www.coreshop.cn/" target="_blank" style="padding-left: 10px;">日志</a>
|
<a href="https://www.coreshop.cn/UpdateLog" target="_blank" style="padding-left: 10px;">更新日志</a>
|
||||||
</script>
|
</script>
|
||||||
<a href="http://www.coreshop.cn/" target="_blank" style="padding-left: 5px;">检查更新</a>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -268,7 +267,7 @@
|
|||||||
, data: data.data
|
, data: data.data
|
||||||
, page: false //开启分页
|
, page: false //开启分页
|
||||||
, cols: [[ //表头
|
, cols: [[ //表头
|
||||||
{ field: 'os', title: '浏览器类型' }
|
{ field: 'os', title: '状态' }
|
||||||
, { field: 'username', title: '登录用户' }
|
, { field: 'username', title: '登录用户' }
|
||||||
, { field: 'createTime', title: '记录时间' }
|
, { field: 'createTime', title: '记录时间' }
|
||||||
, { field: 'ip', title: '登录IP' }
|
, { field: 'ip', title: '登录IP' }
|
||||||
@@ -326,32 +325,15 @@
|
|||||||
|
|
||||||
function ordersEcharts() {
|
function ordersEcharts() {
|
||||||
var myChart = echarts.init(document.getElementById('main'));
|
var myChart = echarts.init(document.getElementById('main'));
|
||||||
var option = {
|
|
||||||
title: {
|
|
||||||
text: '最近7天订单量统计'
|
|
||||||
},
|
|
||||||
tooltip: {
|
|
||||||
show: true
|
|
||||||
},
|
|
||||||
legend: {},
|
|
||||||
yAxis: [{
|
|
||||||
type: 'value'
|
|
||||||
}],
|
|
||||||
xAxis: [],
|
|
||||||
series: []
|
|
||||||
};
|
|
||||||
|
|
||||||
coreHelper.Post("Api/Tools/GetOrdersStatistics",
|
coreHelper.Post("Api/Tools/GetOrdersStatistics",
|
||||||
{}, function (data) {
|
{}, function (data) {
|
||||||
if (data.code == 0) {
|
if (data.code == 0) {
|
||||||
myChart.setOption({
|
//刷新折线图
|
||||||
legend: data.data.legend,
|
option = data.data.option;
|
||||||
xAxis: data.data.xAxis,
|
// 使用刚指定的配置项和数据显示图表。
|
||||||
series: data.data.series
|
myChart.setOption(option);
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
myChart.setOption(option);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function usersEcharts() {
|
function usersEcharts() {
|
||||||
|
|||||||
Reference in New Issue
Block a user