Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
caosy
/
fun-admin
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
a17e96df
authored
Jun 05, 2018
by
chongli
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
球场用户订单列表增加了导出excel功能
parent
17370cd8
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
204 additions
and
10 deletions
src/main/java/com/ctrip/fun/admin/controller/market/UserOrderBehaviourStatisticsController.java
src/main/java/com/ctrip/fun/admin/service/market/CourseUserOrderInfoExcelExportService.java
src/main/resources/config/spring-service.xml
src/main/java/com/ctrip/fun/admin/controller/market/UserOrderBehaviourStatisticsController.java
View file @
a17e96df
...
@@ -2,6 +2,7 @@ package com.ctrip.fun.admin.controller.market;
...
@@ -2,6 +2,7 @@ package com.ctrip.fun.admin.controller.market;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.Calendar
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.ServletOutputStream
;
...
@@ -20,6 +21,7 @@ import com.ctrip.fun.admin.controller.statistics.AbstractStatisticsController;
...
@@ -20,6 +21,7 @@ import com.ctrip.fun.admin.controller.statistics.AbstractStatisticsController;
import
com.ctrip.fun.admin.form.PaginationForm
;
import
com.ctrip.fun.admin.form.PaginationForm
;
import
com.ctrip.fun.admin.form.statistics.StatisticsQueryForm
;
import
com.ctrip.fun.admin.form.statistics.StatisticsQueryForm
;
import
com.ctrip.fun.admin.form.statistics.UserStatisticsQueryForm
;
import
com.ctrip.fun.admin.form.statistics.UserStatisticsQueryForm
;
import
com.ctrip.fun.admin.service.market.CourseUserOrderInfoExcelExportService
;
import
com.ctrip.fun.admin.service.market.UserOrderBehaviourExcelExportService
;
import
com.ctrip.fun.admin.service.market.UserOrderBehaviourExcelExportService
;
import
com.ctrip.fun.admin.service.market.UserOrderBehaviourStatisticsService
;
import
com.ctrip.fun.admin.service.market.UserOrderBehaviourStatisticsService
;
import
com.ctrip.fun.common.core.util.DateUtil
;
import
com.ctrip.fun.common.core.util.DateUtil
;
...
@@ -35,6 +37,9 @@ public class UserOrderBehaviourStatisticsController extends AbstractStatisticsCo
...
@@ -35,6 +37,9 @@ public class UserOrderBehaviourStatisticsController extends AbstractStatisticsCo
@Autowired
@Autowired
private
UserOrderBehaviourExcelExportService
userOrderBehaviourExcelExportService
;
private
UserOrderBehaviourExcelExportService
userOrderBehaviourExcelExportService
;
@Autowired
private
CourseUserOrderInfoExcelExportService
courseUserOrderInfoExcelExportService
;
@RequestMapping
(
value
=
"/listUserCourseOrderBehaviour"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/listUserCourseOrderBehaviour"
,
method
=
RequestMethod
.
GET
)
public
String
listUserCourseOrderBehaviour
(
HttpServletRequest
request
,
@ModelAttribute
(
"dto"
)
UserStatisticsQueryForm
dto
,
ModelMap
model
)
{
public
String
listUserCourseOrderBehaviour
(
HttpServletRequest
request
,
@ModelAttribute
(
"dto"
)
UserStatisticsQueryForm
dto
,
ModelMap
model
)
{
this
.
listUserOrderBehaviour
(
request
,
dto
,
model
);
this
.
listUserOrderBehaviour
(
request
,
dto
,
model
);
...
@@ -52,9 +57,10 @@ public class UserOrderBehaviourStatisticsController extends AbstractStatisticsCo
...
@@ -52,9 +57,10 @@ public class UserOrderBehaviourStatisticsController extends AbstractStatisticsCo
private
void
listUserOrderBehaviour
(
HttpServletRequest
request
,
UserStatisticsQueryForm
dto
,
ModelMap
model
)
{
private
void
listUserOrderBehaviour
(
HttpServletRequest
request
,
UserStatisticsQueryForm
dto
,
ModelMap
model
)
{
UserStatisticsQuery
query
=
new
UserStatisticsQuery
();
UserStatisticsQuery
query
=
new
UserStatisticsQuery
();
if
(
dto
.
getSearchDateStart
()
==
null
)
{
dto
.
setSearchDateStart
(
DateUtil
.
addDateField
(
new
Date
(),
Calendar
.
YEAR
,
-
2
));
}
preHandlerQueryData
(
dto
,
query
);
preHandlerQueryData
(
dto
,
query
);
query
.
setSearchDateStart
(
DateUtil
.
addDateField
(
query
.
getSearchDateEnd
(),
Calendar
.
YEAR
,
-
2
));
dto
.
setSearchDateStart
(
DateUtil
.
addDateField
(
query
.
getSearchDateEnd
(),
Calendar
.
YEAR
,
-
2
));
if
(
dto
.
getStatisticsType
()==
0
){
if
(
dto
.
getStatisticsType
()==
0
){
query
.
setStatisticsType
(
1
);
query
.
setStatisticsType
(
1
);
}
else
{
}
else
{
...
@@ -92,8 +98,10 @@ public class UserOrderBehaviourStatisticsController extends AbstractStatisticsCo
...
@@ -92,8 +98,10 @@ public class UserOrderBehaviourStatisticsController extends AbstractStatisticsCo
@RequestMapping
(
value
=
"/listCourseUserOrderInfo"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/listCourseUserOrderInfo"
,
method
=
RequestMethod
.
GET
)
public
String
listCourseUserOrderInfo
(
HttpServletRequest
request
,
@ModelAttribute
(
"dto"
)
UserStatisticsQueryForm
dto
,
ModelMap
model
)
{
public
String
listCourseUserOrderInfo
(
HttpServletRequest
request
,
@ModelAttribute
(
"dto"
)
UserStatisticsQueryForm
dto
,
ModelMap
model
)
{
UserStatisticsQuery
query
=
new
UserStatisticsQuery
();
UserStatisticsQuery
query
=
new
UserStatisticsQuery
();
if
(
dto
.
getSearchDateStart
()
==
null
)
{
dto
.
setSearchDateStart
(
DateUtil
.
addDateField
(
new
Date
(),
Calendar
.
YEAR
,
-
2
));
}
preHandlerQueryData
(
dto
,
query
);
preHandlerQueryData
(
dto
,
query
);
query
.
setSearchDateStart
(
DateUtil
.
addDateField
(
query
.
getSearchDateEnd
(),
Calendar
.
YEAR
,
-
2
));
if
(
dto
.
getStatisticsType
()==
0
){
if
(
dto
.
getStatisticsType
()==
0
){
query
.
setStatisticsType
(
1
);
query
.
setStatisticsType
(
1
);
}
else
{
}
else
{
...
@@ -123,16 +131,20 @@ public class UserOrderBehaviourStatisticsController extends AbstractStatisticsCo
...
@@ -123,16 +131,20 @@ public class UserOrderBehaviourStatisticsController extends AbstractStatisticsCo
pageCount
=
(
0
==
total
%
pageSize
)
?
(
total
/
pageSize
)
:
(
total
/
pageSize
+
1
);
pageCount
=
(
0
==
total
%
pageSize
)
?
(
total
/
pageSize
)
:
(
total
/
pageSize
+
1
);
model
.
put
(
"list"
,
response
.
getResult
());
model
.
put
(
"list"
,
response
.
getResult
());
model
.
put
(
"paginationData"
,
new
PaginationForm
(
currentPage
,
pageSize
,
pageCount
,
total
));
model
.
put
(
"paginationData"
,
new
PaginationForm
(
currentPage
,
pageSize
,
pageCount
,
total
));
StringBuilder
excel
=
new
StringBuilder
(
"excelExport?searchDateStart="
);
StringBuilder
excel
=
new
StringBuilder
(
"excelExport
CourseUserOrderInfo
?searchDateStart="
);
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
String
searchDateStart
=
(
query
.
getSearchDateStart
()
==
null
)
?
(
""
)
:
(
format
.
format
(
query
.
getSearchDateStart
()));
String
searchDateStart
=
(
query
.
getSearchDateStart
()
==
null
)
?
(
""
)
:
(
format
.
format
(
query
.
getSearchDateStart
()));
String
searchDateEnd
=
(
query
.
getSearchDateEnd
()
==
null
)
?
(
""
)
:
(
format
.
format
(
query
.
getSearchDateEnd
()));
String
searchDateEnd
=
(
query
.
getSearchDateEnd
()
==
null
)
?
(
""
)
:
(
format
.
format
(
query
.
getSearchDateEnd
()));
excel
.
append
(
searchDateStart
);
excel
.
append
(
searchDateStart
);
excel
.
append
(
"&searchDateEnd="
);
excel
.
append
(
"&searchDateEnd="
);
excel
.
append
(
searchDateEnd
);
excel
.
append
(
searchDateEnd
);
excel
.
append
(
"&statisticsType="
);
excel
.
append
(
"&courseName="
);
excel
.
append
(
query
.
getStatisticsType
());
excel
.
append
(
query
.
getCourseName
());
model
.
put
(
"excelpath"
,
""
);
excel
.
append
(
"&mobileNo="
);
excel
.
append
(
query
.
getMobileNo
());
excel
.
append
(
"&dayOfWeek="
);
excel
.
append
(
query
.
getDayOfWeek
());
model
.
put
(
"excelpath"
,
excel
.
toString
());
model
.
put
(
"searchDateStart"
,
searchDateStart
);
model
.
put
(
"searchDateStart"
,
searchDateStart
);
model
.
put
(
"searchDateEnd"
,
searchDateEnd
);
model
.
put
(
"searchDateEnd"
,
searchDateEnd
);
model
.
put
(
"courseName"
,
dto
.
getCourseName
());
model
.
put
(
"courseName"
,
dto
.
getCourseName
());
...
@@ -142,11 +154,46 @@ public class UserOrderBehaviourStatisticsController extends AbstractStatisticsCo
...
@@ -142,11 +154,46 @@ public class UserOrderBehaviourStatisticsController extends AbstractStatisticsCo
}
}
@RequestMapping
(
value
=
"/excelExportCourseUserOrderInfo"
,
method
=
RequestMethod
.
GET
)
public
String
excelExportCourseUserOrderInfo
(
HttpServletRequest
request
,
@ModelAttribute
(
"dto"
)
UserStatisticsQueryForm
dto
,
HttpServletResponse
response
)
{
UserStatisticsQuery
query
=
new
UserStatisticsQuery
();
if
(
dto
.
getSearchDateStart
()
==
null
)
{
dto
.
setSearchDateStart
(
DateUtil
.
addDateField
(
new
Date
(),
Calendar
.
YEAR
,
-
2
));
}
preHandlerQueryData
(
dto
,
query
);
if
(
dto
.
getCourseName
()==
null
){
dto
.
setCourseName
(
""
);
}
if
(
dto
.
getMobileNo
()==
null
){
dto
.
setMobileNo
(
""
);
}
query
.
setCourseName
(
dto
.
getCourseName
());
query
.
setDayOfWeek
(
dto
.
getDayOfWeek
());
query
.
setMobileNo
(
dto
.
getMobileNo
());
query
.
setPagerOffset
(-
1
);
query
.
setPagerPerPage
(-
1
);
courseUserOrderInfoExcelExportService
.
setDayOfWeek
(
dto
.
getDayOfWeek
());
List
<
UserOrderBehaviourStatisticsBean
>
responseBean
=
courseUserOrderInfoExcelExportService
.
list
(
""
,
query
);
response
.
setContentType
(
"application/binary;charset=ISO8859-1"
);
String
filename
=
courseUserOrderInfoExcelExportService
.
createExcelName
(
query
);
try
{
ServletOutputStream
outputStream
=
response
.
getOutputStream
();
filename
=
filename
.
replaceAll
(
"-"
,
""
);
response
.
setHeader
(
"Content-disposition"
,
"attachment;filename="
+
new
String
(
filename
.
getBytes
(
"gb2312"
),
"ISO8859-1"
)
+
".xlsx"
);
courseUserOrderInfoExcelExportService
.
exportExcel
(
filename
,
responseBean
,
outputStream
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
null
;
}
@RequestMapping
(
value
=
"/listValidUserOrder"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/listValidUserOrder"
,
method
=
RequestMethod
.
GET
)
public
String
listValidUserOrder
(
HttpServletRequest
request
,
@ModelAttribute
(
"dto"
)
UserStatisticsQueryForm
dto
,
ModelMap
model
)
{
public
String
listValidUserOrder
(
HttpServletRequest
request
,
@ModelAttribute
(
"dto"
)
UserStatisticsQueryForm
dto
,
ModelMap
model
)
{
UserStatisticsQuery
query
=
new
UserStatisticsQuery
();
UserStatisticsQuery
query
=
new
UserStatisticsQuery
();
preHandlerQueryData
(
dto
,
query
);
preHandlerQueryData
(
dto
,
query
);
query
.
setSearchDateStart
(
DateUtil
.
addDateField
(
query
.
getSearchDateEnd
(),
Calendar
.
YEAR
,
-
2
));
if
(
dto
.
getCourseName
()==
null
){
if
(
dto
.
getCourseName
()==
null
){
dto
.
setCourseName
(
""
);
dto
.
setCourseName
(
""
);
}
}
...
@@ -195,8 +242,10 @@ public class UserOrderBehaviourStatisticsController extends AbstractStatisticsCo
...
@@ -195,8 +242,10 @@ public class UserOrderBehaviourStatisticsController extends AbstractStatisticsCo
@RequestMapping
(
value
=
"/excelExport"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/excelExport"
,
method
=
RequestMethod
.
GET
)
public
String
getExcelExport
(
HttpServletRequest
request
,
@ModelAttribute
(
"dto"
)
UserStatisticsQueryForm
dto
,
HttpServletResponse
response
)
{
public
String
getExcelExport
(
HttpServletRequest
request
,
@ModelAttribute
(
"dto"
)
UserStatisticsQueryForm
dto
,
HttpServletResponse
response
)
{
UserStatisticsQuery
query
=
new
UserStatisticsQuery
();
UserStatisticsQuery
query
=
new
UserStatisticsQuery
();
if
(
dto
.
getSearchDateStart
()
==
null
)
{
dto
.
setSearchDateStart
(
DateUtil
.
addDateField
(
new
Date
(),
Calendar
.
YEAR
,
-
2
));
}
preHandlerQueryData
(
dto
,
query
);
preHandlerQueryData
(
dto
,
query
);
query
.
setSearchDateStart
(
DateUtil
.
addDateField
(
query
.
getSearchDateEnd
(),
Calendar
.
YEAR
,
-
2
));
if
(
dto
.
getStatisticsType
()==
0
){
if
(
dto
.
getStatisticsType
()==
0
){
query
.
setStatisticsType
(
1
);
query
.
setStatisticsType
(
1
);
}
else
{
}
else
{
...
...
src/main/java/com/ctrip/fun/admin/service/market/CourseUserOrderInfoExcelExportService.java
0 → 100644
View file @
a17e96df
package
com
.
ctrip
.
fun
.
admin
.
service
.
market
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.List
;
import
org.apache.poi.xssf.usermodel.XSSFCell
;
import
org.apache.poi.xssf.usermodel.XSSFCellStyle
;
import
org.apache.poi.xssf.usermodel.XSSFRow
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.core.ParameterizedTypeReference
;
import
org.springframework.http.HttpEntity
;
import
org.springframework.http.HttpMethod
;
import
com.ctrip.fun.common.vo.PagedResponseBean
;
import
com.ctrip.fun.common.vo.Request
;
import
com.ctrip.fun.common.vo.Response
;
import
com.ctrip.fun.common.vo.market.UserOrderBehaviourStatisticsBean
;
import
com.ctrip.fun.common.vo.statistics.query.StatisticsQuery
;
import
com.ctrip.fun.common.vo.statistics.query.UserStatisticsQuery
;
public
class
CourseUserOrderInfoExcelExportService
extends
AbstractStatisticsExcelExportService
<
UserStatisticsQuery
,
UserOrderBehaviourStatisticsBean
>
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
CourseUserOrderInfoExcelExportService
.
class
);
private
int
dayOfWeek
=
0
;
@Override
public
String
[]
getRowsName
()
{
String
[]
title
=
null
;
if
(
dayOfWeek
==
0
){
title
=
new
String
[]
{
"球场名称"
,
"用户名"
,
"手机号"
,
"性别"
,
"用户属性"
,
"社员到期时间"
,
"下单次数"
};
}
else
{
title
=
new
String
[]
{
"球场名称"
,
"用户名"
,
"手机号"
,
"性别"
,
"用户属性"
,
"社员到期时间"
,
"DayOfWeek"
,
"下单次数"
};
}
return
title
;
}
@Override
public
void
setCellByListType
(
XSSFRow
row
,
UserOrderBehaviourStatisticsBean
bean
,
Integer
cellNum
,
XSSFCellStyle
bodyCellStyle
)
{
List
<
String
>
valueList
=
new
ArrayList
<
String
>();
valueList
.
add
(
bean
.
getCourseName
());
valueList
.
add
(
bean
.
getUserName
());
valueList
.
add
(
bean
.
getMobileNo
());
valueList
.
add
(
bean
.
getGender
());
valueList
.
add
(
bean
.
getVipGrade
());
valueList
.
add
(
bean
.
getCommuneExpireTimeDesc
());
if
(
dayOfWeek
!=
0
){
switch
(
dayOfWeek
)
{
case
1
:
valueList
.
add
(
"周日"
);
break
;
case
2
:
valueList
.
add
(
"周一"
);
break
;
case
3
:
valueList
.
add
(
"周二"
);
break
;
case
4
:
valueList
.
add
(
"周三"
);
break
;
case
5
:
valueList
.
add
(
"周四"
);
break
;
case
6
:
valueList
.
add
(
"周五"
);
break
;
case
7
:
valueList
.
add
(
"周六"
);
break
;
default
:
valueList
.
add
(
""
);
}
}
valueList
.
add
(
bean
.
getPalceOrderTimes
()+
""
);
for
(
int
i
=
0
;
i
<
cellNum
;
i
++)
{
XSSFCell
cell
=
row
.
createCell
(
i
);
cell
.
setCellStyle
(
bodyCellStyle
);
if
(
valueList
.
get
(
i
)
==
null
)
{
cell
.
setCellValue
(
""
);
}
else
{
cell
.
setCellValue
(
valueList
.
get
(
i
));
}
}
}
public
List
<
UserOrderBehaviourStatisticsBean
>
list
(
String
userId
,
StatisticsQuery
query
)
{
String
uri
=
super
.
getServiceUri
(
"uri.userOrderBehaviour.listCourseUserOrderInfo"
);
UserStatisticsQuery
sub_query
=
(
UserStatisticsQuery
)
query
;
PagedResponseBean
<
UserOrderBehaviourStatisticsBean
>
responseBean
=
new
PagedResponseBean
<
UserOrderBehaviourStatisticsBean
>(
0
,
new
ArrayList
<
UserOrderBehaviourStatisticsBean
>());
HttpEntity
<
Request
<
UserStatisticsQuery
>>
entity
=
new
HttpEntity
<
Request
<
UserStatisticsQuery
>>(
new
Request
<
UserStatisticsQuery
>(
userId
,
sub_query
));
Response
<
PagedResponseBean
<
UserOrderBehaviourStatisticsBean
>>
response
=
super
.
exchange
(
uri
,
HttpMethod
.
POST
,
entity
,
new
ParameterizedTypeReference
<
Response
<
PagedResponseBean
<
UserOrderBehaviourStatisticsBean
>>>()
{
}).
getBody
();
if
(
response
.
getStatus
()
==
0
)
{
responseBean
=
response
.
getBody
();
}
else
{
logger
.
error
(
"[查询用户下单行为] status: {}, msg: {}"
,
response
.
getStatus
(),
response
.
getMessage
());
}
return
(
List
<
UserOrderBehaviourStatisticsBean
>)
responseBean
.
getResult
();
}
@Override
public
String
createExcelName
(
UserStatisticsQuery
form
)
{
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
String
filename
=
format
.
format
(
form
.
getSearchDateStart
())+
"_"
+
format
.
format
(
form
.
getSearchDateEnd
());
filename
+=
form
.
getCourseName
();
switch
(
form
.
getDayOfWeek
())
{
case
1
:
filename
+=
"周日下单用户"
;
break
;
case
2
:
filename
+=
"周一下单用户"
;
break
;
case
3
:
filename
+=
"周二下单用户"
;
break
;
case
4
:
filename
+=
"周三下单用户"
;
break
;
case
5
:
filename
+=
"周四下单用户"
;
break
;
case
6
:
filename
+=
"周五下单用户"
;
break
;
case
7
:
filename
+=
"周六下单用户"
;
break
;
default
:
filename
+=
"下单用户"
;
break
;
}
return
filename
;
}
public
void
setDayOfWeek
(
int
dayOfWeek
)
{
this
.
dayOfWeek
=
dayOfWeek
;
}
}
src/main/resources/config/spring-service.xml
View file @
a17e96df
...
@@ -220,7 +220,9 @@
...
@@ -220,7 +220,9 @@
<bean
name=
"userOrderBehaviourExcelExportService"
<bean
name=
"userOrderBehaviourExcelExportService"
class=
"com.ctrip.fun.admin.service.market.UserOrderBehaviourExcelExportService"
class=
"com.ctrip.fun.admin.service.market.UserOrderBehaviourExcelExportService"
parent=
"abstractStatisticsService"
/>
parent=
"abstractStatisticsService"
/>
<bean
name=
"courseUserOrderInfoExcelExportService"
class=
"com.ctrip.fun.admin.service.market.CourseUserOrderInfoExcelExportService"
parent=
"abstractStatisticsService"
/>
<bean
name=
"courseUserStatisticsService"
<bean
name=
"courseUserStatisticsService"
class=
"com.ctrip.fun.admin.service.statistics.course.CourseUserStatisticsService"
class=
"com.ctrip.fun.admin.service.statistics.course.CourseUserStatisticsService"
parent=
"abstractStatisticsService"
/>
parent=
"abstractStatisticsService"
/>
...
...
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