记得上下班打卡 | 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
fcdb8358
Commit
fcdb8358
authored
Jun 06, 2021
by
张国柄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
验票API:刷新、下载数据添加演出及票种信息;
parent
d89bf177
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
114 additions
and
32 deletions
+114
-32
KylinStationCheckRefreshVo.java
...dnet/service/kylin/dto/vo/KylinStationCheckRefreshVo.java
+25
-0
KylinStationPerformanceVo.java
...idnet/service/kylin/dto/vo/KylinStationPerformanceVo.java
+9
-0
KylinStationController.java
...dnet/service/kylin/controller/KylinStationController.java
+80
-32
No files found.
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/dto/vo/KylinStationCheckRefreshVo.java
0 → 100644
View file @
fcdb8358
package
com
.
liquidnet
.
service
.
kylin
.
dto
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.List
;
@ApiModel
(
value
=
"KylinStationCheckRefreshVo"
,
description
=
"下载刷新验票信息响应参数"
)
@Data
public
class
KylinStationCheckRefreshVo
implements
Serializable
,
Cloneable
{
private
static
final
long
serialVersionUID
=
-
7313121561515036798L
;
private
KylinStationPerformanceVo
performanceVo
;
private
List
<
KylinStationCheckOrderVo
>
checkOrderVos
;
private
static
final
KylinStationCheckRefreshVo
obj
=
new
KylinStationCheckRefreshVo
();
public
static
KylinStationCheckRefreshVo
getNew
()
{
try
{
return
(
KylinStationCheckRefreshVo
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
return
new
KylinStationCheckRefreshVo
();
}
}
}
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/dto/vo/KylinStationPerformanceVo.java
View file @
fcdb8358
...
@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
...
@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import
lombok.Data
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.List
;
@ApiModel
(
value
=
"KylinStationPerformanceVo"
,
description
=
"演出列表响应参数"
)
@ApiModel
(
value
=
"KylinStationPerformanceVo"
,
description
=
"演出列表响应参数"
)
...
@@ -29,6 +30,14 @@ public class KylinStationPerformanceVo implements Serializable, Cloneable {
...
@@ -29,6 +30,14 @@ public class KylinStationPerformanceVo implements Serializable, Cloneable {
private
List
<
KylinStationTicketVo
>
ticketVoList
;
private
List
<
KylinStationTicketVo
>
ticketVoList
;
@ApiModelProperty
(
position
=
18
,
value
=
"可下载时间"
)
@ApiModelProperty
(
position
=
18
,
value
=
"可下载时间"
)
private
String
canDownTime
;
private
String
canDownTime
;
@ApiModelProperty
(
position
=
20
,
value
=
"票房"
)
private
BigDecimal
priceSum
;
@ApiModelProperty
(
position
=
21
,
value
=
"票量[9]"
)
private
Integer
number
;
@ApiModelProperty
(
position
=
22
,
value
=
"已验票量[9]"
)
private
Integer
checkedNum
;
@ApiModelProperty
(
position
=
23
,
value
=
"余量[9]"
)
private
Integer
remainderNum
;
private
static
final
KylinStationPerformanceVo
obj
=
new
KylinStationPerformanceVo
();
private
static
final
KylinStationPerformanceVo
obj
=
new
KylinStationPerformanceVo
();
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/controller/KylinStationController.java
View file @
fcdb8358
...
@@ -103,7 +103,7 @@ public class KylinStationController {
...
@@ -103,7 +103,7 @@ public class KylinStationController {
@ApiOperation
(
value
=
"演出列表"
)
@ApiOperation
(
value
=
"演出列表"
)
@ApiImplicitParams
({
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"mod"
,
value
=
"模块[recent-近期的,over-历史]"
,
allowableValues
=
"recent,over"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"mod"
,
value
=
"模块[recent-近期的,over-历史]"
,
allowableValues
=
"recent,over"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
tru
e
,
dataType
=
"String"
,
name
=
"match"
,
value
=
"匹配字符[title|cityName|fieldName]"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
fals
e
,
dataType
=
"String"
,
name
=
"match"
,
value
=
"匹配字符[title|cityName|fieldName]"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"Integer"
,
name
=
"pageNo"
,
value
=
"页码"
,
example
=
"1"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"Integer"
,
name
=
"pageNo"
,
value
=
"页码"
,
example
=
"1"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"Integer"
,
name
=
"pageSize"
,
value
=
"页记录数"
,
example
=
"5"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"Integer"
,
name
=
"pageSize"
,
value
=
"页记录数"
,
example
=
"5"
),
})
})
...
@@ -179,11 +179,15 @@ public class KylinStationController {
...
@@ -179,11 +179,15 @@ public class KylinStationController {
Map
<
String
,
String
>
performanceRelationMap
=
performanceRelationList
.
stream
().
collect
(
Collectors
.
toMap
(
CheckPerformanceRelationParam:
:
getPerformanceId
,
CheckPerformanceRelationParam:
:
getCanDownTime
));
Map
<
String
,
String
>
performanceRelationMap
=
performanceRelationList
.
stream
().
collect
(
Collectors
.
toMap
(
CheckPerformanceRelationParam:
:
getPerformanceId
,
CheckPerformanceRelationParam:
:
getCanDownTime
));
// 补充演出列表票种统计
// 补充演出列表票种统计
voList
.
forEach
(
r
->
{
for
(
KylinStationPerformanceVo
r
:
voList
)
{
// 演出的所有订单票明细
// 演出的所有订单票明细
List
<
KylinOrderTicketEntitiesVo
>
performanceTicketEntitiesVoList
=
oteVoMap
.
get
(
r
.
getPerformancesId
());
List
<
KylinOrderTicketEntitiesVo
>
performanceTicketEntitiesVoList
=
oteVoMap
.
get
(
r
.
getPerformancesId
());
if
(!
CollectionUtils
.
isEmpty
(
performanceTicketEntitiesVoList
))
continue
;
// 订单票明细按票种分组
// 订单票明细按票种分组
Map
<
String
,
List
<
KylinOrderTicketEntitiesVo
>>
performanceTicketEntitiesVoMap
=
performanceTicketEntitiesVoList
.
stream
().
collect
(
Collectors
.
groupingBy
(
KylinOrderTicketEntitiesVo:
:
getTicketId
));
Map
<
String
,
List
<
KylinOrderTicketEntitiesVo
>>
performanceTicketEntitiesVoMap
=
performanceTicketEntitiesVoList
.
stream
().
collect
(
Collectors
.
groupingBy
(
KylinOrderTicketEntitiesVo:
:
getTicketId
));
List
<
KylinStationTicketVo
>
ticketVoList
=
new
ArrayList
<>();
List
<
KylinStationTicketVo
>
ticketVoList
=
new
ArrayList
<>();
...
@@ -218,19 +222,13 @@ public class KylinStationController {
...
@@ -218,19 +222,13 @@ public class KylinStationController {
ticketVoList
.
add
(
stationTicketVo
);
ticketVoList
.
add
(
stationTicketVo
);
}
}
r
.
setPriceSum
(
priceSum
);
KylinStationTicketVo
sumTicketVo
=
KylinStationTicketVo
.
getNew
();
r
.
setNumber
(
number
);
sumTicketVo
.
setTicketId
(
"TT"
);
r
.
setCheckedNum
(
checkedNum
);
sumTicketVo
.
setTitle
(
"合计"
);
r
.
setRemainderNum
(
remainderNum
);
sumTicketVo
.
setPriceSum
(
priceSum
);
sumTicketVo
.
setNumber
(
number
);
sumTicketVo
.
setCheckedNum
(
checkedNum
);
sumTicketVo
.
setRemainderNum
(
remainderNum
);
ticketVoList
.
add
(
sumTicketVo
);
r
.
setTicketVoList
(
ticketVoList
);
r
.
setTicketVoList
(
ticketVoList
);
r
.
setCanDownTime
(
performanceRelationMap
.
get
(
r
.
getPerformancesId
()));
r
.
setCanDownTime
(
performanceRelationMap
.
get
(
r
.
getPerformancesId
()));
}
);
}
}
}
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
...
@@ -246,7 +244,7 @@ public class KylinStationController {
...
@@ -246,7 +244,7 @@ public class KylinStationController {
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"performanceId"
,
value
=
"演出ID[64]"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"performanceId"
,
value
=
"演出ID[64]"
),
})
})
@GetMapping
(
"download"
)
@GetMapping
(
"download"
)
public
ResponseDto
<
List
<
KylinStationCheckOrderVo
>
>
downloadTicketData
(
@RequestParam
String
performanceId
)
{
public
ResponseDto
<
KylinStationCheckRefreshVo
>
downloadTicketData
(
@RequestParam
String
performanceId
)
{
log
.
info
(
"performanceId:{}"
,
performanceId
);
log
.
info
(
"performanceId:{}"
,
performanceId
);
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
...
@@ -266,27 +264,52 @@ public class KylinStationController {
...
@@ -266,27 +264,52 @@ public class KylinStationController {
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20608"
));
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20608"
));
}
}
List
<
KylinStationCheckOrderVo
>
voList
=
new
ArrayList
<>();
List
<
KylinStationCheckOrderVo
>
checkOrderVos
;
// 查取演出对应的订单票明细
// 查取演出对应的订单票明细
Query
orderTicketEntitiesVoQuery
=
Query
.
query
(
Criteria
.
where
(
"performanceId"
).
is
(
performanceId
).
and
(
"isPayment"
).
is
(
1
));
Query
orderTicketEntitiesVoQuery
=
Query
.
query
(
Criteria
.
where
(
"performanceId"
).
is
(
performanceId
).
and
(
"isPayment"
).
is
(
1
));
voList
=
mongoTemplate
.
find
(
orderTicketEntitiesVoQuery
,
KylinStationCheckOrderVo
.
class
,
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
());
checkOrderVos
=
mongoTemplate
.
find
(
orderTicketEntitiesVoQuery
,
KylinStationCheckOrderVo
.
class
,
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
());
Query
query
=
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
in
(
Query
query
=
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
in
(
voList
.
stream
().
map
(
KylinStationCheckOrderVo:
:
getOrderId
).
toArray
()
checkOrderVos
.
stream
().
map
(
KylinStationCheckOrderVo:
:
getOrderId
).
toArray
()
));
));
query
.
fields
().
include
(
"orderTicketsId"
).
include
(
"qrCode"
);
query
.
fields
().
include
(
"orderTicketsId"
).
include
(
"qrCode"
);
List
<
KylinOrderTicketVo
>
orderTicketVoList
=
mongoTemplate
.
find
(
query
,
KylinOrderTicketVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
List
<
KylinOrderTicketVo
>
orderTicketVoList
=
mongoTemplate
.
find
(
query
,
KylinOrderTicketVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
for
(
KylinOrderTicketVo
t
:
orderTicketVoList
)
for
(
KylinOrderTicketVo
t
:
orderTicketVoList
)
{
for
(
KylinStationCheckOrderVo
r
:
voList
)
for
(
KylinStationCheckOrderVo
r
:
checkOrderVos
)
{
if
(
r
.
getOrderId
().
equals
(
t
.
getOrderTicketsId
()))
{
if
(
r
.
getOrderId
().
equals
(
t
.
getOrderTicketsId
()))
{
r
.
setQrCode
(
t
.
getQrCode
());
r
.
setQrCode
(
t
.
getQrCode
());
r
.
setUserMobile
(
t
.
getUserMobile
());
r
.
setUserMobile
(
t
.
getUserMobile
());
r
.
setUserName
(
t
.
getUserName
());
r
.
setUserName
(
t
.
getUserName
());
}
}
}
return
ResponseDto
.
success
(
voList
);
}
KylinStationCheckRefreshVo
vo
=
KylinStationCheckRefreshVo
.
getNew
();
vo
.
setCheckOrderVos
(
checkOrderVos
);
{
// 查取演出信息
KylinStationPerformanceVo
performanceVo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"performancesId"
).
is
(
performanceId
)),
KylinStationPerformanceVo
.
class
,
KylinPerformanceVo
.
class
.
getSimpleName
());
// 查取订单对应票种
Query
performanceTicketVoQuery
=
Query
.
query
(
Criteria
.
where
(
"ticketsId"
).
in
(
checkOrderVos
.
stream
().
filter
(
distinctByKey
(
KylinStationCheckOrderVo:
:
getTicketId
)).
map
(
KylinStationCheckOrderVo:
:
getTicketId
).
toArray
()
));
List
<
KylinTicketVo
>
performanceTicketVoList
=
mongoTemplate
.
find
(
performanceTicketVoQuery
,
KylinTicketVo
.
class
,
KylinTicketVo
.
class
.
getSimpleName
());
List
<
KylinStationTicketVo
>
ticketVoList
=
new
ArrayList
<>();
for
(
KylinTicketVo
r
:
performanceTicketVoList
)
{
KylinStationTicketVo
stationTicketVo
=
KylinStationTicketVo
.
getNew
();
stationTicketVo
.
setTicketId
(
r
.
getTicketsId
());
stationTicketVo
.
setTitle
(
r
.
getTitle
());
stationTicketVo
.
setPrice
(
r
.
getPrice
());
stationTicketVo
.
setUseStart
(
r
.
getUseStart
());
stationTicketVo
.
setUseEnd
(
r
.
getUseEnd
());
ticketVoList
.
add
(
stationTicketVo
);
}
performanceVo
.
setTicketVoList
(
ticketVoList
);
vo
.
setPerformanceVo
(
performanceVo
);
}
return
ResponseDto
.
success
(
vo
);
}
}
@ApiOperation
(
value
=
"上载验票数据"
)
@ApiOperation
(
value
=
"上载验票数据"
)
...
@@ -305,7 +328,7 @@ public class KylinStationController {
...
@@ -305,7 +328,7 @@ public class KylinStationController {
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"latestUpdateAt"
,
value
=
"最近更新时间[yyyy-MM-dd HH:mm:ss]"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"latestUpdateAt"
,
value
=
"最近更新时间[yyyy-MM-dd HH:mm:ss]"
),
})
})
@PostMapping
(
"refresh"
)
@PostMapping
(
"refresh"
)
public
ResponseDto
<
List
<
KylinStationCheckOrderVo
>
>
refreshTicketData
(
@RequestParam
String
performanceId
,
@RequestParam
String
latestUpdateAt
)
{
public
ResponseDto
<
KylinStationCheckRefreshVo
>
refreshTicketData
(
@RequestParam
String
performanceId
,
@RequestParam
String
latestUpdateAt
)
{
log
.
info
(
"refresh performanceId:{},latestUpdateAt:{}"
,
performanceId
,
latestUpdateAt
);
log
.
info
(
"refresh performanceId:{},latestUpdateAt:{}"
,
performanceId
,
latestUpdateAt
);
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
...
@@ -325,25 +348,50 @@ public class KylinStationController {
...
@@ -325,25 +348,50 @@ public class KylinStationController {
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20608"
));
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20608"
));
}
}
List
<
KylinStationCheckOrderVo
>
voList
=
new
ArrayList
<>();
List
<
KylinStationCheckOrderVo
>
checkOrderVos
;
// 查取演出对应的订单票明细
// 查取演出对应的订单票明细
Query
orderTicketEntitiesVoQuery
=
Query
.
query
(
Query
orderTicketEntitiesVoQuery
=
Query
.
query
(
Criteria
.
where
(
"performanceId"
).
is
(
performanceId
).
and
(
"updatedAt"
).
gte
(
latestUpdateAt
)
Criteria
.
where
(
"performanceId"
).
is
(
performanceId
).
and
(
"updatedAt"
).
gte
(
latestUpdateAt
)
);
);
voList
=
mongoTemplate
.
find
(
orderTicketEntitiesVoQuery
,
KylinStationCheckOrderVo
.
class
,
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
());
checkOrderVos
=
mongoTemplate
.
find
(
orderTicketEntitiesVoQuery
,
KylinStationCheckOrderVo
.
class
,
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
());
Query
query
=
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
in
(
Query
query
=
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
in
(
voList
.
stream
().
map
(
KylinStationCheckOrderVo:
:
getOrderId
).
toArray
()
checkOrderVos
.
stream
().
map
(
KylinStationCheckOrderVo:
:
getOrderId
).
toArray
()
));
));
query
.
fields
().
include
(
"orderTicketsId"
).
include
(
"qrCode"
);
query
.
fields
().
include
(
"orderTicketsId"
).
include
(
"qrCode"
);
List
<
KylinOrderTicketVo
>
orderTicketVoList
=
mongoTemplate
.
find
(
query
,
KylinOrderTicketVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
List
<
KylinOrderTicketVo
>
orderTicketVoList
=
mongoTemplate
.
find
(
query
,
KylinOrderTicketVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
for
(
KylinOrderTicketVo
t
:
orderTicketVoList
)
for
(
KylinOrderTicketVo
t
:
orderTicketVoList
)
{
for
(
KylinStationCheckOrderVo
r
:
voList
)
for
(
KylinStationCheckOrderVo
r
:
checkOrderVos
)
{
if
(
r
.
getOrderId
().
equals
(
t
.
getOrderTicketsId
()))
r
.
setQrCode
(
t
.
getQrCode
());
if
(
r
.
getOrderId
().
equals
(
t
.
getOrderTicketsId
()))
r
.
setQrCode
(
t
.
getQrCode
());
}
return
ResponseDto
.
success
(
voList
);
}
KylinStationCheckRefreshVo
vo
=
KylinStationCheckRefreshVo
.
getNew
();
vo
.
setCheckOrderVos
(
checkOrderVos
);
{
// 查取演出信息
KylinStationPerformanceVo
performanceVo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"performancesId"
).
is
(
performanceId
)),
KylinStationPerformanceVo
.
class
,
KylinPerformanceVo
.
class
.
getSimpleName
());
// 查取订单对应票种
Query
performanceTicketVoQuery
=
Query
.
query
(
Criteria
.
where
(
"ticketsId"
).
in
(
checkOrderVos
.
stream
().
filter
(
distinctByKey
(
KylinStationCheckOrderVo:
:
getTicketId
)).
map
(
KylinStationCheckOrderVo:
:
getTicketId
).
toArray
()
));
List
<
KylinTicketVo
>
performanceTicketVoList
=
mongoTemplate
.
find
(
performanceTicketVoQuery
,
KylinTicketVo
.
class
,
KylinTicketVo
.
class
.
getSimpleName
());
List
<
KylinStationTicketVo
>
ticketVoList
=
new
ArrayList
<>();
for
(
KylinTicketVo
r
:
performanceTicketVoList
)
{
KylinStationTicketVo
stationTicketVo
=
KylinStationTicketVo
.
getNew
();
stationTicketVo
.
setTicketId
(
r
.
getTicketsId
());
stationTicketVo
.
setTitle
(
r
.
getTitle
());
stationTicketVo
.
setPrice
(
r
.
getPrice
());
stationTicketVo
.
setUseStart
(
r
.
getUseStart
());
stationTicketVo
.
setUseEnd
(
r
.
getUseEnd
());
ticketVoList
.
add
(
stationTicketVo
);
}
performanceVo
.
setTicketVoList
(
ticketVoList
);
vo
.
setPerformanceVo
(
performanceVo
);
}
return
ResponseDto
.
success
(
vo
);
}
}
/* ------------------------------------------------------------------ */
/* ------------------------------------------------------------------ */
...
...
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