记得上下班打卡 | 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
d3664eb8
Commit
d3664eb8
authored
Jun 09, 2021
by
胡佳晨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交 同步 大麦
parent
3ebfd60d
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
100 additions
and
89 deletions
+100
-89
KylinOrderTicketsServiceImpl.java
...vice/kylin/service/impl/KylinOrderTicketsServiceImpl.java
+100
-89
No files found.
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinOrderTicketsServiceImpl.java
View file @
d3664eb8
...
...
@@ -107,13 +107,13 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
KylinPerformanceVo
performanceData
=
dataUtils
.
getPerformanceVo
(
payOrderParam
.
getPerformanceId
());
KylinTicketTimesVo
ticketTimesData
=
null
;
KylinTicketVo
ticketData
=
null
;
for
(
int
x
=
0
;
x
<
performanceData
.
getTicketTimeList
().
size
();
x
++)
{
for
(
int
x
=
0
;
x
<
performanceData
.
getTicketTimeList
().
size
();
x
++)
{
KylinTicketTimesVo
timeItem
=
performanceData
.
getTicketTimeList
().
get
(
x
);
if
(
timeItem
.
getTimeId
().
equals
(
payOrderParam
.
getTimeId
()))
{
if
(
timeItem
.
getTimeId
().
equals
(
payOrderParam
.
getTimeId
()))
{
ticketTimesData
=
timeItem
;
for
(
int
y
=
0
;
y
<
ticketTimesData
.
getTicketList
().
size
();
y
++)
{
for
(
int
y
=
0
;
y
<
ticketTimesData
.
getTicketList
().
size
();
y
++)
{
KylinTicketVo
ticketItem
=
ticketTimesData
.
getTicketList
().
get
(
y
);
if
(
ticketItem
.
getTimeId
().
equals
(
payOrderParam
.
getTicketId
()))
{
if
(
ticketItem
.
getTimeId
().
equals
(
payOrderParam
.
getTicketId
()))
{
ticketData
=
ticketItem
;
break
;
}
...
...
@@ -310,7 +310,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
}
}
lock
.
unlock
();
return
order
(
payOrderParam
,
uid
,
isMember
,
isTrueName
,
performanceData
,
ticketData
,
entersVoList
,
isStudent
);
return
order
(
payOrderParam
,
uid
,
isMember
,
isTrueName
,
performanceData
,
ticketData
,
entersVoList
,
isStudent
,
ticketTimesData
);
}
}
catch
(
Exception
e
)
{
if
(
isDownGeneral
)
{
...
...
@@ -323,7 +323,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
}
}
private
ResponseDto
<
PayResultVo
>
order
(
PayOrderParam
payOrderParam
,
String
uid
,
boolean
isMember
,
int
isTrueName
,
KylinPerformanceVo
performanceData
,
KylinTicketVo
ticketData
,
List
<
AdamEntersVo
>
entersVoList
,
Integer
isStudent
)
{
private
ResponseDto
<
PayResultVo
>
order
(
PayOrderParam
payOrderParam
,
String
uid
,
boolean
isMember
,
int
isTrueName
,
KylinPerformanceVo
performanceData
,
KylinTicketVo
ticketData
,
List
<
AdamEntersVo
>
entersVoList
,
Integer
isStudent
,
KylinTicketTimesVo
ticketTimesData
)
{
LinkedList
<
String
>
sqls
=
new
LinkedList
<>();
String
source
=
CurrentUtil
.
getCliSource
()
==
null
?
""
:
CurrentUtil
.
getCliSource
();
String
version
=
CurrentUtil
.
getCliVersion
()
==
null
?
""
:
CurrentUtil
.
getCliVersion
();
...
...
@@ -448,6 +448,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
orderTicketEntitiesVo
.
setTicketTitle
(
ticketData
.
getTitle
());
orderTicketEntitiesVo
.
setUseStart
(
ticketData
.
getUseStart
());
orderTicketEntitiesVo
.
setUseEnd
(
ticketData
.
getUseEnd
());
orderTicketEntitiesVo
.
setTicketsmId
(
ticketData
.
getMid
());
orderTicketEntitiesVo
.
setTimemId
(
ticketTimesData
.
getMid
());
orderTicketEntitiesVo
.
setCreatedAt
(
orderTicketEntities
.
getCreatedAt
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
orderTicketEntitiesVo
.
setUpdatedAt
(
null
);
mongoTemplate
.
insert
(
orderTicketEntitiesVo
,
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
());
...
...
@@ -481,6 +483,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
orderTicketEntitiesVo
.
setTicketTitle
(
ticketData
.
getTitle
());
orderTicketEntitiesVo
.
setUseStart
(
ticketData
.
getUseStart
());
orderTicketEntitiesVo
.
setUseEnd
(
ticketData
.
getUseEnd
());
orderTicketEntitiesVo
.
setTicketsmId
(
ticketData
.
getMid
());
orderTicketEntitiesVo
.
setTimemId
(
ticketTimesData
.
getMid
());
orderTicketEntitiesVo
.
setCreatedAt
(
orderTicketEntities
.
getCreatedAt
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
orderTicketEntitiesVo
.
setUpdatedAt
(
null
);
mongoTemplate
.
insert
(
orderTicketEntitiesVo
,
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
());
...
...
@@ -730,7 +734,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
// 发短信
// 大麦回调
// syc
Order(orderTickets.getOrderTicketsId());
sycDamai
Order
(
orderTickets
.
getOrderTicketsId
());
return
"success"
;
}
...
...
@@ -837,66 +841,61 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
@Override
public
boolean
checkOrderTime
(
String
userId
)
{
try
{
Query
query
=
new
Query
();
query
.
addCriteria
(
Criteria
.
where
(
"status"
).
is
(
KylinTableStatusConst
.
ORDER_STATUS0
).
and
(
"overdueAt"
).
lte
(
LocalDateTime
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
))));
if
(
null
!=
userId
)
{
query
.
addCriteria
(
Criteria
.
where
(
"userId"
).
is
(
userId
));
}
List
<
KylinOrderTicketVo
>
orderTicketVo
=
mongoTemplate
.
find
(
query
,
KylinOrderTicketVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
Query
query
=
new
Query
();
query
.
addCriteria
(
Criteria
.
where
(
"status"
).
is
(
KylinTableStatusConst
.
ORDER_STATUS0
).
and
(
"overdueAt"
).
lte
(
LocalDateTime
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
))));
if
(
null
!=
userId
)
{
query
.
addCriteria
(
Criteria
.
where
(
"userId"
).
is
(
userId
));
}
List
<
KylinOrderTicketVo
>
orderTicketVo
=
mongoTemplate
.
find
(
query
,
KylinOrderTicketVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
for
(
KylinOrderTicketVo
item
:
orderTicketVo
)
{
if
(!
RedisLockUtil
.
tryLock
(
"order_lock:"
+
item
.
getOrderCode
(),
240
,
240
))
{
continue
;
}
RLock
lock
=
redisLockUtil
.
lock
(
"order_lock:"
+
item
.
getOrderCode
(),
240
);
KylinOrderTicketVo
itemData
=
dataUtils
.
getOrderTicketVo
(
item
.
getOrderTicketsId
());
if
(
itemData
.
getStatus
()
==
KylinTableStatusConst
.
ORDER_STATUS0
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
try
{
//mysql
KylinOrderTickets
orderTickets
=
new
KylinOrderTickets
();
orderTickets
.
setOrderTicketsId
(
item
.
getOrderTicketsId
());
orderTickets
.
setUpdatedAt
(
now
);
KylinOrderTicketStatus
orderTicketStatus
=
new
KylinOrderTicketStatus
();
orderTicketStatus
.
setOrderId
(
item
.
getOrderTicketsId
());
orderTicketStatus
.
setStatus
(
KylinTableStatusConst
.
ORDER_STATUS2
);
orderTicketStatus
.
setUpdatedAt
(
now
);
//vo
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"status"
,
KylinTableStatusConst
.
ORDER_STATUS2
);
map
.
put
(
"updatedAt"
,
now
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
mongoTemplate
.
getCollection
(
KylinOrderTicketVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
is
(
orderTickets
.
getOrderTicketsId
())).
getQueryObject
(),
new
BasicDBObject
(
"$set"
,
mongoConverter
.
convertToMongoType
(
map
))
);
dataUtils
.
delOrderTicketRedis
(
orderTickets
.
getOrderTicketsId
());
dataUtils
.
changeSurplusGeneral
(
itemData
.
getTicketId
(),
itemData
.
getNumber
());
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL
,
MQConst
.
ROUTING_KEY_SQL
,
SqlMapping
.
get
(
"kylin_order_ticket.close"
,
orderTickets
.
getCloseOrderObject
()));
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL
,
MQConst
.
ROUTING_KEY_SQL
,
SqlMapping
.
get
(
"kylin_order_ticket_status.close"
,
orderTicketStatus
.
getCloseOrderObject
()));
}
catch
(
Exception
e
)
{
lock
.
unlock
();
e
.
printStackTrace
();
return
false
;
}
}
else
{
for
(
KylinOrderTicketVo
item
:
orderTicketVo
)
{
if
(!
RedisLockUtil
.
tryLock
(
"order_lock:"
+
item
.
getOrderCode
(),
240
,
240
))
{
continue
;
}
RLock
lock
=
redisLockUtil
.
lock
(
"order_lock:"
+
item
.
getOrderCode
(),
240
);
KylinOrderTicketVo
itemData
=
dataUtils
.
getOrderTicketVo
(
item
.
getOrderTicketsId
());
if
(
itemData
.
getStatus
()
==
KylinTableStatusConst
.
ORDER_STATUS0
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
try
{
//mysql
KylinOrderTickets
orderTickets
=
new
KylinOrderTickets
();
orderTickets
.
setOrderTicketsId
(
item
.
getOrderTicketsId
());
orderTickets
.
setUpdatedAt
(
now
);
KylinOrderTicketStatus
orderTicketStatus
=
new
KylinOrderTicketStatus
();
orderTicketStatus
.
setOrderId
(
item
.
getOrderTicketsId
());
orderTicketStatus
.
setStatus
(
KylinTableStatusConst
.
ORDER_STATUS2
);
orderTicketStatus
.
setUpdatedAt
(
now
);
//vo
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"status"
,
KylinTableStatusConst
.
ORDER_STATUS2
);
map
.
put
(
"updatedAt"
,
now
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
mongoTemplate
.
getCollection
(
KylinOrderTicketVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
is
(
orderTickets
.
getOrderTicketsId
())).
getQueryObject
(),
new
BasicDBObject
(
"$set"
,
mongoConverter
.
convertToMongoType
(
map
))
);
dataUtils
.
delOrderTicketRedis
(
orderTickets
.
getOrderTicketsId
());
dataUtils
.
changeSurplusGeneral
(
itemData
.
getTicketId
(),
itemData
.
getNumber
());
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL
,
MQConst
.
ROUTING_KEY_SQL
,
SqlMapping
.
get
(
"kylin_order_ticket.close"
,
orderTickets
.
getCloseOrderObject
()));
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL
,
MQConst
.
ROUTING_KEY_SQL
,
SqlMapping
.
get
(
"kylin_order_ticket_status.close"
,
orderTicketStatus
.
getCloseOrderObject
()));
}
catch
(
Exception
e
)
{
lock
.
unlock
();
e
.
printStackTrace
();
return
false
;
}
}
else
{
lock
.
unlock
();
}
return
true
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
false
;
}
return
true
;
}
@Override
...
...
@@ -924,34 +923,46 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
}
}
private
boolean
sycOrder
(
String
orderId
)
{
private
boolean
syc
Damai
Order
(
String
orderId
)
{
try
{
KylinOrderTicketVo
orderData
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
is
(
orderId
)),
KylinOrderTicketVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
List
<
KylinOrderTicketEntitiesVo
>
listData
=
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"orderId"
).
is
(
orderId
)),
KylinOrderTicketEntitiesVo
.
class
,
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
());
AlibabaDamaiMevOpenBatchpushticketRequest
req
=
new
AlibabaDamaiMevOpenBatchpushticketRequest
();
List
<
AlibabaDamaiMevOpenBatchpushticketRequest
.
ThirdTicketPushOpenParam
>
list2
=
new
ArrayList
<
AlibabaDamaiMevOpenBatchpushticketRequest
.
ThirdTicketPushOpenParam
>();
for
(
int
i
=
0
;
i
<
listData
.
size
();
i
++)
{
KylinOrderTicketEntitiesVo
item
=
listData
.
get
(
i
);
AlibabaDamaiMevOpenBatchpushticketRequest
.
ThirdTicketPushOpenParam
obj3
=
new
AlibabaDamaiMevOpenBatchpushticketRequest
.
ThirdTicketPushOpenParam
();
list2
.
add
(
obj3
);
obj3
.
setUserName
(
item
.
getEnterName
());
//用户名 入场人姓名
obj3
.
setCertificateNo
(
item
.
getEnterIdCode
());
//证件号 入场人身份证
obj3
.
setOrderUserMobile
(
item
.
getEnterMobile
());
//用户手机号 入场人手机号
obj3
.
setCertificateType
(
item
.
getEnterType
().
longValue
());
//证件内容 入场人证件type
obj3
.
setPayTime
(
DateUtils
.
parseDate
(
orderData
.
getTimePay
(),
new
String
[]{
"yyyy-MM-dd HH:mm:ss"
}));
//支付时间
// obj3.setPerformId(timemId);//场次id
// obj3.setTicketItemId(ticketsmId);
obj3
.
setVoucherId
(
item
.
getMid
().
longValue
());
//票单号 入场人id
obj3
.
setOrderId
(
Long
.
parseLong
(
orderData
.
getOrderTicketsId
()));
//订单id orderId
obj3
.
setMediumType
(
orderData
.
getGetTicketType
().
equals
(
"express"
)
?
1L
:
2L
);
//票类型 快递 电子
obj3
.
setSupplierSecret
(
taobaoTicketUtils
.
getSupplierSecret
());
obj3
.
setSystemId
(
taobaoTicketUtils
.
getSystemId
());
obj3
.
setSeatType
(
1L
);
obj3
.
setTicketType
(
1L
);
//票类型
KylinOrderTicketVo
orderData
=
dataUtils
.
getOrderTicketVo
(
orderId
);
KylinPerformanceVo
vo
=
dataUtils
.
getPerformanceVo
(
orderData
.
getPerformanceId
());
int
isSysDamai
=
0
;
for
(
int
x
=
0
;
x
<
vo
.
getTicketTimeList
().
size
();
x
++)
{
KylinTicketTimesVo
timeItem
=
vo
.
getTicketTimeList
().
get
(
x
);
for
(
int
y
=
0
;
y
<
timeItem
.
getTicketList
().
size
();
y
++)
{
KylinTicketVo
ticketItem
=
timeItem
.
getTicketList
().
get
(
y
);
if
(
ticketItem
.
getTimeId
().
equals
(
orderData
.
getTicketId
()))
{
isSysDamai
=
ticketItem
.
getSysDamai
();
break
;
}
}
}
if
(
isSysDamai
==
1
)
{
List
<
KylinOrderTicketEntitiesVo
>
listData
=
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"orderId"
).
is
(
orderId
)),
KylinOrderTicketEntitiesVo
.
class
,
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
());
AlibabaDamaiMevOpenBatchpushticketRequest
req
=
new
AlibabaDamaiMevOpenBatchpushticketRequest
();
List
<
AlibabaDamaiMevOpenBatchpushticketRequest
.
ThirdTicketPushOpenParam
>
list2
=
new
ArrayList
<
AlibabaDamaiMevOpenBatchpushticketRequest
.
ThirdTicketPushOpenParam
>();
for
(
int
i
=
0
;
i
<
listData
.
size
();
i
++)
{
KylinOrderTicketEntitiesVo
item
=
listData
.
get
(
i
);
AlibabaDamaiMevOpenBatchpushticketRequest
.
ThirdTicketPushOpenParam
obj3
=
new
AlibabaDamaiMevOpenBatchpushticketRequest
.
ThirdTicketPushOpenParam
();
list2
.
add
(
obj3
);
obj3
.
setUserName
(
item
.
getEnterName
());
//用户名 入场人姓名
obj3
.
setCertificateNo
(
item
.
getEnterIdCode
());
//证件号 入场人身份证
obj3
.
setOrderUserMobile
(
item
.
getEnterMobile
());
//用户手机号 入场人手机号
obj3
.
setCertificateType
(
item
.
getEnterType
().
longValue
());
//证件内容 入场人证件type
obj3
.
setPayTime
(
DateUtils
.
parseDate
(
orderData
.
getTimePay
(),
new
String
[]{
"yyyy-MM-dd HH:mm:ss"
}));
//支付时间
obj3
.
setPerformId
(
item
.
getTimemId
().
longValue
());
//场次id
obj3
.
setTicketItemId
(
item
.
getTicketsmId
().
longValue
());
obj3
.
setVoucherId
(
item
.
getMid
().
longValue
());
//票单号 入场人id
obj3
.
setOrderId
(
Long
.
parseLong
(
orderData
.
getOrderTicketsId
()));
//订单id orderId
obj3
.
setMediumType
(
orderData
.
getGetTicketType
().
equals
(
"express"
)
?
1L
:
2L
);
//票类型 快递 电子
obj3
.
setSupplierSecret
(
taobaoTicketUtils
.
getSupplierSecret
());
obj3
.
setSystemId
(
taobaoTicketUtils
.
getSystemId
());
obj3
.
setSeatType
(
1L
);
obj3
.
setTicketType
(
1L
);
//票类型
}
}
return
true
;
}
catch
(
Exception
e
)
{
...
...
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