记得上下班打卡 | 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
9eb9fee2
Commit
9eb9fee2
authored
Jul 05, 2021
by
jiangxiulong
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'test'
parents
ba9317e8
02899791
Changes
31
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
375 additions
and
1140 deletions
+375
-1140
IKylinOrderTicketsOrderService.java
...service/kylin/service/IKylinOrderTicketsOrderService.java
+34
-0
IKylinOrderTicketsService.java
...dnet/service/kylin/service/IKylinOrderTicketsService.java
+0
-25
pom.xml
...liquidnet-client-admin/liquidnet-client-admin-web/pom.xml
+15
-0
banners.html
...n/resources/templates/zhengzai/kylin/banners/banners.html
+1
-1
TestLocal.java
...b/src/test/java/com.liquidnet.client.admin/TestLocal.java
+50
-0
KylinBannersServiceImpl.java
.../zhengzai/kylin/service/impl/KylinBannersServiceImpl.java
+1
-9
KylinRefundsStatusServiceImpl.java
...zai/kylin/service/impl/KylinRefundsStatusServiceImpl.java
+31
-0
DataUtils.java
...iquidnet/client/admin/zhengzai/kylin/utils/DataUtils.java
+14
-0
WebMvcConfig.java
...in/java/com/liquidnet/common/web/config/WebMvcConfig.java
+10
-7
GlobalAuthorityInterceptor.java
...quidnet/common/web/filter/GlobalAuthorityInterceptor.java
+1
-12
GlobalLogTrackInterceptor.java
...iquidnet/common/web/filter/GlobalLogTrackInterceptor.java
+31
-0
liquidnet-service-adam.yml
...et-bus-config/liquidnet-config/liquidnet-service-adam.yml
+2
-2
liquidnet-service-consumer-adam.yml
...nfig/liquidnet-config/liquidnet-service-consumer-adam.yml
+2
-2
liquidnet-service-consumer.yml
...us-config/liquidnet-config/liquidnet-service-consumer.yml
+2
-2
liquidnet-service-kylin.yml
...t-bus-config/liquidnet-config/liquidnet-service-kylin.yml
+2
-2
liquidnet-service-order.yml
...t-bus-config/liquidnet-config/liquidnet-service-order.yml
+2
-2
liquidnet-service-platform.yml
...us-config/liquidnet-config/liquidnet-service-platform.yml
+2
-2
KylinBannersMapper.java
...om/liquidnet/service/kylin/mapper/KylinBannersMapper.java
+1
-2
KylinBannersMapper.xml
...com.liquidnet.service.kylin.mapper/KylinBannersMapper.xml
+5
-23
ConsumerAdamUCenterProcessor.java
...sumer/service/processor/ConsumerAdamUCenterProcessor.java
+125
-0
ConsumerAdamUCenterProcessorTest.java
...r/service/processor/ConsumerAdamUCenterProcessorTest.java
+2
-2
mongo_db_ddl-prod.sql
...n/liquidnet-service-kylin-impl/docu/mongo_db_ddl-prod.sql
+4
-4
mongo_db_ddl.sql
...-kylin/liquidnet-service-kylin-impl/docu/mongo_db_ddl.sql
+4
-4
taobao-sdk-java-auto_1600401599540-20210607-impl.jar
.../lib/taobao-sdk-java-auto_1600401599540-20210607-impl.jar
+0
-0
pom.xml
...uidnet-service-kylin/liquidnet-service-kylin-impl/pom.xml
+0
-8
KylinOrderTicketsServiceImpl.java
...vice/kylin/service/impl/KylinOrderTicketsServiceImpl.java
+16
-944
TaobaoTicketUtils.java
.../com/liquidnet/service/kylin/utils/TaobaoTicketUtils.java
+0
-34
KylinOrderTicketsController.java
...service/order/controller/KylinOrderTicketsController.java
+6
-8
KylinOrderTicketsServiceImpl.java
...vice/order/service/impl/KylinOrderTicketsServiceImpl.java
+2
-43
KylinRefundsStatusServiceImpl.java
...latform/service/refund/KylinRefundsStatusServiceImpl.java
+2
-0
OrderRefundsCallbackServiceImpl.java
...tform/service/refund/OrderRefundsCallbackServiceImpl.java
+8
-2
No files found.
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/service/IKylinOrderTicketsOrderService.java
0 → 100644
View file @
9eb9fee2
package
com
.
liquidnet
.
service
.
kylin
.
service
;
import
com.github.pagehelper.PageInfo
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.kylin.dto.param.PayAgainParam
;
import
com.liquidnet.service.kylin.dto.param.PayOrderParam
;
import
com.liquidnet.service.kylin.dto.param.SyncOrderParam
;
import
com.liquidnet.service.kylin.dto.vo.returns.*
;
import
java.util.List
;
/**
* <p>
* 订单 服务类
* </p>
*
* @author liquidnet
* @since 2021-05-20
*/
public
interface
IKylinOrderTicketsOrderService
{
// 下单前判断接口(判断是否可锁定库存)(无订单->待支付->可支付)
ResponseDto
<
PayResultVo
>
checkCanOrder
(
PayOrderParam
payOrderParam
);
// 再次支付(待支付->可支付->倒计时结束释放库存)
ResponseDto
<
PayResultVo
>
payAgain
(
PayAgainParam
payAgainParam
);
// 支付回调(待支付->已支付->中断倒计时)
String
syncOrder
(
SyncOrderParam
syncOrderParam
);
//去 PHP pay检查 订单状态
ResponseDto
<
Integer
>
checkOrderResult
(
String
orderId
);
}
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/service/IKylinOrderTicketsService.java
View file @
9eb9fee2
...
...
@@ -22,26 +22,12 @@ import java.util.List;
*/
public
interface
IKylinOrderTicketsService
{
// 下单前判断接口(判断是否可锁定库存)(无订单->待支付->可支付)
ResponseDto
<
PayResultVo
>
checkCanOrder
(
PayOrderParam
payOrderParam
);
// 再次支付(待支付->可支付->倒计时结束释放库存)
ResponseDto
<
PayResultVo
>
payAgain
(
PayAgainParam
payAgainParam
);
// 支付回调(待支付->已支付->中断倒计时)
String
syncOrder
(
SyncOrderParam
syncOrderParam
);
// 同步大麦数据接口
//订单列表(状态 待支付 已支付 倒计时 已失效)
PageInfo
<
List
<
KylinOrderListVo
>>
orderList
();
//订单详情
OrderDetailsVo
orderDetails
(
String
orderId
);
//去 PHP pay检查 订单状态
ResponseDto
<
Integer
>
checkOrderResult
(
String
orderId
);
//订单未支付数量
ResponseDto
<
Integer
>
orderUnPayCount
();
...
...
@@ -63,15 +49,4 @@ public interface IKylinOrderTicketsService {
//退款撤回
ResponseDto
<
Boolean
>
orderRefundWithdraw
(
String
orderRefundsId
);
//退款再次申请
Boolean
orderRefundAgain
(
String
orderRefundsId
);
// 下单接口(无订单->待支付->可支付)
// 删除订单
// 代理票务 可买状态判断
// 取消支付(待支付->订单失效->释放库存->中断倒计时)
// ResponseDto<PayResultVo> order(PayOrderParam payOrderParam, String uid, boolean isMember, int isTrueName, KylinPerformanceVo performanceData, KylinTicketVo ticketData,Object adamEntersList);
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/pom.xml
View file @
9eb9fee2
...
...
@@ -96,6 +96,21 @@
<groupId>
com.liquidnet
</groupId>
<artifactId>
liquidnet-client-admin-generator
</artifactId>
</dependency>
<dependency>
<groupId>
junit
</groupId>
<artifactId>
junit
</artifactId>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-test
</artifactId>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-test
</artifactId>
<scope>
test
</scope>
</dependency>
</dependencies>
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/templates/zhengzai/kylin/banners/banners.html
View file @
9eb9fee2
...
...
@@ -25,7 +25,7 @@
<label>
是否上线:
</label>
<select
name=
"isOnline"
>
<option
value=
""
>
全部
</option>
<option
value=
"
0
"
>
下线
</option>
<option
value=
"
88
"
>
下线
</option>
<option
value=
"1"
>
上线
</option>
</select>
</li>
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/test/java/com.liquidnet.client.admin/TestLocal.java
0 → 100644
View file @
9eb9fee2
package
com
.
liquidnet
.
client
.
admin
;
import
com.liquidnet.service.kylin.constant.KylinTableStatusConst
;
import
com.liquidnet.service.kylin.dto.vo.returns.KylinOrderRefundsVo
;
import
com.liquidnet.service.kylin.entity.KylinOrderRefunds
;
import
com.mongodb.BasicDBObject
;
import
com.mongodb.client.result.UpdateResult
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.convert.MongoConverter
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner
;
import
java.time.LocalDateTime
;
/**
* Test
*/
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@SpringBootTest
public
class
TestLocal
{
@Autowired
private
MongoTemplate
mongoTemplate
;
@Autowired
MongoConverter
mongoConverter
;
@Test
public
void
updateAt
(){
KylinOrderRefunds
kylinOrderRefunds
=
new
KylinOrderRefunds
();
kylinOrderRefunds
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPLY
);
kylinOrderRefunds
.
setApplicantId
(
"1111"
);
kylinOrderRefunds
.
setApplicantName
(
"2222"
);
kylinOrderRefunds
.
setApplicantAt
(
LocalDateTime
.
now
());
KylinOrderRefundsVo
kylinOrderRefundsVo
=
new
KylinOrderRefundsVo
();
BeanUtils
.
copyProperties
(
kylinOrderRefunds
,
kylinOrderRefundsVo
);
kylinOrderRefundsVo
.
setUpdatedAt
(
LocalDateTime
.
now
());
BasicDBObject
EntitiesVov
=
new
BasicDBObject
(
"$set"
,
mongoConverter
.
convertToMongoType
(
kylinOrderRefundsVo
));
UpdateResult
updateResult
=
mongoTemplate
.
getCollection
(
KylinOrderRefundsVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"orderRefundsId"
).
in
(
"2767295925071872949890"
)).
getQueryObject
(),
EntitiesVov
);
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/kylin/service/impl/KylinBannersServiceImpl.java
View file @
9eb9fee2
...
...
@@ -38,6 +38,7 @@ import org.springframework.util.StringUtils;
import
java.time.LocalDateTime
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* <p>
...
...
@@ -244,15 +245,6 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
return
pageInfoTmp
;
}
public
Long
bannerListCount
(
BannersSearchParam
bannersSearchParam
)
{
try
{
Long
count
=
bannersMapper
.
searchBannersCount
(
BeanUtil
.
convertBeanToMap
(
bannersSearchParam
));
return
count
;
}
catch
(
Exception
e
)
{
return
0L
;
}
}
public
Boolean
delete
(
List
<
String
>
bannersId
)
{
try
{
LocalDateTime
updatedAt
=
LocalDateTime
.
now
();
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/kylin/service/impl/KylinRefundsStatusServiceImpl.java
View file @
9eb9fee2
...
...
@@ -37,6 +37,7 @@ import org.springframework.util.MultiValueMap;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.stream.Collectors
;
...
...
@@ -309,6 +310,15 @@ public class KylinRefundsStatusServiceImpl {
);
}
List
<
String
>
orderRefundIds
=
refundList
.
stream
().
map
(
KylinOrderRefunds
->
KylinOrderRefunds
.
getOrderRefundsId
()).
collect
(
Collectors
.
toList
()
);
List
<
String
>
orderIds
=
refundList
.
stream
().
map
(
KylinOrderRefunds
->
KylinOrderRefunds
.
getOrderTicketsId
()).
collect
(
Collectors
.
toList
()
);
dataUtils
.
delOrderRefundVo
(
orderRefundIds
);
dataUtils
.
delOrderRefundVoByOrderId
(
orderIds
);
return
true
;
}
...
...
@@ -351,6 +361,9 @@ public class KylinRefundsStatusServiceImpl {
List
<
String
>
orderRefundIds
=
refundList
.
stream
().
map
(
KylinOrderRefunds
->
KylinOrderRefunds
.
getOrderRefundsId
()).
collect
(
Collectors
.
toList
()
);
List
<
String
>
orderIds
=
refundList
.
stream
().
map
(
KylinOrderRefunds
->
KylinOrderRefunds
.
getOrderTicketsId
()).
collect
(
Collectors
.
toList
()
);
kylinOrderRefundsMapper
.
update
(
kylinOrderRefunds
,
new
UpdateWrapper
<
KylinOrderRefunds
>().
in
(
"order_refunds_id"
,
orderRefundIds
)
...
...
@@ -363,6 +376,8 @@ public class KylinRefundsStatusServiceImpl {
Query
.
query
(
Criteria
.
where
(
"orderRefundsId"
).
in
(
orderRefundIds
)).
getQueryObject
(),
object
);
dataUtils
.
delOrderRefundVo
(
orderRefundIds
);
dataUtils
.
delOrderRefundVoByOrderId
(
orderIds
);
return
true
;
}
...
...
@@ -416,6 +431,15 @@ public class KylinRefundsStatusServiceImpl {
);
}
List
<
String
>
orderRefundIds
=
refundList
.
stream
().
map
(
KylinOrderRefunds
->
KylinOrderRefunds
.
getOrderRefundsId
()).
collect
(
Collectors
.
toList
()
);
List
<
String
>
orderIds
=
refundList
.
stream
().
map
(
KylinOrderRefunds
->
KylinOrderRefunds
.
getOrderTicketsId
()).
collect
(
Collectors
.
toList
()
);
dataUtils
.
delOrderRefundVo
(
orderRefundIds
);
dataUtils
.
delOrderRefundVoByOrderId
(
orderIds
);
return
true
;
}
...
...
@@ -549,6 +573,13 @@ public class KylinRefundsStatusServiceImpl {
object
);
List
<
String
>
orderRefundIds
=
new
ArrayList
<>();
orderRefundIds
.
add
(
refundInfo
.
getOrderRefundsId
());
List
<
String
>
orderIds
=
new
ArrayList
<>();
orderIds
.
add
(
orderTicketsId
);
dataUtils
.
delOrderRefundVo
(
orderRefundIds
);
dataUtils
.
delOrderRefundVoByOrderId
(
orderIds
);
if
(
refundInfo
.
getType
()
==
KylinTableStatusConst
.
ORDER_REFUND_TYPE_APPLY
)
{
// 退还库存
for
(
String
entitiesId
:
orderTicketEntitiesIdsArr
)
{
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/kylin/utils/DataUtils.java
View file @
9eb9fee2
...
...
@@ -278,4 +278,18 @@ public class DataUtils {
String
redisKey
=
KylinRedisConst
.
ORDER_EXPRESS_INFO
.
concat
(
orderId
);
redisUtil
.
del
(
redisKey
);
}
/**
* 退款redis
*/
public
void
delOrderRefundVo
(
List
<
String
>
orderRefundIds
){
for
(
String
id
:
orderRefundIds
)
{
redisUtil
.
del
(
KylinRedisConst
.
ORDER_REFUND
.
concat
(
id
));
}
}
public
void
delOrderRefundVoByOrderId
(
List
<
String
>
orderIds
){
for
(
String
id
:
orderIds
)
{
redisUtil
.
del
(
KylinRedisConst
.
ORDER_REFUND_BY_ORDER_ID
.
concat
(
id
));
}
}
}
liquidnet-bus-common/liquidnet-common-web/src/main/java/com/liquidnet/common/web/config/WebMvcConfig.java
View file @
9eb9fee2
package
com
.
liquidnet
.
common
.
web
.
config
;
import
com.liquidnet.common.web.filter.GlobalLogTrackInterceptor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.servlet.config.annotation.InterceptorRegistry
;
import
org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry
;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport
;
@Configuration
public
class
WebMvcConfig
extends
WebMvcConfigurationSupport
{
//
@Autowired
// GlobalAuthorityInterceptor globalAuthority
Interceptor;
@Autowired
GlobalLogTrackInterceptor
globalLogTrack
Interceptor
;
@Override
public
void
addResourceHandlers
(
ResourceHandlerRegistry
registry
)
{
...
...
@@ -26,11 +29,11 @@ public class WebMvcConfig extends WebMvcConfigurationSupport {
super
.
addResourceHandlers
(
registry
);
}
//
@Override
//
protected void addInterceptors(InterceptorRegistry registry) {
// registry.addInterceptor(globalAuthority
Interceptor).addPathPatterns("/**");
//
super.addInterceptors(registry);
//
}
@Override
protected
void
addInterceptors
(
InterceptorRegistry
registry
)
{
registry
.
addInterceptor
(
globalLogTrack
Interceptor
).
addPathPatterns
(
"/**"
);
super
.
addInterceptors
(
registry
);
}
// @Bean
// public FilterRegistrationBean domainCrossFilterBean(){
...
...
liquidnet-bus-common/liquidnet-common-web/src/main/java/com/liquidnet/common/web/filter/GlobalAuthorityInterceptor.java
View file @
9eb9fee2
...
...
@@ -11,6 +11,7 @@ import io.jsonwebtoken.ExpiredJwtException;
import
lombok.Data
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.MDC
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.core.env.Environment
;
...
...
@@ -38,7 +39,6 @@ public class GlobalAuthorityInterceptor extends HandlerInterceptorAdapter {
private
static
final
String
TOKEN_KICK
=
"40002"
;
private
static
final
String
TOKEN_INVALID
=
"40003"
;
private
static
final
String
START_TIME
=
"_startTime"
;
private
static
final
String
ENV_PROD
=
"prod"
;
private
static
final
String
ENV_ACTIVE
=
"spring.profiles.active"
;
...
...
@@ -55,8 +55,6 @@ public class GlobalAuthorityInterceptor extends HandlerInterceptorAdapter {
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
request
.
setAttribute
(
START_TIME
,
System
.
currentTimeMillis
());
String
authorization
=
request
.
getHeader
(
CurrentUtil
.
uToken
),
uri
=
request
.
getRequestURI
(),
responseCode
=
null
,
token
=
null
,
currentUid
=
null
;
...
...
@@ -103,15 +101,6 @@ public class GlobalAuthorityInterceptor extends HandlerInterceptorAdapter {
return
false
;
}
@Override
public
void
afterCompletion
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
Exception
ex
)
throws
Exception
{
// if (!StringUtils.equalsIgnoreCase(env.getProperty(ENV_ACTIVE), ENV_PROD)) {
Long
endTime
=
System
.
currentTimeMillis
();
Long
startTime
=
(
Long
)
request
.
getAttribute
(
START_TIME
);
log
.
info
(
"[{}]耗时:{}s"
,
request
.
getRequestURI
(),
((
endTime
-
startTime
)
*
1.000
)
/
1000
);
// }
}
private
void
responseHandler
(
HttpServletResponse
response
,
String
responseCode
)
throws
IOException
{
ResponseDto
<
Object
>
responseDto
=
ResponseDto
.
failure
(
ErrorMapping
.
get
(
responseCode
));
response
.
setCharacterEncoding
(
StandardCharsets
.
UTF_8
.
name
());
...
...
liquidnet-bus-common/liquidnet-common-web/src/main/java/com/liquidnet/common/web/filter/GlobalLogTrackInterceptor.java
0 → 100644
View file @
9eb9fee2
package
com
.
liquidnet
.
common
.
web
.
filter
;
import
lombok.Data
;
import
lombok.extern.slf4j.Slf4j
;
import
org.slf4j.MDC
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.servlet.handler.HandlerInterceptorAdapter
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
@Slf4j
@Data
@Component
public
class
GlobalLogTrackInterceptor
extends
HandlerInterceptorAdapter
{
private
static
final
String
LNS_TRANCE_ID
=
"lnsTranceId"
;
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
String
t
=
MDC
.
get
(
LNS_TRANCE_ID
);
MDC
.
put
(
LNS_TRANCE_ID
,
null
==
t
?
String
.
valueOf
(
System
.
nanoTime
())
:
t
);
return
true
;
}
@Override
public
void
afterCompletion
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
Exception
ex
)
throws
Exception
{
long
e
=
Long
.
parseLong
(
MDC
.
get
(
LNS_TRANCE_ID
));
log
.
info
(
"[{}]耗时:{}ms"
,
request
.
getRequestURI
(),
(
System
.
nanoTime
()
-
e
)
/
1000000
);
MDC
.
clear
();
}
}
liquidnet-bus-config/liquidnet-config/liquidnet-service-adam.yml
View file @
9eb9fee2
...
...
@@ -24,8 +24,8 @@ logging:
name
:
${liquidnet.logfile.path}/${liquidnet.logfile.name}.log
max-size
:
${liquidnet.logfile.file-max-size}
pattern
:
file
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
[
%-5level]
%thread
[%logger{96}:%line]
-
%msg%n'
console
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
[
%-5level]
%thread
[%logger{96}:%line]
-
%msg%n'
file
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
%-5level
%X{lnsTranceId}
[%logger{96}:%line]
-
%msg%n'
console
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
%-5level
%X{lnsTranceId}
[%logger{96}:%line]
-
%msg%n'
rolling-file-name
:
${liquidnet.logfile.path}/${liquidnet.logfile.name}-%d{yyyy-MM-dd}.%i.log
level
:
root
:
info
...
...
liquidnet-bus-config/liquidnet-config/liquidnet-service-consumer-adam.yml
View file @
9eb9fee2
...
...
@@ -18,8 +18,8 @@ logging:
name
:
${liquidnet.logfile.path}/${liquidnet.logfile.name}.log
max-size
:
200MB
pattern
:
file
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
[
%-5level]
%thread
[%logger{
9
6}:%line]
-
%msg%n'
console
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
[
%-5level]
%thread
[%logger{
9
6}:%line]
-
%msg%n'
file
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
[
%-5level]
%thread
[%logger{
2
6}:%line]
-
%msg%n'
console
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
[
%-5level]
%thread
[%logger{
2
6}:%line]
-
%msg%n'
rolling-file-name
:
${liquidnet.logfile.path}/${liquidnet.logfile.name}-%d{yyyy-MM-dd}.%i.log
level
:
root
:
info
...
...
liquidnet-bus-config/liquidnet-config/liquidnet-service-consumer.yml
View file @
9eb9fee2
...
...
@@ -18,8 +18,8 @@ logging:
name
:
${liquidnet.logfile.path}/${liquidnet.logfile.name}.log
max-size
:
200MB
pattern
:
file
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
[
%-5level]
%thread
[%logger{
9
6}:%line]
-
%msg%n'
console
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
[
%-5level]
%thread
[%logger{
9
6}:%line]
-
%msg%n'
file
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
[
%-5level]
%thread
[%logger{
2
6}:%line]
-
%msg%n'
console
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
[
%-5level]
%thread
[%logger{
2
6}:%line]
-
%msg%n'
rolling-file-name
:
${liquidnet.logfile.path}/${liquidnet.logfile.name}-%d{yyyy-MM-dd}.%i.log
level
:
root
:
info
...
...
liquidnet-bus-config/liquidnet-config/liquidnet-service-kylin.yml
View file @
9eb9fee2
...
...
@@ -24,8 +24,8 @@ logging:
name
:
${liquidnet.logfile.path}/${liquidnet.logfile.name}.log
max-size
:
${liquidnet.logfile.file-max-size}
pattern
:
file
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
[
%-5level]
%thread
[%logger{96}:%line]
-
%msg%n'
console
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
[
%-5level]
%thread
[%logger{96}:%line]
-
%msg%n'
file
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
%-5level
%X{lnsTranceId}
[%logger{96}:%line]
-
%msg%n'
console
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
%-5level
%X{lnsTranceId}
[%logger{96}:%line]
-
%msg%n'
rolling-file-name
:
${liquidnet.logfile.path}/${liquidnet.logfile.name}-%d{yyyy-MM-dd}.%i.log
level
:
root
:
info
...
...
liquidnet-bus-config/liquidnet-config/liquidnet-service-order.yml
View file @
9eb9fee2
...
...
@@ -24,8 +24,8 @@ logging:
name
:
${liquidnet.logfile.path}/${liquidnet.logfile.name}.log
max-size
:
${liquidnet.logfile.file-max-size}
pattern
:
file
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
[
%-5level]
%thread
[%logger{96}:%line]
-
%msg%n'
console
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
[
%-5level]
%thread
[%logger{96}:%line]
-
%msg%n'
file
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
%-5level
%X{lnsTranceId}
[%logger{96}:%line]
-
%msg%n'
console
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
%-5level
%X{lnsTranceId}
[%logger{96}:%line]
-
%msg%n'
rolling-file-name
:
${liquidnet.logfile.path}/${liquidnet.logfile.name}-%d{yyyy-MM-dd}.%i.log
level
:
root
:
info
...
...
liquidnet-bus-config/liquidnet-config/liquidnet-service-platform.yml
View file @
9eb9fee2
...
...
@@ -24,8 +24,8 @@ logging:
name
:
${liquidnet.logfile.path}/${liquidnet.logfile.name}.log
max-size
:
${liquidnet.logfile.file-max-size}
pattern
:
file
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
[
%-5level]
%thread
[%logger{96}:%line]
-
%msg%n'
console
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
[
%-5level]
%thread
[%logger{96}:%line]
-
%msg%n'
file
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
%-5level
%X{lnsTranceId}
[%logger{96}:%line]
-
%msg%n'
console
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
%-5level
%X{lnsTranceId}
[%logger{96}:%line]
-
%msg%n'
rolling-file-name
:
${liquidnet.logfile.path}/${liquidnet.logfile.name}-%d{yyyy-MM-dd}.%i.log
level
:
root
:
info
...
...
liquidnet-bus-do/liquidnet-service-kylin-do/src/main/java/com/liquidnet/service/kylin/mapper/KylinBannersMapper.java
View file @
9eb9fee2
...
...
@@ -4,6 +4,7 @@ import com.liquidnet.service.kylin.dao.BannerDetailsDao;
import
com.liquidnet.service.kylin.dao.BannerDetailsListDao
;
import
com.liquidnet.service.kylin.entity.KylinBanners
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -21,6 +22,4 @@ public interface KylinBannersMapper extends BaseMapper<KylinBanners> {
BannerDetailsDao
detail
(
String
bannersId
);
//列表
List
<
BannerDetailsListDao
>
searchBannersList
(
Map
<
String
,
Object
>
map
);
//分页数量
long
searchBannersCount
(
Map
<
String
,
Object
>
map
);
}
liquidnet-bus-do/liquidnet-service-kylin-do/src/main/resources/com.liquidnet.service.kylin.mapper/KylinBannersMapper.xml
View file @
9eb9fee2
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.liquidnet.service.kylin.mapper.KylinBannersMapper"
>
<select
id=
"detail"
parameterType=
"java.lang.String"
>
<select
id=
"detail"
parameterType=
"java.lang.String"
resultType=
"com.liquidnet.service.kylin.dao.BannerDetailsDao"
>
SELECT
*
FROM kylin_banners
...
...
@@ -22,9 +22,12 @@
<if
test=
"targetType != ''"
>
AND target_type=${targetType}
</if>
<if
test=
"isOnline != ''"
>
<if
test=
"isOnline != ''
and isOnline != 88
"
>
AND is_online=${isOnline}
</if>
<if
test=
"isOnline == 88 "
>
AND is_online=0
</if>
<if
test=
"promotionType != ''"
>
AND promotion_type=${promotionType}
</if>
...
...
@@ -32,25 +35,4 @@
ORDER BY banners_sort DESC
</select>
<!-- admin banner列表数量 -->
<select
id=
"searchBannersCount"
parameterType=
"java.util.Map"
resultType=
"long"
>
SELECT COUNT(0)
FROM kylin_banners
<where>
is_deleted = 1
<if
test=
"bannersName != ''"
>
AND banners_name LIKE concat('%', #{bannersName}, '%')
</if>
<if
test=
"targetType != ''"
>
AND target_type=#{targetType}
</if>
<if
test=
"isOnline != ''"
>
AND is_online=#{isOnline}
</if>
<if
test=
"promotionType != ''"
>
AND promotion_type=#{promotionType}
</if>
</where>
</select>
</mapper>
liquidnet-bus-service/liquidnet-service-consumer-adam/src/main/java/com/liquidnet/service/consumer/service/processor/ConsumerAdamProcessor.java
→
liquidnet-bus-service/liquidnet-service-consumer-adam/src/main/java/com/liquidnet/service/consumer/service/processor/ConsumerAdam
UCenter
Processor.java
View file @
9eb9fee2
...
...
@@ -25,7 +25,7 @@ import java.io.IOException;
*/
@Slf4j
@Component
public
class
ConsumerAdamProcessor
{
public
class
ConsumerAdam
UCenter
Processor
{
@Resource
IBaseDao
baseDao
;
...
...
@@ -81,115 +81,43 @@ public class ConsumerAdamProcessor {
/* ================================================================== | 用户注册 */
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SQL_UCENTER
),
key
=
MQConst
.
RK_SQL_UREGISTER
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_UREGISTER
)
))
public
void
consumerSqlForURegisterA
(
Message
msg
,
Channel
channel
)
{
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SQL_UCENTER
),
key
=
MQConst
.
RK_SQL_UREGISTER
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_UREGISTER
)
))
public
void
consumerSqlForURegisterB
(
Message
msg
,
Channel
channel
)
{
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SQL_UCENTER
),
key
=
MQConst
.
RK_SQL_UREGISTER
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_UREGISTER
)
))
public
void
consumerSqlForURegisterC
(
Message
msg
,
Channel
channel
)
{
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SQL_UCENTER
),
key
=
MQConst
.
RK_SQL_UREGISTER
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_UREGISTER
)
))
public
void
consumerSqlForURegisterD
(
Message
msg
,
Channel
channel
)
{
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SQL_UCENTER
),
key
=
MQConst
.
RK_SQL_UREGISTER
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_UREGISTER
)
))
public
void
consumerSqlForURegisterE
(
Message
msg
,
Channel
channel
)
{
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SQL_UCENTER
),
key
=
MQConst
.
RK_SQL_UREGISTER
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_UREGISTER
)
),
concurrency
=
"5"
)
public
void
consumerSqlForURegister
(
Message
msg
,
Channel
channel
)
{
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
/* ================================================================== | 用户信息 */
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SQL_UCENTER
),
key
=
MQConst
.
RK_SQL_UCENTER
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_UCENTER
)
))
public
void
consumerSqlForUCenterA
(
Message
msg
,
Channel
channel
)
{
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SQL_UCENTER
),
key
=
MQConst
.
RK_SQL_UCENTER
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_UCENTER
)
))
public
void
consumerSqlForUCenterB
(
Message
msg
,
Channel
channel
)
{
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SQL_UCENTER
),
key
=
MQConst
.
RK_SQL_UCENTER
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_UCENTER
)
))
public
void
consumerSqlForUCenterC
(
Message
msg
,
Channel
channel
)
{
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SQL_UCENTER
),
key
=
MQConst
.
RK_SQL_UCENTER
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_UCENTER
)
))
public
void
consumerSqlForUCenterD
(
Message
msg
,
Channel
channel
)
{
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SQL_UCENTER
),
key
=
MQConst
.
RK_SQL_UCENTER
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_UCENTER
)
))
public
void
consumerSqlForUCenterE
(
Message
msg
,
Channel
channel
)
{
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SQL_UCENTER
),
key
=
MQConst
.
RK_SQL_UCENTER
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_UCENTER
)
),
concurrency
=
"5"
)
public
void
consumerSqlForUCenter
(
Message
msg
,
Channel
channel
)
{
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
/* ================================================================== | 会员购买 */
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SQL_UCENTER
),
key
=
MQConst
.
RK_SQL_UMEMBER
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_UMEMBER
)
))
public
void
consumerSqlForUMemberA
(
Message
msg
,
Channel
channel
)
{
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SQL_UCENTER
),
key
=
MQConst
.
RK_SQL_UMEMBER
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_UMEMBER
)
))
public
void
consumerSqlForUMemberB
(
Message
msg
,
Channel
channel
)
{
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SQL_UCENTER
),
key
=
MQConst
.
RK_SQL_UMEMBER
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_UMEMBER
)
))
public
void
consumerSqlForUMemberC
(
Message
msg
,
Channel
channel
)
{
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SQL_UCENTER
),
key
=
MQConst
.
RK_SQL_UMEMBER
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_UMEMBER
)
))
public
void
consumerSqlForUMemberD
(
Message
msg
,
Channel
channel
)
{
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SQL_UCENTER
),
key
=
MQConst
.
RK_SQL_UMEMBER
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_UMEMBER
)
))
public
void
consumerSqlForUMemberE
(
Message
msg
,
Channel
channel
)
{
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SQL_UCENTER
),
key
=
MQConst
.
RK_SQL_UMEMBER
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_UMEMBER
)
),
concurrency
=
"5"
)
public
void
consumerSqlForUMember
(
Message
msg
,
Channel
channel
)
{
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
...
...
liquidnet-bus-service/liquidnet-service-consumer-adam/src/test/java/com/liquidnet/service/consumer/service/processor/ConsumerAdamProcessorTest.java
→
liquidnet-bus-service/liquidnet-service-consumer-adam/src/test/java/com/liquidnet/service/consumer/service/processor/ConsumerAdam
UCenter
ProcessorTest.java
View file @
9eb9fee2
...
...
@@ -8,9 +8,9 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@SpringBootTest
public
class
ConsumerAdamProcessorTest
{
public
class
ConsumerAdam
UCenter
ProcessorTest
{
@Autowired
ConsumerAdam
Processor
consumerAdam
Processor
;
ConsumerAdam
UCenterProcessor
consumerAdamUCenter
Processor
;
@Test
public
void
test
()
{
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/docu/mongo_db_ddl-prod.sql
View file @
9eb9fee2
...
...
@@ -4,7 +4,7 @@ db.createCollection("KylinCheckUserPerformanceVo");
db
.
createCollection
(
"KylinCheckUserVo"
);
db
.
createCollection
(
"KylinOrderRefundEntitiesVo"
);
db
.
createCollection
(
"KylinOrderRefundPicVo"
);
db
.
createCollection
(
"KylinOrderRefundsVo
Base
"
);
db
.
createCollection
(
"KylinOrderRefundsVo"
);
db
.
createCollection
(
"KylinOrderTicketEntitiesVo"
);
db
.
createCollection
(
"KylinOrderTicketVo"
);
db
.
createCollection
(
"KylinPerformanceVo"
);
...
...
@@ -21,8 +21,8 @@ db.KylinCheckUserVo.createIndex({mobile:"hashed"});
db
.
KylinOrderRefundEntitiesVo
.
createIndex
(
{
orderRefundsId
:
"hashed"
}
);
db
.
KylinOrderRefundEntitiesVo
.
createIndex
(
{
orderTicketEntitiesId
:
"hashed"
}
);
db
.
KylinOrderRefundPicVo
.
createIndex
(
{
orderRefundsId
:
"hashed"
}
);
db
.
KylinOrderRefundsVo
Base
.
createIndex
(
{
orderRefundsId
:
"hashed"
}
);
db
.
KylinOrderRefundsVo
Base
.
createIndex
(
{
orderTicketsId
:
"hashed"
}
);
db
.
KylinOrderRefundsVo
.
createIndex
(
{
orderRefundsId
:
"hashed"
}
);
db
.
KylinOrderRefundsVo
.
createIndex
(
{
orderTicketsId
:
"hashed"
}
);
db
.
KylinOrderTicketEntitiesVo
.
createIndex
(
{
orderTicketEntitiesId
:
"hashed"
}
);
db
.
KylinOrderTicketEntitiesVo
.
createIndex
(
{
orderId
:
"hashed"
}
);
db
.
KylinOrderTicketVo
.
createIndex
(
{
orderTicketsId
:
"hashed"
}
);
...
...
@@ -42,7 +42,7 @@ sh.shardCollection("prod_ln_scene.KylinCheckUserPerformanceVo",{"checkUserId":"h
sh
.
shardCollection
(
"prod_ln_scene.KylinCheckUserVo"
,
{
"checkUserId"
:
"hashed"
}
);
sh
.
shardCollection
(
"prod_ln_scene.KylinOrderRefundEntitiesVo"
,
{
"orderRefundsEntitiesId"
:
"hashed"
}
);
sh
.
shardCollection
(
"prod_ln_scene.KylinOrderRefundPicVo"
,
{
"refundPicId"
:
"hashed"
}
);
sh
.
shardCollection
(
"prod_ln_scene.KylinOrderRefundsVo
Base
"
,
{
"orderRefundsId"
:
"hashed"
}
);
sh
.
shardCollection
(
"prod_ln_scene.KylinOrderRefundsVo"
,
{
"orderRefundsId"
:
"hashed"
}
);
sh
.
shardCollection
(
"prod_ln_scene.KylinOrderTicketEntitiesVo"
,
{
"orderTicketEntitiesId"
:
"hashed"
}
);
sh
.
shardCollection
(
"prod_ln_scene.KylinOrderTicketVo"
,
{
"orderTicketsId"
:
"hashed"
}
);
sh
.
shardCollection
(
"prod_ln_scene.KylinPerformanceVo"
,
{
"performancesId"
:
"hashed"
}
);
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/docu/mongo_db_ddl.sql
View file @
9eb9fee2
...
...
@@ -4,7 +4,7 @@ db.createCollection("KylinCheckUserPerformanceVo");
db
.
createCollection
(
"KylinCheckUserVo"
);
db
.
createCollection
(
"KylinOrderRefundEntitiesVo"
);
db
.
createCollection
(
"KylinOrderRefundPicVo"
);
db
.
createCollection
(
"KylinOrderRefundsVo
Base
"
);
db
.
createCollection
(
"KylinOrderRefundsVo"
);
db
.
createCollection
(
"KylinOrderTicketEntitiesVo"
);
db
.
createCollection
(
"KylinOrderTicketVo"
);
db
.
createCollection
(
"KylinPerformanceVo"
);
...
...
@@ -21,8 +21,8 @@ db.KylinCheckUserVo.createIndex({mobile:"hashed"});
db
.
KylinOrderRefundEntitiesVo
.
createIndex
(
{
orderRefundsId
:
"hashed"
}
);
db
.
KylinOrderRefundEntitiesVo
.
createIndex
(
{
orderTicketEntitiesId
:
"hashed"
}
);
db
.
KylinOrderRefundPicVo
.
createIndex
(
{
orderRefundsId
:
"hashed"
}
);
db
.
KylinOrderRefundsVo
Base
.
createIndex
(
{
orderRefundsId
:
"hashed"
}
);
db
.
KylinOrderRefundsVo
Base
.
createIndex
(
{
orderTicketsId
:
"hashed"
}
);
db
.
KylinOrderRefundsVo
.
createIndex
(
{
orderRefundsId
:
"hashed"
}
);
db
.
KylinOrderRefundsVo
.
createIndex
(
{
orderTicketsId
:
"hashed"
}
);
db
.
KylinOrderTicketEntitiesVo
.
createIndex
(
{
orderTicketEntitiesId
:
"hashed"
}
);
db
.
KylinOrderTicketEntitiesVo
.
createIndex
(
{
orderId
:
"hashed"
}
);
db
.
KylinOrderTicketVo
.
createIndex
(
{
orderTicketsId
:
"hashed"
}
);
...
...
@@ -42,7 +42,7 @@ sh.shardCollection("test_ln_scene.KylinCheckUserPerformanceVo",{"checkUserId":"h
sh
.
shardCollection
(
"test_ln_scene.KylinCheckUserVo"
,
{
"checkUserId"
:
"hashed"
}
);
sh
.
shardCollection
(
"test_ln_scene.KylinOrderRefundEntitiesVo"
,
{
"orderRefundsEntitiesId"
:
"hashed"
}
);
sh
.
shardCollection
(
"test_ln_scene.KylinOrderRefundPicVo"
,
{
"refundPicId"
:
"hashed"
}
);
sh
.
shardCollection
(
"test_ln_scene.KylinOrderRefundsVo
Base
"
,
{
"orderRefundsId"
:
"hashed"
}
);
sh
.
shardCollection
(
"test_ln_scene.KylinOrderRefundsVo"
,
{
"orderRefundsId"
:
"hashed"
}
);
sh
.
shardCollection
(
"test_ln_scene.KylinOrderTicketEntitiesVo"
,
{
"orderTicketEntitiesId"
:
"hashed"
}
);
sh
.
shardCollection
(
"test_ln_scene.KylinOrderTicketVo"
,
{
"orderTicketsId"
:
"hashed"
}
);
sh
.
shardCollection
(
"test_ln_scene.KylinPerformanceVo"
,
{
"performancesId"
:
"hashed"
}
);
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/lib/taobao-sdk-java-auto_1600401599540-20210607-impl.jar
deleted
100644 → 0
View file @
ba9317e8
File deleted
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/pom.xml
View file @
9eb9fee2
...
...
@@ -33,14 +33,6 @@
<artifactId>
spring-boot-starter-data-mongodb
</artifactId>
</dependency>
<!-- other -->
<dependency>
<groupId>
taobao-sdk-impl
</groupId>
<artifactId>
taobao-sdk-impl
</artifactId>
<version>
0.0.2
</version>
<type>
jar
</type>
<scope>
system
</scope>
<systemPath>
${basedir}/lib/taobao-sdk-java-auto_1600401599540-20210607-impl.jar
</systemPath>
</dependency>
<dependency>
<groupId>
com.liquidnet
</groupId>
<artifactId>
liquidnet-service-kylin-api
</artifactId>
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinOrderTicketsServiceImpl.java
View file @
9eb9fee2
package
com
.
liquidnet
.
service
.
kylin
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.github.pagehelper.PageInfo
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.cache.redisson.util.RedisLockUtil
;
import
com.liquidnet.common.mq.constant.MQConst
;
import
com.liquidnet.commons.lang.util.*
;
import
com.liquidnet.service.adam.dto.vo.AdamAddressesVo
;
import
com.liquidnet.service.adam.dto.vo.AdamEntersVo
;
import
com.liquidnet.service.base.*
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.UserPathDto
;
import
com.liquidnet.service.kylin.constant.KylinTableStatusConst
;
import
com.liquidnet.service.kylin.dao.OrderScriptDto
;
import
com.liquidnet.service.kylin.dto.param.PayAgainParam
;
import
com.liquidnet.service.kylin.dto.param.PayOrderParam
;
import
com.liquidnet.service.kylin.dto.param.SyncOrderParam
;
import
com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo
;
import
com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo
;
import
com.liquidnet.service.kylin.dto.vo.middle.message.MessageConfigVo
;
import
com.liquidnet.service.kylin.dto.vo.middle.message.MessageDataVo
;
import
com.liquidnet.service.kylin.dto.vo.mongo.*
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderRefundEntitiesVo
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo
;
import
com.liquidnet.service.kylin.dto.vo.returns.*
;
import
com.liquidnet.service.kylin.entity.*
;
import
com.liquidnet.service.kylin.mapper.KylinOrderTicketRelationsMapper
;
import
com.liquidnet.service.kylin.mapper.KylinOrderTicketStatusMapper
;
import
com.liquidnet.service.kylin.mapper.KylinOrderTicketsMapper
;
import
com.liquidnet.service.kylin.entity.KylinOrderRefunds
;
import
com.liquidnet.service.kylin.entity.KylinOrderTicketEntities
;
import
com.liquidnet.service.kylin.entity.KylinOrderTicketStatus
;
import
com.liquidnet.service.kylin.service.IKylinOrderTicketsService
;
import
com.
baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.service.kylin.utils.
*
;
import
com.
liquidnet.service.kylin.utils.DataUtils
;
import
com.liquidnet.service.kylin.utils.
MongoVoUtils
;
import
com.mongodb.BasicDBObject
;
import
com.taobao.api.TaobaoClient
;
import
com.taobao.api.request.AlibabaDamaiMevOpenBatchpushticketRequest
;
import
com.taobao.api.response.AlibabaDamaiMevOpenBatchpushticketResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.time.DateUtils
;
import
org.bson.Document
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.core.env.Environment
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.convert.MongoConverter
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.LinkedMultiValueMap
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
...
...
@@ -67,795 +53,17 @@ import java.util.*;
@Slf4j
public
class
KylinOrderTicketsServiceImpl
implements
IKylinOrderTicketsService
{
@Value
(
"${liquidnet.url-pay.pay}"
)
private
String
payUrl
;
@Value
(
"${liquidnet.url-pay.check}"
)
private
String
checkUrl
;
@Value
(
"${liquidnet.url-pay.localUrl}"
)
private
String
synUrl
;
@Autowired
private
DataUtils
dataUtils
;
@Autowired
private
RedisUtil
redisUtil
;
@Autowired
private
OrderUtils
orderUtils
;
@Autowired
private
OtherUtils
otherUtils
;
@Autowired
private
RedisLockUtil
redisLockUtil
;
@Autowired
private
MongoVoUtils
mongoVoUtils
;
@Autowired
private
MongoTemplate
mongoTemplate
;
@Autowired
private
MongoConverter
mongoConverter
;
@Autowired
private
RabbitTemplate
rabbitTemplate
;
@Autowired
private
TaobaoTicketUtils
taobaoTicketUtils
;
@Autowired
private
OrderRefundOvertimeServiceImpl
orderRefundsCallbackService
;
@Autowired
private
KylinRefundsStatusServiceImpl
refundsStatusService
;
ArrayList
<
Integer
>
canBuyStatus
=
new
ArrayList
()
{{
add
(
6
);
add
(
8
);
add
(
9
);
add
(
10
);
}};
@Override
public
ResponseDto
<
PayResultVo
>
checkCanOrder
(
PayOrderParam
payOrderParam
)
{
Long
currentTime
;
boolean
isDownGeneral
=
false
;
Long
startTime
=
System
.
currentTimeMillis
();
String
uid
=
CurrentUtil
.
getCurrentUid
();
String
lock
=
"userId:"
+
uid
;
// if (!redisLockUtil.tryLock(lock, 1, 5)) {
// return ResponseDto.failure(ErrorMapping.get("20023"));//参数错误
// }
try
{
currentTime
=
System
.
currentTimeMillis
();
KylinPerformanceVo
performanceData
=
dataUtils
.
getPerformanceVo
(
payOrderParam
.
getPerformanceId
());
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"redis 获取演出详情 -> time:"
+
currentTime
+
"毫秒"
);
KylinTicketTimesVo
ticketTimesData
=
null
;
KylinTicketVo
ticketData
=
null
;
for
(
int
x
=
0
;
x
<
performanceData
.
getTicketTimeList
().
size
();
x
++)
{
KylinTicketTimesVo
timeItem
=
performanceData
.
getTicketTimeList
().
get
(
x
);
if
(
timeItem
.
getTimeId
().
equals
(
payOrderParam
.
getTimeId
()))
{
ticketTimesData
=
timeItem
;
for
(
int
y
=
0
;
y
<
ticketTimesData
.
getTicketList
().
size
();
y
++)
{
KylinTicketVo
ticketItem
=
ticketTimesData
.
getTicketList
().
get
(
y
);
if
(
ticketItem
.
getTicketsId
().
equals
(
payOrderParam
.
getTicketId
()))
{
ticketData
=
ticketItem
;
break
;
}
}
break
;
}
}
if
(
performanceData
==
null
||
ticketTimesData
==
null
||
ticketData
==
null
)
{
// redisLockUtil.unlock(lock);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20004"
));
//参数错误
}
if
(!
ticketData
.
getTimeId
().
equals
(
payOrderParam
.
getTimeId
())
||
!
ticketTimesData
.
getPerformanceId
().
equals
(
payOrderParam
.
getPerformanceId
()))
{
// redisLockUtil.unlock(lock);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20004"
));
//参数错误
}
if
(
payOrderParam
.
getNumber
()
%
ticketData
.
getCounts
()
!=
0
)
{
// redisLockUtil.unlock(lock);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20007"
));
//数量错误
}
//判断代理
if
(!
checkAgent
(
payOrderParam
.
getAgentId
(),
ticketData
))
{
// redisLockUtil.unlock(lock);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20008"
));
//无权购买
}
Integer
isStudent
=
ticketData
.
getIsStudent
();
//会员时间获取
String
memberTimeStart
=
ticketData
.
getMemberTimeStart
();
// 会员开售时间
String
timeStart
=
ticketData
.
getTimeStart
();
// 普通开售时间
String
timeEnd
=
ticketData
.
getTimeEnd
();
// 购票停售时间
String
timeExpressEnd
=
ticketData
.
getTimeEndExpress
();
// 快递停售时间
currentTime
=
System
.
currentTimeMillis
();
boolean
isMember
=
orderUtils
.
isMember
(
uid
);
//feignAdamBaseClient.isMember(uid).getData();//获取是否是会员
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"fegin 会员 -> time:"
+
(
currentTime
)
+
"毫秒"
);
int
memberType
;
//会员状态 不需要判断会员 1判断会员逻辑 2会员专属
if
(
ticketData
.
getIsExclusive
()
==
1
)
{
memberType
=
2
;
if
(!
isMember
)
{
// redisLockUtil.unlock(lock);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20009"
));
//没有会员权限
}
}
else
{
if
(
DateUtil
.
compareStrDay
(
DateUtil
.
getNowTime
(),
memberTimeStart
)
==
1
&&
DateUtil
.
compareStrDay
(
DateUtil
.
getNowTime
(),
timeStart
)
==
-
1
&&
ticketData
.
getIsMember
()
==
1
)
{
// 会员购买逻辑
memberType
=
1
;
if
(!
isMember
)
{
// redisLockUtil.unlock(lock);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20009"
));
//没有会员权限
}
}
else
{
// 普通用户购买逻辑
memberType
=
0
;
}
}
// 获取限购 实名
int
ticketLimit
=
ticketData
.
getLimitCount
();
//普通票种限购
int
ticketMemberLimit
=
ticketData
.
getLimitCountMember
();
//会员票种限购
int
performanceLimit
=
performanceData
.
getLimitCount
();
//普通演出限购
int
performanceMemberLimit
=
performanceData
.
getLimitCountMember
();
//会员演出限购
int
isTrueName
=
ticketData
.
getIsTrueName
();
//是否演出实名
if
(!
canBuyStatus
.
contains
(
performanceData
.
getAppStatus
()))
{
redisLockUtil
.
unlock
(
lock
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20010"
));
//当前不可购买
}
if
(!
canBuyStatus
.
contains
(
performanceData
.
getAppStatus
()))
{
// redisLockUtil.unlock(lock);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20010"
));
//当前不可购买
}
//通用判断时间
if
(
isMember
)
{
if
(
DateUtil
.
compareStrDay
(
DateUtil
.
getNowTime
(),
memberTimeStart
)
==
-
1
)
{
// redisLockUtil.unlock(lock);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20011"
));
//未开始
}
}
else
{
if
(
DateUtil
.
compareStrDay
(
DateUtil
.
getNowTime
(),
timeStart
)
==
-
1
)
{
// redisLockUtil.unlock(lock);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20011"
));
//未开始
}
}
if
(
DateUtil
.
compareStrDay
(
DateUtil
.
getNowTime
(),
timeEnd
)
==
1
)
{
// redisLockUtil.unlock(lock);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20012"
));
//已结束
}
//快递票判断
if
(
payOrderParam
.
getIsExpress
()
!=
null
)
{
if
(
payOrderParam
.
getIsExpress
()
==
1
&&
DateUtil
.
compareStrDay
(
DateUtil
.
getNowTime
(),
timeExpressEnd
)
==
1
)
{
// redisLockUtil.unlock(lock);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20013"
));
//快递票不卖
}
if
(
payOrderParam
.
getIsExpress
()
==
1
&&
payOrderParam
.
getAddressId
().
isEmpty
())
{
// redisLockUtil.unlock(lock);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20014"
));
//快递票未填写收货地址
}
}
//实名判断
if
(
isTrueName
==
1
&&
payOrderParam
.
getEnterIdList
().
size
()
<=
0
)
{
// redisLockUtil.unlock(lock);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20015"
));
//需要实名 未实名
}
if
(
isTrueName
==
1
&&
payOrderParam
.
getEnterIdList
().
size
()
!=
payOrderParam
.
getNumber
())
{
// redisLockUtil.unlock(lock);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20015"
));
//入场人数量错误
}
// 判断库存
currentTime
=
System
.
currentTimeMillis
();
int
surplusGeneral
=
dataUtils
.
changeSurplusGeneral
(
payOrderParam
.
getTicketId
(),
-
payOrderParam
.
getNumber
());
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"redis 获取库存 -> time:"
+
(
currentTime
)
+
"毫秒"
);
if
(
surplusGeneral
<
0
)
{
//库存回滚
currentTime
=
System
.
currentTimeMillis
();
dataUtils
.
changeSurplusGeneral
(
payOrderParam
.
getTicketId
(),
payOrderParam
.
getNumber
());
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"redis 修改库存 售罄 -> time:"
+
(
currentTime
)
+
"毫秒"
);
// redisLockUtil.unlock(lock);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20016"
));
//没抢到
}
else
{
isDownGeneral
=
true
;
//学生票 判断
List
<
AdamEntersVo
>
entersVoList
=
new
ArrayList
<>();
if
(
isTrueName
==
1
)
{
currentTime
=
System
.
currentTimeMillis
();
for
(
String
enterId
:
payOrderParam
.
getEnterIdList
())
{
AdamEntersVo
adamEnters
=
orderUtils
.
getEnters
(
uid
,
enterId
);
//feignAdamBaseClient.queryEnters(enterId, uid).getData();
entersVoList
.
add
(
adamEnters
);
if
(
isStudent
==
1
)
{
int
age
=
IDCard
.
getAgeByIdCard
(
adamEnters
.
getIdCard
());
if
(
age
>
25
)
{
// redisLockUtil.unlock(lock);
dataUtils
.
changeSurplusGeneral
(
payOrderParam
.
getTicketId
(),
payOrderParam
.
getNumber
());
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20017"
));
//年龄超了
}
}
}
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"获取 feign 入场人 -> time:"
+
(
currentTime
)
+
"毫秒"
);
}
//限购判断 如果实名 则身份证维度限购 如果不实名则数量限购
if
(
entersVoList
.
size
()
>
0
)
{
currentTime
=
System
.
currentTimeMillis
();
for
(
int
i
=
0
;
i
<
entersVoList
.
size
();
i
++)
{
String
res1
=
orderUtils
.
judgeOrderLimit
(
performanceData
.
getType
(),
uid
,
entersVoList
.
get
(
i
).
getIdCard
(),
payOrderParam
.
getPerformanceId
(),
payOrderParam
.
getTicketId
(),
performanceLimit
,
performanceMemberLimit
,
ticketLimit
,
ticketMemberLimit
,
1
,
1
,
memberType
,
isTrueName
);
log
.
debug
(
"redis 判断库存 -> time:"
+
(
currentTime
)
+
"毫秒"
);
if
(!
res1
.
equals
(
""
))
{
// redisLockUtil.unlock(lock);
dataUtils
.
changeSurplusGeneral
(
payOrderParam
.
getTicketId
(),
payOrderParam
.
getNumber
());
return
ResponseDto
.
failure
(
res1
);
//乱七八糟异常
}
}
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
}
else
{
log
.
debug
(
"redis 判断库存 -> time:"
+
(
currentTime
)
+
"毫秒"
);
currentTime
=
System
.
currentTimeMillis
();
String
res1
=
orderUtils
.
judgeOrderLimit
(
performanceData
.
getType
(),
uid
,
""
,
payOrderParam
.
getPerformanceId
(),
payOrderParam
.
getTicketId
(),
performanceLimit
,
performanceMemberLimit
,
ticketLimit
,
ticketMemberLimit
,
payOrderParam
.
getNumber
(),
payOrderParam
.
getNumber
(),
memberType
,
isTrueName
);
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
if
(!
res1
.
equals
(
""
))
{
// redisLockUtil.unlock(lock);
dataUtils
.
changeSurplusGeneral
(
payOrderParam
.
getTicketId
(),
payOrderParam
.
getNumber
());
return
ResponseDto
.
failure
(
res1
);
//乱七八糟异常
}
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
}
ResponseDto
<
PayResultVo
>
resultData
=
order
(
payOrderParam
,
uid
,
isMember
,
isTrueName
,
performanceData
,
ticketData
,
entersVoList
,
isStudent
,
ticketTimesData
,
currentTime
);
// redisLockUtil.unlock(lock);
log
.
debug
(
"总耗时 ->"
+
(
System
.
currentTimeMillis
()
-
startTime
)
+
"毫秒"
);
return
resultData
;
}
}
catch
(
Exception
e
)
{
if
(
isDownGeneral
)
{
currentTime
=
System
.
currentTimeMillis
();
dataUtils
.
changeSurplusGeneral
(
payOrderParam
.
getTicketId
(),
payOrderParam
.
getNumber
());
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"redis 修改库存 异常 -> time:"
+
(
currentTime
)
+
"毫秒"
);
}
e
.
printStackTrace
();
log
.
error
(
"Kylin Order Pay Error = "
+
e
.
getMessage
());
// redisLockUtil.unlock(lock);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20018"
));
//乱七八糟异常
}
}
private
ResponseDto
<
PayResultVo
>
order
(
PayOrderParam
payOrderParam
,
String
uid
,
boolean
isMember
,
int
isTrueName
,
KylinPerformanceVo
performanceData
,
KylinTicketVo
ticketData
,
List
<
AdamEntersVo
>
entersVoList
,
Integer
isStudent
,
KylinTicketTimesVo
ticketTimesData
,
Long
currentTime
)
{
LinkedList
<
String
>
sqls
=
new
LinkedList
<>();
String
source
=
CurrentUtil
.
getCliSource
()
==
null
?
""
:
CurrentUtil
.
getCliSource
();
String
version
=
CurrentUtil
.
getCliVersion
()
==
null
?
""
:
CurrentUtil
.
getCliVersion
();
LocalDateTime
now
=
LocalDateTime
.
now
();
//生成订单 order_ticket
KylinOrderTickets
orderTickets
=
new
KylinOrderTickets
();
String
orderTicketId
=
IDGenerator
.
nextSnowId
();
orderTickets
.
setOrderTicketsId
(
orderTicketId
);
orderTickets
.
setUserId
(
uid
);
Map
token
=
CurrentUtil
.
getTokenClaims
();
orderTickets
.
setUserName
(
StringUtils
.
defaultString
(((
String
)
token
.
get
(
"nickname"
)),
""
));
orderTickets
.
setUserMobile
(
StringUtils
.
defaultString
(((
String
)
token
.
get
(
"mobile"
)),
""
));
orderTickets
.
setPerformanceTitle
(
performanceData
.
getTitle
());
orderTickets
.
setOrderCode
(
IDGenerator
.
ticketOrderCode
(
orderTicketId
));
orderTickets
.
setPayCode
(
""
);
orderTickets
.
setQrCode
(
""
);
orderTickets
.
setOrderType
(
source
);
orderTickets
.
setOrderVersion
(
version
);
orderTickets
.
setNumber
(
payOrderParam
.
getNumber
());
orderTickets
.
setPrice
(
ticketData
.
getPrice
());
orderTickets
.
setPriceMember
(
ticketData
.
getMemberPrice
());
if
(
isMember
)
{
orderTickets
.
setPriceTotal
(
ticketData
.
getMemberPrice
().
multiply
(
new
BigDecimal
(
payOrderParam
.
getNumber
())).
add
(
payOrderParam
.
getIsExpress
()
==
1
?
ticketData
.
getPriceExpress
()
:
new
BigDecimal
(
"0"
)));
}
else
{
orderTickets
.
setPriceTotal
(
ticketData
.
getPrice
().
multiply
(
new
BigDecimal
(
payOrderParam
.
getNumber
())).
add
(
payOrderParam
.
getIsExpress
()
==
1
?
ticketData
.
getPriceExpress
()
:
new
BigDecimal
(
"0"
)));
}
orderTickets
.
setPriceActual
(
orderTickets
.
getPriceTotal
());
orderTickets
.
setPriceVoucher
(
new
BigDecimal
(
"0.0"
));
orderTickets
.
setPriceExpress
(
ticketData
.
getPriceExpress
());
orderTickets
.
setPriceRefund
(
new
BigDecimal
(
0.0
));
orderTickets
.
setRefundNumber
(
0
);
orderTickets
.
setPayType
(
payOrderParam
.
getPayType
());
orderTickets
.
setPaymentType
(
null
);
orderTickets
.
setTimePay
(
null
);
if
(
payOrderParam
.
getIsExpress
()
==
1
)
{
currentTime
=
System
.
currentTimeMillis
();
AdamAddressesVo
addressesVo
=
orderUtils
.
getAddress
(
uid
,
payOrderParam
.
getAddressId
());
//feignAdamBaseClient.queryAddresses(payOrderParam.getAddressId(), uid).getData();
orderTickets
.
setExpressContacts
(
addressesVo
.
getName
());
orderTickets
.
setExpressAddress
(
addressesVo
.
getProvince
()
+
addressesVo
.
getCity
()
+
addressesVo
.
getCounty
()
+
addressesVo
.
getAddress
());
orderTickets
.
setExpressPhone
(
addressesVo
.
getPhone
());
orderTickets
.
setCity
(
addressesVo
.
getCity
());
orderTickets
.
setProvince
(
addressesVo
.
getProvince
());
orderTickets
.
setCounty
(
addressesVo
.
getCounty
());
orderTickets
.
setGetTicketType
(
"express"
);
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"feign 获取入场人 -> time:"
+
(
currentTime
)
+
"毫秒"
);
}
else
{
orderTickets
.
setExpressContacts
(
""
);
orderTickets
.
setExpressAddress
(
""
);
orderTickets
.
setExpressPhone
(
""
);
orderTickets
.
setCity
(
""
);
orderTickets
.
setProvince
(
""
);
orderTickets
.
setCounty
(
""
);
orderTickets
.
setGetTicketType
(
"electronic"
);
}
orderTickets
.
setCouponType
(
"no"
);
orderTickets
.
setGetTicketDescribe
(
""
);
orderTickets
.
setPayCountdownMinute
(
performanceData
.
getPayCountdownMinute
());
orderTickets
.
setCreatedAt
(
now
);
orderTickets
.
setUpdatedAt
(
null
);
//生成订单 order_ticket_status
KylinOrderTicketStatus
orderTicketStatus
=
new
KylinOrderTicketStatus
();
String
orderTicketStatusId
=
IDGenerator
.
nextSnowId
().
toString
();
orderTicketStatus
.
setOrderTicketStatusId
(
orderTicketStatusId
);
orderTicketStatus
.
setOrderId
(
orderTicketId
);
orderTicketStatus
.
setExpressType
(
payOrderParam
.
getExpressType
());
orderTicketStatus
.
setTransferStatus
(
KylinTableStatusConst
.
ORDER_TRANSFER_STATUS0
);
orderTicketStatus
.
setStatus
(
KylinTableStatusConst
.
ORDER_STATUS0
);
orderTicketStatus
.
setIsStudent
(
isStudent
);
orderTicketStatus
.
setPayStatus
(
KylinTableStatusConst
.
ORDER_PAY_STATUS0
);
orderTicketStatus
.
setCreatedAt
(
now
);
orderTicketStatus
.
setUpdatedAt
(
null
);
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_ticket_status.add"
));
LinkedList
<
Object
[]>
sqlsDataB
=
new
LinkedList
<
Object
[]>();
sqlsDataB
.
add
(
orderTicketStatus
.
getAddObject
());
//生成订单 order_ticket_relation
KylinOrderTicketRelations
orderTicketRelations
=
new
KylinOrderTicketRelations
();
String
orderTicketRelationId
=
IDGenerator
.
nextSnowId
();
orderTicketRelations
.
setOrderTicketRelationsId
(
orderTicketRelationId
);
orderTicketRelations
.
setOrderId
(
orderTicketId
);
orderTicketRelations
.
setTransferId
(
""
);
orderTicketRelations
.
setLiveId
(
""
);
orderTicketRelations
.
setAgentId
(
payOrderParam
.
getAgentId
());
orderTicketRelations
.
setIsMember
(
isMember
?
1
:
0
);
orderTicketRelations
.
setPerformanceId
(
payOrderParam
.
getPerformanceId
());
orderTicketRelations
.
setTimeId
(
payOrderParam
.
getTimeId
());
orderTicketRelations
.
setTicketId
(
payOrderParam
.
getTicketId
());
orderTicketRelations
.
setCreatedAt
(
now
);
orderTicketRelations
.
setUpdatedAt
(
null
);
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_ticket_relation.add"
));
LinkedList
<
Object
[]>
sqlsDataC
=
new
LinkedList
<
Object
[]>();
sqlsDataC
.
add
(
orderTicketRelations
.
getAddObject
());
//生成票
KylinOrderTicketEntities
orderTicketEntities
=
new
KylinOrderTicketEntities
();
LinkedList
<
Object
[]>
sqlsDataD
=
null
;
sqlsDataD
=
new
LinkedList
<
Object
[]>();
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_ticket_entities.add"
));
if
(
isTrueName
==
1
)
{
for
(
AdamEntersVo
enters
:
entersVoList
)
{
String
orderTicketEntitiesId
=
IDGenerator
.
nextSnowId
().
toString
();
orderTicketEntities
.
setOrderTicketEntitiesId
(
orderTicketEntitiesId
);
orderTicketEntities
.
setOrderId
(
orderTicketId
);
orderTicketEntities
.
setTicketId
(
payOrderParam
.
getTicketId
());
orderTicketEntities
.
setUserId
(
uid
);
orderTicketEntities
.
setPerformanceId
(
payOrderParam
.
getPerformanceId
());
orderTicketEntities
.
setTimeId
(
payOrderParam
.
getTimeId
());
orderTicketEntities
.
setEnterType
(
enters
.
getType
());
orderTicketEntities
.
setEnterName
(
enters
.
getName
());
orderTicketEntities
.
setEnterMobile
(
enters
.
getMobile
());
orderTicketEntities
.
setEnterIdCode
(
enters
.
getIdCard
());
orderTicketEntities
.
setStatus
(
KylinTableStatusConst
.
ENTITIES_STATUS0
);
orderTicketEntities
.
setSysDamai
(
ticketData
.
getSysDamai
());
orderTicketEntities
.
setCheckClient
(
""
);
orderTicketEntities
.
setIsPayment
(
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT0
);
orderTicketEntities
.
setRefundPrice
(
BigDecimal
.
valueOf
(
0.0
));
orderTicketEntities
.
setComment
(
""
);
orderTicketEntities
.
setCreatedAt
(
now
);
orderTicketEntities
.
setUpdatedAt
(
null
);
sqlsDataD
.
add
(
orderTicketEntities
.
getAddObject
());
// 生成vo
KylinOrderTicketEntitiesVo
orderTicketEntitiesVo
=
new
KylinOrderTicketEntitiesVo
();
BeanUtils
.
copyProperties
(
orderTicketEntities
,
orderTicketEntitiesVo
);
orderTicketEntitiesVo
.
setPerformanceTitle
(
performanceData
.
getTitle
());
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
);
orderTicketEntitiesVo
.
setChangeDate
(
orderTicketEntities
.
getCreatedAt
());
currentTime
=
System
.
currentTimeMillis
();
mongoTemplate
.
insert
(
orderTicketEntitiesVo
,
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
());
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"mongo 添加入场人 -> time:"
+
(
currentTime
)
+
"毫秒"
);
currentTime
=
System
.
currentTimeMillis
();
dataUtils
.
changeBuyInfo
(
orderTicketEntitiesVo
.
getUserId
(),
orderTicketEntitiesVo
.
getEnterIdCode
(),
orderTicketEntitiesVo
.
getPerformanceId
(),
orderTicketEntitiesVo
.
getTicketId
(),
1
);
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"redis 修改 限购 -> time:"
+
(
currentTime
)
+
"毫秒"
);
}
}
else
{
for
(
int
i
=
0
;
i
<
payOrderParam
.
getNumber
();
i
++)
{
String
orderTicketEntitiesId
=
IDGenerator
.
nextSnowId
().
toString
();
orderTicketEntities
.
setOrderTicketEntitiesId
(
orderTicketEntitiesId
);
orderTicketEntities
.
setOrderId
(
orderTicketId
);
orderTicketEntities
.
setTicketId
(
payOrderParam
.
getTicketId
());
orderTicketEntities
.
setUserId
(
uid
);
orderTicketEntities
.
setPerformanceId
(
payOrderParam
.
getPerformanceId
());
orderTicketEntities
.
setTimeId
(
payOrderParam
.
getTimeId
());
orderTicketEntities
.
setEnterType
(
0
);
orderTicketEntities
.
setEnterName
(
""
);
orderTicketEntities
.
setEnterMobile
(
""
);
orderTicketEntities
.
setEnterIdCode
(
""
);
orderTicketEntities
.
setStatus
(
KylinTableStatusConst
.
ENTITIES_STATUS0
);
orderTicketEntities
.
setSysDamai
(
ticketData
.
getSysDamai
());
orderTicketEntities
.
setCheckClient
(
""
);
orderTicketEntities
.
setIsPayment
(
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT0
);
orderTicketEntities
.
setComment
(
""
);
orderTicketEntities
.
setCreatedAt
(
now
);
orderTicketEntities
.
setUpdatedAt
(
null
);
sqlsDataD
.
add
(
orderTicketEntities
.
getAddObject
());
// 生成vo
KylinOrderTicketEntitiesVo
orderTicketEntitiesVo
=
new
KylinOrderTicketEntitiesVo
();
BeanUtils
.
copyProperties
(
orderTicketEntities
,
orderTicketEntitiesVo
);
orderTicketEntitiesVo
.
setPerformanceTitle
(
performanceData
.
getTitle
());
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
);
orderTicketEntitiesVo
.
setChangeDate
(
orderTicketEntities
.
getCreatedAt
());
currentTime
=
System
.
currentTimeMillis
();
mongoTemplate
.
insert
(
orderTicketEntitiesVo
,
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
());
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"mongo 添加入场人 -> time:"
+
(
currentTime
)
+
"毫秒"
);
currentTime
=
System
.
currentTimeMillis
();
dataUtils
.
changeBuyInfo
(
orderTicketEntitiesVo
.
getUserId
(),
orderTicketEntitiesVo
.
getEnterIdCode
(),
orderTicketEntitiesVo
.
getPerformanceId
(),
orderTicketEntitiesVo
.
getTicketId
(),
1
);
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"redis 修改限购 -> time:"
+
(
currentTime
)
+
"毫秒"
);
}
}
// 调用支付
String
time1
=
DateUtil
.
format
(
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
parse
(
ticketData
.
getUseStart
()),
DateUtil
.
Formatter
.
MM_dd_zh
);
String
time2
=
DateUtil
.
format
(
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
parse
(
ticketData
.
getUseEnd
()),
DateUtil
.
Formatter
.
MM_dd_zh
);
String
useTime
=
ticketData
.
getType
()
==
2
?
time1
+
"~"
+
time2
:
time2
;
LinkedMultiValueMap
<
String
,
String
>
httpData
=
new
LinkedMultiValueMap
<
String
,
String
>();
httpData
.
add
(
"type"
,
"TICKET"
);
httpData
.
add
(
"price"
,
orderTickets
.
getPriceActual
().
toString
());
httpData
.
add
(
"name"
,
useTime
+
ticketData
.
getTitle
()
+
"-"
+
performanceData
.
getTitle
());
httpData
.
add
(
"detail"
,
performanceData
.
getTitle
()
+
"-"
+
ticketData
.
getTitle
()
+
"-"
+
useTime
);
httpData
.
add
(
"order_code"
,
orderTickets
.
getOrderCode
());
httpData
.
add
(
"client_ip"
,
CurrentUtil
.
getCliIpAddr
());
httpData
.
add
(
"notify_url"
,
synUrl
);
httpData
.
add
(
"create_date"
,
orderTickets
.
getCreatedAt
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
httpData
.
add
(
"expire_time"
,
(
orderTickets
.
getPayCountdownMinute
())
+
""
);
if
(
payOrderParam
.
getDeviceFrom
().
equals
(
"js"
)
||
payOrderParam
.
getDeviceFrom
().
equals
(
"applet"
))
{
httpData
.
add
(
"open_id"
,
payOrderParam
.
getOpenId
());
}
if
(
payOrderParam
.
getPayType
().
equals
(
"alipay"
)
&&
payOrderParam
.
getDeviceFrom
().
equals
(
"wap"
))
{
httpData
.
add
(
"show_url"
,
payOrderParam
.
getShowUrl
()
+
orderTicketId
);
httpData
.
add
(
"return_url"
,
payOrderParam
.
getReturnUrl
()
+
orderTicketId
);
}
currentTime
=
System
.
currentTimeMillis
();
String
returnData
=
HttpUtil
.
post
(
payUrl
+
payOrderParam
.
getDeviceFrom
()
+
"/"
+
payOrderParam
.
getPayType
(),
httpData
);
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"调用 PHP 支付 -> time:"
+
(
currentTime
)
+
"毫秒"
);
PayResultVo
payResultVo
=
JsonUtils
.
fromJson
(
returnData
,
PayResultVo
.
class
);
payResultVo
.
setOrder_id
(
orderTicketId
);
payResultVo
.
setPrice
(
orderTickets
.
getPriceActual
());
orderTickets
.
setPayCode
(
payResultVo
.
getCode
());
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_ticket.add"
));
LinkedList
<
Object
[]>
sqlsDataA
=
new
LinkedList
<>();
sqlsDataA
.
add
(
orderTickets
.
getAddObject
());
if
(
payOrderParam
.
getPayType
().
equals
(
"alipay"
)
&&
payOrderParam
.
getDeviceFrom
().
equals
(
"wap"
))
{
payResultVo
.
setShowUrl
(
payOrderParam
.
getShowUrl
()
+
orderTicketId
);
payResultVo
.
setReturnUrl
(
payOrderParam
.
getReturnUrl
()
+
orderTicketId
);
}
// 生成vo
KylinOrderTicketVo
orderTicketVo
=
new
KylinOrderTicketVo
();
orderTicketVo
.
setOrderTicket
(
orderTickets
);
orderTicketVo
.
setOrderTicketStatus
(
orderTicketStatus
);
orderTicketVo
.
setOrderTicketRelation
(
orderTicketRelations
);
orderTicketVo
.
setPerformanceImg
(
performanceData
.
getImgPoster
());
orderTicketVo
.
setTicketTitle
(
ticketData
.
getTitle
());
orderTicketVo
.
setUseStart
(
ticketData
.
getUseStart
());
orderTicketVo
.
setTimeStart
(
performanceData
.
getTimeStart
());
orderTicketVo
.
setOverdueAt
(
orderTickets
.
getCreatedAt
().
plusMinutes
(
performanceData
.
getPayCountdownMinute
()).
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
orderTicketVo
.
setCreatedAt
(
orderTickets
.
getCreatedAt
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
orderTicketVo
.
setChangeDate
(
orderTickets
.
getCreatedAt
());
currentTime
=
System
.
currentTimeMillis
();
mongoTemplate
.
insert
(
orderTicketVo
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"mongo 添加 订单 -> time:"
+
(
currentTime
)
+
"毫秒"
);
currentTime
=
System
.
currentTimeMillis
();
mongoVoUtils
.
resetOrderListVo
(
uid
,
1
,
orderTicketVo
.
getOrderTicketsId
(),
orderTicketVo
);
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"redis 修改订单列表 -> time:"
+
(
currentTime
)
+
"毫秒"
);
// 执行sql
String
sqlData
=
SqlMapping
.
gets
(
sqls
,
sqlsDataB
,
sqlsDataC
,
sqlsDataD
,
sqlsDataA
);
currentTime
=
System
.
currentTimeMillis
();
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE
,
MQConst
.
ROUTING_KEY_SQL_ORDER_CREATE
,
sqlData
);
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"MQ 发送 -> time:"
+
(
currentTime
)
+
"毫秒"
);
log
.
info
(
UserPathDto
.
setData
(
"下单(唤起支付)"
,
payOrderParam
,
payResultVo
));
return
ResponseDto
.
success
(
payResultVo
);
}
@Override
public
ResponseDto
<
PayResultVo
>
payAgain
(
PayAgainParam
payAgainParam
)
{
try
{
String
uid
=
CurrentUtil
.
getCurrentUid
();
// checkOrderTime(uid);
//检查订单时间 是否关闭
KylinOrderTicketVo
orderTicketData
=
dataUtils
.
getOrderTicketVo
(
payAgainParam
.
getOrderId
());
if
(!
orderTicketData
.
getUserId
().
equals
(
uid
))
{
return
null
;
}
if
(
orderTicketData
==
null
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20024"
));
}
if
(
orderTicketData
.
getStatus
()
==
KylinTableStatusConst
.
ORDER_STATUS1
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20025"
));
}
else
{
if
(
orderTicketData
.
getStatus
()
!=
KylinTableStatusConst
.
ORDER_STATUS0
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20026"
));
}
}
String
returnCheckData
=
HttpUtil
.
get
(
checkUrl
+
"?code="
+
orderTicketData
.
getPayCode
(),
null
);
PayResultVo
checkVo
=
JsonUtils
.
fromJson
(
returnCheckData
,
PayResultVo
.
class
);
if
(
checkVo
.
getStatus
()
==
1
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20027"
));
}
if
(!
orderTicketData
.
getPayType
().
equals
(
"no"
))
{
if
(
orderTicketData
.
getEntitiesVoList
().
size
()
==
0
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20004"
));
}
KylinOrderTicketEntitiesVo
entitiesData
=
orderTicketData
.
getEntitiesVoList
().
get
(
0
);
LinkedMultiValueMap
<
String
,
String
>
httpData
=
new
LinkedMultiValueMap
<
String
,
String
>();
httpData
.
add
(
"type"
,
"TICKET"
);
httpData
.
add
(
"price"
,
orderTicketData
.
getPriceActual
().
toString
());
httpData
.
add
(
"name"
,
entitiesData
.
getUseStart
()
+
""
+
entitiesData
.
getPerformanceTitle
());
httpData
.
add
(
"detail"
,
entitiesData
.
getPerformanceTitle
()
+
"-"
+
entitiesData
.
getTicketTitle
()
+
"-"
+
entitiesData
.
getUseStart
());
httpData
.
add
(
"order_code"
,
orderTicketData
.
getOrderCode
());
httpData
.
add
(
"client_ip"
,
CurrentUtil
.
getCliIpAddr
());
httpData
.
add
(
"notify_url"
,
synUrl
);
httpData
.
add
(
"create_date"
,
orderTicketData
.
getCreatedAt
());
httpData
.
add
(
"expire_time"
,
orderTicketData
.
getPayCountdownMinute
().
toString
());
httpData
.
add
(
"open_id"
,
payAgainParam
.
getOpenId
());
if
(
payAgainParam
.
getPayType
().
equals
(
"alipay"
)
&&
payAgainParam
.
getDeviceFrom
().
equals
(
"wap"
))
{
httpData
.
add
(
"show_url"
,
payAgainParam
.
getShowUrl
()
+
payAgainParam
.
getOrderId
());
httpData
.
add
(
"return_url"
,
payAgainParam
.
getReturnUrl
()
+
payAgainParam
.
getOrderId
());
}
String
returnData
=
HttpUtil
.
post
(
payUrl
+
payAgainParam
.
getDeviceFrom
()
+
"/"
+
payAgainParam
.
getPayType
(),
httpData
);
PayResultVo
payResultVo
=
JsonUtils
.
fromJson
(
returnData
,
PayResultVo
.
class
);
payResultVo
.
setOrder_id
(
orderTicketData
.
getOrderTicketsId
());
payResultVo
.
setPrice
(
orderTicketData
.
getPriceActual
());
if
(
payAgainParam
.
getPayType
().
equals
(
"alipay"
)
&&
payAgainParam
.
getDeviceFrom
().
equals
(
"wap"
))
{
payResultVo
.
setShowUrl
(
payAgainParam
.
getShowUrl
());
payResultVo
.
setReturnUrl
(
payAgainParam
.
getReturnUrl
());
}
KylinOrderTickets
orderTickets
=
new
KylinOrderTickets
();
orderTickets
.
setOrderTicketsId
(
payAgainParam
.
getOrderId
());
orderTickets
.
setUpdatedAt
(
LocalDateTime
.
now
());
orderTickets
.
setPayCode
(
payResultVo
.
getCode
());
orderTickets
.
setPayType
(
payAgainParam
.
getPayType
());
//改vo
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"payType"
,
payAgainParam
.
getPayType
());
map
.
put
(
"payCode"
,
payResultVo
.
getCode
());
map
.
put
(
"updatedAt"
,
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
format
(
orderTickets
.
getUpdatedAt
()));
map
.
put
(
"changeDate"
,
orderTickets
.
getUpdatedAt
());
mongoTemplate
.
getCollection
(
KylinOrderTicketVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
is
(
payAgainParam
.
getOrderId
())).
getQueryObject
(),
new
BasicDBObject
(
"$set"
,
mongoConverter
.
convertToMongoType
(
map
))
);
LocalDateTime
strTime
=
orderTicketData
.
getChangeDate
();
dataUtils
.
delOrderTicketRedis
(
orderTickets
.
getOrderTicketsId
());
LinkedList
<
String
>
sqls
=
new
LinkedList
<>();
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_ticket.payAgain"
));
LinkedList
<
Object
[]>
sqlsDataA
=
new
LinkedList
<>();
sqlsDataA
.
add
(
orderTickets
.
getPayAgainObject
(
strTime
,
strTime
));
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_ticket_status.payAgain"
));
LinkedList
<
Object
[]>
sqlsDataB
=
new
LinkedList
<>();
sqlsDataB
.
add
(
new
Object
[]{
orderTickets
.
getUpdatedAt
(),
orderTickets
.
getOrderTicketsId
(),
strTime
,
strTime
});
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_ticket_relation.payAgain"
));
LinkedList
<
Object
[]>
sqlsDataC
=
new
LinkedList
<>();
sqlsDataC
.
add
(
new
Object
[]{
orderTickets
.
getUpdatedAt
(),
orderTickets
.
getOrderTicketsId
(),
strTime
,
strTime
});
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_ticket_entities.payAgain"
));
LinkedList
<
Object
[]>
sqlsDataD
=
new
LinkedList
<>();
sqlsDataD
.
add
(
new
Object
[]{
orderTickets
.
getUpdatedAt
(),
orderTickets
.
getOrderTicketsId
(),
strTime
,
strTime
});
String
sqlData
=
SqlMapping
.
gets
(
sqls
,
sqlsDataA
,
sqlsDataB
,
sqlsDataC
,
sqlsDataD
);
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_AGAIN
,
MQConst
.
ROUTING_KEY_SQL_ORDER_AGAIN
,
sqlData
);
log
.
info
(
UserPathDto
.
setData
(
"再次支付"
,
payAgainParam
,
payResultVo
));
return
ResponseDto
.
success
(
payResultVo
);
}
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20029"
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20028"
));
}
}
@Override
public
String
syncOrder
(
SyncOrderParam
syncOrderParam
)
{
try
{
//支付时间
LocalDateTime
now
=
LocalDateTime
.
now
();
String
lock
=
"order_lock:"
+
syncOrderParam
.
getOrder_code
();
if
(!
redisLockUtil
.
tryLock
(
lock
,
1
,
5
))
{
return
"fail"
;
//参数错误
}
String
timePay
=
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
format
(
now
);
KylinOrderTicketVo
orderTicketData
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"orderCode"
).
is
(
syncOrderParam
.
getOrder_code
())),
KylinOrderTicketVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
if
(
orderTicketData
==
null
)
{
redisLockUtil
.
unlock
(
lock
);
return
"fail"
;
//订单不存在
}
if
(
orderTicketData
.
getStatus
()
!=
KylinTableStatusConst
.
ORDER_STATUS0
)
{
if
(
orderTicketData
.
getPayCode
().
equals
(
syncOrderParam
.
getCode
())
&&
orderTicketData
.
getStatus
()
==
KylinTableStatusConst
.
ORDER_STATUS1
)
{
redisLockUtil
.
unlock
(
lock
);
return
"success"
;
//已经支付
}
if
(!
orderTicketData
.
getPayCode
().
equals
(
syncOrderParam
.
getCode
()))
{
redisLockUtil
.
unlock
(
lock
);
return
"fail"
;
//重复支付
}
}
if
(
orderTicketData
.
getPriceActual
().
compareTo
(
syncOrderParam
.
getPrice
())
!=
0
)
{
redisLockUtil
.
unlock
(
lock
);
return
"fail"
;
//价格不符
}
LinkedList
<
String
>
sqls
=
new
LinkedList
<>();
LinkedList
<
Object
[]>
sqlsDataA
=
new
LinkedList
<>();
LinkedList
<
Object
[]>
sqlsDataB
=
new
LinkedList
<>();
LinkedList
<
Object
[]>
sqlsDataC
=
new
LinkedList
<>();
LinkedList
<
Object
[]>
sqlsDataD
=
new
LinkedList
<>();
LocalDateTime
strTime
=
orderTicketData
.
getChangeDate
();
KylinOrderTickets
orderTickets
=
new
KylinOrderTickets
();
KylinOrderTicketStatus
orderTicketStatus
=
new
KylinOrderTicketStatus
();
KylinOrderTicketEntities
orderTicketEntities
=
new
KylinOrderTicketEntities
();
if
(
orderTicketData
.
getStatus
()
==
2
)
{
mongoVoUtils
.
resetOrderListVo
(
orderTicketData
.
getUserId
(),
2
,
orderTicketData
.
getOrderTicketsId
(),
null
);
log
.
error
(
"订单号位 {} 的订单超时支付"
,
syncOrderParam
.
getOrder_code
());
orderRefundsCallbackService
.
refundApply
(
orderTicketData
.
getOrderTicketsId
());
}
else
if
(
orderTicketData
.
getStatus
()
==
3
||
orderTicketData
.
getStatus
()
==
4
)
{
log
.
error
(
"订单号位 {} 的订单正在退款 或者已退款"
,
syncOrderParam
.
getOrder_code
());
}
else
{
orderTickets
.
setOrderTicketsId
(
orderTicketData
.
getOrderTicketsId
());
orderTickets
.
setPaymentType
(
syncOrderParam
.
getPayment_type
());
orderTickets
.
setPayCode
(
syncOrderParam
.
getCode
());
orderTickets
.
setTimePay
(
timePay
);
orderTickets
.
setQrCode
(
IDGenerator
.
ticketQrCode
(
orderTicketData
.
getOrderTicketsId
()));
orderTickets
.
setUpdatedAt
(
now
);
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_ticket.synPay"
));
sqlsDataA
.
add
(
orderTickets
.
getSynOrderObject
(
strTime
,
strTime
));
orderTicketStatus
.
setOrderId
(
orderTicketData
.
getOrderTicketsId
());
orderTicketStatus
.
setStatus
(
KylinTableStatusConst
.
ORDER_STATUS1
);
orderTicketStatus
.
setPayStatus
(
syncOrderParam
.
getStatus
());
orderTicketStatus
.
setUpdatedAt
(
orderTickets
.
getUpdatedAt
());
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_ticket_status.synPay"
));
sqlsDataB
.
add
(
orderTicketStatus
.
getSynOrderObject
(
strTime
,
strTime
));
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_ticket_relation.synPay"
));
sqlsDataC
.
add
(
new
Object
[]{
orderTickets
.
getUpdatedAt
(),
orderTickets
.
getOrderTicketsId
(),
strTime
,
strTime
});
orderTicketEntities
.
setOrderId
(
orderTicketData
.
getOrderTicketsId
());
orderTicketEntities
.
setIsPayment
(
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT1
);
orderTicketEntities
.
setUpdatedAt
(
orderTickets
.
getUpdatedAt
());
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_ticket_entities.synPay"
));
sqlsDataD
.
add
(
orderTicketEntities
.
getSynOrderObject
(
strTime
,
strTime
));
//vo
HashMap
<
String
,
Object
>
orderTicketVo
=
new
HashMap
<>();
orderTicketVo
.
put
(
"paymentType"
,
orderTickets
.
getPaymentType
());
orderTicketVo
.
put
(
"payCode"
,
orderTickets
.
getPayCode
());
orderTicketVo
.
put
(
"timePay"
,
orderTickets
.
getTimePay
());
orderTicketVo
.
put
(
"qrCode"
,
orderTickets
.
getQrCode
());
orderTicketVo
.
put
(
"status"
,
KylinTableStatusConst
.
ORDER_STATUS1
);
orderTicketVo
.
put
(
"payStatus"
,
orderTicketStatus
.
getStatus
());
orderTicketVo
.
put
(
"updatedAt"
,
timePay
);
orderTicketVo
.
put
(
"changeDate"
,
now
);
mongoTemplate
.
getCollection
(
KylinOrderTicketVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
is
(
orderTickets
.
getOrderTicketsId
())).
getQueryObject
(),
new
BasicDBObject
(
"$set"
,
mongoConverter
.
convertToMongoType
(
orderTicketVo
))
);
HashMap
<
String
,
Object
>
orderTicketEntitiesVo
=
new
HashMap
<>();
orderTicketEntitiesVo
.
put
(
"isPayment"
,
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT1
);
orderTicketEntitiesVo
.
put
(
"updatedAt"
,
timePay
);
orderTicketEntitiesVo
.
put
(
"changeDate"
,
now
);
mongoTemplate
.
getCollection
(
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
()).
updateMany
(
Query
.
query
(
Criteria
.
where
(
"orderId"
).
is
(
orderTicketData
.
getOrderTicketsId
())).
getQueryObject
(),
new
BasicDBObject
(
"$set"
,
mongoConverter
.
convertToMongoType
(
orderTicketEntitiesVo
))
);
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_PAY
,
MQConst
.
ROUTING_KEY_SQL_ORDER_PAY
,
SqlMapping
.
gets
(
sqls
,
sqlsDataA
,
sqlsDataB
,
sqlsDataC
,
sqlsDataD
));
//生成vo redis
dataUtils
.
delOrderTicketRedis
(
orderTickets
.
getOrderTicketsId
());
mongoVoUtils
.
resetOrderListVo
(
orderTicketData
.
getUserId
(),
2
,
orderTicketData
.
getOrderTicketsId
(),
null
);
// 发短信
KylinPerformanceVo
performanceData
=
dataUtils
.
getPerformanceVo
(
orderTicketData
.
getPerformanceId
());
KylinTicketTimesVo
ticketTimesData
=
null
;
KylinTicketVo
ticketData
=
null
;
for
(
int
x
=
0
;
x
<
performanceData
.
getTicketTimeList
().
size
();
x
++)
{
KylinTicketTimesVo
timeItem
=
performanceData
.
getTicketTimeList
().
get
(
x
);
if
(
timeItem
.
getTimeId
().
equals
(
orderTicketData
.
getTimeId
()))
{
ticketTimesData
=
timeItem
;
for
(
int
y
=
0
;
y
<
ticketTimesData
.
getTicketList
().
size
();
y
++)
{
KylinTicketVo
ticketItem
=
ticketTimesData
.
getTicketList
().
get
(
y
);
if
(
ticketItem
.
getTicketsId
().
equals
(
orderTicketData
.
getTicketId
()))
{
ticketData
=
ticketItem
;
break
;
}
}
break
;
}
}
MessageDataVo
dataVo
=
new
MessageDataVo
();
dataVo
.
setName
(
orderTicketData
.
getPerformanceTitle
());
String
time1
=
DateUtil
.
format
(
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
parse
(
ticketData
.
getUseStart
()),
DateUtil
.
Formatter
.
yyyy_MM_dd
);
String
time2
=
DateUtil
.
format
(
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
parse
(
performanceData
.
getTimeStart
()),
DateUtil
.
Formatter
.
HHmm
);
dataVo
.
setTime
(
time1
+
" "
+
time2
);
MessageConfigVo
configVo
=
new
MessageConfigVo
();
configVo
.
setStatus
(
true
);
if
(
orderTicketData
.
getGetTicketType
().
equals
(
"express"
))
{
configVo
.
setId
(
"SMS_181490473"
);
}
else
if
(
orderTicketData
.
getGetTicketType
().
equals
(
"electronic"
))
{
configVo
.
setId
(
ticketData
.
getIsShowCode
()
==
1
?
"SMS_171358560"
:
"SMS_181500419"
);
}
// otherUtils.sendMessage(orderTicketData.getUserMobile(), dataVo, configVo, 1);
// 大麦回调
sycDamaiOrder
(
orderTickets
.
getOrderTicketsId
());
}
redisLockUtil
.
unlock
(
lock
);
log
.
info
(
UserPathDto
.
setData
(
"订单支付成功回调"
,
syncOrderParam
,
""
));
return
"success"
;
}
catch
(
Exception
e
)
{
log
.
error
(
"SYNCE ORDER E = "
+
e
.
getMessage
());
e
.
printStackTrace
();
return
"fail"
;
}
}
@Override
public
PageInfo
<
List
<
KylinOrderListVo
>>
orderList
()
{
//TODO 缺快递
...
...
@@ -1037,26 +245,6 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
}
}
@Override
public
ResponseDto
<
Integer
>
checkOrderResult
(
String
orderId
)
{
String
uid
=
CurrentUtil
.
getCurrentUid
();
KylinOrderTicketVo
orderTicketData
=
dataUtils
.
getOrderTicketVo
(
orderId
);
if
(!
orderTicketData
.
getUserId
().
equals
(
uid
))
{
return
null
;
}
if
(
orderTicketData
==
null
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20024"
));
}
else
{
String
returnCheckData
=
HttpUtil
.
get
(
checkUrl
+
"?code="
+
orderTicketData
.
getPayCode
(),
null
);
PayResultVo
checkVo
=
JsonUtils
.
fromJson
(
returnCheckData
,
PayResultVo
.
class
);
if
(
checkVo
.
getStatus
()
==
1
)
{
return
ResponseDto
.
success
(
1
);
}
else
{
return
ResponseDto
.
success
(
0
);
}
}
}
@Override
public
ResponseDto
<
Integer
>
orderUnPayCount
()
{
String
uid
=
CurrentUtil
.
getCurrentUid
();
...
...
@@ -1354,120 +542,4 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
}
}
@Override
public
Boolean
orderRefundAgain
(
String
orderRefundsId
)
{
LocalDateTime
time
=
LocalDateTime
.
now
();
String
strTime
=
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
format
(
time
);
String
uid
=
CurrentUtil
.
getCurrentUid
();
KylinOrderRefundsVo
orderRefundVo
=
dataUtils
.
getOrderRefundVo
(
orderRefundsId
);
// 订单状态表 MQ
KylinOrderTicketStatus
orderStatusTable
=
new
KylinOrderTicketStatus
();
orderStatusTable
.
setStatus
(
KylinTableStatusConst
.
ORDER_STATUS3
);
orderStatusTable
.
setUpdatedAt
(
time
);
// 订单入场人表 MQ
KylinOrderTicketEntities
entitiesTable
=
new
KylinOrderTicketEntities
();
entitiesTable
.
setIsPayment
(
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT2
);
entitiesTable
.
setUpdatedAt
(
time
);
// 订单退款表
KylinOrderRefunds
orderRefunds
=
new
KylinOrderRefunds
();
orderRefunds
.
setUpdatedAt
(
time
);
orderRefunds
.
setApplicantAt
(
time
);
orderRefunds
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPLY
);
//订单状态表 MONGO
KylinOrderTicketVo
kylinOrderTicketVo
=
new
KylinOrderTicketVo
();
kylinOrderTicketVo
.
setStatus
(
KylinTableStatusConst
.
ORDER_STATUS3
);
kylinOrderTicketVo
.
setUpdatedAt
(
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
format
(
time
));
BasicDBObject
orderObject
=
new
BasicDBObject
(
"$set"
,
JSON
.
parse
(
JsonUtils
.
toJson
(
kylinOrderTicketVo
)));
mongoTemplate
.
getCollection
(
KylinOrderTicketVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
is
(
orderRefundVo
.
getOrderTicketsId
())).
getQueryObject
(),
orderObject
);
dataUtils
.
delOrderTicketRedis
(
orderRefundVo
.
getOrderTicketsId
());
mongoVoUtils
.
resetOrderListVo
(
uid
,
2
,
orderRefundVo
.
getOrderTicketsId
(),
null
);
// 订单入场人表 MONGO
KylinOrderTicketEntitiesVo
kylinOrderTicketEntitiesVo
=
new
KylinOrderTicketEntitiesVo
();
kylinOrderTicketEntitiesVo
.
setIsPayment
(
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT2
);
kylinOrderTicketEntitiesVo
.
setUpdatedAt
(
strTime
);
BasicDBObject
entitiesObject
=
new
BasicDBObject
(
"$set"
,
JSON
.
parse
(
JsonUtils
.
toJson
(
kylinOrderTicketEntitiesVo
)));
mongoTemplate
.
getCollection
(
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"orderTicketEntitiesId"
).
is
(
orderRefundVo
.
getOrderRefundEntitiesVoList
().
get
(
0
).
getOrderTicketEntitiesId
())).
getQueryObject
(),
entitiesObject
);
dataUtils
.
delOrderTicketEntitiesRedis
(
orderRefundVo
.
getOrderRefundEntitiesVoList
().
get
(
0
).
getOrderTicketEntitiesId
());
// 订单退款表 MONGO
mongoTemplate
.
getCollection
(
KylinOrderRefundsVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"orderRefundsId"
).
is
(
orderRefundVo
.
getOrderRefundsId
())).
getQueryObject
(),
new
Document
(
"$set"
,
new
Document
(
"status"
,
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPLY
)
.
append
(
"updatedAt"
,
time
)
.
append
(
"applicantAt"
,
time
))
);
return
null
;
}
public
boolean
checkAgent
(
String
agentId
,
KylinTicketVo
ticketData
)
{
boolean
isAgent
=
ticketData
.
getIsAgent
()
==
1
;
if
(
isAgent
)
{
return
redisUtil
.
sHasKey
(
KylinRedisConst
.
AGENT
,
agentId
);
}
else
{
return
true
;
}
}
private
boolean
sycDamaiOrder
(
String
orderId
)
{
try
{
KylinOrderTicketVo
orderData
=
dataUtils
.
getOrderTicketVo
(
orderId
);
KylinPerformanceVo
vo
=
dataUtils
.
getPerformanceVo
(
orderData
.
getPerformanceId
());
TaobaoClient
client
=
taobaoTicketUtils
.
initTaobaoClient
();
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
.
getTicketsId
().
equals
(
orderData
.
getTicketId
()))
{
isSysDamai
=
ticketItem
.
getSysDamai
();
break
;
}
}
}
if
(
isSysDamai
==
1
)
{
KylinOrderTicketVo
orderVo
=
dataUtils
.
getOrderTicketVo
(
orderId
);
List
<
KylinOrderTicketEntitiesVo
>
listData
=
orderVo
.
getEntitiesVoList
();
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
);
//票类型
}
req
.
setThirdTicketSetOpenParamList
(
list2
);
if
(
list2
.
size
()
==
0
)
{
return
true
;
}
else
{
AlibabaDamaiMevOpenBatchpushticketResponse
rsp
=
client
.
execute
(
req
);
return
rsp
.
getResult
().
getSuccess
();
}
}
return
true
;
}
catch
(
Exception
e
)
{
return
false
;
}
}
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/utils/TaobaoTicketUtils.java
deleted
100644 → 0
View file @
ba9317e8
package
com
.
liquidnet
.
service
.
kylin
.
utils
;
import
com.taobao.api.DefaultTaobaoClient
;
import
com.taobao.api.TaobaoClient
;
import
org.springframework.stereotype.Service
;
@Service
public
class
TaobaoTicketUtils
{
private
String
URL
=
"http://gw.api.taobao.com/router/rest"
;
private
String
APPKEY
=
"27542597"
;
private
String
SECRET
=
"900025efc616fd2446344bb8fa21d039"
;
private
String
SUPPLIER_SECRET
=
"444d0752439f921a75eaf5951a8bc03c"
;
private
Long
SYSTEM_ID
=
15669L
;
// private String url = "http://gw.api.tbsandbox.com/router/rest";
// private String appkey = "4272";
// private String secret = "0ebbcccfee18d7ad1aebc5b135ffa906";
private
TaobaoClient
client
=
null
;
public
TaobaoClient
initTaobaoClient
()
{
if
(
client
==
null
)
{
client
=
new
DefaultTaobaoClient
(
URL
,
APPKEY
,
SECRET
);
}
return
client
;
}
public
String
getSupplierSecret
(){
return
SUPPLIER_SECRET
;
}
public
Long
getSystemId
(){
return
SYSTEM_ID
;
}
}
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/controller/KylinOrderTicketsController.java
View file @
9eb9fee2
package
com
.
liquidnet
.
service
.
order
.
controller
;
import
com.github.pagehelper.PageInfo
;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.kylin.dto.param.PayAgainParam
;
import
com.liquidnet.service.kylin.dto.param.PayOrderParam
;
import
com.liquidnet.service.kylin.dto.param.SyncOrderParam
;
import
com.liquidnet.service.kylin.dto.vo.returns.*
;
import
com.liquidnet.service.kylin.service.IKylinOrderTicketsService
;
import
com.liquidnet.service.kylin.service.IKylinOrderTickets
Order
Service
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
...
...
@@ -19,7 +18,6 @@ import org.springframework.web.bind.annotation.*;
import
javax.validation.Valid
;
import
javax.validation.constraints.NotNull
;
import
java.util.HashMap
;
import
java.util.List
;
/**
* <p>
...
...
@@ -36,20 +34,20 @@ import java.util.List;
public
class
KylinOrderTicketsController
{
@Autowired
IKylinOrderTickets
Service
orderTickets
Service
;
IKylinOrderTickets
OrderService
orderTicketsOrder
Service
;
@PostMapping
(
"pre"
)
@ApiOperation
(
"下单"
)
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
public
ResponseDto
<
PayResultVo
>
checkCanOrder
(
@RequestBody
@Valid
PayOrderParam
payOrderParam
)
{
return
orderTicketsService
.
checkCanOrder
(
payOrderParam
);
return
orderTickets
Order
Service
.
checkCanOrder
(
payOrderParam
);
}
@PostMapping
(
"payAgain"
)
@ApiOperation
(
"再次支付"
)
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
public
ResponseDto
<
PayResultVo
>
payAgain
(
@RequestBody
@Valid
PayAgainParam
payAgainParam
)
{
PayResultVo
vo
=
orderTicketsService
.
payAgain
(
payAgainParam
).
getData
();
PayResultVo
vo
=
orderTickets
Order
Service
.
payAgain
(
payAgainParam
).
getData
();
if
(
null
==
vo
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20024"
));
}
else
{
...
...
@@ -61,14 +59,14 @@ public class KylinOrderTicketsController {
@ApiOperation
(
"支付回调"
)
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
public
String
syncOrder
(
@ModelAttribute
@Valid
SyncOrderParam
syncOrderParam
)
{
return
orderTicketsService
.
syncOrder
(
syncOrderParam
);
return
orderTickets
Order
Service
.
syncOrder
(
syncOrderParam
);
}
@GetMapping
(
"checkPayment"
)
@ApiOperation
(
"订单状态"
)
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
public
ResponseDto
<
HashMap
>
checkOrderResult
(
@RequestParam
(
"orderId"
)
@NotNull
(
message
=
"订单id不能为空"
)
String
orderId
)
{
Integer
status
=
orderTicketsService
.
checkOrderResult
(
orderId
).
getData
();
Integer
status
=
orderTickets
Order
Service
.
checkOrderResult
(
orderId
).
getData
();
if
(
null
==
status
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20003"
));
}
else
{
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/service/impl/KylinOrderTicketsServiceImpl.java
View file @
9eb9fee2
...
...
@@ -27,6 +27,7 @@ import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo
;
import
com.liquidnet.service.kylin.dto.vo.returns.*
;
import
com.liquidnet.service.kylin.entity.*
;
import
com.liquidnet.service.kylin.service.IKylinOrderTicketsOrderService
;
import
com.liquidnet.service.kylin.service.IKylinOrderTicketsService
;
import
com.liquidnet.service.order.utils.*
;
import
com.mongodb.BasicDBObject
;
...
...
@@ -63,7 +64,7 @@ import java.util.*;
*/
@Service
@Slf4j
public
class
KylinOrderTicketsServiceImpl
implements
IKylinOrderTicketsService
{
public
class
KylinOrderTicketsServiceImpl
implements
IKylinOrderTickets
Order
Service
{
@Value
(
"${liquidnet.url-pay.pay}"
)
private
String
payUrl
;
...
...
@@ -95,7 +96,6 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
@Autowired
private
OrderRefundOvertimeServiceImpl
orderRefundsCallbackService
;
ArrayList
<
Integer
>
canBuyStatus
=
new
ArrayList
()
{{
add
(
6
);
add
(
8
);
...
...
@@ -103,7 +103,6 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
add
(
10
);
}};
@Override
public
ResponseDto
<
PayResultVo
>
checkCanOrder
(
PayOrderParam
payOrderParam
)
{
Long
currentTime
;
...
...
@@ -951,44 +950,4 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
return
false
;
}
}
@Override
public
PageInfo
<
List
<
KylinOrderListVo
>>
orderList
()
{
return
null
;
}
@Override
public
OrderDetailsVo
orderDetails
(
String
orderId
)
{
return
null
;
}
@Override
public
ResponseDto
<
Integer
>
orderUnPayCount
()
{
return
null
;
}
@Override
public
KylinOrderTicketPreVo
toOrderRefundDetails
(
String
orderId
)
{
return
null
;
}
@Override
public
OrderRefundVo
orderRefundDetails
(
String
orderId
,
String
orderRefundId
)
{
return
null
;
}
@Override
public
String
sendOrderRefund
(
String
orderId
,
String
orderTicketEntitiesId
,
String
reason
,
String
picList
)
{
return
null
;
}
@Override
public
ResponseDto
<
Boolean
>
orderRefundWithdraw
(
String
orderRefundsId
)
{
return
null
;
}
@Override
public
Boolean
orderRefundAgain
(
String
orderRefundsId
)
{
return
null
;
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/refund/KylinRefundsStatusServiceImpl.java
View file @
9eb9fee2
...
...
@@ -203,6 +203,8 @@ public class KylinRefundsStatusServiceImpl {
Query
.
query
(
Criteria
.
where
(
"orderRefundsId"
).
is
(
refundInfo
.
getOrderRefundsId
())).
getQueryObject
(),
object
);
dataUtils
.
delOrderRefundVo
(
refundInfo
.
getOrderRefundsId
());
dataUtils
.
delOrderRefundVoByOrderId
(
refundInfo
.
getOrderTicketsId
());
if
(
refundInfo
.
getType
()
==
KylinTableStatusConst
.
ORDER_REFUND_TYPE_APPLY
)
{
// 退还库存
...
...
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/refund/OrderRefundsCallbackServiceImpl.java
View file @
9eb9fee2
package
com
.
liquidnet
.
service
.
platform
.
service
.
refund
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.kylin.constant.KylinTableStatusConst
;
import
com.liquidnet.service.kylin.dto.param.RefundCallbackParam
;
import
com.liquidnet.service.kylin.dto.vo.returns.KylinOrderRefundsVo
;
import
com.liquidnet.service.kylin.entity.KylinOrderRefunds
;
import
com.liquidnet.service.kylin.mapper.*
;
import
com.liquidnet.service.kylin.service.IKylinOrderRefundsService
;
import
com.liquidnet.service.platform.utils.DataUtils
;
import
com.mongodb.BasicDBObject
;
import
com.mongodb.client.result.UpdateResult
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -22,6 +21,8 @@ import org.springframework.data.mongodb.core.query.Query;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* <p>
...
...
@@ -46,6 +47,9 @@ public class OrderRefundsCallbackServiceImpl extends ServiceImpl<KylinOrderRefun
@Autowired
private
MongoConverter
mongoConverter
;
@Autowired
private
DataUtils
dataUtils
;
public
String
refundCallback
(
RefundCallbackParam
refundCallbackParam
)
{
KylinOrderRefunds
refundInfo
=
kylinOrderRefundsMapper
.
selectOne
(
new
UpdateWrapper
<
KylinOrderRefunds
>()
...
...
@@ -94,6 +98,8 @@ public class OrderRefundsCallbackServiceImpl extends ServiceImpl<KylinOrderRefun
Query
.
query
(
Criteria
.
where
(
"orderRefundsId"
).
is
(
refundInfo
.
getOrderRefundsId
())).
getQueryObject
(),
object
);
dataUtils
.
delOrderRefundVo
(
refundInfo
.
getOrderRefundsId
());
dataUtils
.
delOrderRefundVoByOrderId
(
refundInfo
.
getOrderTicketsId
());
}
return
"success"
;
}
...
...
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