记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
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
董敬伟
liquidnet-bus-v1
Commits
783373a4
Commit
783373a4
authored
Jul 09, 2026
by
姜秀龙
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'refs/heads/jxl-admin-caiwu' into test-ecs
parents
e0f82eca
8472f6b2
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
544 additions
and
176 deletions
+544
-176
ExportDataController.java
...n/web/controller/zhengzai/tools/ExportDataController.java
+55
-45
export.html
...c/main/resources/templates/zhengzai/financial/export.html
+338
-112
GoblinCommonServiceImpl.java
...zhengzai/goblin/service/impl/GoblinCommonServiceImpl.java
+8
-3
OrderCommodityExportVo.java
...ient/admin/zhengzai/kylin/dto/OrderCommodityExportVo.java
+3
-0
IExportService.java
...t/client/admin/zhengzai/kylin/service/IExportService.java
+4
-1
ExportServiceImpl.java
.../admin/zhengzai/kylin/service/impl/ExportServiceImpl.java
+32
-5
CommodityOrderExportDao.java
.../liquidnet/service/kylin/dao/CommodityOrderExportDao.java
+2
-0
KylinPerformancesMapper.java
...quidnet/service/kylin/mapper/KylinPerformancesMapper.java
+7
-1
KylinPerformancesMapper.xml
...iquidnet.service.kylin.mapper/KylinPerformancesMapper.xml
+95
-9
No files found.
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/java/com/liquidnet/client/admin/web/controller/zhengzai/tools/ExportDataController.java
View file @
783373a4
...
...
@@ -3,8 +3,10 @@ package com.liquidnet.client.admin.web.controller.zhengzai.tools;
import
com.liquidnet.client.admin.common.core.controller.BaseController
;
import
com.liquidnet.client.admin.common.core.domain.AjaxResult
;
import
com.liquidnet.client.admin.common.utils.poi.ExcelUtil
;
import
com.liquidnet.client.admin.zhengzai.goblin.service.IGoblinCommonService
;
import
com.liquidnet.client.admin.zhengzai.kylin.dto.*
;
import
com.liquidnet.client.admin.zhengzai.kylin.service.IExportService
;
import
com.liquidnet.service.goblin.dto.GoblinStoreSearchDto
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
...
...
@@ -13,7 +15,8 @@ import org.springframework.web.bind.annotation.PostMapping;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
java.util.*
;
import
java.util.Arrays
;
import
java.util.List
;
@Controller
@RequestMapping
(
"tools/export"
)
...
...
@@ -22,6 +25,9 @@ public class ExportDataController extends BaseController {
@Autowired
private
IExportService
exportService
;
@Autowired
private
IGoblinCommonService
goblinCommonService
;
private
String
prefix
=
"zhengzai/financial"
;
...
...
@@ -31,53 +37,50 @@ public class ExportDataController extends BaseController {
}
/**
* 导出订单明细
*
* @param exportType
* @param beginTime
* @param endTime
* @param showId
* @return
* 店铺搜索(财务导出用)
*/
@GetMapping
(
"/store/list"
)
@ResponseBody
public
AjaxResult
storeList
(
String
storeName
)
{
List
<
String
>
status
=
Arrays
.
asList
(
"3"
,
"4"
,
"5"
);
List
<
GoblinStoreSearchDto
>
list
=
goblinCommonService
.
storeSearch
(
storeName
,
status
);
return
AjaxResult
.
success
(
list
);
}
/**
* 导出演出订单
* 演出id / 下单时间 / 演出开始时间 填了的条件全部 AND
*/
@PostMapping
(
"/export/orderInfo"
)
@ResponseBody
public
AjaxResult
exportOrderInfo
(
Integer
exportType
,
String
beginTime
,
String
endTime
,
String
showId
)
{
if
(
null
==
exportType
)
{
return
error
(
"导出类型有误!"
);
public
AjaxResult
exportOrderInfo
(
String
beginTime
,
String
endTime
,
String
showBeginTime
,
String
showEndTime
,
String
showId
)
{
boolean
hasShowId
=
StringUtils
.
isNotBlank
(
showId
);
boolean
hasOrderTime
=
timeIsNotNull
(
beginTime
,
endTime
);
boolean
hasShowTime
=
timeIsNotNull
(
showBeginTime
,
showEndTime
);
if
(!
hasShowId
&&
!
hasOrderTime
&&
!
hasShowTime
)
{
return
error
(
"请至少填写演出id、下单时间、演出开始时间其中一个条件!"
);
}
if
(
hasHalfTime
(
beginTime
,
endTime
))
{
return
error
(
"下单时间请填写完整的开始和结束时间!"
);
}
if
(
exportType
==
1
)
{
//按订单时间导出信息
if
(!
timeIsNotNull
(
beginTime
,
endTime
))
{
return
error
(
"按时间类型导出,开始时间和结束时间不能为空!"
);
}
List
<
OrderDetailedExportVo
>
list
=
exportService
.
exportOrderByOrderTime
(
beginTime
,
endTime
);
if
(
list
.
size
()
>
0
)
{
ExcelUtil
<
OrderDetailedExportVo
>
util
=
new
ExcelUtil
(
OrderDetailedExportVo
.
class
);
return
util
.
exportExcel
(
list
,
exportType
+
""
);
}
}
else
if
(
exportType
==
2
)
{
//按演出时间导出信息
if
(!
timeIsNotNull
(
beginTime
,
endTime
))
{
return
error
(
"按时间类型导出,开始时间和结束时间不能为空!"
);
}
List
<
OrderDetailedByShowDateExportVo
>
byShowTimeList
=
exportService
.
exportOrderByShowTime
(
beginTime
,
endTime
);
if
(
byShowTimeList
.
size
()
>
0
)
{
ExcelUtil
<
OrderDetailedByShowDateExportVo
>
util
=
new
ExcelUtil
(
OrderDetailedByShowDateExportVo
.
class
);
return
util
.
exportExcel
(
byShowTimeList
,
exportType
+
""
);
}
}
else
if
(
exportType
==
3
)
{
//按id导出信息
if
(!
StringUtils
.
isNotBlank
(
showId
))
{
return
error
(
"演出id不能为空!"
);
}
List
<
OrderDetailedByShowIdExportVo
>
byShowIdList
=
exportService
.
exportOrderByShowId
(
showId
);
if
(
byShowIdList
.
size
()
>
0
)
{
ExcelUtil
<
OrderDetailedByShowIdExportVo
>
util
=
new
ExcelUtil
(
OrderDetailedByShowIdExportVo
.
class
);
return
util
.
exportExcel
(
byShowIdList
,
exportType
+
""
);
}
if
(
hasHalfTime
(
showBeginTime
,
showEndTime
))
{
return
error
(
"演出开始时间请填写完整的开始和结束时间!"
);
}
List
<
OrderDetailedExportVo
>
list
=
exportService
.
exportShowOrder
(
showId
,
beginTime
,
endTime
,
showBeginTime
,
showEndTime
);
if
(
list
.
size
()
==
0
)
{
return
error
(
"查无信息!"
);
}
return
error
(
"查无信息!"
);
ExcelUtil
<
OrderDetailedExportVo
>
util
=
new
ExcelUtil
(
OrderDetailedExportVo
.
class
);
return
util
.
exportExcel
(
list
,
"演出订单"
);
}
private
boolean
timeIsNotNull
(
String
beginTime
,
String
endTime
)
{
return
StringUtils
.
isNotBlank
(
beginTime
)
&&
StringUtils
.
isNotBlank
(
endTime
)
?
true
:
false
;
return
StringUtils
.
isNotBlank
(
beginTime
)
&&
StringUtils
.
isNotBlank
(
endTime
);
}
private
boolean
hasHalfTime
(
String
beginTime
,
String
endTime
)
{
return
(
StringUtils
.
isNotBlank
(
beginTime
)
&&
StringUtils
.
isBlank
(
endTime
))
||
(
StringUtils
.
isBlank
(
beginTime
)
&&
StringUtils
.
isNotBlank
(
endTime
));
}
...
...
@@ -92,7 +95,7 @@ public class ExportDataController extends BaseController {
@ResponseBody
public
AjaxResult
exportMemberOrder
(
String
beginTime
,
String
endTime
)
{
if
(!
timeIsNotNull
(
beginTime
,
endTime
))
{
return
error
(
"
开始时间和结束时间不能为空
!"
);
return
error
(
"
请填写下单时间范围
!"
);
}
List
<
OrderMemberExportVo
>
list
=
exportService
.
exportMemberOrder
(
beginTime
,
endTime
);
if
(
list
.
size
()
==
0
)
{
...
...
@@ -104,18 +107,25 @@ public class ExportDataController extends BaseController {
/**
* 导出商品订单
* 店铺 / 下单时间 填了的条件全部 AND
*
* @param beginTime
* @param endTime
* @param storeId
* @return
*/
@PostMapping
(
"/export/commodityOrder"
)
@ResponseBody
public
AjaxResult
exportCommodityOrder
(
String
beginTime
,
String
endTime
)
{
if
(!
timeIsNotNull
(
beginTime
,
endTime
))
{
return
error
(
"开始时间和结束时间不能为空!"
);
public
AjaxResult
exportCommodityOrder
(
String
beginTime
,
String
endTime
,
String
storeId
)
{
boolean
hasStoreId
=
StringUtils
.
isNotBlank
(
storeId
);
boolean
hasOrderTime
=
timeIsNotNull
(
beginTime
,
endTime
);
if
(!
hasStoreId
&&
!
hasOrderTime
)
{
return
error
(
"请至少填写店铺或下单时间其中一个条件!"
);
}
if
(
hasHalfTime
(
beginTime
,
endTime
))
{
return
error
(
"下单时间请填写完整的开始和结束时间!"
);
}
List
<
OrderCommodityExportVo
>
list
=
exportService
.
exportCommodityOrder
(
beginTime
,
endTime
);
List
<
OrderCommodityExportVo
>
list
=
exportService
.
exportCommodityOrder
(
beginTime
,
endTime
,
storeId
);
if
(
list
.
size
()
==
0
)
{
return
error
(
"查无信息"
);
}
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/templates/zhengzai/financial/export.html
View file @
783373a4
...
...
@@ -6,52 +6,222 @@
<th:block
th:include=
"include :: datetimepicker-css"
/>
</head>
<style>
t
d
{
horiz-align
:
center
;
text-align
:
left
;
padding
:
10px
;
.export-card-gri
d
{
display
:
flex
;
flex-wrap
:
wrap
;
margin
:
0
-
10px
;
}
.export-card-col
{
width
:
33.33%
;
padding
:
0
10px
;
margin-bottom
:
20px
;
box-sizing
:
border-box
;
}
@media
(
max-width
:
1200px
)
{
.export-card-col
{
width
:
50%
;
}
}
@media
(
max-width
:
768px
)
{
.export-card-col
{
width
:
100%
;
}
}
.export-card
{
background
:
#fff
;
border
:
1px
solid
#e7eaec
;
border-radius
:
6px
;
height
:
100%
;
display
:
flex
;
flex-direction
:
column
;
box-shadow
:
0
1px
3px
rgba
(
0
,
0
,
0
,
0.06
);
transition
:
box-shadow
.2s
;
overflow
:
visible
;
position
:
relative
;
}
.export-card
:hover
{
box-shadow
:
0
4px
12px
rgba
(
0
,
0
,
0
,
0.1
);
}
.export-card-header
{
padding
:
18px
20px
14px
;
border-bottom
:
1px
solid
#f0f0f0
;
text-align
:
center
;
}
.export-card-icon
{
width
:
48px
;
height
:
48px
;
line-height
:
48px
;
border-radius
:
10px
;
margin
:
0
auto
10px
;
font-size
:
22px
;
color
:
#fff
;
}
.export-card-icon.show
{
background
:
linear-gradient
(
135deg
,
#1ab394
,
#18a689
);
}
.export-card-icon.commodity
{
background
:
linear-gradient
(
135deg
,
#f8ac59
,
#f59e42
);
}
.export-card-icon.member
{
background
:
linear-gradient
(
135deg
,
#1c84c6
,
#1a7bb9
);
}
.export-card-header
h4
{
margin
:
0
;
font-size
:
16px
;
font-weight
:
600
;
color
:
#333
;
}
.export-card-body
{
padding
:
20px
;
flex
:
1
;
overflow
:
visible
;
position
:
relative
;
}
.export-card-body
.form-group
{
margin-bottom
:
14px
;
}
.export-card-body
.form-group
label
{
display
:
block
;
margin-bottom
:
6px
;
color
:
#666
;
font-weight
:
normal
;
}
.export-card-body
.form-control
{
width
:
100%
;
}
.time-range-row
{
display
:
flex
;
align-items
:
center
;
gap
:
8px
;
}
.time-range-row
.form-control
{
flex
:
1
;
min-width
:
0
;
}
.time-range-row
.time-separator
{
color
:
#999
;
flex-shrink
:
0
;
}
.export-card-footer
{
padding
:
0
20px
20px
;
text-align
:
center
;
}
.export-card-footer
.btn
{
min-width
:
120px
;
}
</style>
<body
class=
"white-bg"
>
<div
class=
"wrapper wrapper-content animated fadeInRight ibox-content"
>
<div
class=
"col-sm-12 search-collapse"
>
<form
id=
"formId"
>
<div
class=
"select-list"
>
<ul>
<li>
<label>
搜索类型:
</label>
<select
id=
"type"
name=
"type"
>
<option
value=
"0"
>
请选择
</option>
<option
value=
"1"
>
商品[订单时间]
</option>
<option
value=
"2"
>
演出[订单时间]
</option>
<option
value=
"3"
>
演出[演出id]
</option>
<option
value=
"4"
>
演出[演出时间]
</option>
<option
value=
"5"
>
会员[订单时间]
</option>
<body
class=
"gray-bg"
>
<div
class=
"wrapper wrapper-content animated fadeInRight"
>
<div
class=
"export-card-grid"
>
<div
class=
"export-card-col"
>
<div
class=
"export-card"
>
<div
class=
"export-card-header"
>
<div
class=
"export-card-icon show"
><i
class=
"fa fa-ticket"
></i></div>
<h4>
演出订单
</h4>
</div>
<div
class=
"export-card-body"
>
<div
class=
"form-group"
>
<label>
演出id
</label>
<input
id=
"showPerformanceId"
type=
"text"
class=
"form-control"
placeholder=
"按演出id导出时填写"
/>
</div>
<div
class=
"form-group"
>
<label>
下单时间
</label>
<div
class=
"time-range-row"
>
<input
type=
"text"
class=
"form-control show-order-start"
placeholder=
"选日期,默认 00:00:00"
/>
<span
class=
"time-separator"
>
-
</span>
<input
type=
"text"
class=
"form-control show-order-end"
placeholder=
"选日期,默认 23:59:59"
/>
</div>
</div>
<div
class=
"form-group"
>
<label>
演出开始时间
</label>
<div
class=
"time-range-row"
>
<input
type=
"text"
class=
"form-control show-time-start"
placeholder=
"选日期,默认 00:00:00"
/>
<span
class=
"time-separator"
>
-
</span>
<input
type=
"text"
class=
"form-control show-time-end"
placeholder=
"选日期,默认 23:59:59"
/>
</div>
</div>
</div>
<div
class=
"export-card-footer"
>
<a
class=
"btn btn-primary btn-rounded"
onclick=
"exportShowOrder()"
>
<i
class=
"fa fa-download"
></i>
导出
</a>
</div>
</div>
</div>
<div
class=
"export-card-col"
>
<div
class=
"export-card"
>
<div
class=
"export-card-header"
>
<div
class=
"export-card-icon commodity"
><i
class=
"fa fa-shopping-bag"
></i></div>
<h4>
商品订单
</h4>
</div>
<div
class=
"export-card-body"
>
<div
class=
"form-group"
>
<label>
店铺
</label>
<select
id=
"commodityStoreSelect"
class=
"form-control"
>
<option
value=
""
>
全部
</option>
</select>
</li>
<li>
<label>
演出id:
</label>
<input
id=
"performanceId"
type=
"text"
name=
"performanceId"
/>
</li>
<li>
<div
class=
"form-group"
>
<label>
时间范围:
</label>
<input
type=
"text"
style=
"width: 200px;float: left"
class=
"form-control"
id=
"startTime"
placeholder=
"开始时间选择"
name=
"timeStart"
/>
<span
class=
"control-label"
style=
"float: left;margin-left: 10px;margin-right: 10px"
>
-
</span>
<input
type=
"text"
style=
"width: 200px;float: left"
class=
"form-control"
id=
"endTime"
placeholder=
"结束时间选择"
name=
"timeEnd"
/>
</div>
<div
class=
"form-group"
>
<label>
下单时间
</label>
<div
class=
"time-range-row"
>
<input
type=
"text"
class=
"form-control commodity-order-start"
placeholder=
"选日期,默认 00:00:00"
/>
<span
class=
"time-separator"
>
-
</span>
<input
type=
"text"
class=
"form-control commodity-order-end"
placeholder=
"选日期,默认 23:59:59"
/>
</div>
</li>
<li>
<a
class=
"btn btn-primary btn-rounded btn-sm"
onclick=
"searchExport()"
><i
class=
"fa fa-search"
></i>
导出
</a>
</li>
</ul>
</div>
</div>
<div
class=
"export-card-footer"
>
<a
class=
"btn btn-warning btn-rounded"
onclick=
"exportCommodityOrder()"
>
<i
class=
"fa fa-download"
></i>
导出
</a>
</div>
</div>
</form>
</div>
<div
class=
"export-card-col"
>
<div
class=
"export-card"
>
<div
class=
"export-card-header"
>
<div
class=
"export-card-icon member"
><i
class=
"fa fa-user"
></i></div>
<h4>
会员订单
</h4>
</div>
<div
class=
"export-card-body"
>
<div
class=
"form-group"
>
<label>
下单时间
</label>
<div
class=
"time-range-row"
>
<input
type=
"text"
class=
"form-control member-order-start"
placeholder=
"选日期,默认 00:00:00"
/>
<span
class=
"time-separator"
>
-
</span>
<input
type=
"text"
class=
"form-control member-order-end"
placeholder=
"选日期,默认 23:59:59"
/>
</div>
</div>
</div>
<div
class=
"export-card-footer"
>
<a
class=
"btn btn-info btn-rounded"
onclick=
"exportMemberOrder()"
>
<i
class=
"fa fa-download"
></i>
导出
</a>
</div>
</div>
</div>
</div>
</div>
<th:block
th:include=
"include :: footer"
/>
...
...
@@ -59,85 +229,141 @@
<script
th:inline=
"javascript"
>
var
prefix
=
ctx
+
"tools/export"
;
var
url
=
prefix
;
var
formData
=
new
FormData
();
$
(
"input[name='timeStart']"
).
datetimepicker
({
format
:
"yyyy-mm-dd hh:ii:ss"
,
autoclose
:
true
});
function
formatDatePart
(
date
)
{
var
pad
=
function
(
n
)
{
return
n
<
10
?
'0'
+
n
:
''
+
n
;
};
return
date
.
getFullYear
()
+
'-'
+
pad
(
date
.
getMonth
()
+
1
)
+
'-'
+
pad
(
date
.
getDate
());
}
$
(
"input[name='timeEnd']"
).
datetimepicker
({
format
:
"yyyy-mm-dd hh:ii:ss"
,
autoclose
:
true
});
function
initStartDatetimePicker
(
selector
)
{
$
(
selector
).
each
(
function
()
{
var
$el
=
$
(
this
);
$el
.
datetimepicker
({
format
:
"yyyy-mm-dd"
,
minView
:
"month"
,
autoclose
:
true
,
todayBtn
:
true
,
forceParse
:
false
}).
on
(
'changeDate'
,
function
(
e
)
{
if
(
!
e
.
date
)
{
return
;
}
$el
.
val
(
formatDatePart
(
e
.
date
)
+
' 00:00:00'
);
});
});
}
function
initEndDatetimePicker
(
selector
)
{
$
(
selector
).
each
(
function
()
{
var
$el
=
$
(
this
);
$el
.
datetimepicker
({
format
:
"yyyy-mm-dd"
,
minView
:
"month"
,
autoclose
:
true
,
todayBtn
:
true
,
forceParse
:
false
}).
on
(
'changeDate'
,
function
(
e
)
{
if
(
!
e
.
date
)
{
return
;
}
$el
.
val
(
formatDatePart
(
e
.
date
)
+
' 23:59:59'
);
});
});
}
function
initStoreSelect
()
{
$
.
get
(
prefix
+
'/store/list'
,
function
(
json
)
{
var
list
=
(
json
&&
json
.
code
==
0
&&
json
.
data
)
?
json
.
data
:
[];
var
$select
=
$
(
'#commodityStoreSelect'
);
$
.
each
(
list
,
function
(
i
,
item
)
{
if
(
item
.
storeId
&&
item
.
storeName
)
{
$select
.
append
(
$
(
'<option></option>'
).
attr
(
'value'
,
item
.
storeId
).
text
(
item
.
storeName
));
}
});
});
}
function
doExport
(
url
,
param
,
modalName
)
{
var
options
=
{
modalName
:
modalName
,
exportUrl
:
url
};
$
.
table
.
init
(
options
);
$
.
table
.
exportExcel
(
""
,
param
);
}
function
exportShowOrder
()
{
var
showId
=
$
(
"#showPerformanceId"
).
val
();
var
orderStart
=
$
(
".show-order-start"
).
val
();
var
orderEnd
=
$
(
".show-order-end"
).
val
();
var
showStart
=
$
(
".show-time-start"
).
val
();
var
showEnd
=
$
(
".show-time-end"
).
val
();
function
searchExport
()
{
var
type
=
document
.
getElementById
(
"type"
).
value
;
var
performanceId
=
document
.
getElementById
(
"performanceId"
).
value
;
var
st
=
document
.
getElementById
(
"startTime"
).
value
;
var
et
=
document
.
getElementById
(
"endTime"
).
value
;
var
exportType
=
0
;
if
(
type
==
2
)
{
exportType
=
1
;
}
else
if
(
type
==
3
)
{
exportType
=
3
;
}
else
if
(
type
==
4
)
{
exportType
=
2
;
if
(
!
showId
&&
(
!
orderStart
||
!
orderEnd
)
&&
(
!
showStart
||
!
showEnd
))
{
$
.
modal
.
alertWarning
(
"请至少填写演出id、下单时间、演出开始时间其中一个条件"
);
return
;
}
if
(
type
==
0
)
{
alert
(
"请选择导出类型"
);
return
}
else
if
(
type
==
1
)
{
//商品导出逻辑
if
(
st
==
""
||
et
==
""
)
{
alert
(
"请选择时间范围"
);
return
}
else
{
url
=
url
+
"/export/commodityOrder"
;
}
}
else
if
(
type
==
2
)
{
//演出[订单时间]
if
(
st
==
""
||
et
==
""
)
{
alert
(
"请选择时间范围"
);
return
}
else
{
url
=
url
+
"/export/orderInfo"
;
}
}
else
if
(
type
==
3
)
{
//演出[演出id]
if
(
performanceId
==
""
)
{
alert
(
"演出id不能为空"
);
return
}
else
{
url
=
url
+
"/export/orderInfo"
;
}
}
else
if
(
type
==
4
)
{
//演出[演出时间]
if
(
st
==
""
||
et
==
""
)
{
alert
(
"请选择时间范围"
);
return
}
else
{
url
=
url
+
"/export/orderInfo"
;
}
}
else
if
(
type
==
5
)
{
//会员[订单时间]
if
(
st
==
""
||
et
==
""
)
{
alert
(
"请选择时间范围"
);
return
}
else
{
url
=
url
+
"/export/memberOrder"
;
}
if
((
orderStart
&&
!
orderEnd
)
||
(
!
orderStart
&&
orderEnd
))
{
$
.
modal
.
alertWarning
(
"下单时间请填写完整的开始和结束时间"
);
return
;
}
var
options
=
{
modalName
:
"财务导出"
,
exportUrl
:
url
,
if
((
showStart
&&
!
showEnd
)
||
(
!
showStart
&&
showEnd
))
{
$
.
modal
.
alertWarning
(
"演出开始时间请填写完整的开始和结束时间"
);
return
;
}
$
.
table
.
init
(
options
);
var
param
=
{
"beginTime"
:
st
,
"endTime"
:
et
,
"showId"
:
performanceId
,
"exportType"
:
exportType
};
$
.
table
.
exportExcel
(
""
,
param
)
url
=
prefix
;
doExport
(
prefix
+
"/export/orderInfo"
,
{
"showId"
:
showId
,
"beginTime"
:
orderStart
,
"endTime"
:
orderEnd
,
"showBeginTime"
:
showStart
,
"showEndTime"
:
showEnd
},
"演出订单"
);
}
function
exportCommodityOrder
()
{
var
storeId
=
$
(
"#commodityStoreSelect"
).
val
()
||
""
;
var
beginTime
=
$
(
".commodity-order-start"
).
val
();
var
endTime
=
$
(
".commodity-order-end"
).
val
();
if
(
!
storeId
&&
(
!
beginTime
||
!
endTime
))
{
$
.
modal
.
alertWarning
(
"请至少填写店铺或下单时间其中一个条件"
);
return
;
}
if
((
beginTime
&&
!
endTime
)
||
(
!
beginTime
&&
endTime
))
{
$
.
modal
.
alertWarning
(
"下单时间请填写完整的开始和结束时间"
);
return
;
}
doExport
(
prefix
+
"/export/commodityOrder"
,
{
"beginTime"
:
beginTime
,
"endTime"
:
endTime
,
"storeId"
:
storeId
},
"商品订单"
);
}
function
exportMemberOrder
()
{
var
beginTime
=
$
(
".member-order-start"
).
val
();
var
endTime
=
$
(
".member-order-end"
).
val
();
if
(
!
beginTime
||
!
endTime
)
{
$
.
modal
.
alertWarning
(
"请选择下单时间范围"
);
return
;
}
doExport
(
prefix
+
"/export/memberOrder"
,
{
"beginTime"
:
beginTime
,
"endTime"
:
endTime
},
"会员订单"
);
}
$
(
function
()
{
initStartDatetimePicker
(
'.show-order-start, .show-time-start, .commodity-order-start, .member-order-start'
);
initEndDatetimePicker
(
'.show-order-end, .show-time-end, .commodity-order-end, .member-order-end'
);
initStoreSelect
();
});
</script>
</body>
</html>
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/goblin/service/impl/GoblinCommonServiceImpl.java
View file @
783373a4
...
...
@@ -46,10 +46,15 @@ public class GoblinCommonServiceImpl implements IGoblinCommonService {
@Override
public
List
<
GoblinStoreSearchDto
>
storeSearch
(
String
name
,
List
<
String
>
status
)
{
List
<
GoblinStoreInfo
>
list
=
goblinStoreInfoMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
GoblinStoreInfo
.
class
)
.
like
(
GoblinStoreInfo:
:
getStoreName
,
name
)
LambdaQueryWrapper
<
GoblinStoreInfo
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
GoblinStoreInfo
.
class
);
if
(
StringUtil
.
isNotBlank
(
name
))
{
queryWrapper
.
like
(
GoblinStoreInfo:
:
getStoreName
,
name
);
}
queryWrapper
.
eq
(
GoblinStoreInfo:
:
getDelFlg
,
"0"
)
.
in
(
GoblinStoreInfo:
:
getStatus
,
status
)
.
select
(
GoblinStoreInfo:
:
getStoreId
,
GoblinStoreInfo:
:
getStoreName
,
GoblinStoreInfo:
:
getStatus
));
.
orderByAsc
(
GoblinStoreInfo:
:
getStoreName
)
.
select
(
GoblinStoreInfo:
:
getStoreId
,
GoblinStoreInfo:
:
getStoreName
,
GoblinStoreInfo:
:
getStatus
);
List
<
GoblinStoreInfo
>
list
=
goblinStoreInfoMapper
.
selectList
(
queryWrapper
);
List
<
GoblinStoreSearchDto
>
dtoList
=
new
ArrayList
<>();
for
(
GoblinStoreInfo
item
:
list
)
{
GoblinStoreSearchDto
dto
=
GoblinStoreSearchDto
.
getNew
();
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/kylin/dto/OrderCommodityExportVo.java
View file @
783373a4
...
...
@@ -11,6 +11,8 @@ public class OrderCommodityExportVo implements Serializable, Cloneable {
@Excel
(
name
=
"商户订单号"
,
cellType
=
Excel
.
ColumnType
.
STRING
)
private
String
code
;
@Excel
(
name
=
"店铺名称"
,
cellType
=
Excel
.
ColumnType
.
STRING
)
private
String
storeName
;
@Excel
(
name
=
"微信/支付宝订单号"
,
cellType
=
Excel
.
ColumnType
.
STRING
)
private
String
paymentId
;
@Excel
(
name
=
"商品名称"
,
cellType
=
Excel
.
ColumnType
.
STRING
)
...
...
@@ -53,6 +55,7 @@ public class OrderCommodityExportVo implements Serializable, Cloneable {
this
.
setPriceRefund
(
source
.
getPriceRefund
());
this
.
setStatus
(
source
.
getStatus
());
this
.
setRefundAt
(
source
.
getRefundAt
());
this
.
setStoreName
(
source
.
getStoreName
());
return
this
;
}
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/kylin/service/IExportService.java
View file @
783373a4
...
...
@@ -19,9 +19,12 @@ public interface IExportService {
//根据演出id导出信息
List
<
OrderDetailedByShowIdExportVo
>
exportOrderByShowId
(
String
showId
);
//演出订单导出(多条件 AND)
List
<
OrderDetailedExportVo
>
exportShowOrder
(
String
showId
,
String
beginTime
,
String
endTime
,
String
showBeginTime
,
String
showEndTime
);
//导出会员订单信息
List
<
OrderMemberExportVo
>
exportMemberOrder
(
String
beginTime
,
String
endTime
);
//导出商品订单信息
List
<
OrderCommodityExportVo
>
exportCommodityOrder
(
String
beginTime
,
String
endTime
);
List
<
OrderCommodityExportVo
>
exportCommodityOrder
(
String
beginTime
,
String
endTime
,
String
storeId
);
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/kylin/service/impl/ExportServiceImpl.java
View file @
783373a4
...
...
@@ -8,13 +8,13 @@ import com.liquidnet.service.kylin.dao.MemberOrderExportDao;
import
com.liquidnet.service.kylin.dao.OrderExportDao
;
import
com.liquidnet.service.kylin.mapper.KylinPerformancesMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -91,6 +91,26 @@ public class ExportServiceImpl implements IExportService {
return
voList
;
}
@Override
public
List
<
OrderDetailedExportVo
>
exportShowOrder
(
String
showId
,
String
beginTime
,
String
endTime
,
String
showBeginTime
,
String
showEndTime
)
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
try
{
Date
beginDate
=
parseDate
(
sdf
,
beginTime
);
Date
endDate
=
parseDate
(
sdf
,
endTime
);
Date
showBeginDate
=
parseDate
(
sdf
,
showBeginTime
);
Date
showEndDate
=
parseDate
(
sdf
,
showEndTime
);
List
<
OrderExportDao
>
list
=
performancesMapper
.
exportShowOrder
(
showId
,
beginDate
,
endDate
,
showBeginDate
,
showEndDate
);
List
<
OrderDetailedExportVo
>
voList
=
new
ArrayList
();
for
(
OrderExportDao
item
:
list
)
{
voList
.
add
(
OrderDetailedExportVo
.
getNew
().
copyOrderExportVo
(
item
));
}
return
voList
;
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
throw
new
BusinessException
(
"导出异常,请联系网站管理员!"
);
}
}
@Override
public
List
<
OrderMemberExportVo
>
exportMemberOrder
(
String
beginTime
,
String
endTime
)
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
...
...
@@ -110,12 +130,12 @@ public class ExportServiceImpl implements IExportService {
}
@Override
public
List
<
OrderCommodityExportVo
>
exportCommodityOrder
(
String
beginTime
,
String
endTime
)
{
public
List
<
OrderCommodityExportVo
>
exportCommodityOrder
(
String
beginTime
,
String
endTime
,
String
storeId
)
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
try
{
Date
beginDate
=
sdf
.
parse
(
beginTime
);
Date
endDate
=
sdf
.
parse
(
endTime
);
List
<
CommodityOrderExportDao
>
list
=
performancesMapper
.
exportCommodityOrder
(
beginDate
,
endDate
);
Date
beginDate
=
parseDate
(
sdf
,
beginTime
);
Date
endDate
=
parseDate
(
sdf
,
endTime
);
List
<
CommodityOrderExportDao
>
list
=
performancesMapper
.
exportCommodityOrder
(
beginDate
,
endDate
,
storeId
);
List
<
OrderCommodityExportVo
>
voList
=
new
ArrayList
();
for
(
CommodityOrderExportDao
item
:
list
)
{
voList
.
add
(
OrderCommodityExportVo
.
getNew
().
copyCommodityOrderExportVo
(
item
));
...
...
@@ -126,4 +146,11 @@ public class ExportServiceImpl implements IExportService {
throw
new
BusinessException
(
"导出Excel失败,请联系网站管理员!"
);
}
}
private
Date
parseDate
(
SimpleDateFormat
sdf
,
String
time
)
throws
ParseException
{
if
(
StringUtils
.
isBlank
(
time
))
{
return
null
;
}
return
sdf
.
parse
(
time
);
}
}
liquidnet-bus-do/liquidnet-service-kylin-do/src/main/java/com/liquidnet/service/kylin/dao/CommodityOrderExportDao.java
View file @
783373a4
...
...
@@ -24,5 +24,7 @@ public class CommodityOrderExportDao {
private
String
status
;
//退款时间
private
String
refundAt
;
//店铺名称
private
String
storeName
;
}
liquidnet-bus-do/liquidnet-service-kylin-do/src/main/java/com/liquidnet/service/kylin/mapper/KylinPerformancesMapper.java
View file @
783373a4
...
...
@@ -83,10 +83,16 @@ public interface KylinPerformancesMapper extends BaseMapper<KylinPerformances> {
List
<
OrderExportDao
>
exportOrderByShowTime
(
@Param
(
"beginTime"
)
Date
beginTime
,
@Param
(
"endTime"
)
Date
endTime
);
//演出id查订单信息
List
<
OrderExportDao
>
exportOrderByShowId
(
@Param
(
"showId"
)
String
showId
);
//演出订单导出(多条件 AND)
List
<
OrderExportDao
>
exportShowOrder
(
@Param
(
"showId"
)
String
showId
,
@Param
(
"beginTime"
)
Date
beginTime
,
@Param
(
"endTime"
)
Date
endTime
,
@Param
(
"showBeginTime"
)
Date
showBeginTime
,
@Param
(
"showEndTime"
)
Date
showEndTime
);
//会员订单信息
List
<
MemberOrderExportDao
>
exportMemberOrder
(
@Param
(
"beginTime"
)
Date
beginTime
,
@Param
(
"endTime"
)
Date
endTime
);
//商品订单信息
List
<
CommodityOrderExportDao
>
exportCommodityOrder
(
@Param
(
"beginTime"
)
Date
beginTime
,
@Param
(
"endTime"
)
Date
endTime
);
List
<
CommodityOrderExportDao
>
exportCommodityOrder
(
@Param
(
"beginTime"
)
Date
beginTime
,
@Param
(
"endTime"
)
Date
endTime
,
@Param
(
"storeId"
)
String
storeId
);
List
<
KylinPerformancesDto
>
getListAll
(
String
title
);
...
...
liquidnet-bus-do/liquidnet-service-kylin-do/src/main/resources/com.liquidnet.service.kylin.mapper/KylinPerformancesMapper.xml
View file @
783373a4
...
...
@@ -104,6 +104,7 @@
<result
column=
"price_refund"
property=
"priceRefund"
/>
<result
column=
"status"
property=
"status"
/>
<result
column=
"refund_at"
property=
"refundAt"
/>
<result
column=
"store_name"
property=
"storeName"
/>
</resultMap>
<!-- <resultMap id="OrderExportDaoResult" type="com.liquidnet.service.kylin.dao.OrderExportDao">-->
...
...
@@ -1108,6 +1109,77 @@ GROUP BY user_mobile,tickets_id;
and ks.transfer_status in (0, 1, 2, 5)
group by kot.order_tickets_id
</select>
<!-- 演出订单导出(演出id/下单时间/演出开始时间 多条件 AND)-->
<select
id=
"exportShowOrder"
resultMap=
"OrderExportDaoResult"
>
select kot.order_code as order_code,
do.code as code,
kot.pay_code as pay_code,
kot.payment_id as payment_id,
kot.performance_title as performance_title,
case
when (ks.status = 1) THEN '已支付'
when (ks.status = 3) THEN '退款中'
when (ks.status = 4) THEN '已退款'
when (ks.status = 6) THEN '部分退款'
END as status,
(CASE
WHEN kot.payment_type = 'WAPALIPAY' THEN '支付宝'
WHEN kot.payment_type = 'APPALIPAY' THEN '支付宝'
WHEN kot.payment_type = 'JSWEPAY' THEN '微信'
WHEN kot.payment_type LIKE 'APPLET%WEPAY' THEN '微信'
WHEN kot.payment_type = 'APPWEPAY' THEN '微信'
WHEN kot.payment_type = 'WAPWEPAY' THEN '微信'
WHEN kot.payment_type = 'APPUNIONPAY' THEN '银联云闪付'
WHEN kot.payment_type = 'WAPUNIONPAY' THEN '银联云闪付'
WHEN kot.payment_type = 'APPLETDOUYINPAY' THEN '抖音支付'
ELSE '其他' END) as payment_type,
case
when (kp.type = '1') then '音乐节'
when (kp.type = '2') then '演唱会'
when (kp.type = '3') then '小型演出'
when (kp.type = '4') then '展览'
when (kp.type = '6') then '舞台剧'
when (kp.type = '101') then '音乐节'
when (kp.type = '102') then '小型演出(livehouse演出)'
when (kp.type = '103') then '巡演'
end as type,
kt.title as title1,
ktt.title as title2,
kot.price as price,
kot.price_express as price_express,
kot.number as number,
kot.refund_number as refund_number,
kot.price_actual as price_actual,
kot.price_refund as price_refund,
ifnull(dor.refund_at, kor.updated_at) as refund_at,
kor.reject as reject,
kot.time_pay as time_pay
from kylin_order_tickets kot
inner join kylin_order_ticket_status ks on kot.order_tickets_id = ks.order_id
left join kylin_order_refunds kor on kor.order_tickets_id = kot.order_tickets_id
inner join kylin_order_ticket_relations kr on kot.order_tickets_id = kr.order_id
inner join kylin_tickets kt on kt.tickets_id = kr.ticket_id
inner join kylin_performances kp on kp.performances_id = kr.performance_id
left join dragon_orders do on do.order_code = kot.order_code and do.status = 1
left join dragon_order_refunds dor on dor.order_refund_id = do.code
left join kylin_ticket_times ktt on ktt.ticket_times_id = kr.time_id
where ks.status in (1, 3, 4, 6)
and ks.transfer_status in (0, 1, 2, 5)
<if
test=
"showId != null and showId != ''"
>
and kr.performance_id = #{showId}
</if>
<if
test=
"beginTime != null and endTime != null"
>
and (
do.payment_at between #{beginTime} and #{endTime}
or dor.refund_at between #{beginTime} and #{endTime}
)
</if>
<if
test=
"showBeginTime != null and showEndTime != null"
>
and kp.time_start
>
= #{showBeginTime}
and kp.time_start
<
= #{showEndTime}
</if>
group by kot.order_tickets_id
</select>
<!-- 会员订单信息-->
<select
id=
"exportMemberOrder"
resultMap=
"memberOrderExportDaoResult"
>
select amo.pay_no as pay_no,
...
...
@@ -1175,7 +1247,8 @@ GROUP BY user_mobile,tickets_id;
WHEN temtable.STATUS = '7' THEN
'退货通过'
END AS status,
temtable.refund_at as refund_at
temtable.refund_at as refund_at,
temtable.store_name as store_name
from
(select do.code,
gso.payment_id,
...
...
@@ -1186,15 +1259,22 @@ GROUP BY user_mobile,tickets_id;
gso.price_express,
gso.price_refund,
gso.status,
gbo.refund_at
gbo.refund_at,
max(gsi.store_name) as store_name
from goblin_store_order gso
inner join goblin_order_sku gos on gos.order_id = gso.order_id
inner join dragon_orders do on do.order_code = gso.master_order_code and do.status = 1
left join goblin_back_order gbo on gbo.order_id = gso.order_id and gbo.status in (2, 8)
where
do.created_at between #{beginTime} and #{endTime}
and gso.status not in (0, 5)
left join goblin_store_info gsi on gsi.store_id = gso.store_id
where gso.status not in (0, 5)
<if
test=
"beginTime != null and endTime != null"
>
and do.created_at between #{beginTime} and #{endTime}
</if>
<if
test=
"storeId != null and storeId != ''"
>
and gso.store_id = #{storeId}
</if>
group by do.code
<if
test=
"beginTime != null and endTime != null"
>
union
select do.code,
gso.payment_id,
...
...
@@ -1205,16 +1285,22 @@ GROUP BY user_mobile,tickets_id;
gso.price_express,
gso.price_refund,
gso.status,
gbo.refund_at
gbo.refund_at,
max(gsi.store_name) as store_name
from goblin_store_order gso
inner join goblin_order_sku gos on gos.order_id = gso.order_id
inner join dragon_orders do on do.order_code = gso.master_order_code and do.status = 1
inner join dragon_order_refunds dor on dor.order_refund_id = do.code
left join goblin_back_order gbo on gbo.order_id = gso.order_id and gbo.status in (2, 8)
where
dor.refund_at between #{beginTime} and #{endTime}
left join goblin_store_info gsi on gsi.store_id = gso.store_id
where
dor.refund_at between #{beginTime} and #{endTime}
and gso.status not in (0, 5)
group by do.code) temtable group by temtable.code
<if
test=
"storeId != null and storeId != ''"
>
and gso.store_id = #{storeId}
</if>
group by do.code
</if>
) temtable group by temtable.code
</select>
<select
id=
"getSubscribeStatisticalByPerformancesId"
resultType=
"com.liquidnet.service.kylin.dao.report.KylinPerformanceSubscribeStatisticalDao"
>
SELECT A.*,
...
...
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