Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mall.oytour.com
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄奎
mall.oytour.com
Commits
1958764d
Commit
1958764d
authored
Jun 10, 2021
by
liudong1993
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
c28354a7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
1262 additions
and
10 deletions
+1262
-10
RB_User_Statistics_Extend.cs
Mall.Model/Extend/User/RB_User_Statistics_Extend.cs
+247
-0
StatisticsModule.cs
Mall.Module.MarketingCenter/StatisticsModule.cs
+908
-10
LiveHouseController.cs
Mall.WebApi/Controllers/AppletWeChat/LiveHouseController.cs
+107
-0
No files found.
Mall.Model/Extend/User/RB_User_Statistics_Extend.cs
View file @
1958764d
...
...
@@ -28,5 +28,252 @@ namespace Mall.Model.Extend.User
/// 日期
/// </summary>
public
string
DateStr
{
get
;
set
;
}
/// <summary>
/// 月份
/// </summary>
public
string
DateMonth
{
get
{
return
this
.
Date
.
ToString
(
"yyyy-MM"
);
}
}
/// <summary>
/// 获取其年份
/// </summary>
public
int
DateYear
{
get
{
return
this
.
Date
.
Year
;
}
}
}
/// <summary>
/// 月度统计
/// </summary>
public
class
User_Statistics_Query
{
/// <summary>
/// 日期(yyyy-MM)
/// </summary>
public
string
Date
{
get
;
set
;
}
/// <summary>
/// 付款人数
/// </summary>
public
int
PeopleNum
{
get
;
set
;
}
/// <summary>
/// 订单数量
/// </summary>
public
int
OrderNum
{
get
;
set
;
}
/// <summary>
/// 付款金额
/// </summary>
public
decimal
PayMoney
{
get
;
set
;
}
/// <summary>
/// 购买数量
/// </summary>
public
int
BuyNum
{
get
;
set
;
}
/// <summary>
/// 累计付款人数
/// </summary>
public
int
TotalPayPeople
{
get
;
set
;
}
/// <summary>
/// 付款人数
/// </summary>
public
decimal
MAvgPeopleNum
{
get
;
set
;
}
/// <summary>
/// 订单数量
/// </summary>
public
decimal
MAvgOrderNum
{
get
;
set
;
}
/// <summary>
/// 付款金额
/// </summary>
public
decimal
MAvgPayMoney
{
get
;
set
;
}
/// <summary>
/// 购买数量
/// </summary>
public
decimal
MAvgBuyNum
{
get
;
set
;
}
/// <summary>
/// 平均每人购买单数
/// </summary>
public
decimal
PAvgOrderNum
{
get
;
set
;
}
/// <summary>
/// 平均每人购买件数
/// </summary>
public
decimal
PAvgBuyNum
{
get
;
set
;
}
/// <summary>
/// 平均每单单价
/// </summary>
public
decimal
PAvgUnitPrice
{
get
;
set
;
}
/// <summary>
/// 平均每人购买单价
/// </summary>
public
decimal
PAvgBuyPrice
{
get
;
set
;
}
/// <summary>
/// 平均会员数量
/// </summary>
public
decimal
PAvgMemberNum
{
get
;
set
;
}
/// <summary>
/// 平均付款累计人数
/// </summary>
public
decimal
PAvgPaymentNum
{
get
;
set
;
}
/// <summary>
/// 平均會員下訂單轉換率
/// </summary>
public
decimal
PAvgMOrderRate
{
get
;
set
;
}
/// <summary>
/// 平均复购人数
/// </summary>
public
decimal
PAvgReBuyNum
{
get
;
set
;
}
/// <summary>
/// 平均复购率
/// </summary>
public
decimal
PAvgReBuyRate
{
get
;
set
;
}
/// <summary>
/// 平均新人下单
/// </summary>
public
decimal
PAvgNewPeopleNum
{
get
;
set
;
}
/// <summary>
/// 平均利润率
/// </summary>
public
decimal
PAvgProfitRate
{
get
;
set
;
}
/// <summary>
/// 今日普象新增
/// </summary>
public
int
PXNum
{
get
;
set
;
}
/// <summary>
/// 今日VIP新增
/// </summary>
public
int
VipNum
{
get
;
set
;
}
/// <summary>
/// 今日银象新增
/// </summary>
public
int
YXNum
{
get
;
set
;
}
/// <summary>
/// 今日金象新增
/// </summary>
public
int
JXNum
{
get
;
set
;
}
/// <summary>
/// 总会员数量
/// </summary>
public
int
TotalMNum
{
get
;
set
;
}
/// <summary>
/// 利润
/// </summary>
public
decimal
Profit
{
get
;
set
;
}
}
/// <summary>
/// 月度概率
/// </summary>
public
class
User_Statistics_Rate_Query
{
/// <summary>
/// 日期(yyyy-MM)
/// </summary>
public
string
Date
{
get
;
set
;
}
/// <summary>
/// 付款人数
/// </summary>
public
decimal
MAvgPeopleNum
{
get
;
set
;
}
/// <summary>
/// 订单数量
/// </summary>
public
decimal
MAvgOrderNum
{
get
;
set
;
}
/// <summary>
/// 付款金额
/// </summary>
public
decimal
MAvgPayMoney
{
get
;
set
;
}
/// <summary>
/// 购买数量
/// </summary>
public
decimal
MAvgBuyNum
{
get
;
set
;
}
/// <summary>
/// 平均每人购买单数
/// </summary>
public
decimal
PAvgOrderNum
{
get
;
set
;
}
/// <summary>
/// 平均每人购买件数
/// </summary>
public
decimal
PAvgBuyNum
{
get
;
set
;
}
/// <summary>
/// 平均每单单价
/// </summary>
public
decimal
PAvgUnitPrice
{
get
;
set
;
}
/// <summary>
/// 平均每人购买单价
/// </summary>
public
decimal
PAvgBuyPrice
{
get
;
set
;
}
/// <summary>
/// 平均會員下訂單轉換率
/// </summary>
public
decimal
PAvgMOrderRate
{
get
;
set
;
}
/// <summary>
/// 平均利润率
/// </summary>
public
decimal
PAvgProfitRate
{
get
;
set
;
}
/// <summary>
/// 今日普象新增
/// </summary>
public
decimal
PAvgPXNum
{
get
;
set
;
}
/// <summary>
/// 今日VIP新增
/// </summary>
public
decimal
PAvgVipNum
{
get
;
set
;
}
/// <summary>
/// 今日银象新增
/// </summary>
public
decimal
PAvgYXNum
{
get
;
set
;
}
/// <summary>
/// 今日金象新增
/// </summary>
public
decimal
PAvgJXNum
{
get
;
set
;
}
/// <summary>
/// 总会员数量
/// </summary>
public
decimal
PAvgTotalMNum
{
get
;
set
;
}
/// <summary>
/// 利润
/// </summary>
public
decimal
PAvgProfit
{
get
;
set
;
}
}
}
Mall.Module.MarketingCenter/StatisticsModule.cs
View file @
1958764d
This diff is collapsed.
Click to expand it.
Mall.WebApi/Controllers/AppletWeChat/LiveHouseController.cs
View file @
1958764d
...
...
@@ -1526,6 +1526,113 @@ namespace Mall.WebApi.Controllers.AppletWeChat
return
ApiResult
.
Success
(
""
,
Robj
);
}
/// <summary>
/// 每月统计导出excel
/// </summary>
/// <param name="requestMsg"></param>
/// <returns></returns>
[
HttpPost
]
[
AllowAnonymous
]
public
FileContentResult
GetDSMoreMonthStatisticsToExcel
(
object
requestMsg
)
{
var
requestParm
=
JsonConvert
.
DeserializeObject
<
RequestParm
>(
requestMsg
.
ToString
());
JObject
parms
=
JObject
.
Parse
(
requestParm
.
msg
.
ToString
());
string
StartTime
=
parms
.
GetStringValue
(
"StartTime"
);
//开始时间 月
string
EndTime
=
parms
.
GetStringValue
(
"EndTime"
);
//结束时间 月
string
ExcelName
=
"电商多月统计"
+
DateTime
.
Now
.
ToString
(
"yyyyMMddHHmmss"
)
+
".xls"
;
List
<
ExcelDataSource
>
slist
=
new
List
<
ExcelDataSource
>();
if
(
string
.
IsNullOrEmpty
(
StartTime
))
{
var
byteData1
=
ExcelTempLateHelper
.
ToExcelExtend
(
slist
);
return
File
(
byteData1
,
"application/octet-stream"
,
ExcelName
);
}
if
(
string
.
IsNullOrEmpty
(
EndTime
))
{
var
byteData1
=
ExcelTempLateHelper
.
ToExcelExtend
(
slist
);
return
File
(
byteData1
,
"application/octet-stream"
,
ExcelName
);
}
try
{
StartTime
=
Convert
.
ToDateTime
(
StartTime
).
ToString
(
"yyyy-MM"
);
EndTime
=
Convert
.
ToDateTime
(
EndTime
).
ToString
(
"yyyy-MM"
);
}
catch
(
Exception
)
{
var
byteData1
=
ExcelTempLateHelper
.
ToExcelExtend
(
slist
);
return
File
(
byteData1
,
"application/octet-stream"
,
ExcelName
);
}
if
(
Convert
.
ToDateTime
(
StartTime
)
>
Convert
.
ToDateTime
(
EndTime
))
{
var
byteData1
=
ExcelTempLateHelper
.
ToExcelExtend
(
slist
);
return
File
(
byteData1
,
"application/octet-stream"
,
ExcelName
);
}
ExcelDataSource
header
=
new
ExcelDataSource
()
{
ExcelRows
=
new
List
<
ExcelColumn
>(
23
)
{
new
ExcelColumn
(
value
:
"月份"
)
{
CellWidth
=
25
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"平均付款人數"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"平均付款單數"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"平均付款金額"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"平均付款件數"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"平均每人購買單數"
)
{
CellWidth
=
20
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"平均每人購買件數"
)
{
CellWidth
=
20
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"平均每單單價"
)
{
CellWidth
=
20
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"平均每人購買單價"
)
{
CellWidth
=
20
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"平均會員累計數"
)
{
CellWidth
=
20
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"平均付款累計人數"
)
{
CellWidth
=
20
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"平均會員下單轉換率"
)
{
CellWidth
=
20
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"平均復夠人數"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"平均復夠率"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"平均新人下單"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"毛利率"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
}
},
ColumnHight
=
30
};
slist
.
Add
(
header
);
try
{
List
<
ExcelDataSource
>
Rlist
=
statisticsModule
.
GetDSMoreMonthStatisticsToExcel
(
StartTime
,
EndTime
,
requestParm
.
TenantId
,
requestParm
.
MallBaseId
);
slist
.
AddRange
(
Rlist
);
var
byteData
=
ExcelTempLateHelper
.
ToExcelExtend
(
slist
);
return
File
(
byteData
,
"application/octet-stream"
,
ExcelName
);
}
catch
(
Exception
ex
)
{
LogHelper
.
Write
(
ex
,
string
.
Format
(
"GetFileFromWebApi_requestData: {0}"
,
JsonHelper
.
Serialize
(
requestMsg
.
ToString
())));
var
byteData1
=
ExcelTempLateHelper
.
ToExcelExtend
(
slist
);
return
File
(
byteData1
,
"application/octet-stream"
,
ExcelName
);
}
}
/// <summary>
/// 年度统计
/// </summary>
/// <param name="requestMsg"></param>
/// <returns></returns>
[
HttpPost
]
[
AllowAnonymous
]
public
ApiResult
GetDSYearStartistics
(
object
requestMsg
)
{
var
requestParm
=
JsonConvert
.
DeserializeObject
<
RequestParm
>(
requestMsg
.
ToString
());
JObject
parms
=
JObject
.
Parse
(
requestParm
.
msg
.
ToString
());
int
StartYear
=
parms
.
GetInt
(
"StartYear"
,
0
);
//开始时间 年
int
EndYear
=
parms
.
GetInt
(
"EndYear"
,
0
);
//结束时间 年
if
(
StartYear
<=
0
||
EndYear
<=
0
)
{
return
ApiResult
.
ParamIsNull
();
}
if
(
StartYear
<
2019
||
StartYear
>
EndYear
)
{
return
ApiResult
.
ParamIsNull
(
"参数有误"
);
}
var
Robj
=
statisticsModule
.
GetDSYearStartistics
(
StartYear
,
EndYear
,
requestParm
.
TenantId
,
requestParm
.
MallBaseId
);
return
ApiResult
.
Success
(
""
,
Robj
);
}
#
endregion
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment