记得上下班打卡 | 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
Expand all
Show 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 {
// 获取限购 实名
int
ticketLimit
=
ticketData
.
getLimitCount
();
//普通票种限购
int
ticketMemberLimit
=
ticketData
.
getLimitCountMember
();
//会员票种限购
int
ticketIdCount
=
ticketData
.
getIdCount
();
//实名票种限购
int
performanceLimit
=
performanceData
.
getLimitCount
();
//普通演出限购
int
performanceMemberLimit
=
performanceData
.
getLimitCountMember
();
//会员演出限购
int
performanceMemberLimit
=
1
;
//会员演出限购
int
performanceIdCount
=
performanceData
.
getIdCount
();
//实名演出限购
int
isTrueName
=
ticketData
.
getIsTrueName
();
//是否演出实名
Integer
isStudent
=
ticketData
.
getIsStudent
();
String
ticketType
=
""
;
...
...
@@ -184,7 +186,7 @@ public class ImportServiceImpl implements IImportService {
//限购判断 如果实名 则身份证维度限购 如果不实名则数量限购
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
(
""
))
{
orderOutLineVo
.
setReason
(
res1
);
vos
.
add
(
orderOutLineVo
);
...
...
@@ -192,7 +194,7 @@ public class ImportServiceImpl implements IImportService {
continue
;
}
}
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
(
""
))
{
orderOutLineVo
.
setReason
(
res1
);
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 {
* @param buyCount 购买数量 大于 0 增加 小于 0 减少 对应 支付 退款表
*/
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
);
// 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;
// redisDataSourceUtil.getRedisKylinUtil().set(ticketUseTimeKey, useTime);
redisKeyUid
=
KylinRedisConst
.
USERID_BUY_INFO
+
userId
;
redisKeyIdCard
=
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
;
}
if
(
buyCount
>
0
)
{
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
ticketIdKey
,
buyCount
);
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
performanceIdKey
,
buyCount
);
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
ticketIdKeyUid
,
buyCount
);
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
performanceIdKeyUid
,
buyCount
);
if
(
isTrueName
!=
0
)
{
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
ticketIdKeyIdCard
,
buyCount
);
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
performanceIdKeyIdCard
,
buyCount
);
}
}
else
{
redisDataSourceUtil
.
getRedisKylinUtil
().
decr
(
ticketIdKey
,
Math
.
abs
(
buyCount
));
redisDataSourceUtil
.
getRedisKylinUtil
().
decr
(
performanceIdKey
,
Math
.
abs
(
buyCount
));
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
));
}
}
...
...
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 {
private
DataUtils
dataUtils
;
public
String
judgeOrderLimit
(
int
type
,
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
performanceLimitCount
,
int
performanceMemberLimitCount
,
int
performanceLimitIdCard
,
int
ticketLimitCount
,
int
ticketMemberLimitCount
,
int
performanceBuyCount
,
int
ticketBuyCount
,
int
ticketLimitIdCard
,
int
memberType
,
int
isTrueName
)
{
Integer
[]
integers
;
if
(
101
==
type
)
{
integers
=
festivalOrderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
performanceBuyCount
,
ticketBuyCount
,
isTrueName
);
}
else
{
integers
=
roadShowOrderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
performanceBuyCount
,
ticketBuyCount
,
isTrueName
);
}
return
judgeMemberType
(
performanceLimitCount
,
performanceMemberLimitCount
,
ticketLimitCount
,
ticketMemberLimitCount
,
memberType
,
integers
[
0
],
integers
[
1
],
isTrueName
);
Integer
[]
integers
=
orderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
isTrueName
);
return
judgeMemberType
(
performanceLimitCount
,
performanceMemberLimitCount
,
performanceLimitIdCard
,
ticketLimitCount
,
ticketMemberLimitCount
,
ticketLimitIdCard
,
memberType
,
integers
[
0
],
integers
[
1
],
integers
[
2
],
integers
[
3
],
isTrueName
);
}
public
Integer
[]
roadShowO
rderLimit
(
public
Integer
[]
o
rderLimit
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
performanceBuyCount
,
int
ticketBuyCount
,
int
isTrueName
)
{
if
(
1
==
isTrueName
)
{
//实名
performanceBuyCount
+=
dataUtils
.
getIdCardPBuyCount
(
idCard
,
performanceId
);
ticketBuyCount
+=
dataUtils
.
getIdCardTBuyCount
(
idCard
,
ticketId
);
}
else
{
//非实名
performanceBuyCount
+=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCount
+=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
Integer
[]
array
=
new
Integer
[
2
];
array
[
0
]
=
performanceBuyCount
;
array
[
1
]
=
ticketBuyCount
;
return
array
;
}
int
performanceBuyCountUid
=
0
;
int
ticketBuyCountUid
=
0
;
int
performanceBuyCountIdCard
=
0
;
int
ticketBuyCountIdCard
=
0
;
public
Integer
[]
festivalOrderLimit
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
performanceBuyCount
,
int
ticketBuyCount
,
int
isTrueName
)
{
if
(
1
==
isTrueName
)
{
//实名
performanceBuyCount
+=
dataUtils
.
getIdCardPBuyCount
(
idCard
,
performanceId
);
ticketBuyCount
+=
dataUtils
.
getIdCardTBuyCount
(
idCard
,
ticketId
);
performanceBuyCountIdCard
=
dataUtils
.
getIdCardPBuyCount
(
idCard
,
performanceId
);
ticketBuyCountIdCard
=
dataUtils
.
getIdCardTBuyCount
(
idCard
,
ticketId
);
performanceBuyCountUid
=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCountUid
=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
else
{
//非实名
performanceBuyCount
+
=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCount
+
=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
performanceBuyCount
Uid
=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCount
Uid
=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
Integer
[]
array
=
new
Integer
[
2
];
array
[
0
]
=
performanceBuyCount
;
array
[
1
]
=
ticketBuyCount
;
Integer
[]
array
=
new
Integer
[
4
];
array
[
0
]
=
performanceBuyCountUid
;
array
[
1
]
=
ticketBuyCountUid
;
array
[
2
]
=
performanceBuyCountIdCard
;
array
[
3
]
=
ticketBuyCountIdCard
;
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
(
performanceBuyCount
>
performanceMemberLimitCount
&&
performanceMemberLimitCount
!=
0
)
{
return
(
1
==
isTrueName
?
"实名制"
:
"本场"
)
+
"演出限购"
+
performanceMemberLimitCount
+
"张,已超出"
;
//超过演出维度购买量
if
(
isTrueName
==
1
){
if
(
performanceBuyCountIdCard
>
performanceMemberLimitCount
&&
performanceMemberLimitCount
!=
0
)
{
return
"实名制演出限购"
+
performanceMemberLimitCount
+
"张,已超出"
;
//超过演出维度购买量
}
if
(
ticketBuyCountIdCard
>
ticketMemberLimitCount
&&
ticketMemberLimitCount
!=
0
)
{
return
"实名制票种限购"
+
ticketMemberLimitCount
+
"张,已超出"
;
//超过票维度购买量
}
}
else
{
if
(
performanceBuyCountUid
>
performanceMemberLimitCount
&&
performanceMemberLimitCount
!=
0
)
{
return
"本场演出限购"
+
performanceMemberLimitCount
+
"张,已超出"
;
//超过演出维度购买量
}
if
(
ticketBuyCountUid
>
ticketMemberLimitCount
&&
ticketMemberLimitCount
!=
0
)
{
return
"该票种限购"
+
ticketMemberLimitCount
+
"张,已超出"
;
//超过票维度购买量
}
if
(
ticketBuyCount
>
ticketMemberLimitCount
&&
ticketMemberLimitCount
!=
0
)
{
return
(
1
==
isTrueName
?
"实名制"
:
"该"
)
+
"票种限购"
+
ticketMemberLimitCount
+
"张,已超出"
;
//超过票维度购买量
}
}
else
{
//非会员区间
if
(
performanceBuyCount
>
performanceLimitCount
&&
performanceLimitCount
!=
0
)
{
return
(
1
==
isTrueName
?
"实名制"
:
"本场"
)
+
"演出限购"
+
performanceLimitCount
+
"张,已超出"
;
//超过演出维度购买量
if
(
isTrueName
==
1
){
if
(
performanceBuyCountUid
>
performanceLimitCount
&&
performanceLimitCount
!=
0
)
{
return
"本场演出限购"
+
performanceLimitCount
+
"张,已超出"
;
//超过演出维度购买量
}
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
+
"张,已超出"
;
//超过演出维度购买量
}
if
(
ticketBuyCount
>
ticketLimitCount
&&
ticketLimitCount
!=
0
)
{
return
(
1
==
isTrueName
?
"实名制"
:
"该"
)
+
"票种限购"
+
ticketLimitCount
+
"张,已超出"
;
//超过票维度购买量
}
}
return
""
;
}
/**
* @param userId 用户id
* @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
This diff is collapsed.
Click to expand it.
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
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.base.OrderCloseMapping
;
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.KylinOrderTicketVo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.connection.stream.MapRecord
;
import
org.springframework.data.redis.connection.stream.StreamRecords
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.data.redis.stream.StreamListener
;
import
java.util.HashMap
;
@Slf4j
public
abstract
class
AbstractSqlOptOrderCloseRedisReceiver
implements
StreamListener
<
String
,
MapRecord
<
String
,
String
,
String
>>
{
@Autowired
StringRedisTemplate
stringRedisTemplate
;
@Autowired
private
RedisUtil
redisUtil
;
@Autowired
private
KylinUtils
kylinUtils
;
@Override
public
void
onMessage
(
MapRecord
<
String
,
String
,
String
>
message
)
{
String
redisStreamKey
=
this
.
getRedisStreamKey
();
log
.
debug
(
"CONSUMER MSG[streamKey:{},messageId:{},stream:{},body:{}]"
,
redisStreamKey
,
message
.
getId
(),
message
.
getStream
(),
message
.
getValue
());
boolean
result
=
this
.
consumerSqlOperationOrderCloseHandler
(
message
.
getValue
().
get
(
"message"
));
log
.
info
(
"CONSUMER MSG RESULT:{} ==> [{}]MESSAGE_ID:{}"
,
result
,
redisStreamKey
,
message
.
getId
());
try
{
stringRedisTemplate
.
opsForStream
().
acknowledge
(
getRedisStreamGroup
(),
message
);
}
catch
(
Exception
e
)
{
log
.
error
(
"#CONSUMER MSG EX_ACK ==> [{}]RESULT:{},MESSAGE:{}"
,
redisStreamKey
,
result
,
message
.
getValue
(),
e
);
}
try
{
stringRedisTemplate
.
opsForStream
().
delete
(
redisStreamKey
,
message
.
getId
());
}
catch
(
Exception
e
)
{
log
.
error
(
"#CONSUMER MSG EX_DEL ==> [{}]RESULT:{},MESSAGE:{}"
,
redisStreamKey
,
result
,
message
.
getValue
(),
e
);
}
}
private
boolean
consumerSqlOperationOrderCloseHandler
(
String
msg
)
{
boolean
aBoolean
=
false
;
try
{
OrderCloseMapping
.
orderCloseMessage
mqMessage
=
JsonUtils
.
fromJson
(
msg
,
OrderCloseMapping
.
orderCloseMessage
.
class
);
for
(
int
x
=
0
;
x
<
mqMessage
.
getOrderTicketIds
().
size
();
x
++)
{
String
t
=
mqMessage
.
getOrderTicketIds
().
get
(
x
);
String
orderTicketId
=
t
.
split
(
","
)[
0
];
String
uid
=
t
.
split
(
","
)[
1
];
KylinOrderTicketVo
vo
=
kylinUtils
.
getOrderTicketVo
(
orderTicketId
);
vo
.
setStatus
(
2
);
redisUtil
.
set
(
"kylin:order:id:"
+
orderTicketId
,
vo
);
kylinUtils
.
resetOrderListVo
(
uid
,
2
,
orderTicketId
,
vo
);
// redis 限购
for
(
int
i
=
0
;
i
<
vo
.
getEntitiesVoList
().
size
();
i
++)
{
KylinOrderTicketEntitiesVo
items
=
vo
.
getEntitiesVoList
().
get
(
i
);
kylinUtils
.
changeBuyInfo
(
items
.
getUserId
(),
items
.
getEnterIdCode
(),
items
.
getPerformanceId
(),
items
.
getTicketId
(),
-
1
);
}
}
aBoolean
=
true
;
}
catch
(
Exception
e
)
{
log
.
error
(
"CONSUMER MSG EX_HANDLE ==> [{}]:{}"
,
this
.
getRedisStreamKey
(),
msg
,
e
);
}
finally
{
if
(!
aBoolean
)
{
HashMap
<
String
,
String
>
map
=
CollectionUtil
.
mapStringString
();
map
.
put
(
"message"
,
msg
);
stringRedisTemplate
.
opsForStream
().
add
(
StreamRecords
.
mapBacked
(
map
).
withStreamKey
(
this
.
getRedisStreamKey
()));
}
}
return
aBoolean
;
}
protected
abstract
String
getRedisStreamKey
();
protected
abstract
String
getRedisStreamGroup
();
}
//
package com.liquidnet.service.consumer.kylin.receiver;
//
//
import com.liquidnet.common.cache.redis.util.RedisUtil;
//
import com.liquidnet.commons.lang.util.CollectionUtil;
//
import com.liquidnet.commons.lang.util.JsonUtils;
//
import com.liquidnet.service.base.OrderCloseMapping;
//
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.KylinOrderTicketVo;
//
import lombok.extern.slf4j.Slf4j;
//
import org.springframework.beans.factory.annotation.Autowired;
//
import org.springframework.data.redis.connection.stream.MapRecord;
//
import org.springframework.data.redis.connection.stream.StreamRecords;
//
import org.springframework.data.redis.core.StringRedisTemplate;
//
import org.springframework.data.redis.stream.StreamListener;
//
//
import java.util.HashMap;
//
//
@Slf4j
//
public abstract class AbstractSqlOptOrderCloseRedisReceiver implements StreamListener<String, MapRecord<String, String, String>> {
//
@Autowired
//
StringRedisTemplate stringRedisTemplate;
//
@Autowired
//
private RedisUtil redisUtil;
//
@Autowired
//
private KylinUtils kylinUtils;
//
//
@Override
//
public void onMessage(MapRecord<String, String, String> message) {
//
String redisStreamKey = this.getRedisStreamKey();
//
log.debug("CONSUMER MSG[streamKey:{},messageId:{},stream:{},body:{}]", redisStreamKey, message.getId(), message.getStream(), message.getValue());
//
boolean result = this.consumerSqlOperationOrderCloseHandler(message.getValue().get("message"));
//
log.info("CONSUMER MSG RESULT:{} ==> [{}]MESSAGE_ID:{}", result, redisStreamKey, message.getId());
//
//
try {
//
stringRedisTemplate.opsForStream().acknowledge(getRedisStreamGroup(), message);
//
} catch (Exception e) {
//
log.error("#CONSUMER MSG EX_ACK ==> [{}]RESULT:{},MESSAGE:{}", redisStreamKey, result, message.getValue(), e);
//
}
//
try {
//
stringRedisTemplate.opsForStream().delete(redisStreamKey, message.getId());
//
} catch (Exception e) {
//
log.error("#CONSUMER MSG EX_DEL ==> [{}]RESULT:{},MESSAGE:{}", redisStreamKey, result, message.getValue(), e);
//
}
//
}
//
//
private boolean consumerSqlOperationOrderCloseHandler(String msg) {
//
boolean aBoolean = false;
//
try {
//
OrderCloseMapping.orderCloseMessage mqMessage = JsonUtils.fromJson(msg, OrderCloseMapping.orderCloseMessage.class);
//
//
for (int x = 0; x < mqMessage.getOrderTicketIds().size(); x++) {
//
String t = mqMessage.getOrderTicketIds().get(x);
//
String orderTicketId = t.split(",")[0];
//
String uid = t.split(",")[1];
//
KylinOrderTicketVo vo = kylinUtils.getOrderTicketVo(orderTicketId);
//
vo.setStatus(2);
//
redisUtil.set("kylin:order:id:" + orderTicketId, vo);
//
//
kylinUtils.resetOrderListVo(uid, 2, orderTicketId, vo);
//
// redis 限购
//
for (int i = 0; i < vo.getEntitiesVoList().size(); i++) {
//
KylinOrderTicketEntitiesVo items = vo.getEntitiesVoList().get(i);
//
kylinUtils.changeBuyInfo(items.getUserId(), items.getEnterIdCode(), items.getPerformanceId(), items.getTicketId(), -1);
//
}
//
}
//
//
aBoolean = true;
//
} catch (Exception e) {
//
log.error("CONSUMER MSG EX_HANDLE ==> [{}]:{}", this.getRedisStreamKey(), msg, e);
//
} finally {
//
if (!aBoolean) {
//
HashMap<String, String> map = CollectionUtil.mapStringString();
//
map.put("message", msg);
//
stringRedisTemplate.opsForStream().add(StreamRecords.mapBacked(map).withStreamKey(this.getRedisStreamKey()));
//
}
//
}
//
return aBoolean;
//
}
//
//
protected abstract String getRedisStreamKey();
//
//
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
;
import
com.liquidnet.service.base.constant.MQConst
;
import
org.springframework.stereotype.Component
;
@Component
public
class
ConsumerKylinSqlOptOrderCloseRedisReceiver
extends
AbstractSqlOptOrderCloseRedisReceiver
{
@Override
protected
String
getRedisStreamKey
()
{
return
MQConst
.
KylinQueue
.
SQL_ORDER_CLOSE
.
getKey
();
}
@Override
protected
String
getRedisStreamGroup
()
{
return
MQConst
.
KylinQueue
.
SQL_ORDER_CLOSE
.
getGroup
();
}
}
//
package com.liquidnet.service.consumer.kylin.receiver;
//
//
import com.liquidnet.service.base.constant.MQConst;
//
import org.springframework.stereotype.Component;
//
//
@Component
//
public class ConsumerKylinSqlOptOrderCloseRedisReceiver extends AbstractSqlOptOrderCloseRedisReceiver {
//
@Override
//
protected String getRedisStreamKey() {
//
return MQConst.KylinQueue.SQL_ORDER_CLOSE.getKey();
//
}
//
//
@Override
//
protected String getRedisStreamGroup() {
//
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 {
}
}
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());
// public void changeBuyInfo(String userId, String idCard, String performanceId, String ticketId, int buyCount) {
// String redisKey;
// int isTrueName = getPerformanceIsTrueName(performanceId);
// if (0 == isTrueName) {
// redisKey = KylinRedisConst.USERID_BUY_INFO + userId;
// } else {
// redisKey = KylinRedisConst.IDCARD_BUY_INFO + idCard;
// }
// if (ticketItem.getTicketsId().equals(ticketId)) {
// useTime = ticketItem.getUseStart();
//
// String performanceIdKey = redisKey + ":" + KylinRedisConst.PERFORMANCE_ID + ":" + performanceId;
// String ticketIdKey = redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + ticketId;
//
// if (buyCount > 0) {
// redisUtil.incr(ticketIdKey, buyCount);
// redisUtil.incr(performanceIdKey, buyCount);
// } else {
// redisUtil.decr(ticketIdKey, Math.abs(buyCount));
// redisUtil.decr(performanceIdKey, Math.abs(buyCount));
// }
// }
// 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 详情
...
...
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 {
* @param 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
);
if
(
0
==
isTrueName
)
{
redisKey
=
KylinRedisConst
.
USERID_BUY_INFO
+
userId
;
}
else
{
redisKey
=
KylinRedisConst
.
IDCARD_BUY_INFO
+
idCard
;
redisKeyUid
=
KylinRedisConst
.
USERID_BUY_INFO
+
userId
;
redisKeyIdCard
=
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
)
{
redisUtil
.
incr
(
ticketIdKey
,
buyCount
);
redisUtil
.
incr
(
performanceIdKey
,
buyCount
);
redisUtil
.
incr
(
ticketIdKeyUid
,
buyCount
);
redisUtil
.
incr
(
performanceIdKeyUid
,
buyCount
);
if
(
isTrueName
!=
0
)
{
redisUtil
.
incr
(
ticketIdKeyIdCard
,
buyCount
);
redisUtil
.
incr
(
performanceIdKeyIdCard
,
buyCount
);
}
}
else
{
redisUtil
.
decr
(
ticketIdKey
,
Math
.
abs
(
buyCount
));
redisUtil
.
decr
(
performanceIdKey
,
Math
.
abs
(
buyCount
));
if
(
isTrueName
!=
0
)
{
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 {
}
}
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 详情
*
...
...
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 {
// 获取限购 实名
int
ticketLimit
=
ticketData
.
getLimitCount
();
//普通票种限购
int
ticketMemberLimit
=
ticketData
.
getLimitCountMember
();
//会员票种限购
int
ticketIdCount
=
ticketData
.
getIdCount
();
//实名票种限购
int
performanceLimit
=
performanceData
.
getLimitCount
();
//普通演出限购
int
performanceMemberLimit
=
performanceData
.
getLimitCountMember
();
//会员演出限购
int
performanceMemberLimit
=
1
;
//会员演出限购
int
performanceIdCount
=
performanceData
.
getIdCount
();
//实名演出限购
int
isTrueName
=
ticketData
.
getIsTrueName
();
//是否演出实名
//实名判断
...
...
@@ -681,13 +683,13 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
//限购判断 如果实名 则身份证维度限购 如果不实名则数量限购
if
(
entersVoList
.
size
()
>
0
)
{
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
(
""
))
{
return
ResponseDto
.
failure
(
res1
);
//乱七八糟异常
}
}
}
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
(
""
))
{
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 {
}
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
);
if
(
0
==
isTrueName
)
{
redisKey
=
KylinRedisConst
.
USERID_BUY_INFO
+
userId
;
}
else
{
redisKey
=
KylinRedisConst
.
IDCARD_BUY_INFO
+
idCard
;
redisKeyUid
=
KylinRedisConst
.
USERID_BUY_INFO
+
userId
;
redisKeyIdCard
=
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
)
{
redisUtil
.
incr
(
ticketIdKey
,
buyCount
);
redisUtil
.
incr
(
performanceIdKey
,
buyCount
);
redisUtil
.
incr
(
ticketIdKeyUid
,
buyCount
);
redisUtil
.
incr
(
performanceIdKeyUid
,
buyCount
);
if
(
isTrueName
!=
0
)
{
redisUtil
.
incr
(
ticketIdKeyIdCard
,
buyCount
);
redisUtil
.
incr
(
performanceIdKeyIdCard
,
buyCount
);
}
}
else
{
redisUtil
.
decr
(
ticketIdKey
,
Math
.
abs
(
buyCount
));
redisUtil
.
decr
(
performanceIdKey
,
Math
.
abs
(
buyCount
));
if
(
isTrueName
!=
0
)
{
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 {
public
String
judgeOrderLimit
(
int
type
,
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
performanceLimitCount
,
int
performanceMemberLimitCount
,
int
performanceLimitIdCard
,
int
ticketLimitCount
,
int
ticketMemberLimitCount
,
int
performanceBuyCount
,
int
ticketBuyCount
,
int
ticketLimitIdCard
,
int
memberType
,
int
isTrueName
)
{
Integer
[]
integers
;
if
(
101
==
type
)
{
integers
=
festivalOrderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
performanceBuyCount
,
ticketBuyCount
,
isTrueName
);
}
else
{
integers
=
roadShowOrderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
performanceBuyCount
,
ticketBuyCount
,
isTrueName
);
}
return
judgeMemberType
(
performanceLimitCount
,
performanceMemberLimitCount
,
ticketLimitCount
,
ticketMemberLimitCount
,
memberType
,
integers
[
0
],
integers
[
1
],
isTrueName
);
Integer
[]
integers
=
orderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
isTrueName
);
return
judgeMemberType
(
performanceLimitCount
,
performanceMemberLimitCount
,
performanceLimitIdCard
,
ticketLimitCount
,
ticketMemberLimitCount
,
ticketLimitIdCard
,
memberType
,
integers
[
0
],
integers
[
1
],
integers
[
2
],
integers
[
3
],
isTrueName
);
}
public
Integer
[]
roadShowO
rderLimit
(
public
Integer
[]
o
rderLimit
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
performanceBuyCount
,
int
ticketBuyCount
,
int
isTrueName
)
{
if
(
1
==
isTrueName
)
{
//实名
performanceBuyCount
+=
dataUtils
.
getIdCardPBuyCount
(
idCard
,
performanceId
);
ticketBuyCount
+=
dataUtils
.
getIdCardTBuyCount
(
idCard
,
ticketId
);
}
else
{
//非实名
performanceBuyCount
+=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCount
+=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
Integer
[]
array
=
new
Integer
[
2
];
array
[
0
]
=
performanceBuyCount
;
array
[
1
]
=
ticketBuyCount
;
return
array
;
}
int
performanceBuyCountUid
=
0
;
int
ticketBuyCountUid
=
0
;
int
performanceBuyCountIdCard
=
0
;
int
ticketBuyCountIdCard
=
0
;
public
Integer
[]
festivalOrderLimit
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
performanceBuyCount
,
int
ticketBuyCount
,
int
isTrueName
)
{
if
(
1
==
isTrueName
)
{
//实名
performanceBuyCount
+=
dataUtils
.
getIdCardPBuyCount
(
idCard
,
performanceId
);
ticketBuyCount
+=
dataUtils
.
getIdCardTBuyCount
(
idCard
,
ticketId
);
performanceBuyCountIdCard
=
dataUtils
.
getIdCardPBuyCount
(
idCard
,
performanceId
);
ticketBuyCountIdCard
=
dataUtils
.
getIdCardTBuyCount
(
idCard
,
ticketId
);
performanceBuyCountUid
=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCountUid
=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
else
{
//非实名
performanceBuyCount
+
=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCount
+
=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
performanceBuyCount
Uid
=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCount
Uid
=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
Integer
[]
array
=
new
Integer
[
2
];
array
[
0
]
=
performanceBuyCount
;
array
[
1
]
=
ticketBuyCount
;
Integer
[]
array
=
new
Integer
[
4
];
array
[
0
]
=
performanceBuyCountUid
;
array
[
1
]
=
ticketBuyCountUid
;
array
[
2
]
=
performanceBuyCountIdCard
;
array
[
3
]
=
ticketBuyCountIdCard
;
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
(
performanceBuyCount
>
performanceMemberLimitCount
&&
performanceMemberLimitCount
!=
0
)
{
return
(
1
==
isTrueName
?
"实名制"
:
"本场"
)
+
"演出限购"
+
performanceMemberLimitCount
+
"张,已超出"
;
//超过演出维度购买量
if
(
isTrueName
==
1
){
if
(
performanceBuyCountIdCard
>
performanceMemberLimitCount
&&
performanceMemberLimitCount
!=
0
)
{
return
"实名制演出限购"
+
performanceMemberLimitCount
+
"张,已超出"
;
//超过演出维度购买量
}
if
(
ticketBuyCountIdCard
>
ticketMemberLimitCount
&&
ticketMemberLimitCount
!=
0
)
{
return
"实名制票种限购"
+
ticketMemberLimitCount
+
"张,已超出"
;
//超过票维度购买量
}
}
else
{
if
(
performanceBuyCountUid
>
performanceMemberLimitCount
&&
performanceMemberLimitCount
!=
0
)
{
return
"本场演出限购"
+
performanceMemberLimitCount
+
"张,已超出"
;
//超过演出维度购买量
}
if
(
ticketBuyCountUid
>
ticketMemberLimitCount
&&
ticketMemberLimitCount
!=
0
)
{
return
"该票种限购"
+
ticketMemberLimitCount
+
"张,已超出"
;
//超过票维度购买量
}
if
(
ticketBuyCount
>
ticketMemberLimitCount
&&
ticketMemberLimitCount
!=
0
)
{
return
(
1
==
isTrueName
?
"实名制"
:
"该"
)
+
"票种限购"
+
ticketMemberLimitCount
+
"张,已超出"
;
//超过票维度购买量
}
}
else
{
//非会员区间
if
(
performanceBuyCount
>
performanceLimitCount
&&
performanceLimitCount
!=
0
)
{
return
(
1
==
isTrueName
?
"实名制"
:
"本场"
)
+
"演出限购"
+
performanceLimitCount
+
"张,已超出"
;
//超过演出维度购买量
if
(
isTrueName
==
1
){
if
(
performanceBuyCountUid
>
performanceLimitCount
&&
performanceLimitCount
!=
0
)
{
return
"本场演出限购"
+
performanceLimitCount
+
"张,已超出"
;
//超过演出维度购买量
}
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
+
"张,已超出"
;
//超过演出维度购买量
}
if
(
ticketBuyCount
>
ticketLimitCount
&&
ticketLimitCount
!=
0
)
{
return
(
1
==
isTrueName
?
"实名制"
:
"该"
)
+
"票种限购"
+
ticketLimitCount
+
"张,已超出"
;
//超过票维度购买量
}
}
return
""
;
}
/**
* @param userId 用户id
* @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
// 获取限购 实名
int
ticketLimit
=
ticketData
.
getLimitCount
();
//普通票种限购
int
ticketMemberLimit
=
ticketData
.
getLimitCountMember
();
//会员票种限购
int
ticketIdCount
=
ticketData
.
getIdCount
();
//实名票种限购
int
performanceLimit
=
performanceData
.
getLimitCount
();
//普通演出限购
// int performanceMemberLimit = performanceData.getLimitCountMember();//会员演出限购
int
performanceMemberLimit
=
1
;
//会员演出限购
int
performanceIdCount
=
performanceData
.
getIdCount
();
//实名演出限购
int
isTrueName
=
ticketData
.
getIsTrueName
();
//是否演出实名
if
(!
canBuyStatus
.
contains
(
performanceData
.
getAppStatus
()))
{
...
...
@@ -359,7 +360,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
if
(
entersVoList
.
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
entersVoList
.
size
();
i
++)
{
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
(
""
))
{
for
(
int
x
=
0
;
x
<=
i
;
x
++)
{
dataUtils
.
changeBuyInfo
(
uid
,
entersVoList
.
get
(
x
).
getIdCard
(),
performanceData
.
getPerformancesId
(),
ticketData
.
getTicketsId
(),
-
1
);
...
...
@@ -371,7 +372,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
}
}
else
{
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
(
""
))
{
dataUtils
.
changeBuyInfo
(
uid
,
""
,
performanceData
.
getPerformancesId
(),
ticketData
.
getTicketsId
(),
-
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 {
* @param buyCount 购买数量 大于 0 增加 小于 0 减少 对应 支付 退款表
*/
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
);
// 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
)
{
redisKey
=
KylinRedisConst
.
USERID_BUY_INFO
+
userId
;
}
else
{
redisKey
=
KylinRedisConst
.
IDCARD_BUY_INFO
+
idCard
;
redisKeyUid
=
KylinRedisConst
.
USERID_BUY_INFO
+
userId
;
redisKeyIdCard
=
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
;
// String ticketUseTimeKey = ticketIdKey + ":" + KylinRedisConst.USE_TIME;
// redisUtil.set(ticketUseTimeKey, useTime);
if
(
buyCount
>
0
)
{
redisUtil
.
incr
(
ticketIdKey
,
buyCount
);
redisUtil
.
incr
(
performanceIdKey
,
buyCount
);
redisUtil
.
incr
(
ticketIdKeyUid
,
buyCount
);
redisUtil
.
incr
(
performanceIdKeyUid
,
buyCount
);
if
(
isTrueName
!=
0
)
{
redisUtil
.
incr
(
ticketIdKeyIdCard
,
buyCount
);
redisUtil
.
incr
(
performanceIdKeyIdCard
,
buyCount
);
}
}
else
{
redisUtil
.
decr
(
ticketIdKey
,
Math
.
abs
(
buyCount
));
redisUtil
.
decr
(
performanceIdKey
,
Math
.
abs
(
buyCount
));
if
(
isTrueName
!=
0
)
{
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 {
private
String
candyUrl
;
@Value
(
"${liquidnet.service.smile.url}"
)
private
String
smile
;
@Value
(
"${liquidnet.service.stone.url}"
)
private
String
stoneUrl
;
public
String
judgeOrderLimit
(
int
type
,
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
performanceLimitCount
,
int
performanceMemberLimitCount
,
int
performanceLimitIdCard
,
int
ticketLimitCount
,
int
ticketMemberLimitCount
,
int
performanceBuyCount
,
int
ticketBuyCount
,
int
ticketLimitIdCard
,
int
memberType
,
int
isTrueName
)
{
Integer
[]
integers
;
if
(
101
==
type
)
{
integers
=
festivalOrderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
performanceBuyCount
,
ticketBuyCount
,
isTrueName
);
}
else
{
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
);
Integer
[]
integers
=
orderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
isTrueName
);
return
judgeMemberType
(
performanceLimitCount
,
performanceMemberLimitCount
,
performanceLimitIdCard
,
ticketLimitCount
,
ticketMemberLimitCount
,
ticketLimitIdCard
,
memberType
,
integers
[
0
],
integers
[
1
],
integers
[
2
],
integers
[
3
],
isTrueName
);
}
public
Integer
[]
roadShowO
rderLimit
(
public
Integer
[]
o
rderLimit
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
performanceBuyCount
,
int
ticketBuyCount
,
int
isTrueName
)
{
if
(
1
==
isTrueName
)
{
//实名
performanceBuyCount
=
dataUtils
.
getIdCardPBuyCount
(
idCard
,
performanceId
);
ticketBuyCount
=
dataUtils
.
getIdCardTBuyCount
(
idCard
,
ticketId
);
}
else
{
//非实名
performanceBuyCount
=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCount
=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
Integer
[]
array
=
ObjectUtil
.
cloneInteger2Array
();
array
[
0
]
=
performanceBuyCount
;
array
[
1
]
=
ticketBuyCount
;
return
array
;
}
int
performanceBuyCountUid
=
0
;
int
ticketBuyCountUid
=
0
;
int
performanceBuyCountIdCard
=
0
;
int
ticketBuyCountIdCard
=
0
;
public
Integer
[]
festivalOrderLimit
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
performanceBuyCount
,
int
ticketBuyCount
,
int
isTrueName
)
{
if
(
1
==
isTrueName
)
{
//实名
performanceBuyCount
=
dataUtils
.
getIdCardPBuyCount
(
idCard
,
performanceId
);
ticketBuyCount
=
dataUtils
.
getIdCardTBuyCount
(
idCard
,
ticketId
);
performanceBuyCountIdCard
=
dataUtils
.
getIdCardPBuyCount
(
idCard
,
performanceId
);
ticketBuyCountIdCard
=
dataUtils
.
getIdCardTBuyCount
(
idCard
,
ticketId
);
performanceBuyCountUid
=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCountUid
=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
else
{
//非实名
performanceBuyCount
=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCount
=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
performanceBuyCount
Uid
=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCount
Uid
=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
Integer
[]
array
=
ObjectUtil
.
cloneInteger2Array
();
array
[
0
]
=
performanceBuyCount
;
array
[
1
]
=
ticketBuyCount
;
Integer
[]
array
=
new
Integer
[
4
];
array
[
0
]
=
performanceBuyCountUid
;
array
[
1
]
=
ticketBuyCountUid
;
array
[
2
]
=
performanceBuyCountIdCard
;
array
[
3
]
=
ticketBuyCountIdCard
;
return
array
;
}
public
String
judgeMemberType
(
int
performanceLimitCount
,
int
performanceMemberLimitCount
,
int
ticketLimitCount
,
int
ticketMemberLimitCount
,
int
memberType
,
int
performanceBuyCount
,
int
ticketBuyCount
,
int
isTrueName
)
{
log
.
debug
(
"会员限购演出="
+
performanceMemberLimitCount
);
log
.
debug
(
"限购演出="
+
performanceLimitCount
);
log
.
debug
(
"会员限购票种="
+
ticketMemberLimitCount
);
log
.
debug
(
"限购票种="
+
ticketLimitCount
);
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
)
{
// log.debug("会员限购演出=" + performanceMemberLimitCount);
// 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
(
performanceBuyCount
>
performanceMemberLimitCount
&&
performanceMemberLimitCount
!=
0
)
{
return
(
1
==
isTrueName
?
"实名制"
:
"本场"
)
+
"演出限购"
+
performanceMemberLimitCount
+
"张,已超出"
;
//超过演出维度购买量
if
(
isTrueName
==
1
){
if
(
performanceBuyCountIdCard
>
performanceMemberLimitCount
&&
performanceMemberLimitCount
!=
0
)
{
return
"实名制演出限购"
+
performanceMemberLimitCount
+
"张,已超出"
;
//超过演出维度购买量
}
if
(
ticketBuyCountIdCard
>
ticketMemberLimitCount
&&
ticketMemberLimitCount
!=
0
)
{
return
"实名制票种限购"
+
ticketMemberLimitCount
+
"张,已超出"
;
//超过票维度购买量
}
}
else
{
if
(
performanceBuyCountUid
>
performanceMemberLimitCount
&&
performanceMemberLimitCount
!=
0
)
{
return
"本场演出限购"
+
performanceMemberLimitCount
+
"张,已超出"
;
//超过演出维度购买量
}
if
(
ticketBuyCountUid
>
ticketMemberLimitCount
&&
ticketMemberLimitCount
!=
0
)
{
return
"该票种限购"
+
ticketMemberLimitCount
+
"张,已超出"
;
//超过票维度购买量
}
if
(
ticketBuyCount
>
ticketMemberLimitCount
&&
ticketMemberLimitCount
!=
0
)
{
return
(
1
==
isTrueName
?
"实名制"
:
"该"
)
+
"票种限购"
+
ticketMemberLimitCount
+
"张,已超出"
;
//超过票维度购买量
}
}
else
{
//非会员区间
if
(
performanceBuyCount
>
performanceLimitCount
&&
performanceLimitCount
!=
0
)
{
return
(
1
==
isTrueName
?
"实名制"
:
"本场"
)
+
"演出限购"
+
performanceLimitCount
+
"张,已超出"
;
//超过演出维度购买量
if
(
isTrueName
==
1
){
if
(
performanceBuyCountIdCard
>
performanceLimitIdCard
&&
performanceLimitIdCard
!=
0
)
{
return
"实名制演出限购"
+
performanceLimitIdCard
+
"张,已超出"
;
//超过演出维度购买量
}
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
+
"张,已超出"
;
//超过演出维度购买量
}
if
(
ticketBuyCount
>
ticketLimitCount
&&
ticketLimitCount
!=
0
)
{
return
(
1
==
isTrueName
?
"实名制"
:
"该"
)
+
"票种限购"
+
ticketLimitCount
+
"张,已超出"
;
//超过票维度购买量
}
}
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 {
public
List
<
KylinOrderListVo
>
getOrderList
(
String
userId
)
{
Object
obj
=
redisDataSourceUtil
.
getRedisKylinUtil
().
get
(
KylinRedisConst
.
ORDER_LIST
+
userId
);
if
(
obj
!=
null
)
{
return
(
List
<
KylinOrderListVo
>)
obj
;
if
(
obj
!=
null
)
{
return
(
List
<
KylinOrderListVo
>)
obj
;
}
else
{
List
<
KylinOrderListVo
>
voList
=
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"userId"
).
is
(
userId
))
.
with
(
Sort
.
by
(
Sort
.
Direction
.
DESC
,
"createdAt"
)).
limit
(
40
),
KylinOrderListVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
for
(
KylinOrderListVo
item
:
voList
){
for
(
KylinOrderListVo
item
:
voList
)
{
item
.
setStatus
(
item
.
getStatus
());
}
redisDataSourceUtil
.
getRedisKylinUtil
().
set
(
KylinRedisConst
.
ORDER_LIST
+
userId
,
voList
);
...
...
@@ -175,8 +175,8 @@ public class DataUtils {
* @param performanceId
* @param isTrueName
*/
public
void
setPerformanceIsTrueName
(
String
performanceId
,
int
isTrueName
)
{
redisDataSourceUtil
.
getRedisKylinUtil
().
set
(
KylinRedisConst
.
PERFORMANCES_TRUE_NAME
+
performanceId
,
isTrueName
);
public
void
setPerformanceIsTrueName
(
String
performanceId
,
int
isTrueName
)
{
redisDataSourceUtil
.
getRedisKylinUtil
().
set
(
KylinRedisConst
.
PERFORMANCES_TRUE_NAME
+
performanceId
,
isTrueName
);
}
/**
...
...
@@ -187,8 +187,8 @@ public class DataUtils {
*/
public
KylinOrderTicketVo
getOrderTicketVo
(
String
orderId
)
{
Object
obj
=
redisDataSourceUtil
.
getRedisKylinUtil
().
get
(
KylinRedisConst
.
ORDER
+
orderId
);
if
(
obj
!=
null
)
{
return
(
KylinOrderTicketVo
)
obj
;
if
(
obj
!=
null
)
{
return
(
KylinOrderTicketVo
)
obj
;
}
else
{
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
());
...
...
@@ -228,7 +228,6 @@ public class DataUtils {
}
public
void
updatePerformanceMongo
(
String
performanceIds
,
KylinPerformanceVo
paramVo
)
{
//查询 mysql 数据
KylinPerformanceVo
vo
;
...
...
@@ -273,29 +272,38 @@ public class DataUtils {
* @param buyCount 购买数量 大于 0 增加 小于 0 减少 对应 支付 退款表
*/
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
);
if
(
0
==
isTrueName
)
{
redisKey
=
KylinRedisConst
.
USERID_BUY_INFO
+
userId
;
}
else
{
redisKey
=
KylinRedisConst
.
IDCARD_BUY_INFO
+
idCard
;
redisKeyUid
=
KylinRedisConst
.
USERID_BUY_INFO
+
userId
;
redisKeyIdCard
=
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
)
{
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
ticketIdKey
,
buyCount
);
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
performanceIdKey
,
buyCount
);
}
else
{
redisDataSourceUtil
.
getRedisKylinUtil
().
decr
(
ticketIdKey
,
Math
.
abs
(
buyCount
));
redisDataSourceUtil
.
getRedisKylinUtil
().
decr
(
performanceIdKey
,
Math
.
abs
(
buyCount
));
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
ticketIdKeyUid
,
buyCount
);
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
performanceIdKeyUid
,
buyCount
);
if
(
isTrueName
!=
0
)
{
redisDataSourceUtil
.
getRedisKylinUtil
().
incr
(
ticketIdKeyIdCard
,
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
));
}
}
// 获取 用户维度 演出购买数量
...
...
@@ -351,8 +359,8 @@ public class DataUtils {
*/
public
KylinPerformanceVo
getPerformanceVo
(
String
performanceId
)
{
Object
obj
=
redisDataSourceUtil
.
getRedisKylinUtil
().
get
(
KylinRedisConst
.
PERFORMANCES
+
performanceId
);
if
(
obj
!=
null
)
{
return
(
KylinPerformanceVo
)
obj
;
if
(
obj
!=
null
)
{
return
(
KylinPerformanceVo
)
obj
;
}
else
{
KylinPerformanceVo
performanceData
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"performancesId"
).
is
(
performanceId
)),
KylinPerformanceVo
.
class
,
KylinPerformanceVo
.
class
.
getSimpleName
());
redisDataSourceUtil
.
getRedisKylinUtil
().
set
(
KylinRedisConst
.
PERFORMANCES
+
performanceId
,
performanceData
);
...
...
@@ -367,26 +375,27 @@ public class DataUtils {
*/
public
int
getPerformanceIsTrueName
(
String
performanceId
)
{
Object
obj
=
redisDataSourceUtil
.
getRedisKylinUtil
().
get
(
KylinRedisConst
.
PERFORMANCES_TRUE_NAME
+
performanceId
);
if
(
obj
!=
null
)
{
return
(
int
)
obj
;
}
else
{
if
(
obj
!=
null
)
{
return
(
int
)
obj
;
}
else
{
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
;
}
}
public
void
delOrderRefundVo
(
String
orderRefundsId
){
public
void
delOrderRefundVo
(
String
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
);
}
/**
* 演出订单快递信息
*
* @param orderId
* @param kylinOrderExpressVo
*/
...
...
@@ -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
);
Object
obj
=
redisDataSourceUtil
.
getRedisKylinUtil
().
get
(
redisKey
);
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