记得上下班打卡 | 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
2fe25219
Commit
2fe25219
authored
Aug 01, 2022
by
胡佳晨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
下单 实名判断修改
parent
cd2c7cc8
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
600 additions
and
605 deletions
+600
-605
ImportServiceImpl.java
.../admin/zhengzai/kylin/service/impl/ImportServiceImpl.java
+5
-3
DataUtils.java
...iquidnet/client/admin/zhengzai/kylin/utils/DataUtils.java
+24
-31
OrderUtils.java
...quidnet/client/admin/zhengzai/kylin/utils/OrderUtils.java
+60
-52
ConsumerKylinSqlOptOrderCloseRedisStreamConfig.java
...onfig/ConsumerKylinSqlOptOrderCloseRedisStreamConfig.java
+137
-137
AbstractSqlOptOrderCloseRedisReceiver.java
...kylin/receiver/AbstractSqlOptOrderCloseRedisReceiver.java
+84
-84
ConsumerKylinSqlOptOrderCloseRedisReceiver.java
.../receiver/ConsumerKylinSqlOptOrderCloseRedisReceiver.java
+17
-17
KylinUtils.java
...om/liquidnet/service/consumer/kylin/utils/KylinUtils.java
+19
-38
KylinOrderUtils.java
...quidnet/service/consumer/order/utils/KylinOrderUtils.java
+26
-11
KylinUtils.java
...m/liquidnet/service/consumer/slowly/utils/KylinUtils.java
+0
-40
KylinOrderTicketsServiceImpl.java
...vice/kylin/service/impl/KylinOrderTicketsServiceImpl.java
+5
-3
DataUtils.java
...ain/java/com/liquidnet/service/kylin/utils/DataUtils.java
+23
-12
OrderUtils.java
...in/java/com/liquidnet/service/kylin/utils/OrderUtils.java
+60
-52
KylinOrderTicketsServiceImpl.java
...vice/order/service/impl/KylinOrderTicketsServiceImpl.java
+4
-3
DataUtils.java
...ain/java/com/liquidnet/service/order/utils/DataUtils.java
+24
-30
OrderUtils.java
...in/java/com/liquidnet/service/order/utils/OrderUtils.java
+71
-60
DataUtils.java
.../java/com/liquidnet/service/platform/utils/DataUtils.java
+41
-32
No files found.
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/kylin/service/impl/ImportServiceImpl.java
View file @
2fe25219
...
@@ -142,8 +142,10 @@ public class ImportServiceImpl implements IImportService {
...
@@ -142,8 +142,10 @@ public class ImportServiceImpl implements IImportService {
// 获取限购 实名
// 获取限购 实名
int
ticketLimit
=
ticketData
.
getLimitCount
();
//普通票种限购
int
ticketLimit
=
ticketData
.
getLimitCount
();
//普通票种限购
int
ticketMemberLimit
=
ticketData
.
getLimitCountMember
();
//会员票种限购
int
ticketMemberLimit
=
ticketData
.
getLimitCountMember
();
//会员票种限购
int
ticketIdCount
=
ticketData
.
getIdCount
();
//实名票种限购
int
performanceLimit
=
performanceData
.
getLimitCount
();
//普通演出限购
int
performanceLimit
=
performanceData
.
getLimitCount
();
//普通演出限购
int
performanceMemberLimit
=
performanceData
.
getLimitCountMember
();
//会员演出限购
int
performanceMemberLimit
=
1
;
//会员演出限购
int
performanceIdCount
=
performanceData
.
getIdCount
();
//实名演出限购
int
isTrueName
=
ticketData
.
getIsTrueName
();
//是否演出实名
int
isTrueName
=
ticketData
.
getIsTrueName
();
//是否演出实名
Integer
isStudent
=
ticketData
.
getIsStudent
();
Integer
isStudent
=
ticketData
.
getIsStudent
();
String
ticketType
=
""
;
String
ticketType
=
""
;
...
@@ -184,7 +186,7 @@ public class ImportServiceImpl implements IImportService {
...
@@ -184,7 +186,7 @@ public class ImportServiceImpl implements IImportService {
//限购判断 如果实名 则身份证维度限购 如果不实名则数量限购
//限购判断 如果实名 则身份证维度限购 如果不实名则数量限购
if
(
isTrueName
==
1
)
{
if
(
isTrueName
==
1
)
{
String
res1
=
orderUtils
.
judgeOrderLimit
(
performanceData
.
getType
(),
uid
,
enterIdCode
,
performancesId
,
ticketData
.
getTicketsId
(),
performanceLimit
,
performanceMemberLimit
,
ticketLimit
,
ticketMemberLimit
,
1
,
1
,
0
,
isTrueName
);
String
res1
=
orderUtils
.
judgeOrderLimit
(
uid
,
enterIdCode
,
performancesId
,
ticketData
.
getTicketsId
(),
performanceLimit
,
performanceMemberLimit
,
performanceIdCount
,
ticketLimit
,
ticketMemberLimit
,
ticketIdCount
,
0
,
isTrueName
);
if
(!
res1
.
equals
(
""
))
{
if
(!
res1
.
equals
(
""
))
{
orderOutLineVo
.
setReason
(
res1
);
orderOutLineVo
.
setReason
(
res1
);
vos
.
add
(
orderOutLineVo
);
vos
.
add
(
orderOutLineVo
);
...
@@ -192,7 +194,7 @@ public class ImportServiceImpl implements IImportService {
...
@@ -192,7 +194,7 @@ public class ImportServiceImpl implements IImportService {
continue
;
continue
;
}
}
}
else
{
}
else
{
String
res1
=
orderUtils
.
judgeOrderLimit
(
performanceData
.
getType
(),
uid
,
""
,
performancesId
,
ticketData
.
getTicketsId
(),
performanceLimit
,
performanceMemberLimit
,
ticketLimit
,
ticketMemberLimit
,
number
,
number
,
0
,
isTrueName
);
String
res1
=
orderUtils
.
judgeOrderLimit
(
uid
,
""
,
performancesId
,
ticketData
.
getTicketsId
(),
performanceLimit
,
performanceMemberLimit
,
performanceIdCount
,
ticketLimit
,
ticketMemberLimit
,
ticketIdCount
,
0
,
isTrueName
);
if
(!
res1
.
equals
(
""
))
{
if
(!
res1
.
equals
(
""
))
{
orderOutLineVo
.
setReason
(
res1
);
orderOutLineVo
.
setReason
(
res1
);
vos
.
add
(
orderOutLineVo
);
vos
.
add
(
orderOutLineVo
);
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/kylin/utils/DataUtils.java
View file @
2fe25219
...
@@ -271,43 +271,36 @@ public class DataUtils {
...
@@ -271,43 +271,36 @@ public class DataUtils {
* @param buyCount 购买数量 大于 0 增加 小于 0 减少 对应 支付 退款表
* @param buyCount 购买数量 大于 0 增加 小于 0 减少 对应 支付 退款表
*/
*/
public
void
changeBuyInfo
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
buyCount
)
{
public
void
changeBuyInfo
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
buyCount
)
{
String
redisKey
;
String
redisKeyUid
;
String
redisKeyIdCard
;
String
performanceIdKeyIdCard
=
""
;
String
ticketIdKeyIdCard
=
""
;
int
isTrueName
=
getPerformanceIsTrueName
(
performanceId
);
int
isTrueName
=
getPerformanceIsTrueName
(
performanceId
);
// String useTime = "";
// HashMap<String, ArrayList<String>> allTicketId = new HashMap<>();
// for (int x = 0; x < vo.getTicketTimeList().size(); x++) {
// KylinTicketTimesVo timeItem = vo.getTicketTimeList().get(x);
// ArrayList<String> ticketList = new ArrayList<>();
// for (int y = 0; y < timeItem.getTicketList().size(); y++) {
// KylinTicketVo ticketItem = timeItem.getTicketList().get(y);
// if (ticketItem.getType() == 1) {
// ticketList.add(ticketItem.getTicketsId());
// }
// if (ticketItem.getTicketsId().equals(ticketId)) {
// useTime = ticketItem.getUseStart();
// }
// }
// allTicketId.put(timeItem.getUseStart(), ticketList);
// }
if
(
0
==
isTrueName
)
{
redisKey
=
KylinRedisConst
.
USERID_BUY_INFO
+
userId
;
}
else
{
redisKey
=
KylinRedisConst
.
IDCARD_BUY_INFO
+
idCard
;
}
String
performanceIdKey
=
redisKey
+
":"
+
KylinRedisConst
.
PERFORMANCE_ID
+
":"
+
performanceId
;
redisKeyUid
=
KylinRedisConst
.
USERID_BUY_INFO
+
userId
;
String
ticketIdKey
=
redisKey
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
ticketId
;
redisKeyIdCard
=
KylinRedisConst
.
IDCARD_BUY_INFO
+
idCard
;
// String ticketUseTimeKey = ticketIdKey + ":" + KylinRedisConst.USE_TIME;
String
performanceIdKeyUid
=
redisKeyUid
+
":"
+
KylinRedisConst
.
PERFORMANCE_ID
+
":"
+
performanceId
;
// redisDataSourceUtil.getRedisKylinUtil().set(ticketUseTimeKey, useTime);
String
ticketIdKeyUid
=
redisKeyUid
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
ticketId
;
if
(
isTrueName
!=
0
)
{
performanceIdKeyIdCard
=
redisKeyIdCard
+
":"
+
KylinRedisConst
.
PERFORMANCE_ID
+
":"
+
performanceId
;
ticketIdKeyIdCard
=
redisKeyIdCard
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
ticketId
;
}
if
(
buyCount
>
0
)
{
if
(
buyCount
>
0
)
{
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
ticketIdKey
,
buyCount
);
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
ticketIdKeyUid
,
buyCount
);
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
performanceIdKey
,
buyCount
);
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
performanceIdKeyUid
,
buyCount
);
if
(
isTrueName
!=
0
)
{
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
ticketIdKeyIdCard
,
buyCount
);
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
performanceIdKeyIdCard
,
buyCount
);
}
}
else
{
}
else
{
redisDataSourceUtil
.
getRedisKylinUtil
().
decr
(
ticketIdKey
,
Math
.
abs
(
buyCount
));
if
(
isTrueName
!=
0
)
{
redisDataSourceUtil
.
getRedisKylinUtil
().
decr
(
performanceIdKey
,
Math
.
abs
(
buyCount
));
redisDataSourceUtil
.
getRedisKylinUtil
().
decr
(
ticketIdKeyIdCard
,
Math
.
abs
(
buyCount
));
redisDataSourceUtil
.
getRedisKylinUtil
().
decr
(
performanceIdKeyIdCard
,
Math
.
abs
(
buyCount
));
}
redisDataSourceUtil
.
getRedisKylinUtil
().
decr
(
ticketIdKeyUid
,
Math
.
abs
(
buyCount
));
redisDataSourceUtil
.
getRedisKylinUtil
().
decr
(
performanceIdKeyUid
,
Math
.
abs
(
buyCount
));
}
}
}
}
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/kylin/utils/OrderUtils.java
View file @
2fe25219
...
@@ -18,93 +18,101 @@ public class OrderUtils {
...
@@ -18,93 +18,101 @@ public class OrderUtils {
private
DataUtils
dataUtils
;
private
DataUtils
dataUtils
;
public
String
judgeOrderLimit
(
public
String
judgeOrderLimit
(
int
type
,
String
userId
,
String
userId
,
String
idCard
,
String
idCard
,
String
performanceId
,
String
performanceId
,
String
ticketId
,
String
ticketId
,
int
performanceLimitCount
,
int
performanceLimitCount
,
int
performanceMemberLimitCount
,
int
performanceMemberLimitCount
,
int
performanceLimitIdCard
,
int
ticketLimitCount
,
int
ticketLimitCount
,
int
ticketMemberLimitCount
,
int
ticketMemberLimitCount
,
int
performanceBuyCount
,
int
ticketLimitIdCard
,
int
ticketBuyCount
,
int
memberType
,
int
memberType
,
int
isTrueName
int
isTrueName
)
{
)
{
Integer
[]
integers
;
Integer
[]
integers
=
orderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
isTrueName
);
if
(
101
==
type
)
{
return
judgeMemberType
(
performanceLimitCount
,
performanceMemberLimitCount
,
performanceLimitIdCard
,
integers
=
festivalOrderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
performanceBuyCount
,
ticketBuyCount
,
isTrueName
);
ticketLimitCount
,
ticketMemberLimitCount
,
ticketLimitIdCard
,
}
else
{
memberType
,
integers
[
0
],
integers
[
1
],
integers
[
2
],
integers
[
3
],
isTrueName
);
integers
=
roadShowOrderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
performanceBuyCount
,
ticketBuyCount
,
isTrueName
);
}
return
judgeMemberType
(
performanceLimitCount
,
performanceMemberLimitCount
,
ticketLimitCount
,
ticketMemberLimitCount
,
memberType
,
integers
[
0
],
integers
[
1
],
isTrueName
);
}
}
public
Integer
[]
roadShowO
rderLimit
(
public
Integer
[]
o
rderLimit
(
String
userId
,
String
userId
,
String
idCard
,
String
idCard
,
String
performanceId
,
String
performanceId
,
String
ticketId
,
String
ticketId
,
int
performanceBuyCount
,
int
ticketBuyCount
,
int
isTrueName
int
isTrueName
)
{
)
{
if
(
1
==
isTrueName
)
{
//实名
int
performanceBuyCountUid
=
0
;
performanceBuyCount
+=
dataUtils
.
getIdCardPBuyCount
(
idCard
,
performanceId
);
int
ticketBuyCountUid
=
0
;
ticketBuyCount
+=
dataUtils
.
getIdCardTBuyCount
(
idCard
,
ticketId
);
int
performanceBuyCountIdCard
=
0
;
}
else
{
//非实名
int
ticketBuyCountIdCard
=
0
;
performanceBuyCount
+=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCount
+=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
Integer
[]
array
=
new
Integer
[
2
];
array
[
0
]
=
performanceBuyCount
;
array
[
1
]
=
ticketBuyCount
;
return
array
;
}
public
Integer
[]
festivalOrderLimit
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
performanceBuyCount
,
int
ticketBuyCount
,
int
isTrueName
)
{
if
(
1
==
isTrueName
)
{
//实名
if
(
1
==
isTrueName
)
{
//实名
performanceBuyCount
+=
dataUtils
.
getIdCardPBuyCount
(
idCard
,
performanceId
);
performanceBuyCountIdCard
=
dataUtils
.
getIdCardPBuyCount
(
idCard
,
performanceId
);
ticketBuyCount
+=
dataUtils
.
getIdCardTBuyCount
(
idCard
,
ticketId
);
ticketBuyCountIdCard
=
dataUtils
.
getIdCardTBuyCount
(
idCard
,
ticketId
);
performanceBuyCountUid
=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCountUid
=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
else
{
//非实名
}
else
{
//非实名
performanceBuyCount
+
=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
performanceBuyCount
Uid
=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCount
+
=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
ticketBuyCount
Uid
=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
}
Integer
[]
array
=
new
Integer
[
2
];
Integer
[]
array
=
new
Integer
[
4
];
array
[
0
]
=
performanceBuyCount
;
array
[
0
]
=
performanceBuyCountUid
;
array
[
1
]
=
ticketBuyCount
;
array
[
1
]
=
ticketBuyCountUid
;
array
[
2
]
=
performanceBuyCountIdCard
;
array
[
3
]
=
ticketBuyCountIdCard
;
return
array
;
return
array
;
}
}
public
String
judgeMemberType
(
int
performanceLimitCount
,
int
performanceMemberLimitCount
,
int
ticketLimitCount
,
int
ticketMemberLimitCount
,
int
memberType
,
int
performanceBuyCount
,
int
ticketBuyCount
,
int
isTrueName
)
{
public
String
judgeMemberType
(
int
performanceLimitCount
,
int
performanceMemberLimitCount
,
int
performanceLimitIdCard
,
int
ticketLimitCount
,
int
ticketMemberLimitCount
,
int
ticketLimitIdCard
,
int
memberType
,
int
performanceBuyCountUid
,
int
ticketBuyCountUid
,
int
performanceBuyCountIdCard
,
int
ticketBuyCountIdCard
,
int
isTrueName
)
{
if
(
memberType
==
1
||
memberType
==
2
)
{
if
(
memberType
==
1
||
memberType
==
2
)
{
if
(
performanceBuyCount
>
performanceMemberLimitCount
&&
performanceMemberLimitCount
!=
0
)
{
if
(
isTrueName
==
1
){
return
(
1
==
isTrueName
?
"实名制"
:
"本场"
)
+
"演出限购"
+
performanceMemberLimitCount
+
"张,已超出"
;
//超过演出维度购买量
if
(
performanceBuyCountIdCard
>
performanceMemberLimitCount
&&
performanceMemberLimitCount
!=
0
)
{
}
return
"实名制演出限购"
+
performanceMemberLimitCount
+
"张,已超出"
;
//超过演出维度购买量
if
(
ticketBuyCount
>
ticketMemberLimitCount
&&
ticketMemberLimitCount
!=
0
)
{
}
return
(
1
==
isTrueName
?
"实名制"
:
"该"
)
+
"票种限购"
+
ticketMemberLimitCount
+
"张,已超出"
;
//超过票维度购买量
if
(
ticketBuyCountIdCard
>
ticketMemberLimitCount
&&
ticketMemberLimitCount
!=
0
)
{
return
"实名制票种限购"
+
ticketMemberLimitCount
+
"张,已超出"
;
//超过票维度购买量
}
}
else
{
if
(
performanceBuyCountUid
>
performanceMemberLimitCount
&&
performanceMemberLimitCount
!=
0
)
{
return
"本场演出限购"
+
performanceMemberLimitCount
+
"张,已超出"
;
//超过演出维度购买量
}
if
(
ticketBuyCountUid
>
ticketMemberLimitCount
&&
ticketMemberLimitCount
!=
0
)
{
return
"该票种限购"
+
ticketMemberLimitCount
+
"张,已超出"
;
//超过票维度购买量
}
}
}
}
else
{
//非会员区间
}
else
{
//非会员区间
if
(
performanceBuyCount
>
performanceLimitCount
&&
performanceLimitCount
!=
0
)
{
if
(
isTrueName
==
1
){
return
(
1
==
isTrueName
?
"实名制"
:
"本场"
)
+
"演出限购"
+
performanceLimitCount
+
"张,已超出"
;
//超过演出维度购买量
if
(
performanceBuyCountUid
>
performanceLimitCount
&&
performanceLimitCount
!=
0
)
{
}
return
"本场演出限购"
+
performanceLimitCount
+
"张,已超出"
;
//超过演出维度购买量
if
(
ticketBuyCount
>
ticketLimitCount
&&
ticketLimitCount
!=
0
)
{
}
return
(
1
==
isTrueName
?
"实名制"
:
"该"
)
+
"票种限购"
+
ticketLimitCount
+
"张,已超出"
;
//超过票维度购买量
if
(
ticketBuyCountUid
>
ticketLimitCount
&&
ticketLimitCount
!=
0
)
{
return
"该票种限购"
+
performanceLimitCount
+
"张,已超出"
;
//超过演出维度购买量
}
if
(
performanceBuyCountIdCard
>
performanceLimitIdCard
&&
performanceLimitIdCard
!=
0
)
{
return
"实名制演出限购"
+
performanceLimitIdCard
+
"张,已超出"
;
//超过演出维度购买量
}
if
(
ticketBuyCountIdCard
>
ticketLimitIdCard
&&
ticketLimitIdCard
!=
0
)
{
return
"实名制票种限购"
+
ticketLimitIdCard
+
"张,已超出"
;
//超过演出维度购买量
}
}
else
{
if
(
performanceBuyCountUid
>
performanceLimitCount
&&
performanceLimitCount
!=
0
)
{
return
"本场演出限购"
+
performanceLimitCount
+
"张,已超出"
;
//超过演出维度购买量
}
if
(
ticketBuyCountUid
>
ticketLimitCount
&&
ticketLimitCount
!=
0
)
{
return
"该票种限购"
+
performanceLimitCount
+
"张,已超出"
;
//超过演出维度购买量
}
}
}
}
}
return
""
;
return
""
;
}
}
/**
/**
* @param userId 用户id
* @param userId 用户id
* @param type 1新增 2修改
* @param type 1新增 2修改
...
...
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-kylin/src/main/java/com/liquidnet/service/consumer/kylin/config/ConsumerKylinSqlOptOrderCloseRedisStreamConfig.java
View file @
2fe25219
package
com
.
liquidnet
.
service
.
consumer
.
kylin
.
config
;
//package com.liquidnet.service.consumer.kylin.config;
import
com.liquidnet.common.cache.redis.config.RedisStreamConfig
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.consumer.kylin.receiver.ConsumerKylinSqlOptOrderCloseRedisReceiver
;
import
lombok.var
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.data.redis.connection.RedisConnectionFactory
;
import
org.springframework.data.redis.connection.stream.Consumer
;
import
org.springframework.data.redis.connection.stream.MapRecord
;
import
org.springframework.data.redis.connection.stream.ReadOffset
;
import
org.springframework.data.redis.connection.stream.StreamOffset
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.data.redis.stream.StreamMessageListenerContainer
;
import
org.springframework.data.redis.stream.Subscription
;
import
java.util.ArrayList
;
import
java.util.List
;
import
static
com
.
liquidnet
.
service
.
base
.
constant
.
MQConst
.
KylinQueue
.
SQL_ORDER_CLOSE
;
@Configuration
public
class
ConsumerKylinSqlOptOrderCloseRedisStreamConfig
extends
RedisStreamConfig
{
@Autowired
ConsumerKylinSqlOptOrderCloseRedisReceiver
consumerKylinSqlOptOrderCloseRedisReceiver
;
@Autowired
StringRedisTemplate
stringRedisTemplate
;
@Bean
public
List
<
Subscription
>
subscriptionSqlOC
(
RedisConnectionFactory
factory
)
{
List
<
Subscription
>
subscriptionList
=
new
ArrayList
<>();
MQConst
.
KylinQueue
stream
=
MQConst
.
KylinQueue
.
SQL_ORDER_CLOSE
;
this
.
initStream
(
stringRedisTemplate
,
stream
.
getKey
(),
stream
.
getGroup
());
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
subscriptionList
.
add
(
listenerContainer
.
receiveAutoAck
(
Consumer
.
from
(
stream
.
getGroup
(),
getConsumerName
(
stream
.
name
()
+
i
)),
StreamOffset
.
create
(
stream
.
getKey
(),
ReadOffset
.
lastConsumed
()),
consumerKylinSqlOptOrderCloseRedisReceiver
));
listenerContainer
.
start
();
}
return
subscriptionList
;
}
//
//
// /**
//import com.liquidnet.common.cache.redis.config.RedisStreamConfig;
// * 订单关闭
//import com.liquidnet.service.base.constant.MQConst;
// *
//import com.liquidnet.service.consumer.kylin.receiver.ConsumerKylinSqlOptOrderCloseRedisReceiver;
// * @param listenerContainer
//import lombok.var;
// * @param t
//import org.springframework.beans.factory.annotation.Autowired;
// * @return
//import org.springframework.context.annotation.Bean;
// */
//import org.springframework.context.annotation.Configuration;
// private Subscription receiveSqlOptOrderClose(StreamMessageListenerContainer<String, MapRecord<String, String, String>> listenerContainer, int t) {
//import org.springframework.data.redis.connection.RedisConnectionFactory;
// return listenerContainer.receiveAutoAck(Consumer.from(SQL_ORDER_CLOSE.getGroup(), getConsumerName(SQL_ORDER_CLOSE.name() + t)),
//import org.springframework.data.redis.connection.stream.Consumer;
// StreamOffset.create(SQL_ORDER_CLOSE.getKey(), ReadOffset.lastConsumed()), consumerKylinSqlOptOrderCloseRedisReceiver
//import org.springframework.data.redis.connection.stream.MapRecord;
// );
//import org.springframework.data.redis.connection.stream.ReadOffset;
// }
//import org.springframework.data.redis.connection.stream.StreamOffset;
//
//import org.springframework.data.redis.core.StringRedisTemplate;
// /* —————————————————————————— | —————————————————————————— | —————————————————————————— */
//import org.springframework.data.redis.stream.StreamMessageListenerContainer;
//
//import org.springframework.data.redis.stream.Subscription;
// /* -------------------------------------------------------- | 订单关闭 */
//
// @Bean
// public Subscription subscriptionSqlOptOrderClose0(RedisConnectionFactory factory) {
// var listenerContainer = this.buildStreamMessageListenerContainer(factory);
// var subscription = receiveSqlOptOrderClose(listenerContainer, 0);
// listenerContainer.start();
// return subscription;
// }
//
// @Bean
// public Subscription subscriptionSqlOptOrderClose1(RedisConnectionFactory factory) {
// var listenerContainer = this.buildStreamMessageListenerContainer(factory);
// var subscription = receiveSqlOptOrderClose(listenerContainer, 1);
// listenerContainer.start();
// return subscription;
// }
//
// @Bean
// public Subscription subscriptionSqlOptOrderClose2(RedisConnectionFactory factory) {
// var listenerContainer = this.buildStreamMessageListenerContainer(factory);
// var subscription = receiveSqlOptOrderClose(listenerContainer, 2);
// listenerContainer.start();
// return subscription;
// }
//
// @Bean
// public Subscription subscriptionSqlOptOrderClose3(RedisConnectionFactory factory) {
// var listenerContainer = this.buildStreamMessageListenerContainer(factory);
// var subscription = receiveSqlOptOrderClose(listenerContainer, 3);
// listenerContainer.start();
// return subscription;
// }
//
//
// @Bean
//import java.util.ArrayList;
// public Subscription subscriptionSqlOptOrderClose4(RedisConnectionFactory factory) {
//import java.util.List;
// var listenerContainer = this.buildStreamMessageListenerContainer(factory);
// var subscription = receiveSqlOptOrderClose(listenerContainer, 4);
// listenerContainer.start();
// return subscription;
// }
//
//
// @Bean
//import static com.liquidnet.service.base.constant.MQConst.KylinQueue.SQL_ORDER_CLOSE;
// public Subscription subscriptionSqlOptOrderClose5(RedisConnectionFactory factory) {
// var listenerContainer = this.buildStreamMessageListenerContainer(factory);
// var subscription = receiveSqlOptOrderClose(listenerContainer, 5);
// listenerContainer.start();
// return subscription;
// }
//
//
// @Bean
//@Configuration
// public Subscription subscriptionSqlOptOrderClose6(RedisConnectionFactory factory) {
//public class ConsumerKylinSqlOptOrderCloseRedisStreamConfig extends RedisStreamConfig {
// var listenerContainer = this.buildStreamMessageListenerContainer(factory);
// @Autowired
// var subscription = receiveSqlOptOrderClose(listenerContainer, 6);
// ConsumerKylinSqlOptOrderCloseRedisReceiver consumerKylinSqlOptOrderCloseRedisReceiver;
// listenerContainer.start();
// @Autowired
// return subscription;
// StringRedisTemplate stringRedisTemplate;
// }
//
// @Bean
// public Subscription subscriptionSqlOptOrderClose7(RedisConnectionFactory factory) {
// var listenerContainer = this.buildStreamMessageListenerContainer(factory);
// var subscription = receiveSqlOptOrderClose(listenerContainer, 7);
// listenerContainer.start();
// return subscription;
// }
//
//
// @Bean
// @Bean
// public Subscription subscriptionSqlOptOrderClose8(RedisConnectionFactory factory) {
// public List<Subscription> subscriptionSqlOC(RedisConnectionFactory factory) {
// var listenerContainer = this.buildStreamMessageListenerContainer(factory);
// List<Subscription> subscriptionList = new ArrayList<>();
// var subscription = receiveSqlOptOrderClose(listenerContainer, 8);
// MQConst.KylinQueue stream = MQConst.KylinQueue.SQL_ORDER_CLOSE;
// listenerContainer.start();
// this.initStream(stringRedisTemplate, stream.getKey(), stream.getGroup());
// return subscription;
// for (int i = 0; i < 10; i++) {
// StreamMessageListenerContainer<String, MapRecord<String, String, String>> listenerContainer = this.buildStreamMessageListenerContainer(factory);
// subscriptionList.add(listenerContainer.receiveAutoAck(
// Consumer.from(stream.getGroup(), getConsumerName(stream.name() + i)),
// StreamOffset.create(stream.getKey(), ReadOffset.lastConsumed()), consumerKylinSqlOptOrderCloseRedisReceiver
// ));
// listenerContainer.start();
// }
// return subscriptionList;
// }
// }
////
//// /**
//// * 订单关闭
//// *
//// * @param listenerContainer
//// * @param t
//// * @return
//// */
//// private Subscription receiveSqlOptOrderClose(StreamMessageListenerContainer<String, MapRecord<String, String, String>> listenerContainer, int t) {
//// return listenerContainer.receiveAutoAck(Consumer.from(SQL_ORDER_CLOSE.getGroup(), getConsumerName(SQL_ORDER_CLOSE.name() + t)),
//// StreamOffset.create(SQL_ORDER_CLOSE.getKey(), ReadOffset.lastConsumed()), consumerKylinSqlOptOrderCloseRedisReceiver
//// );
//// }
////
//// /* —————————————————————————— | —————————————————————————— | —————————————————————————— */
////
//// /* -------------------------------------------------------- | 订单关闭 */
////
//// @Bean
//// public Subscription subscriptionSqlOptOrderClose0(RedisConnectionFactory factory) {
//// var listenerContainer = this.buildStreamMessageListenerContainer(factory);
//// var subscription = receiveSqlOptOrderClose(listenerContainer, 0);
//// listenerContainer.start();
//// return subscription;
//// }
////
//// @Bean
//// public Subscription subscriptionSqlOptOrderClose1(RedisConnectionFactory factory) {
//// var listenerContainer = this.buildStreamMessageListenerContainer(factory);
//// var subscription = receiveSqlOptOrderClose(listenerContainer, 1);
//// listenerContainer.start();
//// return subscription;
//// }
////
//// @Bean
//// public Subscription subscriptionSqlOptOrderClose2(RedisConnectionFactory factory) {
//// var listenerContainer = this.buildStreamMessageListenerContainer(factory);
//// var subscription = receiveSqlOptOrderClose(listenerContainer, 2);
//// listenerContainer.start();
//// return subscription;
//// }
////
//// @Bean
//// public Subscription subscriptionSqlOptOrderClose3(RedisConnectionFactory factory) {
//// var listenerContainer = this.buildStreamMessageListenerContainer(factory);
//// var subscription = receiveSqlOptOrderClose(listenerContainer, 3);
//// listenerContainer.start();
//// return subscription;
//// }
////
//// @Bean
//// public Subscription subscriptionSqlOptOrderClose4(RedisConnectionFactory factory) {
//// var listenerContainer = this.buildStreamMessageListenerContainer(factory);
//// var subscription = receiveSqlOptOrderClose(listenerContainer, 4);
//// listenerContainer.start();
//// return subscription;
//// }
////
//// @Bean
//// public Subscription subscriptionSqlOptOrderClose5(RedisConnectionFactory factory) {
//// var listenerContainer = this.buildStreamMessageListenerContainer(factory);
//// var subscription = receiveSqlOptOrderClose(listenerContainer, 5);
//// listenerContainer.start();
//// return subscription;
//// }
////
//// @Bean
//// public Subscription subscriptionSqlOptOrderClose6(RedisConnectionFactory factory) {
//// var listenerContainer = this.buildStreamMessageListenerContainer(factory);
//// var subscription = receiveSqlOptOrderClose(listenerContainer, 6);
//// listenerContainer.start();
//// return subscription;
//// }
////
//// @Bean
//// public Subscription subscriptionSqlOptOrderClose7(RedisConnectionFactory factory) {
//// var listenerContainer = this.buildStreamMessageListenerContainer(factory);
//// var subscription = receiveSqlOptOrderClose(listenerContainer, 7);
//// listenerContainer.start();
//// return subscription;
//// }
////
//// @Bean
//// public Subscription subscriptionSqlOptOrderClose8(RedisConnectionFactory factory) {
//// var listenerContainer = this.buildStreamMessageListenerContainer(factory);
//// var subscription = receiveSqlOptOrderClose(listenerContainer, 8);
//// listenerContainer.start();
//// return subscription;
//// }
////
//// @Bean
//// public Subscription subscriptionSqlOptOrderClose9(RedisConnectionFactory factory) {
//// var listenerContainer = this.buildStreamMessageListenerContainer(factory);
//// var subscription = receiveSqlOptOrderClose(listenerContainer, 9);
//// listenerContainer.start();
//// return subscription;
//// }
//
//
// @Bean
// /* -------------------------------------------------------- | */
// public Subscription subscriptionSqlOptOrderClose9(RedisConnectionFactory factory) {
//}
// var listenerContainer = this.buildStreamMessageListenerContainer(factory);
// var subscription = receiveSqlOptOrderClose(listenerContainer, 9);
// listenerContainer.start();
// return subscription;
// }
/* -------------------------------------------------------- | */
}
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-kylin/src/main/java/com/liquidnet/service/consumer/kylin/receiver/AbstractSqlOptOrderCloseRedisReceiver.java
View file @
2fe25219
package
com
.
liquidnet
.
service
.
consumer
.
kylin
.
receiver
;
//
package com.liquidnet.service.consumer.kylin.receiver;
//
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
//
import com.liquidnet.common.cache.redis.util.RedisUtil;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
//
import com.liquidnet.commons.lang.util.CollectionUtil;
import
com.liquidnet.commons.lang.util.JsonUtils
;
//
import com.liquidnet.commons.lang.util.JsonUtils;
import
com.liquidnet.service.base.OrderCloseMapping
;
//
import com.liquidnet.service.base.OrderCloseMapping;
import
com.liquidnet.service.consumer.kylin.utils.KylinUtils
;
//
import com.liquidnet.service.consumer.kylin.utils.KylinUtils;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo
;
//
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.KylinOrderTicketVo;
import
lombok.extern.slf4j.Slf4j
;
//
import lombok.extern.slf4j.Slf4j;
import
org.springframework.beans.factory.annotation.Autowired
;
//
import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.data.redis.connection.stream.MapRecord
;
//
import org.springframework.data.redis.connection.stream.MapRecord;
import
org.springframework.data.redis.connection.stream.StreamRecords
;
//
import org.springframework.data.redis.connection.stream.StreamRecords;
import
org.springframework.data.redis.core.StringRedisTemplate
;
//
import org.springframework.data.redis.core.StringRedisTemplate;
import
org.springframework.data.redis.stream.StreamListener
;
//
import org.springframework.data.redis.stream.StreamListener;
//
import
java.util.HashMap
;
//
import java.util.HashMap;
//
@Slf4j
//
@Slf4j
public
abstract
class
AbstractSqlOptOrderCloseRedisReceiver
implements
StreamListener
<
String
,
MapRecord
<
String
,
String
,
String
>>
{
//
public abstract class AbstractSqlOptOrderCloseRedisReceiver implements StreamListener<String, MapRecord<String, String, String>> {
@Autowired
//
@Autowired
StringRedisTemplate
stringRedisTemplate
;
//
StringRedisTemplate stringRedisTemplate;
@Autowired
//
@Autowired
private
RedisUtil
redisUtil
;
//
private RedisUtil redisUtil;
@Autowired
//
@Autowired
private
KylinUtils
kylinUtils
;
//
private KylinUtils kylinUtils;
//
@Override
//
@Override
public
void
onMessage
(
MapRecord
<
String
,
String
,
String
>
message
)
{
//
public void onMessage(MapRecord<String, String, String> message) {
String
redisStreamKey
=
this
.
getRedisStreamKey
();
//
String redisStreamKey = this.getRedisStreamKey();
log
.
debug
(
"CONSUMER MSG[streamKey:{},messageId:{},stream:{},body:{}]"
,
redisStreamKey
,
message
.
getId
(),
message
.
getStream
(),
message
.
getValue
());
//
log.debug("CONSUMER MSG[streamKey:{},messageId:{},stream:{},body:{}]", redisStreamKey, message.getId(), message.getStream(), message.getValue());
boolean
result
=
this
.
consumerSqlOperationOrderCloseHandler
(
message
.
getValue
().
get
(
"message"
));
//
boolean result = this.consumerSqlOperationOrderCloseHandler(message.getValue().get("message"));
log
.
info
(
"CONSUMER MSG RESULT:{} ==> [{}]MESSAGE_ID:{}"
,
result
,
redisStreamKey
,
message
.
getId
());
//
log.info("CONSUMER MSG RESULT:{} ==> [{}]MESSAGE_ID:{}", result, redisStreamKey, message.getId());
//
try
{
//
try {
stringRedisTemplate
.
opsForStream
().
acknowledge
(
getRedisStreamGroup
(),
message
);
//
stringRedisTemplate.opsForStream().acknowledge(getRedisStreamGroup(), message);
}
catch
(
Exception
e
)
{
//
} catch (Exception e) {
log
.
error
(
"#CONSUMER MSG EX_ACK ==> [{}]RESULT:{},MESSAGE:{}"
,
redisStreamKey
,
result
,
message
.
getValue
(),
e
);
//
log.error("#CONSUMER MSG EX_ACK ==> [{}]RESULT:{},MESSAGE:{}", redisStreamKey, result, message.getValue(), e);
}
//
}
try
{
//
try {
stringRedisTemplate
.
opsForStream
().
delete
(
redisStreamKey
,
message
.
getId
());
//
stringRedisTemplate.opsForStream().delete(redisStreamKey, message.getId());
}
catch
(
Exception
e
)
{
//
} catch (Exception e) {
log
.
error
(
"#CONSUMER MSG EX_DEL ==> [{}]RESULT:{},MESSAGE:{}"
,
redisStreamKey
,
result
,
message
.
getValue
(),
e
);
//
log.error("#CONSUMER MSG EX_DEL ==> [{}]RESULT:{},MESSAGE:{}", redisStreamKey, result, message.getValue(), e);
}
//
}
}
//
}
//
private
boolean
consumerSqlOperationOrderCloseHandler
(
String
msg
)
{
//
private boolean consumerSqlOperationOrderCloseHandler(String msg) {
boolean
aBoolean
=
false
;
//
boolean aBoolean = false;
try
{
//
try {
OrderCloseMapping
.
orderCloseMessage
mqMessage
=
JsonUtils
.
fromJson
(
msg
,
OrderCloseMapping
.
orderCloseMessage
.
class
);
//
OrderCloseMapping.orderCloseMessage mqMessage = JsonUtils.fromJson(msg, OrderCloseMapping.orderCloseMessage.class);
//
for
(
int
x
=
0
;
x
<
mqMessage
.
getOrderTicketIds
().
size
();
x
++)
{
//
for (int x = 0; x < mqMessage.getOrderTicketIds().size(); x++) {
String
t
=
mqMessage
.
getOrderTicketIds
().
get
(
x
);
//
String t = mqMessage.getOrderTicketIds().get(x);
String
orderTicketId
=
t
.
split
(
","
)[
0
];
//
String orderTicketId = t.split(",")[0];
String
uid
=
t
.
split
(
","
)[
1
];
//
String uid = t.split(",")[1];
KylinOrderTicketVo
vo
=
kylinUtils
.
getOrderTicketVo
(
orderTicketId
);
//
KylinOrderTicketVo vo = kylinUtils.getOrderTicketVo(orderTicketId);
vo
.
setStatus
(
2
);
//
vo.setStatus(2);
redisUtil
.
set
(
"kylin:order:id:"
+
orderTicketId
,
vo
);
//
redisUtil.set("kylin:order:id:" + orderTicketId, vo);
//
kylinUtils
.
resetOrderListVo
(
uid
,
2
,
orderTicketId
,
vo
);
//
kylinUtils.resetOrderListVo(uid, 2, orderTicketId, vo);
// redis 限购
//
// redis 限购
for
(
int
i
=
0
;
i
<
vo
.
getEntitiesVoList
().
size
();
i
++)
{
//
for (int i = 0; i < vo.getEntitiesVoList().size(); i++) {
KylinOrderTicketEntitiesVo
items
=
vo
.
getEntitiesVoList
().
get
(
i
);
//
KylinOrderTicketEntitiesVo items = vo.getEntitiesVoList().get(i);
kylinUtils
.
changeBuyInfo
(
items
.
getUserId
(),
items
.
getEnterIdCode
(),
items
.
getPerformanceId
(),
items
.
getTicketId
(),
-
1
);
//
kylinUtils.changeBuyInfo(items.getUserId(), items.getEnterIdCode(), items.getPerformanceId(), items.getTicketId(), -1);
}
//
}
}
//
}
//
aBoolean
=
true
;
//
aBoolean = true;
}
catch
(
Exception
e
)
{
//
} catch (Exception e) {
log
.
error
(
"CONSUMER MSG EX_HANDLE ==> [{}]:{}"
,
this
.
getRedisStreamKey
(),
msg
,
e
);
//
log.error("CONSUMER MSG EX_HANDLE ==> [{}]:{}", this.getRedisStreamKey(), msg, e);
}
finally
{
//
} finally {
if
(!
aBoolean
)
{
//
if (!aBoolean) {
HashMap
<
String
,
String
>
map
=
CollectionUtil
.
mapStringString
();
//
HashMap<String, String> map = CollectionUtil.mapStringString();
map
.
put
(
"message"
,
msg
);
//
map.put("message", msg);
stringRedisTemplate
.
opsForStream
().
add
(
StreamRecords
.
mapBacked
(
map
).
withStreamKey
(
this
.
getRedisStreamKey
()));
//
stringRedisTemplate.opsForStream().add(StreamRecords.mapBacked(map).withStreamKey(this.getRedisStreamKey()));
}
//
}
}
//
}
return
aBoolean
;
//
return aBoolean;
}
//
}
//
protected
abstract
String
getRedisStreamKey
();
//
protected abstract String getRedisStreamKey();
//
protected
abstract
String
getRedisStreamGroup
();
//
protected abstract String getRedisStreamGroup();
}
//
}
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-kylin/src/main/java/com/liquidnet/service/consumer/kylin/receiver/ConsumerKylinSqlOptOrderCloseRedisReceiver.java
View file @
2fe25219
package
com
.
liquidnet
.
service
.
consumer
.
kylin
.
receiver
;
//
package com.liquidnet.service.consumer.kylin.receiver;
//
import
com.liquidnet.service.base.constant.MQConst
;
//
import com.liquidnet.service.base.constant.MQConst;
import
org.springframework.stereotype.Component
;
//
import org.springframework.stereotype.Component;
//
@Component
//
@Component
public
class
ConsumerKylinSqlOptOrderCloseRedisReceiver
extends
AbstractSqlOptOrderCloseRedisReceiver
{
//
public class ConsumerKylinSqlOptOrderCloseRedisReceiver extends AbstractSqlOptOrderCloseRedisReceiver {
@Override
//
@Override
protected
String
getRedisStreamKey
()
{
//
protected String getRedisStreamKey() {
return
MQConst
.
KylinQueue
.
SQL_ORDER_CLOSE
.
getKey
();
//
return MQConst.KylinQueue.SQL_ORDER_CLOSE.getKey();
}
//
}
//
@Override
//
@Override
protected
String
getRedisStreamGroup
()
{
//
protected String getRedisStreamGroup() {
return
MQConst
.
KylinQueue
.
SQL_ORDER_CLOSE
.
getGroup
();
//
return MQConst.KylinQueue.SQL_ORDER_CLOSE.getGroup();
}
//
}
}
//
}
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-kylin/src/main/java/com/liquidnet/service/consumer/kylin/utils/KylinUtils.java
View file @
2fe25219
...
@@ -83,45 +83,26 @@ public class KylinUtils {
...
@@ -83,45 +83,26 @@ public class KylinUtils {
}
}
}
}
public
void
changeBuyInfo
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
buyCount
)
{
// public void changeBuyInfo(String userId, String idCard, String performanceId, String ticketId, int buyCount) {
String
redisKey
;
// String redisKey;
int
isTrueName
=
getPerformanceIsTrueName
(
performanceId
);
// int isTrueName = getPerformanceIsTrueName(performanceId);
// String useTime = "";
// if (0 == isTrueName) {
// HashMap<String, ArrayList<String>> allTicketId = new HashMap<>();
// redisKey = KylinRedisConst.USERID_BUY_INFO + userId;
// for (int x = 0; x < vo.getTicketTimeList().size(); x++) {
// } else {
// KylinTicketTimesVo timeItem = vo.getTicketTimeList().get(x);
// redisKey = KylinRedisConst.IDCARD_BUY_INFO + idCard;
// ArrayList<String> ticketList = new ArrayList<>();
// for (int y = 0; y < timeItem.getTicketList().size(); y++) {
// KylinTicketVo ticketItem = timeItem.getTicketList().get(y);
// if (ticketItem.getType() == 1) {
// ticketList.add(ticketItem.getTicketsId());
// }
// if (ticketItem.getTicketsId().equals(ticketId)) {
// useTime = ticketItem.getUseStart();
// }
// }
// allTicketId.put(timeItem.getUseStart(), ticketList);
// }
// }
//
if
(
0
==
isTrueName
)
{
// String performanceIdKey = redisKey + ":" + KylinRedisConst.PERFORMANCE_ID + ":" + performanceId;
redisKey
=
KylinRedisConst
.
USERID_BUY_INFO
+
userId
;
// String ticketIdKey = redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + ticketId;
}
else
{
//
redisKey
=
KylinRedisConst
.
IDCARD_BUY_INFO
+
idCard
;
// if (buyCount > 0) {
}
// redisUtil.incr(ticketIdKey, buyCount);
// redisUtil.incr(performanceIdKey, buyCount);
String
performanceIdKey
=
redisKey
+
":"
+
KylinRedisConst
.
PERFORMANCE_ID
+
":"
+
performanceId
;
// } else {
String
ticketIdKey
=
redisKey
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
ticketId
;
// redisUtil.decr(ticketIdKey, Math.abs(buyCount));
// String ticketUseTimeKey = ticketIdKey + ":" + KylinRedisConst.USE_TIME;
// redisUtil.decr(performanceIdKey, Math.abs(buyCount));
// redisUtil.set(ticketUseTimeKey, useTime);
// }
// }
if
(
buyCount
>
0
)
{
redisUtil
.
incr
(
ticketIdKey
,
buyCount
);
redisUtil
.
incr
(
performanceIdKey
,
buyCount
);
}
else
{
redisUtil
.
decr
(
ticketIdKey
,
Math
.
abs
(
buyCount
));
redisUtil
.
decr
(
performanceIdKey
,
Math
.
abs
(
buyCount
));
}
}
/**
/**
* 根据演出id 获取 演出vo 详情
* 根据演出id 获取 演出vo 详情
...
...
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-order/src/main/java/com/liquidnet/service/consumer/order/utils/KylinOrderUtils.java
View file @
2fe25219
...
@@ -138,21 +138,36 @@ public class KylinOrderUtils {
...
@@ -138,21 +138,36 @@ public class KylinOrderUtils {
* @param buyCount
* @param buyCount
*/
*/
public
void
changeBuyInfo
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
buyCount
)
{
public
void
changeBuyInfo
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
buyCount
)
{
String
redisKey
;
String
redisKeyUid
;
String
redisKeyIdCard
;
String
performanceIdKeyIdCard
=
""
;
String
ticketIdKeyIdCard
=
""
;
int
isTrueName
=
getPerformanceIsTrueName
(
performanceId
);
int
isTrueName
=
getPerformanceIsTrueName
(
performanceId
);
if
(
0
==
isTrueName
)
{
redisKey
=
KylinRedisConst
.
USERID_BUY_INFO
+
userId
;
redisKeyUid
=
KylinRedisConst
.
USERID_BUY_INFO
+
userId
;
}
else
{
redisKeyIdCard
=
KylinRedisConst
.
IDCARD_BUY_INFO
+
idCard
;
redisKey
=
KylinRedisConst
.
IDCARD_BUY_INFO
+
idCard
;
String
performanceIdKeyUid
=
redisKeyUid
+
":"
+
KylinRedisConst
.
PERFORMANCE_ID
+
":"
+
performanceId
;
String
ticketIdKeyUid
=
redisKeyUid
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
ticketId
;
if
(
isTrueName
!=
0
)
{
performanceIdKeyIdCard
=
redisKeyIdCard
+
":"
+
KylinRedisConst
.
PERFORMANCE_ID
+
":"
+
performanceId
;
ticketIdKeyIdCard
=
redisKeyIdCard
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
ticketId
;
}
}
String
performanceIdKey
=
redisKey
+
":"
+
KylinRedisConst
.
PERFORMANCE_ID
+
":"
+
performanceId
;
String
ticketIdKey
=
redisKey
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
ticketId
;
if
(
buyCount
>
0
)
{
if
(
buyCount
>
0
)
{
redisUtil
.
incr
(
ticketIdKey
,
buyCount
);
redisUtil
.
incr
(
ticketIdKeyUid
,
buyCount
);
redisUtil
.
incr
(
performanceIdKey
,
buyCount
);
redisUtil
.
incr
(
performanceIdKeyUid
,
buyCount
);
if
(
isTrueName
!=
0
)
{
redisUtil
.
incr
(
ticketIdKeyIdCard
,
buyCount
);
redisUtil
.
incr
(
performanceIdKeyIdCard
,
buyCount
);
}
}
else
{
}
else
{
redisUtil
.
decr
(
ticketIdKey
,
Math
.
abs
(
buyCount
));
if
(
isTrueName
!=
0
)
{
redisUtil
.
decr
(
performanceIdKey
,
Math
.
abs
(
buyCount
));
redisUtil
.
decr
(
ticketIdKeyIdCard
,
Math
.
abs
(
buyCount
));
redisUtil
.
decr
(
performanceIdKeyIdCard
,
Math
.
abs
(
buyCount
));
}
redisUtil
.
decr
(
ticketIdKeyUid
,
Math
.
abs
(
buyCount
));
redisUtil
.
decr
(
performanceIdKeyUid
,
Math
.
abs
(
buyCount
));
}
}
}
}
...
...
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-slowly/src/main/java/com/liquidnet/service/consumer/slowly/utils/KylinUtils.java
View file @
2fe25219
...
@@ -83,46 +83,6 @@ public class KylinUtils {
...
@@ -83,46 +83,6 @@ public class KylinUtils {
}
}
}
}
public
void
changeBuyInfo
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
buyCount
)
{
String
redisKey
;
int
isTrueName
=
getPerformanceIsTrueName
(
performanceId
);
// String useTime = "";
// HashMap<String, ArrayList<String>> allTicketId = new HashMap<>();
// for (int x = 0; x < vo.getTicketTimeList().size(); x++) {
// KylinTicketTimesVo timeItem = vo.getTicketTimeList().get(x);
// ArrayList<String> ticketList = new ArrayList<>();
// for (int y = 0; y < timeItem.getTicketList().size(); y++) {
// KylinTicketVo ticketItem = timeItem.getTicketList().get(y);
// if (ticketItem.getType() == 1) {
// ticketList.add(ticketItem.getTicketsId());
// }
// if (ticketItem.getTicketsId().equals(ticketId)) {
// useTime = ticketItem.getUseStart();
// }
// }
// allTicketId.put(timeItem.getUseStart(), ticketList);
// }
if
(
0
==
isTrueName
)
{
redisKey
=
KylinRedisConst
.
USERID_BUY_INFO
+
userId
;
}
else
{
redisKey
=
KylinRedisConst
.
IDCARD_BUY_INFO
+
idCard
;
}
String
performanceIdKey
=
redisKey
+
":"
+
KylinRedisConst
.
PERFORMANCE_ID
+
":"
+
performanceId
;
String
ticketIdKey
=
redisKey
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
ticketId
;
// String ticketUseTimeKey = ticketIdKey + ":" + KylinRedisConst.USE_TIME;
// redisUtil.set(ticketUseTimeKey, useTime);
if
(
buyCount
>
0
)
{
redisUtil
.
incr
(
ticketIdKey
,
buyCount
);
redisUtil
.
incr
(
performanceIdKey
,
buyCount
);
}
else
{
redisUtil
.
decr
(
ticketIdKey
,
Math
.
abs
(
buyCount
));
redisUtil
.
decr
(
performanceIdKey
,
Math
.
abs
(
buyCount
));
}
}
/**
/**
* 根据演出id 获取 演出vo 详情
* 根据演出id 获取 演出vo 详情
*
*
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinOrderTicketsServiceImpl.java
View file @
2fe25219
...
@@ -645,8 +645,10 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
...
@@ -645,8 +645,10 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
// 获取限购 实名
// 获取限购 实名
int
ticketLimit
=
ticketData
.
getLimitCount
();
//普通票种限购
int
ticketLimit
=
ticketData
.
getLimitCount
();
//普通票种限购
int
ticketMemberLimit
=
ticketData
.
getLimitCountMember
();
//会员票种限购
int
ticketMemberLimit
=
ticketData
.
getLimitCountMember
();
//会员票种限购
int
ticketIdCount
=
ticketData
.
getIdCount
();
//实名票种限购
int
performanceLimit
=
performanceData
.
getLimitCount
();
//普通演出限购
int
performanceLimit
=
performanceData
.
getLimitCount
();
//普通演出限购
int
performanceMemberLimit
=
performanceData
.
getLimitCountMember
();
//会员演出限购
int
performanceMemberLimit
=
1
;
//会员演出限购
int
performanceIdCount
=
performanceData
.
getIdCount
();
//实名演出限购
int
isTrueName
=
ticketData
.
getIsTrueName
();
//是否演出实名
int
isTrueName
=
ticketData
.
getIsTrueName
();
//是否演出实名
//实名判断
//实名判断
...
@@ -681,13 +683,13 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
...
@@ -681,13 +683,13 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
//限购判断 如果实名 则身份证维度限购 如果不实名则数量限购
//限购判断 如果实名 则身份证维度限购 如果不实名则数量限购
if
(
entersVoList
.
size
()
>
0
)
{
if
(
entersVoList
.
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
entersVoList
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
entersVoList
.
size
();
i
++)
{
String
res1
=
orderUtils
.
judgeOrderLimit
(
performanceData
.
getType
(),
uid
,
entersVoList
.
get
(
i
).
getIdCard
(),
performanceData
.
getPerformancesId
(),
ticketData
.
getTicketsId
(),
performanceLimit
,
performanceMemberLimit
,
ticketLimit
,
ticketMemberLimit
,
1
,
1
,
0
,
isTrueName
);
String
res1
=
orderUtils
.
judgeOrderLimit
(
uid
,
entersVoList
.
get
(
i
).
getIdCard
(),
performanceData
.
getPerformancesId
(),
ticketData
.
getTicketsId
(),
performanceLimit
,
performanceMemberLimit
,
performanceIdCount
,
ticketLimit
,
ticketMemberLimit
,
ticketIdCount
,
0
,
isTrueName
);
if
(!
res1
.
equals
(
""
))
{
if
(!
res1
.
equals
(
""
))
{
return
ResponseDto
.
failure
(
res1
);
//乱七八糟异常
return
ResponseDto
.
failure
(
res1
);
//乱七八糟异常
}
}
}
}
}
else
{
}
else
{
String
res1
=
orderUtils
.
judgeOrderLimit
(
performanceData
.
getType
(),
uid
,
""
,
performanceData
.
getPerformancesId
(),
ticketData
.
getTicketsId
(),
performanceLimit
,
performanceMemberLimit
,
ticketLimit
,
ticketMemberLimit
,
orderTicketVo
.
getNumber
(),
orderTicketVo
.
getNumber
()
,
0
,
isTrueName
);
String
res1
=
orderUtils
.
judgeOrderLimit
(
uid
,
""
,
performanceData
.
getPerformancesId
(),
ticketData
.
getTicketsId
(),
performanceLimit
,
performanceMemberLimit
,
performanceIdCount
,
ticketLimit
,
ticketMemberLimit
,
ticketIdCount
,
0
,
isTrueName
);
if
(!
res1
.
equals
(
""
))
{
if
(!
res1
.
equals
(
""
))
{
return
ResponseDto
.
failure
(
res1
);
//乱七八糟异常
return
ResponseDto
.
failure
(
res1
);
//乱七八糟异常
}
}
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/utils/DataUtils.java
View file @
2fe25219
...
@@ -613,25 +613,36 @@ public class DataUtils {
...
@@ -613,25 +613,36 @@ public class DataUtils {
}
}
public
void
changeBuyInfo
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
buyCount
)
{
public
void
changeBuyInfo
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
buyCount
)
{
String
redisKey
;
String
redisKeyUid
;
String
redisKeyIdCard
;
String
performanceIdKeyIdCard
=
""
;
String
ticketIdKeyIdCard
=
""
;
int
isTrueName
=
getPerformanceIsTrueName
(
performanceId
);
int
isTrueName
=
getPerformanceIsTrueName
(
performanceId
);
if
(
0
==
isTrueName
)
{
redisKeyUid
=
KylinRedisConst
.
USERID_BUY_INFO
+
userId
;
redisKey
=
KylinRedisConst
.
USERID_BUY_INFO
+
userId
;
redisKeyIdCard
=
KylinRedisConst
.
IDCARD_BUY_INFO
+
idCard
;
}
else
{
String
performanceIdKeyUid
=
redisKeyUid
+
":"
+
KylinRedisConst
.
PERFORMANCE_ID
+
":"
+
performanceId
;
redisKey
=
KylinRedisConst
.
IDCARD_BUY_INFO
+
idCard
;
String
ticketIdKeyUid
=
redisKeyUid
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
ticketId
;
if
(
isTrueName
!=
0
)
{
performanceIdKeyIdCard
=
redisKeyIdCard
+
":"
+
KylinRedisConst
.
PERFORMANCE_ID
+
":"
+
performanceId
;
ticketIdKeyIdCard
=
redisKeyIdCard
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
ticketId
;
}
}
String
performanceIdKey
=
redisKey
+
":"
+
KylinRedisConst
.
PERFORMANCE_ID
+
":"
+
performanceId
;
String
ticketIdKey
=
redisKey
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
ticketId
;
if
(
buyCount
>
0
)
{
if
(
buyCount
>
0
)
{
redisUtil
.
incr
(
ticketIdKey
,
buyCount
);
redisUtil
.
incr
(
ticketIdKeyUid
,
buyCount
);
redisUtil
.
incr
(
performanceIdKey
,
buyCount
);
redisUtil
.
incr
(
performanceIdKeyUid
,
buyCount
);
if
(
isTrueName
!=
0
)
{
redisUtil
.
incr
(
ticketIdKeyIdCard
,
buyCount
);
redisUtil
.
incr
(
performanceIdKeyIdCard
,
buyCount
);
}
}
else
{
}
else
{
redisUtil
.
decr
(
ticketIdKey
,
Math
.
abs
(
buyCount
));
if
(
isTrueName
!=
0
)
{
redisUtil
.
decr
(
performanceIdKey
,
Math
.
abs
(
buyCount
));
redisUtil
.
decr
(
ticketIdKeyIdCard
,
Math
.
abs
(
buyCount
));
redisUtil
.
decr
(
performanceIdKeyIdCard
,
Math
.
abs
(
buyCount
));
}
redisUtil
.
decr
(
ticketIdKeyUid
,
Math
.
abs
(
buyCount
));
redisUtil
.
decr
(
performanceIdKeyUid
,
Math
.
abs
(
buyCount
));
}
}
}
}
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/utils/OrderUtils.java
View file @
2fe25219
...
@@ -31,93 +31,101 @@ public class OrderUtils {
...
@@ -31,93 +31,101 @@ public class OrderUtils {
public
String
judgeOrderLimit
(
public
String
judgeOrderLimit
(
int
type
,
String
userId
,
String
userId
,
String
idCard
,
String
idCard
,
String
performanceId
,
String
performanceId
,
String
ticketId
,
String
ticketId
,
int
performanceLimitCount
,
int
performanceLimitCount
,
int
performanceMemberLimitCount
,
int
performanceMemberLimitCount
,
int
performanceLimitIdCard
,
int
ticketLimitCount
,
int
ticketLimitCount
,
int
ticketMemberLimitCount
,
int
ticketMemberLimitCount
,
int
performanceBuyCount
,
int
ticketLimitIdCard
,
int
ticketBuyCount
,
int
memberType
,
int
memberType
,
int
isTrueName
int
isTrueName
)
{
)
{
Integer
[]
integers
;
Integer
[]
integers
=
orderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
isTrueName
);
if
(
101
==
type
)
{
return
judgeMemberType
(
performanceLimitCount
,
performanceMemberLimitCount
,
performanceLimitIdCard
,
integers
=
festivalOrderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
performanceBuyCount
,
ticketBuyCount
,
isTrueName
);
ticketLimitCount
,
ticketMemberLimitCount
,
ticketLimitIdCard
,
}
else
{
memberType
,
integers
[
0
],
integers
[
1
],
integers
[
2
],
integers
[
3
],
isTrueName
);
integers
=
roadShowOrderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
performanceBuyCount
,
ticketBuyCount
,
isTrueName
);
}
return
judgeMemberType
(
performanceLimitCount
,
performanceMemberLimitCount
,
ticketLimitCount
,
ticketMemberLimitCount
,
memberType
,
integers
[
0
],
integers
[
1
],
isTrueName
);
}
}
public
Integer
[]
roadShowO
rderLimit
(
public
Integer
[]
o
rderLimit
(
String
userId
,
String
userId
,
String
idCard
,
String
idCard
,
String
performanceId
,
String
performanceId
,
String
ticketId
,
String
ticketId
,
int
performanceBuyCount
,
int
ticketBuyCount
,
int
isTrueName
int
isTrueName
)
{
)
{
if
(
1
==
isTrueName
)
{
//实名
int
performanceBuyCountUid
=
0
;
performanceBuyCount
+=
dataUtils
.
getIdCardPBuyCount
(
idCard
,
performanceId
);
int
ticketBuyCountUid
=
0
;
ticketBuyCount
+=
dataUtils
.
getIdCardTBuyCount
(
idCard
,
ticketId
);
int
performanceBuyCountIdCard
=
0
;
}
else
{
//非实名
int
ticketBuyCountIdCard
=
0
;
performanceBuyCount
+=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCount
+=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
Integer
[]
array
=
new
Integer
[
2
];
array
[
0
]
=
performanceBuyCount
;
array
[
1
]
=
ticketBuyCount
;
return
array
;
}
public
Integer
[]
festivalOrderLimit
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
performanceBuyCount
,
int
ticketBuyCount
,
int
isTrueName
)
{
if
(
1
==
isTrueName
)
{
//实名
if
(
1
==
isTrueName
)
{
//实名
performanceBuyCount
+=
dataUtils
.
getIdCardPBuyCount
(
idCard
,
performanceId
);
performanceBuyCountIdCard
=
dataUtils
.
getIdCardPBuyCount
(
idCard
,
performanceId
);
ticketBuyCount
+=
dataUtils
.
getIdCardTBuyCount
(
idCard
,
ticketId
);
ticketBuyCountIdCard
=
dataUtils
.
getIdCardTBuyCount
(
idCard
,
ticketId
);
performanceBuyCountUid
=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCountUid
=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
else
{
//非实名
}
else
{
//非实名
performanceBuyCount
+
=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
performanceBuyCount
Uid
=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCount
+
=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
ticketBuyCount
Uid
=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
}
Integer
[]
array
=
new
Integer
[
2
];
Integer
[]
array
=
new
Integer
[
4
];
array
[
0
]
=
performanceBuyCount
;
array
[
0
]
=
performanceBuyCountUid
;
array
[
1
]
=
ticketBuyCount
;
array
[
1
]
=
ticketBuyCountUid
;
array
[
2
]
=
performanceBuyCountIdCard
;
array
[
3
]
=
ticketBuyCountIdCard
;
return
array
;
return
array
;
}
}
public
String
judgeMemberType
(
int
performanceLimitCount
,
int
performanceMemberLimitCount
,
int
ticketLimitCount
,
int
ticketMemberLimitCount
,
int
memberType
,
int
performanceBuyCount
,
int
ticketBuyCount
,
int
isTrueName
)
{
public
String
judgeMemberType
(
int
performanceLimitCount
,
int
performanceMemberLimitCount
,
int
performanceLimitIdCard
,
int
ticketLimitCount
,
int
ticketMemberLimitCount
,
int
ticketLimitIdCard
,
int
memberType
,
int
performanceBuyCountUid
,
int
ticketBuyCountUid
,
int
performanceBuyCountIdCard
,
int
ticketBuyCountIdCard
,
int
isTrueName
)
{
if
(
memberType
==
1
||
memberType
==
2
)
{
if
(
memberType
==
1
||
memberType
==
2
)
{
if
(
performanceBuyCount
>
performanceMemberLimitCount
&&
performanceMemberLimitCount
!=
0
)
{
if
(
isTrueName
==
1
){
return
(
1
==
isTrueName
?
"实名制"
:
"本场"
)
+
"演出限购"
+
performanceMemberLimitCount
+
"张,已超出"
;
//超过演出维度购买量
if
(
performanceBuyCountIdCard
>
performanceMemberLimitCount
&&
performanceMemberLimitCount
!=
0
)
{
}
return
"实名制演出限购"
+
performanceMemberLimitCount
+
"张,已超出"
;
//超过演出维度购买量
if
(
ticketBuyCount
>
ticketMemberLimitCount
&&
ticketMemberLimitCount
!=
0
)
{
}
return
(
1
==
isTrueName
?
"实名制"
:
"该"
)
+
"票种限购"
+
ticketMemberLimitCount
+
"张,已超出"
;
//超过票维度购买量
if
(
ticketBuyCountIdCard
>
ticketMemberLimitCount
&&
ticketMemberLimitCount
!=
0
)
{
return
"实名制票种限购"
+
ticketMemberLimitCount
+
"张,已超出"
;
//超过票维度购买量
}
}
else
{
if
(
performanceBuyCountUid
>
performanceMemberLimitCount
&&
performanceMemberLimitCount
!=
0
)
{
return
"本场演出限购"
+
performanceMemberLimitCount
+
"张,已超出"
;
//超过演出维度购买量
}
if
(
ticketBuyCountUid
>
ticketMemberLimitCount
&&
ticketMemberLimitCount
!=
0
)
{
return
"该票种限购"
+
ticketMemberLimitCount
+
"张,已超出"
;
//超过票维度购买量
}
}
}
}
else
{
//非会员区间
}
else
{
//非会员区间
if
(
performanceBuyCount
>
performanceLimitCount
&&
performanceLimitCount
!=
0
)
{
if
(
isTrueName
==
1
){
return
(
1
==
isTrueName
?
"实名制"
:
"本场"
)
+
"演出限购"
+
performanceLimitCount
+
"张,已超出"
;
//超过演出维度购买量
if
(
performanceBuyCountUid
>
performanceLimitCount
&&
performanceLimitCount
!=
0
)
{
}
return
"本场演出限购"
+
performanceLimitCount
+
"张,已超出"
;
//超过演出维度购买量
if
(
ticketBuyCount
>
ticketLimitCount
&&
ticketLimitCount
!=
0
)
{
}
return
(
1
==
isTrueName
?
"实名制"
:
"该"
)
+
"票种限购"
+
ticketLimitCount
+
"张,已超出"
;
//超过票维度购买量
if
(
ticketBuyCountUid
>
ticketLimitCount
&&
ticketLimitCount
!=
0
)
{
return
"该票种限购"
+
performanceLimitCount
+
"张,已超出"
;
//超过演出维度购买量
}
if
(
performanceBuyCountIdCard
>
performanceLimitIdCard
&&
performanceLimitIdCard
!=
0
)
{
return
"实名制演出限购"
+
performanceLimitIdCard
+
"张,已超出"
;
//超过演出维度购买量
}
if
(
ticketBuyCountIdCard
>
ticketLimitIdCard
&&
ticketLimitIdCard
!=
0
)
{
return
"实名制票种限购"
+
ticketLimitIdCard
+
"张,已超出"
;
//超过演出维度购买量
}
}
else
{
if
(
performanceBuyCountUid
>
performanceLimitCount
&&
performanceLimitCount
!=
0
)
{
return
"本场演出限购"
+
performanceLimitCount
+
"张,已超出"
;
//超过演出维度购买量
}
if
(
ticketBuyCountUid
>
ticketLimitCount
&&
ticketLimitCount
!=
0
)
{
return
"该票种限购"
+
performanceLimitCount
+
"张,已超出"
;
//超过演出维度购买量
}
}
}
}
}
return
""
;
return
""
;
}
}
/**
/**
* @param userId 用户id
* @param userId 用户id
* @param type 1新增 2修改
* @param type 1新增 2修改
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/service/impl/KylinOrderTicketsServiceImpl.java
View file @
2fe25219
...
@@ -237,9 +237,10 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
...
@@ -237,9 +237,10 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
// 获取限购 实名
// 获取限购 实名
int
ticketLimit
=
ticketData
.
getLimitCount
();
//普通票种限购
int
ticketLimit
=
ticketData
.
getLimitCount
();
//普通票种限购
int
ticketMemberLimit
=
ticketData
.
getLimitCountMember
();
//会员票种限购
int
ticketMemberLimit
=
ticketData
.
getLimitCountMember
();
//会员票种限购
int
ticketIdCount
=
ticketData
.
getIdCount
();
//实名票种限购
int
performanceLimit
=
performanceData
.
getLimitCount
();
//普通演出限购
int
performanceLimit
=
performanceData
.
getLimitCount
();
//普通演出限购
// int performanceMemberLimit = performanceData.getLimitCountMember();//会员演出限购
int
performanceMemberLimit
=
1
;
//会员演出限购
int
performanceMemberLimit
=
1
;
//会员演出限购
int
performanceIdCount
=
performanceData
.
getIdCount
();
//实名演出限购
int
isTrueName
=
ticketData
.
getIsTrueName
();
//是否演出实名
int
isTrueName
=
ticketData
.
getIsTrueName
();
//是否演出实名
if
(!
canBuyStatus
.
contains
(
performanceData
.
getAppStatus
()))
{
if
(!
canBuyStatus
.
contains
(
performanceData
.
getAppStatus
()))
{
...
@@ -359,7 +360,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
...
@@ -359,7 +360,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
if
(
entersVoList
.
size
()
>
0
)
{
if
(
entersVoList
.
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
entersVoList
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
entersVoList
.
size
();
i
++)
{
dataUtils
.
changeBuyInfo
(
uid
,
entersVoList
.
get
(
i
).
getIdCard
(),
performanceData
.
getPerformancesId
(),
ticketData
.
getTicketsId
(),
1
);
dataUtils
.
changeBuyInfo
(
uid
,
entersVoList
.
get
(
i
).
getIdCard
(),
performanceData
.
getPerformancesId
(),
ticketData
.
getTicketsId
(),
1
);
String
res1
=
orderUtils
.
judgeOrderLimit
(
performanceData
.
getType
(),
uid
,
entersVoList
.
get
(
i
).
getIdCard
(),
payOrderParam
.
getPerformanceId
(),
payOrderParam
.
getTicketId
(),
performanceLimit
,
performanceMemberLimit
,
ticketLimit
,
ticketMemberLimit
,
1
,
1
,
memberType
,
isTrueName
);
String
res1
=
orderUtils
.
judgeOrderLimit
(
uid
,
entersVoList
.
get
(
i
).
getIdCard
(),
payOrderParam
.
getPerformanceId
(),
payOrderParam
.
getTicketId
(),
performanceLimit
,
performanceMemberLimit
,
performanceIdCount
,
ticketLimit
,
ticketMemberLimit
,
ticketIdCount
,
memberType
,
isTrueName
);
if
(!
res1
.
equals
(
""
))
{
if
(!
res1
.
equals
(
""
))
{
for
(
int
x
=
0
;
x
<=
i
;
x
++)
{
for
(
int
x
=
0
;
x
<=
i
;
x
++)
{
dataUtils
.
changeBuyInfo
(
uid
,
entersVoList
.
get
(
x
).
getIdCard
(),
performanceData
.
getPerformancesId
(),
ticketData
.
getTicketsId
(),
-
1
);
dataUtils
.
changeBuyInfo
(
uid
,
entersVoList
.
get
(
x
).
getIdCard
(),
performanceData
.
getPerformancesId
(),
ticketData
.
getTicketsId
(),
-
1
);
...
@@ -371,7 +372,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
...
@@ -371,7 +372,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
}
}
}
else
{
}
else
{
dataUtils
.
changeBuyInfo
(
uid
,
""
,
performanceData
.
getPerformancesId
(),
ticketData
.
getTicketsId
(),
payOrderParam
.
getNumber
());
dataUtils
.
changeBuyInfo
(
uid
,
""
,
performanceData
.
getPerformancesId
(),
ticketData
.
getTicketsId
(),
payOrderParam
.
getNumber
());
String
res1
=
orderUtils
.
judgeOrderLimit
(
performanceData
.
getType
(),
uid
,
""
,
payOrderParam
.
getPerformanceId
(),
payOrderParam
.
getTicketId
(),
performanceLimit
,
performanceMemberLimit
,
ticketLimit
,
ticketMemberLimit
,
payOrderParam
.
getNumber
(),
payOrderParam
.
getNumber
()
,
memberType
,
isTrueName
);
String
res1
=
orderUtils
.
judgeOrderLimit
(
uid
,
""
,
payOrderParam
.
getPerformanceId
(),
payOrderParam
.
getTicketId
(),
performanceLimit
,
performanceMemberLimit
,
performanceIdCount
,
ticketLimit
,
ticketMemberLimit
,
ticketIdCount
,
memberType
,
isTrueName
);
if
(!
res1
.
equals
(
""
))
{
if
(!
res1
.
equals
(
""
))
{
dataUtils
.
changeBuyInfo
(
uid
,
""
,
performanceData
.
getPerformancesId
(),
ticketData
.
getTicketsId
(),
-
payOrderParam
.
getNumber
());
dataUtils
.
changeBuyInfo
(
uid
,
""
,
performanceData
.
getPerformancesId
(),
ticketData
.
getTicketsId
(),
-
payOrderParam
.
getNumber
());
orderUtils
.
changeSurplus
(
isPay
,
payOrderParam
.
getTicketId
(),
payOrderParam
.
getNumber
());
orderUtils
.
changeSurplus
(
isPay
,
payOrderParam
.
getTicketId
(),
payOrderParam
.
getNumber
());
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/utils/DataUtils.java
View file @
2fe25219
...
@@ -123,44 +123,38 @@ public class DataUtils {
...
@@ -123,44 +123,38 @@ public class DataUtils {
* @param buyCount 购买数量 大于 0 增加 小于 0 减少 对应 支付 退款表
* @param buyCount 购买数量 大于 0 增加 小于 0 减少 对应 支付 退款表
*/
*/
public
void
changeBuyInfo
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
buyCount
)
{
public
void
changeBuyInfo
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
buyCount
)
{
String
redisKey
;
String
redisKeyUid
;
String
redisKeyIdCard
;
String
performanceIdKeyIdCard
=
""
;
String
ticketIdKeyIdCard
=
""
;
int
isTrueName
=
getPerformanceIsTrueName
(
performanceId
);
int
isTrueName
=
getPerformanceIsTrueName
(
performanceId
);
// String useTime = "";
// HashMap<String, ArrayList<String>> allTicketId = new HashMap<>();
// for (int x = 0; x < vo.getTicketTimeList().size(); x++) {
// KylinTicketTimesVo timeItem = vo.getTicketTimeList().get(x);
// ArrayList<String> ticketList = ObjectUtil.cloneArrayListString();
// for (int y = 0; y < timeItem.getTicketList().size(); y++) {
// KylinTicketVo ticketItem = timeItem.getTicketList().get(y);
// if (ticketItem.getType() == 1) {
// ticketList.add(ticketItem.getTicketsId());
// }
// if (ticketItem.getTicketsId().equals(ticketId)) {
// useTime = ticketItem.getUseStart();
// }
// }
// allTicketId.put(timeItem.getUseStart(), ticketList);
// }
if
(
0
==
isTrueName
)
{
redisKeyUid
=
KylinRedisConst
.
USERID_BUY_INFO
+
userId
;
redisKey
=
KylinRedisConst
.
USERID_BUY_INFO
+
userId
;
redisKeyIdCard
=
KylinRedisConst
.
IDCARD_BUY_INFO
+
idCard
;
}
else
{
String
performanceIdKeyUid
=
redisKeyUid
+
":"
+
KylinRedisConst
.
PERFORMANCE_ID
+
":"
+
performanceId
;
redisKey
=
KylinRedisConst
.
IDCARD_BUY_INFO
+
idCard
;
String
ticketIdKeyUid
=
redisKeyUid
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
ticketId
;
if
(
isTrueName
!=
0
)
{
performanceIdKeyIdCard
=
redisKeyIdCard
+
":"
+
KylinRedisConst
.
PERFORMANCE_ID
+
":"
+
performanceId
;
ticketIdKeyIdCard
=
redisKeyIdCard
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
ticketId
;
}
}
String
performanceIdKey
=
redisKey
+
":"
+
KylinRedisConst
.
PERFORMANCE_ID
+
":"
+
performanceId
;
String
ticketIdKey
=
redisKey
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
ticketId
;
// String ticketUseTimeKey = ticketIdKey + ":" + KylinRedisConst.USE_TIME;
// redisUtil.set(ticketUseTimeKey, useTime);
if
(
buyCount
>
0
)
{
if
(
buyCount
>
0
)
{
redisUtil
.
incr
(
ticketIdKey
,
buyCount
);
redisUtil
.
incr
(
ticketIdKeyUid
,
buyCount
);
redisUtil
.
incr
(
performanceIdKey
,
buyCount
);
redisUtil
.
incr
(
performanceIdKeyUid
,
buyCount
);
if
(
isTrueName
!=
0
)
{
redisUtil
.
incr
(
ticketIdKeyIdCard
,
buyCount
);
redisUtil
.
incr
(
performanceIdKeyIdCard
,
buyCount
);
}
}
else
{
}
else
{
redisUtil
.
decr
(
ticketIdKey
,
Math
.
abs
(
buyCount
));
if
(
isTrueName
!=
0
)
{
redisUtil
.
decr
(
performanceIdKey
,
Math
.
abs
(
buyCount
));
redisUtil
.
decr
(
ticketIdKeyIdCard
,
Math
.
abs
(
buyCount
));
redisUtil
.
decr
(
performanceIdKeyIdCard
,
Math
.
abs
(
buyCount
));
}
redisUtil
.
decr
(
ticketIdKeyUid
,
Math
.
abs
(
buyCount
));
redisUtil
.
decr
(
performanceIdKeyUid
,
Math
.
abs
(
buyCount
));
}
}
}
}
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/utils/OrderUtils.java
View file @
2fe25219
...
@@ -44,98 +44,109 @@ public class OrderUtils {
...
@@ -44,98 +44,109 @@ public class OrderUtils {
private
String
candyUrl
;
private
String
candyUrl
;
@Value
(
"${liquidnet.service.smile.url}"
)
@Value
(
"${liquidnet.service.smile.url}"
)
private
String
smile
;
private
String
smile
;
@Value
(
"${liquidnet.service.stone.url}"
)
private
String
stoneUrl
;
public
String
judgeOrderLimit
(
public
String
judgeOrderLimit
(
int
type
,
String
userId
,
String
userId
,
String
idCard
,
String
idCard
,
String
performanceId
,
String
performanceId
,
String
ticketId
,
String
ticketId
,
int
performanceLimitCount
,
int
performanceLimitCount
,
int
performanceMemberLimitCount
,
int
performanceMemberLimitCount
,
int
performanceLimitIdCard
,
int
ticketLimitCount
,
int
ticketLimitCount
,
int
ticketMemberLimitCount
,
int
ticketMemberLimitCount
,
int
performanceBuyCount
,
int
ticketLimitIdCard
,
int
ticketBuyCount
,
int
memberType
,
int
memberType
,
int
isTrueName
int
isTrueName
)
{
)
{
Integer
[]
integers
;
Integer
[]
integers
=
orderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
isTrueName
);
if
(
101
==
type
)
{
return
judgeMemberType
(
performanceLimitCount
,
performanceMemberLimitCount
,
performanceLimitIdCard
,
integers
=
festivalOrderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
performanceBuyCount
,
ticketBuyCount
,
isTrueName
);
ticketLimitCount
,
ticketMemberLimitCount
,
ticketLimitIdCard
,
}
else
{
memberType
,
integers
[
0
],
integers
[
1
],
integers
[
2
],
integers
[
3
],
isTrueName
);
integers
=
roadShowOrderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
performanceBuyCount
,
ticketBuyCount
,
isTrueName
);
}
log
.
debug
(
"演出购买数量="
+
integers
[
0
]);
log
.
debug
(
"票种购买数量="
+
integers
[
1
]);
return
judgeMemberType
(
performanceLimitCount
,
performanceMemberLimitCount
,
ticketLimitCount
,
ticketMemberLimitCount
,
memberType
,
integers
[
0
],
integers
[
1
],
isTrueName
);
}
}
public
Integer
[]
roadShowO
rderLimit
(
public
Integer
[]
o
rderLimit
(
String
userId
,
String
userId
,
String
idCard
,
String
idCard
,
String
performanceId
,
String
performanceId
,
String
ticketId
,
String
ticketId
,
int
performanceBuyCount
,
int
ticketBuyCount
,
int
isTrueName
int
isTrueName
)
{
)
{
if
(
1
==
isTrueName
)
{
//实名
int
performanceBuyCountUid
=
0
;
performanceBuyCount
=
dataUtils
.
getIdCardPBuyCount
(
idCard
,
performanceId
);
int
ticketBuyCountUid
=
0
;
ticketBuyCount
=
dataUtils
.
getIdCardTBuyCount
(
idCard
,
ticketId
);
int
performanceBuyCountIdCard
=
0
;
}
else
{
//非实名
int
ticketBuyCountIdCard
=
0
;
performanceBuyCount
=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCount
=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
Integer
[]
array
=
ObjectUtil
.
cloneInteger2Array
();
array
[
0
]
=
performanceBuyCount
;
array
[
1
]
=
ticketBuyCount
;
return
array
;
}
public
Integer
[]
festivalOrderLimit
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
performanceBuyCount
,
int
ticketBuyCount
,
int
isTrueName
)
{
if
(
1
==
isTrueName
)
{
//实名
if
(
1
==
isTrueName
)
{
//实名
performanceBuyCount
=
dataUtils
.
getIdCardPBuyCount
(
idCard
,
performanceId
);
performanceBuyCountIdCard
=
dataUtils
.
getIdCardPBuyCount
(
idCard
,
performanceId
);
ticketBuyCount
=
dataUtils
.
getIdCardTBuyCount
(
idCard
,
ticketId
);
ticketBuyCountIdCard
=
dataUtils
.
getIdCardTBuyCount
(
idCard
,
ticketId
);
performanceBuyCountUid
=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCountUid
=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
else
{
//非实名
}
else
{
//非实名
performanceBuyCount
=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
performanceBuyCount
Uid
=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCount
=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
ticketBuyCount
Uid
=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
}
Integer
[]
array
=
ObjectUtil
.
cloneInteger2Array
();
Integer
[]
array
=
new
Integer
[
4
];
array
[
0
]
=
performanceBuyCount
;
array
[
0
]
=
performanceBuyCountUid
;
array
[
1
]
=
ticketBuyCount
;
array
[
1
]
=
ticketBuyCountUid
;
array
[
2
]
=
performanceBuyCountIdCard
;
array
[
3
]
=
ticketBuyCountIdCard
;
return
array
;
return
array
;
}
}
public
String
judgeMemberType
(
int
performanceLimitCount
,
int
performanceMemberLimitCount
,
int
ticketLimitCount
,
int
ticketMemberLimitCount
,
int
memberType
,
int
performanceBuyCount
,
int
ticketBuyCount
,
int
isTrueName
)
{
public
String
judgeMemberType
(
int
performanceLimitCount
,
int
performanceMemberLimitCount
,
int
performanceLimitIdCard
,
log
.
debug
(
"会员限购演出="
+
performanceMemberLimitCount
);
int
ticketLimitCount
,
int
ticketMemberLimitCount
,
int
ticketLimitIdCard
,
int
memberType
,
log
.
debug
(
"限购演出="
+
performanceLimitCount
);
int
performanceBuyCountUid
,
int
ticketBuyCountUid
,
int
performanceBuyCountIdCard
,
int
ticketBuyCountIdCard
,
int
isTrueName
)
{
log
.
debug
(
"会员限购票种="
+
ticketMemberLimitCount
);
// log.debug("会员限购演出=" + performanceMemberLimitCount);
log
.
debug
(
"限购票种="
+
ticketLimitCount
);
// log.debug("限购演出=" + performanceLimitCount);
// log.debug("实名限购演出=" + performanceLimitIdCard);
// log.debug("会员限购票种=" + ticketMemberLimitCount);
// log.debug("限购票种=" + ticketLimitCount);
// log.debug("实名限购票种=" + ticketLimitIdCard);
log
.
debug
(
"演出数量="
+
performanceBuyCountUid
);
log
.
debug
(
"演出实名数量="
+
performanceBuyCountIdCard
);
log
.
debug
(
"票种数量="
+
ticketBuyCountUid
);
log
.
debug
(
"票种实名数量="
+
ticketBuyCountIdCard
);
if
(
memberType
==
1
||
memberType
==
2
)
{
if
(
memberType
==
1
||
memberType
==
2
)
{
if
(
performanceBuyCount
>
performanceMemberLimitCount
&&
performanceMemberLimitCount
!=
0
)
{
if
(
isTrueName
==
1
){
return
(
1
==
isTrueName
?
"实名制"
:
"本场"
)
+
"演出限购"
+
performanceMemberLimitCount
+
"张,已超出"
;
//超过演出维度购买量
if
(
performanceBuyCountIdCard
>
performanceMemberLimitCount
&&
performanceMemberLimitCount
!=
0
)
{
}
return
"实名制演出限购"
+
performanceMemberLimitCount
+
"张,已超出"
;
//超过演出维度购买量
if
(
ticketBuyCount
>
ticketMemberLimitCount
&&
ticketMemberLimitCount
!=
0
)
{
}
return
(
1
==
isTrueName
?
"实名制"
:
"该"
)
+
"票种限购"
+
ticketMemberLimitCount
+
"张,已超出"
;
//超过票维度购买量
if
(
ticketBuyCountIdCard
>
ticketMemberLimitCount
&&
ticketMemberLimitCount
!=
0
)
{
return
"实名制票种限购"
+
ticketMemberLimitCount
+
"张,已超出"
;
//超过票维度购买量
}
}
else
{
if
(
performanceBuyCountUid
>
performanceMemberLimitCount
&&
performanceMemberLimitCount
!=
0
)
{
return
"本场演出限购"
+
performanceMemberLimitCount
+
"张,已超出"
;
//超过演出维度购买量
}
if
(
ticketBuyCountUid
>
ticketMemberLimitCount
&&
ticketMemberLimitCount
!=
0
)
{
return
"该票种限购"
+
ticketMemberLimitCount
+
"张,已超出"
;
//超过票维度购买量
}
}
}
}
else
{
//非会员区间
}
else
{
//非会员区间
if
(
performanceBuyCount
>
performanceLimitCount
&&
performanceLimitCount
!=
0
)
{
if
(
isTrueName
==
1
){
return
(
1
==
isTrueName
?
"实名制"
:
"本场"
)
+
"演出限购"
+
performanceLimitCount
+
"张,已超出"
;
//超过演出维度购买量
if
(
performanceBuyCountIdCard
>
performanceLimitIdCard
&&
performanceLimitIdCard
!=
0
)
{
}
return
"实名制演出限购"
+
performanceLimitIdCard
+
"张,已超出"
;
//超过演出维度购买量
if
(
ticketBuyCount
>
ticketLimitCount
&&
ticketLimitCount
!=
0
)
{
}
return
(
1
==
isTrueName
?
"实名制"
:
"该"
)
+
"票种限购"
+
ticketLimitCount
+
"张,已超出"
;
//超过票维度购买量
if
(
ticketBuyCountIdCard
>
ticketLimitIdCard
&&
ticketLimitIdCard
!=
0
)
{
return
"实名制票种限购"
+
ticketLimitIdCard
+
"张,已超出"
;
//超过演出维度购买量
}
if
(
performanceBuyCountUid
>
performanceLimitCount
&&
performanceLimitCount
!=
0
)
{
return
"本场演出限购"
+
performanceLimitCount
+
"张,已超出"
;
//超过演出维度购买量
}
if
(
ticketBuyCountUid
>
ticketLimitCount
&&
ticketLimitCount
!=
0
)
{
return
"该票种限购"
+
performanceLimitCount
+
"张,已超出"
;
//超过演出维度购买量
}
}
else
{
if
(
performanceBuyCountUid
>
performanceLimitCount
&&
performanceLimitCount
!=
0
)
{
return
"本场演出限购"
+
performanceLimitCount
+
"张,已超出"
;
//超过演出维度购买量
}
if
(
ticketBuyCountUid
>
ticketLimitCount
&&
ticketLimitCount
!=
0
)
{
return
"该票种限购"
+
performanceLimitCount
+
"张,已超出"
;
//超过演出维度购买量
}
}
}
}
}
return
""
;
return
""
;
...
...
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/utils/DataUtils.java
View file @
2fe25219
...
@@ -155,13 +155,13 @@ public class DataUtils {
...
@@ -155,13 +155,13 @@ public class DataUtils {
public
List
<
KylinOrderListVo
>
getOrderList
(
String
userId
)
{
public
List
<
KylinOrderListVo
>
getOrderList
(
String
userId
)
{
Object
obj
=
redisDataSourceUtil
.
getRedisKylinUtil
().
get
(
KylinRedisConst
.
ORDER_LIST
+
userId
);
Object
obj
=
redisDataSourceUtil
.
getRedisKylinUtil
().
get
(
KylinRedisConst
.
ORDER_LIST
+
userId
);
if
(
obj
!=
null
)
{
if
(
obj
!=
null
)
{
return
(
List
<
KylinOrderListVo
>)
obj
;
return
(
List
<
KylinOrderListVo
>)
obj
;
}
else
{
}
else
{
List
<
KylinOrderListVo
>
voList
=
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"userId"
).
is
(
userId
))
List
<
KylinOrderListVo
>
voList
=
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"userId"
).
is
(
userId
))
.
with
(
Sort
.
by
(
Sort
.
Direction
.
DESC
,
"createdAt"
)).
limit
(
40
),
.
with
(
Sort
.
by
(
Sort
.
Direction
.
DESC
,
"createdAt"
)).
limit
(
40
),
KylinOrderListVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
KylinOrderListVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
for
(
KylinOrderListVo
item
:
voList
){
for
(
KylinOrderListVo
item
:
voList
)
{
item
.
setStatus
(
item
.
getStatus
());
item
.
setStatus
(
item
.
getStatus
());
}
}
redisDataSourceUtil
.
getRedisKylinUtil
().
set
(
KylinRedisConst
.
ORDER_LIST
+
userId
,
voList
);
redisDataSourceUtil
.
getRedisKylinUtil
().
set
(
KylinRedisConst
.
ORDER_LIST
+
userId
,
voList
);
...
@@ -175,8 +175,8 @@ public class DataUtils {
...
@@ -175,8 +175,8 @@ public class DataUtils {
* @param performanceId
* @param performanceId
* @param isTrueName
* @param isTrueName
*/
*/
public
void
setPerformanceIsTrueName
(
String
performanceId
,
int
isTrueName
)
{
public
void
setPerformanceIsTrueName
(
String
performanceId
,
int
isTrueName
)
{
redisDataSourceUtil
.
getRedisKylinUtil
().
set
(
KylinRedisConst
.
PERFORMANCES_TRUE_NAME
+
performanceId
,
isTrueName
);
redisDataSourceUtil
.
getRedisKylinUtil
().
set
(
KylinRedisConst
.
PERFORMANCES_TRUE_NAME
+
performanceId
,
isTrueName
);
}
}
/**
/**
...
@@ -187,8 +187,8 @@ public class DataUtils {
...
@@ -187,8 +187,8 @@ public class DataUtils {
*/
*/
public
KylinOrderTicketVo
getOrderTicketVo
(
String
orderId
)
{
public
KylinOrderTicketVo
getOrderTicketVo
(
String
orderId
)
{
Object
obj
=
redisDataSourceUtil
.
getRedisKylinUtil
().
get
(
KylinRedisConst
.
ORDER
+
orderId
);
Object
obj
=
redisDataSourceUtil
.
getRedisKylinUtil
().
get
(
KylinRedisConst
.
ORDER
+
orderId
);
if
(
obj
!=
null
)
{
if
(
obj
!=
null
)
{
return
(
KylinOrderTicketVo
)
obj
;
return
(
KylinOrderTicketVo
)
obj
;
}
else
{
}
else
{
KylinOrderTicketVo
ticketData
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
is
(
orderId
)),
KylinOrderTicketVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
KylinOrderTicketVo
ticketData
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
is
(
orderId
)),
KylinOrderTicketVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
List
<
KylinOrderTicketEntitiesVo
>
kylinOrderTicketEntitiesVoList
=
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"orderId"
).
is
(
orderId
)),
KylinOrderTicketEntitiesVo
.
class
,
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
());
List
<
KylinOrderTicketEntitiesVo
>
kylinOrderTicketEntitiesVoList
=
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"orderId"
).
is
(
orderId
)),
KylinOrderTicketEntitiesVo
.
class
,
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
());
...
@@ -228,7 +228,6 @@ public class DataUtils {
...
@@ -228,7 +228,6 @@ public class DataUtils {
}
}
public
void
updatePerformanceMongo
(
String
performanceIds
,
KylinPerformanceVo
paramVo
)
{
public
void
updatePerformanceMongo
(
String
performanceIds
,
KylinPerformanceVo
paramVo
)
{
//查询 mysql 数据
//查询 mysql 数据
KylinPerformanceVo
vo
;
KylinPerformanceVo
vo
;
...
@@ -273,31 +272,40 @@ public class DataUtils {
...
@@ -273,31 +272,40 @@ public class DataUtils {
* @param buyCount 购买数量 大于 0 增加 小于 0 减少 对应 支付 退款表
* @param buyCount 购买数量 大于 0 增加 小于 0 减少 对应 支付 退款表
*/
*/
public
void
changeBuyInfo
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
buyCount
)
{
public
void
changeBuyInfo
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
buyCount
)
{
String
redisKey
;
String
redisKeyUid
;
String
redisKeyIdCard
;
String
performanceIdKeyIdCard
=
""
;
String
ticketIdKeyIdCard
=
""
;
int
isTrueName
=
getPerformanceIsTrueName
(
performanceId
);
int
isTrueName
=
getPerformanceIsTrueName
(
performanceId
);
if
(
0
==
isTrueName
)
{
redisKeyUid
=
KylinRedisConst
.
USERID_BUY_INFO
+
userId
;
redisKey
=
KylinRedisConst
.
USERID_BUY_INFO
+
userId
;
redisKeyIdCard
=
KylinRedisConst
.
IDCARD_BUY_INFO
+
idCard
;
}
else
{
String
performanceIdKeyUid
=
redisKeyUid
+
":"
+
KylinRedisConst
.
PERFORMANCE_ID
+
":"
+
performanceId
;
redisKey
=
KylinRedisConst
.
IDCARD_BUY_INFO
+
idCard
;
String
ticketIdKeyUid
=
redisKeyUid
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
ticketId
;
if
(
isTrueName
!=
0
)
{
performanceIdKeyIdCard
=
redisKeyIdCard
+
":"
+
KylinRedisConst
.
PERFORMANCE_ID
+
":"
+
performanceId
;
ticketIdKeyIdCard
=
redisKeyIdCard
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
ticketId
;
}
}
String
performanceIdKey
=
redisKey
+
":"
+
KylinRedisConst
.
PERFORMANCE_ID
+
":"
+
performanceId
;
String
ticketIdKey
=
redisKey
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
ticketId
;
if
(
buyCount
>
0
)
{
if
(
buyCount
>
0
)
{
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
ticketIdKey
,
buyCount
);
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
ticketIdKeyUid
,
buyCount
);
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
performanceIdKey
,
buyCount
);
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
performanceIdKeyUid
,
buyCount
);
}
else
{
if
(
isTrueName
!=
0
)
{
redisDataSourceUtil
.
getRedisKylinUtil
().
decr
(
ticketIdKey
,
Math
.
abs
(
buyCount
));
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
ticketIdKeyIdCard
,
buyCount
);
redisDataSourceUtil
.
getRedisKylinUtil
().
decr
(
performanceIdKey
,
Math
.
abs
(
buyCount
));
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
performanceIdKeyIdCard
,
buyCount
);
}
}
else
{
if
(
isTrueName
!=
0
)
{
redisDataSourceUtil
.
getRedisKylinUtil
().
decr
(
ticketIdKeyIdCard
,
Math
.
abs
(
buyCount
));
redisDataSourceUtil
.
getRedisKylinUtil
().
decr
(
performanceIdKeyIdCard
,
Math
.
abs
(
buyCount
));
}
redisDataSourceUtil
.
getRedisKylinUtil
().
decr
(
ticketIdKeyUid
,
Math
.
abs
(
buyCount
));
redisDataSourceUtil
.
getRedisKylinUtil
().
decr
(
performanceIdKeyUid
,
Math
.
abs
(
buyCount
));
}
}
}
}
// 获取 用户维度 演出购买数量
// 获取 用户维度 演出购买数量
public
int
getUserPBuyCount
(
String
userId
,
String
performanceId
)
{
public
int
getUserPBuyCount
(
String
userId
,
String
performanceId
)
{
try
{
try
{
...
@@ -351,8 +359,8 @@ public class DataUtils {
...
@@ -351,8 +359,8 @@ public class DataUtils {
*/
*/
public
KylinPerformanceVo
getPerformanceVo
(
String
performanceId
)
{
public
KylinPerformanceVo
getPerformanceVo
(
String
performanceId
)
{
Object
obj
=
redisDataSourceUtil
.
getRedisKylinUtil
().
get
(
KylinRedisConst
.
PERFORMANCES
+
performanceId
);
Object
obj
=
redisDataSourceUtil
.
getRedisKylinUtil
().
get
(
KylinRedisConst
.
PERFORMANCES
+
performanceId
);
if
(
obj
!=
null
)
{
if
(
obj
!=
null
)
{
return
(
KylinPerformanceVo
)
obj
;
return
(
KylinPerformanceVo
)
obj
;
}
else
{
}
else
{
KylinPerformanceVo
performanceData
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"performancesId"
).
is
(
performanceId
)),
KylinPerformanceVo
.
class
,
KylinPerformanceVo
.
class
.
getSimpleName
());
KylinPerformanceVo
performanceData
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"performancesId"
).
is
(
performanceId
)),
KylinPerformanceVo
.
class
,
KylinPerformanceVo
.
class
.
getSimpleName
());
redisDataSourceUtil
.
getRedisKylinUtil
().
set
(
KylinRedisConst
.
PERFORMANCES
+
performanceId
,
performanceData
);
redisDataSourceUtil
.
getRedisKylinUtil
().
set
(
KylinRedisConst
.
PERFORMANCES
+
performanceId
,
performanceData
);
...
@@ -367,26 +375,27 @@ public class DataUtils {
...
@@ -367,26 +375,27 @@ public class DataUtils {
*/
*/
public
int
getPerformanceIsTrueName
(
String
performanceId
)
{
public
int
getPerformanceIsTrueName
(
String
performanceId
)
{
Object
obj
=
redisDataSourceUtil
.
getRedisKylinUtil
().
get
(
KylinRedisConst
.
PERFORMANCES_TRUE_NAME
+
performanceId
);
Object
obj
=
redisDataSourceUtil
.
getRedisKylinUtil
().
get
(
KylinRedisConst
.
PERFORMANCES_TRUE_NAME
+
performanceId
);
if
(
obj
!=
null
)
{
if
(
obj
!=
null
)
{
return
(
int
)
obj
;
return
(
int
)
obj
;
}
else
{
}
else
{
int
isTrueName
=
getPerformanceVo
(
performanceId
).
getIsTrueName
();
int
isTrueName
=
getPerformanceVo
(
performanceId
).
getIsTrueName
();
redisDataSourceUtil
.
getRedisKylinUtil
().
set
(
KylinRedisConst
.
PERFORMANCES_TRUE_NAME
+
performanceId
,
isTrueName
);
redisDataSourceUtil
.
getRedisKylinUtil
().
set
(
KylinRedisConst
.
PERFORMANCES_TRUE_NAME
+
performanceId
,
isTrueName
);
return
isTrueName
;
return
isTrueName
;
}
}
}
}
public
void
delOrderRefundVo
(
String
orderRefundsId
){
public
void
delOrderRefundVo
(
String
orderRefundsId
)
{
redisDataSourceUtil
.
getRedisKylinUtil
().
del
(
KylinRedisConst
.
ORDER_REFUND
+
orderRefundsId
);
redisDataSourceUtil
.
getRedisKylinUtil
().
del
(
KylinRedisConst
.
ORDER_REFUND
+
orderRefundsId
);
}
}
public
void
delOrderRefundVoByOrderId
(
String
orderId
){
public
void
delOrderRefundVoByOrderId
(
String
orderId
)
{
redisDataSourceUtil
.
getRedisKylinUtil
().
del
(
KylinRedisConst
.
ORDER_REFUND_BY_ORDER_ID
+
orderId
);
redisDataSourceUtil
.
getRedisKylinUtil
().
del
(
KylinRedisConst
.
ORDER_REFUND_BY_ORDER_ID
+
orderId
);
}
}
/**
/**
* 演出订单快递信息
* 演出订单快递信息
*
* @param orderId
* @param orderId
* @param kylinOrderExpressVo
* @param kylinOrderExpressVo
*/
*/
...
@@ -409,7 +418,7 @@ public class DataUtils {
...
@@ -409,7 +418,7 @@ public class DataUtils {
}
}
// 获取订单券的使用情况
// 获取订单券的使用情况
public
ArrayList
<
KylinOrderCoupons
>
getOrderCoupon
(
String
orderId
){
public
ArrayList
<
KylinOrderCoupons
>
getOrderCoupon
(
String
orderId
)
{
String
redisKey
=
KylinRedisConst
.
ORDER_COUPON
.
concat
(
orderId
);
String
redisKey
=
KylinRedisConst
.
ORDER_COUPON
.
concat
(
orderId
);
Object
obj
=
redisDataSourceUtil
.
getRedisKylinUtil
().
get
(
redisKey
);
Object
obj
=
redisDataSourceUtil
.
getRedisKylinUtil
().
get
(
redisKey
);
if
(
obj
==
null
)
{
if
(
obj
==
null
)
{
...
...
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