记得上下班打卡 | 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
5611e208
Commit
5611e208
authored
Jun 11, 2021
by
胡佳晨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
订单限购修改
parent
85d8283c
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
313 additions
and
94 deletions
+313
-94
KylinRedisConst.java
...com/liquidnet/service/kylin/constant/KylinRedisConst.java
+7
-0
KylinOrderListVo.java
...uidnet/service/kylin/dto/vo/returns/KylinOrderListVo.java
+2
-0
KylinPerformancesController.java
...service/kylin/controller/KylinPerformancesController.java
+3
-2
KylinLackRegistersServiceImpl.java
...ice/kylin/service/impl/KylinLackRegistersServiceImpl.java
+1
-0
KylinOrderTicketsServiceImpl.java
...vice/kylin/service/impl/KylinOrderTicketsServiceImpl.java
+45
-86
KylinPerformancesServiceImpl.java
...vice/kylin/service/impl/KylinPerformancesServiceImpl.java
+2
-2
KylinPerformancesPartnerServiceImpl.java
...ice/impl/partner/KylinPerformancesPartnerServiceImpl.java
+0
-1
DataUtils.java
...ain/java/com/liquidnet/service/kylin/utils/DataUtils.java
+153
-3
OrderUtils.java
...in/java/com/liquidnet/service/kylin/utils/OrderUtils.java
+100
-0
No files found.
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/constant/KylinRedisConst.java
View file @
5611e208
...
@@ -15,6 +15,13 @@ public class KylinRedisConst {
...
@@ -15,6 +15,13 @@ public class KylinRedisConst {
public
static
final
String
AGENT
=
"kylin:agent:info"
;
public
static
final
String
AGENT
=
"kylin:agent:info"
;
public
static
final
String
ORDER_LIST
=
"kylin:order:list:userId:"
;
public
static
final
String
ORDER_LIST
=
"kylin:order:list:userId:"
;
public
static
final
String
USERID_BUY_INFO
=
"kylin:buy:userId:"
;
public
static
final
String
IDCARD_BUY_INFO
=
"kylin:buy:idCard:"
;
public
static
final
String
PERFORMANCE_ID
=
"performanceId"
;
public
static
final
String
TICKET_ID
=
"ticketId"
;
public
static
final
String
USE_TIME
=
"useTime"
;
public
static
final
String
BUY_COUNT
=
"buyCount"
;
public
static
final
String
ENTER_INFO
=
"kylin:enter:info:id:"
;
//入场须知
public
static
final
String
ENTER_INFO
=
"kylin:enter:info:id:"
;
//入场须知
public
static
final
String
CHECK_USER
=
"kylin:checkUser:id:"
;
public
static
final
String
CHECK_USER
=
"kylin:checkUser:id:"
;
...
...
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/dto/vo/returns/KylinOrderListVo.java
View file @
5611e208
...
@@ -9,6 +9,8 @@ import java.math.BigDecimal;
...
@@ -9,6 +9,8 @@ import java.math.BigDecimal;
public
class
KylinOrderListVo
implements
Serializable
{
public
class
KylinOrderListVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
6554829077875538374L
;
private
static
final
long
serialVersionUID
=
6554829077875538374L
;
private
String
orderTicketsId
;
private
String
orderTicketsId
;
private
String
performanceId
;
private
String
ticketId
;
private
String
performanceTitle
;
private
String
performanceTitle
;
private
String
performanceImg
;
private
String
performanceImg
;
private
String
orderCode
;
private
String
orderCode
;
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/controller/KylinPerformancesController.java
View file @
5611e208
...
@@ -218,8 +218,9 @@ public class KylinPerformancesController {
...
@@ -218,8 +218,9 @@ public class KylinPerformancesController {
}
}
@PostMapping
(
"/checkPerformanceTime"
)
@PostMapping
(
"/checkPerformanceTime"
)
public
ResponseDto
<
String
>
checkPerformanceTime
(){
@ApiOperation
(
"演出脚本"
)
return
ResponseDto
.
success
(
kylinPerformancesService
.
checkPerformanceTime
());
public
ResponseDto
<
String
>
checkPerformanceTime
(
@RequestParam
(
value
=
"performancesId"
,
required
=
false
)
String
performancesId
){
return
ResponseDto
.
success
(
kylinPerformancesService
.
checkPerformanceTime
(
performancesId
));
}
}
@PostMapping
(
"lackRegister"
)
@PostMapping
(
"lackRegister"
)
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinLackRegistersServiceImpl.java
View file @
5611e208
...
@@ -40,6 +40,7 @@ public class KylinLackRegistersServiceImpl extends ServiceImpl<KylinLackRegister
...
@@ -40,6 +40,7 @@ public class KylinLackRegistersServiceImpl extends ServiceImpl<KylinLackRegister
SqlMapping
.
get
(
"kylin_lack_register.insert"
,
lackRegisters
.
getInsertObj
()));
SqlMapping
.
get
(
"kylin_lack_register.insert"
,
lackRegisters
.
getInsertObj
()));
return
ResponseDto
.
success
(
"登记成功"
);
return
ResponseDto
.
success
(
"登记成功"
);
}
catch
(
Exception
e
){
}
catch
(
Exception
e
){
e
.
printStackTrace
();
return
ResponseDto
.
success
(
"登记失败"
);
return
ResponseDto
.
success
(
"登记失败"
);
}
}
}
}
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinOrderTicketsServiceImpl.java
View file @
5611e208
...
@@ -24,14 +24,18 @@ import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
...
@@ -24,14 +24,18 @@ import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
import
com.liquidnet.service.kylin.dto.vo.returns.OrderDetailsVo
;
import
com.liquidnet.service.kylin.dto.vo.returns.OrderDetailsVo
;
import
com.liquidnet.service.kylin.dto.vo.returns.PayResultVo
;
import
com.liquidnet.service.kylin.dto.vo.returns.PayResultVo
;
import
com.liquidnet.service.kylin.entity.*
;
import
com.liquidnet.service.kylin.entity.*
;
import
com.liquidnet.service.kylin.mapper.KylinOrderTicketEntitiesMapper
;
import
com.liquidnet.service.kylin.mapper.KylinOrderTicketsMapper
;
import
com.liquidnet.service.kylin.mapper.KylinOrderTicketsMapper
;
import
com.liquidnet.service.kylin.service.IKylinOrderTicketsService
;
import
com.liquidnet.service.kylin.service.IKylinOrderTicketsService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.service.kylin.utils.DataUtils
;
import
com.liquidnet.service.kylin.utils.DataUtils
;
import
com.liquidnet.service.kylin.utils.MongoVoUtils
;
import
com.liquidnet.service.kylin.utils.MongoVoUtils
;
import
com.liquidnet.service.kylin.utils.OrderUtils
;
import
com.liquidnet.service.kylin.utils.TaobaoTicketUtils
;
import
com.liquidnet.service.kylin.utils.TaobaoTicketUtils
;
import
com.mongodb.BasicDBObject
;
import
com.mongodb.BasicDBObject
;
import
com.taobao.api.TaobaoClient
;
import
com.taobao.api.request.AlibabaDamaiMevOpenBatchpushticketRequest
;
import
com.taobao.api.request.AlibabaDamaiMevOpenBatchpushticketRequest
;
import
com.taobao.api.response.AlibabaDamaiMevOpenBatchpushticketResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.time.DateUtils
;
import
org.apache.commons.lang.time.DateUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
@@ -79,6 +83,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -79,6 +83,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
@Autowired
@Autowired
private
RedisUtil
redisUtil
;
private
RedisUtil
redisUtil
;
@Autowired
@Autowired
private
OrderUtils
orderUtils
;
@Autowired
private
MongoVoUtils
mongoVoUtils
;
private
MongoVoUtils
mongoVoUtils
;
@Autowired
@Autowired
private
RedisLockUtil
redisLockUtil
;
private
RedisLockUtil
redisLockUtil
;
...
@@ -94,6 +100,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -94,6 +100,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
private
TaobaoTicketUtils
taobaoTicketUtils
;
private
TaobaoTicketUtils
taobaoTicketUtils
;
@Autowired
@Autowired
private
KylinOrderTicketsMapper
orderTicketsMapper
;
private
KylinOrderTicketsMapper
orderTicketsMapper
;
@Autowired
private
KylinOrderTicketEntitiesMapper
entitiesMapper
;
@Override
@Override
public
ResponseDto
<
PayResultVo
>
checkCanOrder
(
PayOrderParam
payOrderParam
)
{
public
ResponseDto
<
PayResultVo
>
checkCanOrder
(
PayOrderParam
payOrderParam
)
{
...
@@ -142,7 +150,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -142,7 +150,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
String
timeStart
=
ticketData
.
getTimeStart
();
// 普通开售时间
String
timeStart
=
ticketData
.
getTimeStart
();
// 普通开售时间
String
timeEnd
=
ticketData
.
getTimeEnd
();
// 购票停售时间
String
timeEnd
=
ticketData
.
getTimeEnd
();
// 购票停售时间
String
timeExpressEnd
=
ticketData
.
getTimeEndExpress
();
// 快递停售时间
String
timeExpressEnd
=
ticketData
.
getTimeEndExpress
();
// 快递停售时间
boolean
isMember
=
feignAdamBaseClient
.
isMember
(
uid
).
getData
();
//获取是否是会员
// boolean isMember = feignAdamBaseClient.isMember(uid).getData();//获取是否是会员
boolean
isMember
=
true
;
int
memberType
;
//会员状态 不需要判断会员 1判断会员逻辑 2会员专属
int
memberType
;
//会员状态 不需要判断会员 1判断会员逻辑 2会员专属
if
(
ticketData
.
getIsExclusive
()
==
1
)
{
if
(
ticketData
.
getIsExclusive
()
==
1
)
{
memberType
=
2
;
memberType
=
2
;
...
@@ -237,76 +246,21 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -237,76 +246,21 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
Query
queryTicket
=
new
Query
();
Query
queryTicket
=
new
Query
();
queryPerformance
.
addCriteria
(
Criteria
.
where
(
"performanceId"
).
is
(
payOrderParam
.
getPerformanceId
()).
and
(
"status"
).
in
(
KylinTableStatusConst
.
ORDER_STATUS0
,
KylinTableStatusConst
.
ORDER_STATUS1
));
queryPerformance
.
addCriteria
(
Criteria
.
where
(
"performanceId"
).
is
(
payOrderParam
.
getPerformanceId
()).
and
(
"status"
).
in
(
KylinTableStatusConst
.
ORDER_STATUS0
,
KylinTableStatusConst
.
ORDER_STATUS1
));
queryTicket
.
addCriteria
(
Criteria
.
where
(
"ticketId"
).
is
(
payOrderParam
.
getTicketId
()).
and
(
"status"
).
in
(
KylinTableStatusConst
.
ORDER_STATUS0
,
KylinTableStatusConst
.
ORDER_STATUS1
));
queryTicket
.
addCriteria
(
Criteria
.
where
(
"ticketId"
).
is
(
payOrderParam
.
getTicketId
()).
and
(
"status"
).
in
(
KylinTableStatusConst
.
ORDER_STATUS0
,
KylinTableStatusConst
.
ORDER_STATUS1
));
int
performanceBuyCount
=
0
;
//演出下所有票种购买数量
int
ticketBuyCount
=
0
;
// 单一票种购买数量
if
(
isTrueName
==
1
)
{
if
(
entersVoList
.
size
()>
0
)
{
//已购买数量 身份证
for
(
int
i
=
0
;
i
<
entersVoList
.
size
();
i
++)
{
queryPerformance
.
fields
().
include
(
"orderTicketsId"
);
String
res1
=
orderUtils
.
judgeOrderLimit
(
performanceData
.
getType
(),
uid
,
entersVoList
.
get
(
i
).
getIdCard
(),
payOrderParam
.
getPerformanceId
(),
payOrderParam
.
getTicketId
(),
performanceLimit
,
performanceMemberLimit
,
ticketLimit
,
ticketMemberLimit
,
1
,
1
,
memberType
,
isTrueName
);
queryTicket
.
fields
().
include
(
"orderTicketsId"
);
if
(!
res1
.
equals
(
""
)){
KylinOrderTicketVo
performanceOrderId
=
mongoTemplate
.
findOne
(
queryPerformance
,
KylinOrderTicketVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
KylinOrderTicketVo
ticketOrderId
=
mongoTemplate
.
findOne
(
queryTicket
,
KylinOrderTicketVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
if
(
performanceOrderId
!=
null
&&
ticketOrderId
!=
null
)
{
for
(
AdamEntersVo
item
:
entersVoList
)
{
performanceBuyCount
+=
mongoTemplate
.
count
(
Query
.
query
(
Criteria
.
where
(
"enterIdCode"
).
is
(
item
.
getIdCard
()).
and
(
"performanceId"
).
is
(
payOrderParam
.
getPerformanceId
()).
and
(
"orderTicketsId"
).
is
(
performanceOrderId
.
getOrderTicketsId
())),
KylinOrderTicketEntitiesVo
.
class
,
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
())
+
payOrderParam
.
getNumber
();
ticketBuyCount
+=
mongoTemplate
.
count
(
Query
.
query
(
Criteria
.
where
(
"enterIdCode"
).
is
(
item
.
getIdCard
()).
and
(
"ticketId"
).
is
(
payOrderParam
.
getPerformanceId
()).
and
(
"orderTicketsId"
).
is
(
ticketOrderId
.
getOrderTicketsId
())),
KylinOrderTicketEntitiesVo
.
class
,
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
())
+
payOrderParam
.
getNumber
();
//会员区间
if
(
memberType
==
1
||
memberType
==
2
)
{
if
(
performanceBuyCount
>=
performanceMemberLimit
&&
performanceMemberLimit
!=
0
)
{
lock
.
unlock
();
return
ResponseDto
.
failure
(
"该演出只能购买"
+
performanceMemberLimit
+
"张"
);
//超过演出维度购买量
}
if
(
ticketBuyCount
>=
ticketMemberLimit
&&
ticketMemberLimit
!=
0
)
{
lock
.
unlock
();
return
ResponseDto
.
failure
(
"该票种只能购买"
+
ticketMemberLimit
+
"张"
);
//超过票维度购买量
}
}
else
{
//非会员区间
if
(
performanceBuyCount
>=
performanceLimit
&&
performanceLimit
!=
0
)
{
lock
.
unlock
();
return
ResponseDto
.
failure
(
"该演出只能购买"
+
performanceLimit
+
"张"
);
//超过演出维度购买量
}
if
(
ticketBuyCount
>=
ticketLimit
&&
ticketLimit
!=
0
)
{
lock
.
unlock
();
return
ResponseDto
.
failure
(
"该票种只能购买"
+
ticketLimit
+
"张"
);
//超过票维度购买量
}
}
}
}
}
else
{
//已购买数量 数量
queryPerformance
.
fields
().
include
(
"number"
);
queryTicket
.
fields
().
include
(
"number"
);
List
<
KylinOrderTicketVo
>
performanceList
=
mongoTemplate
.
find
(
queryPerformance
,
KylinOrderTicketVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
List
<
KylinOrderTicketVo
>
ticketList
=
mongoTemplate
.
find
(
queryTicket
,
KylinOrderTicketVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
for
(
KylinOrderTicketVo
number
:
performanceList
)
{
performanceBuyCount
+=
number
.
getNumber
();
}
for
(
KylinOrderTicketVo
number
:
ticketList
)
{
ticketBuyCount
+=
number
.
getNumber
();
}
performanceBuyCount
+=
payOrderParam
.
getNumber
();
//演出下所有票种购买数量
ticketBuyCount
+=
payOrderParam
.
getNumber
();
// 单一票种购买数量
//会员区间
if
(
memberType
==
1
||
memberType
==
2
)
{
if
(
performanceBuyCount
>=
performanceMemberLimit
&&
performanceMemberLimit
!=
0
)
{
lock
.
unlock
();
return
ResponseDto
.
failure
(
"该演出只能购买"
+
performanceMemberLimit
+
"张"
);
//超过演出维度购买量
}
if
(
ticketBuyCount
>=
ticketMemberLimit
&&
ticketMemberLimit
!=
0
)
{
lock
.
unlock
();
lock
.
unlock
();
return
ResponseDto
.
failure
(
"该票种只能购买"
+
ticketMemberLimit
+
"张"
);
//超过票维度购买量
return
ResponseDto
.
failure
(
res1
);
//乱七八糟异常
}
}
}
else
{
//非会员区间
if
(
performanceBuyCount
>=
performanceLimit
&&
performanceLimit
!=
0
)
{
lock
.
unlock
();
return
ResponseDto
.
failure
(
"该演出只能购买"
+
performanceLimit
+
"张"
);
//超过演出维度购买量
}
}
if
(
ticketBuyCount
>=
ticketLimit
&&
ticketLimit
!=
0
)
{
}
else
{
String
res1
=
orderUtils
.
judgeOrderLimit
(
performanceData
.
getType
(),
uid
,
""
,
payOrderParam
.
getPerformanceId
(),
payOrderParam
.
getTicketId
(),
performanceLimit
,
performanceMemberLimit
,
ticketLimit
,
ticketMemberLimit
,
payOrderParam
.
getNumber
(),
payOrderParam
.
getNumber
(),
memberType
,
isTrueName
);
if
(!
res1
.
equals
(
""
)){
lock
.
unlock
();
lock
.
unlock
();
return
ResponseDto
.
failure
(
"该票种只能购买"
+
ticketLimit
+
"张"
);
//超过票维度购买量
return
ResponseDto
.
failure
(
res1
);
//乱七八糟异常
}
}
}
}
}
lock
.
unlock
();
lock
.
unlock
();
...
@@ -333,8 +287,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -333,8 +287,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
orderTickets
.
setOrderTicketsId
(
orderTicketId
);
orderTickets
.
setOrderTicketsId
(
orderTicketId
);
orderTickets
.
setUserId
(
uid
);
orderTickets
.
setUserId
(
uid
);
Map
token
=
CurrentUtil
.
getTokenClaims
();
Map
token
=
CurrentUtil
.
getTokenClaims
();
orderTickets
.
setUserName
(
StringUtils
.
defaultString
(((
String
)
token
.
get
(
"nickname"
)),
""
));
//
orderTickets.setUserName(StringUtils.defaultString(((String) token.get("nickname")), ""));
orderTickets
.
setUserMobile
(
StringUtils
.
defaultString
(((
String
)
token
.
get
(
"mobile"
)),
""
));
//
orderTickets.setUserMobile(StringUtils.defaultString(((String) token.get("mobile")), ""));
orderTickets
.
setPerformanceTitle
(
performanceData
.
getTitle
());
orderTickets
.
setPerformanceTitle
(
performanceData
.
getTitle
());
orderTickets
.
setOrderCode
(
IDGenerator
.
ticketOrderCode
(
orderTicketId
));
orderTickets
.
setOrderCode
(
IDGenerator
.
ticketOrderCode
(
orderTicketId
));
orderTickets
.
setPayCode
(
""
);
orderTickets
.
setPayCode
(
""
);
...
@@ -453,6 +407,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -453,6 +407,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
orderTicketEntitiesVo
.
setCreatedAt
(
orderTicketEntities
.
getCreatedAt
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
orderTicketEntitiesVo
.
setCreatedAt
(
orderTicketEntities
.
getCreatedAt
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
orderTicketEntitiesVo
.
setUpdatedAt
(
null
);
orderTicketEntitiesVo
.
setUpdatedAt
(
null
);
mongoTemplate
.
insert
(
orderTicketEntitiesVo
,
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
());
mongoTemplate
.
insert
(
orderTicketEntitiesVo
,
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
());
dataUtils
.
changeBuyInfo
(
orderTicketEntitiesVo
.
getUserId
(),
orderTicketEntitiesVo
.
getEnterIdCode
(),
orderTicketEntitiesVo
.
getPerformanceId
(),
orderTicketEntitiesVo
.
getTicketId
(),
1
);
}
}
}
else
{
}
else
{
for
(
int
i
=
0
;
i
<
payOrderParam
.
getNumber
();
i
++)
{
for
(
int
i
=
0
;
i
<
payOrderParam
.
getNumber
();
i
++)
{
...
@@ -488,6 +443,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -488,6 +443,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
orderTicketEntitiesVo
.
setCreatedAt
(
orderTicketEntities
.
getCreatedAt
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
orderTicketEntitiesVo
.
setCreatedAt
(
orderTicketEntities
.
getCreatedAt
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
orderTicketEntitiesVo
.
setUpdatedAt
(
null
);
orderTicketEntitiesVo
.
setUpdatedAt
(
null
);
mongoTemplate
.
insert
(
orderTicketEntitiesVo
,
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
());
mongoTemplate
.
insert
(
orderTicketEntitiesVo
,
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
());
dataUtils
.
changeBuyInfo
(
orderTicketEntitiesVo
.
getUserId
(),
orderTicketEntitiesVo
.
getEnterIdCode
(),
orderTicketEntitiesVo
.
getPerformanceId
(),
orderTicketEntitiesVo
.
getTicketId
(),
1
);
}
}
}
}
// 调用支付
// 调用支付
...
@@ -540,7 +496,6 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -540,7 +496,6 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
// 执行sql
// 执行sql
String
sqlData
=
SqlMapping
.
gets
(
sqls
,
sqlsDataA
,
sqlsDataB
,
sqlsDataC
,
sqlsDataD
);
String
sqlData
=
SqlMapping
.
gets
(
sqls
,
sqlsDataA
,
sqlsDataB
,
sqlsDataC
,
sqlsDataD
);
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL
,
MQConst
.
ROUTING_KEY_SQL
,
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL
,
MQConst
.
ROUTING_KEY_SQL
,
sqlData
);
sqlData
);
return
ResponseDto
.
success
(
payResultVo
);
return
ResponseDto
.
success
(
payResultVo
);
...
@@ -725,6 +680,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -725,6 +680,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
Query
.
query
(
Criteria
.
where
(
"orderId"
).
is
(
orderTickets
.
getOrderTicketsId
())).
getQueryObject
(),
Query
.
query
(
Criteria
.
where
(
"orderId"
).
is
(
orderTickets
.
getOrderTicketsId
())).
getQueryObject
(),
new
BasicDBObject
(
"$set"
,
mongoConverter
.
convertToMongoType
(
orderTicketEntitiesVo
))
new
BasicDBObject
(
"$set"
,
mongoConverter
.
convertToMongoType
(
orderTicketEntitiesVo
))
);
);
dataUtils
.
delOrderTicketRedis
(
orderTickets
.
getOrderTicketsId
());
dataUtils
.
delOrderTicketRedis
(
orderTickets
.
getOrderTicketsId
());
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL
,
MQConst
.
ROUTING_KEY_SQL
,
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL
,
MQConst
.
ROUTING_KEY_SQL
,
...
@@ -836,24 +792,13 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -836,24 +792,13 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
@Override
@Override
public
boolean
checkOrderTime
(
String
userId
)
{
public
boolean
checkOrderTime
(
String
userId
)
{
// Query query = new Query();
// query.addCriteria(Criteria.where("status").is(KylinTableStatusConst.ORDER_STATUS0).and("overdueAt").lte(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))));
// if (null != userId) {
// query.addCriteria(Criteria.where("userId").is(userId));
// }
// List<KylinOrderTicketVo> orderTicketVo = mongoTemplate.find(query,
// KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName());
// UpdateWrapper updateWrapper = new UpdateWrapper<KylinOrderTickets>();//.eq("userId",userId);
// updateWrapper.eq("userId",userId);
List
<
OrderScriptDto
>
dtoData
=
orderTicketsMapper
.
orderScriptDto
(
userId
);
List
<
OrderScriptDto
>
dtoData
=
orderTicketsMapper
.
orderScriptDto
(
userId
);
for
(
OrderScriptDto
item
:
dtoData
)
{
for
(
OrderScriptDto
item
:
dtoData
)
{
if
(!
RedisLockUtil
.
tryLock
(
"order_lock:"
+
item
.
getOrderCode
(),
30
,
240
))
{
if
(!
RedisLockUtil
.
tryLock
(
"order_lock:"
+
item
.
getOrderCode
(),
30
,
240
))
{
continue
;
continue
;
}
}
RLock
lock
=
redisLockUtil
.
lock
(
"order_lock:"
+
item
.
getOrderCode
(),
240
);
RLock
lock
=
redisLockUtil
.
lock
(
"order_lock:"
+
item
.
getOrderCode
(),
240
);
// KylinOrderTicketVo itemData = dataUtils.getOrderTicketVo(item.getOrderTicketsId());
if
(
item
.
getStatus
()
==
KylinTableStatusConst
.
ORDER_STATUS0
)
{
if
(
item
.
getStatus
()
==
KylinTableStatusConst
.
ORDER_STATUS0
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
LocalDateTime
now
=
LocalDateTime
.
now
();
try
{
try
{
...
@@ -877,7 +822,13 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -877,7 +822,13 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
);
);
dataUtils
.
delOrderTicketRedis
(
orderTickets
.
getOrderTicketsId
());
dataUtils
.
delOrderTicketRedis
(
orderTickets
.
getOrderTicketsId
());
dataUtils
.
changeSurplusGeneral
(
item
.
getTicketId
(),
item
.
getNumber
());
dataUtils
.
changeSurplusGeneral
(
item
.
getTicketId
(),
item
.
getNumber
());
mongoVoUtils
.
resetOrderListVo
(
item
.
getUserId
(),
2
,
item
.
getOrderTicketsId
());
mongoVoUtils
.
resetOrderListVo
(
item
.
getUserId
(),
2
,
item
.
getOrderTicketsId
());
List
<
KylinOrderTicketEntities
>
entities
=
entitiesMapper
.
selectList
(
new
UpdateWrapper
<
KylinOrderTicketEntities
>().
eq
(
"order_id"
,
item
.
getOrderTicketsId
()));
for
(
int
i
=
0
;
i
<
entities
.
size
();
i
++)
{
KylinOrderTicketEntities
items
=
entities
.
get
(
i
);
dataUtils
.
changeBuyInfo
(
items
.
getUserId
(),
items
.
getEnterIdCode
(),
items
.
getPerformanceId
(),
items
.
getTicketId
(),
1
);
}
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL
,
MQConst
.
ROUTING_KEY_SQL
,
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL
,
MQConst
.
ROUTING_KEY_SQL
,
SqlMapping
.
get
(
"kylin_order_ticket.close"
,
orderTickets
.
getCloseOrderObject
()));
SqlMapping
.
get
(
"kylin_order_ticket.close"
,
orderTickets
.
getCloseOrderObject
()));
...
@@ -925,8 +876,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -925,8 +876,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
try
{
try
{
KylinOrderTicketVo
orderData
=
dataUtils
.
getOrderTicketVo
(
orderId
);
KylinOrderTicketVo
orderData
=
dataUtils
.
getOrderTicketVo
(
orderId
);
KylinPerformanceVo
vo
=
dataUtils
.
getPerformanceVo
(
orderData
.
getPerformanceId
());
KylinPerformanceVo
vo
=
dataUtils
.
getPerformanceVo
(
orderData
.
getPerformanceId
());
TaobaoClient
client
=
taobaoTicketUtils
.
initTaobaoClient
();
int
isSysDamai
=
0
;
int
isSysDamai
=
0
;
for
(
int
x
=
0
;
x
<
vo
.
getTicketTimeList
().
size
();
x
++)
{
for
(
int
x
=
0
;
x
<
vo
.
getTicketTimeList
().
size
();
x
++)
{
KylinTicketTimesVo
timeItem
=
vo
.
getTicketTimeList
().
get
(
x
);
KylinTicketTimesVo
timeItem
=
vo
.
getTicketTimeList
().
get
(
x
);
for
(
int
y
=
0
;
y
<
timeItem
.
getTicketList
().
size
();
y
++)
{
for
(
int
y
=
0
;
y
<
timeItem
.
getTicketList
().
size
();
y
++)
{
...
@@ -938,7 +889,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -938,7 +889,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
}
}
}
}
if
(
isSysDamai
==
1
)
{
if
(
isSysDamai
==
1
)
{
List
<
KylinOrderTicketEntitiesVo
>
listData
=
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"orderId"
).
is
(
orderId
)),
KylinOrderTicketEntitiesVo
.
class
,
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
());
KylinOrderTicketVo
orderVo
=
dataUtils
.
getOrderTicketVo
(
orderId
);
List
<
KylinOrderTicketEntitiesVo
>
listData
=
orderVo
.
getEntitiesVoList
();
AlibabaDamaiMevOpenBatchpushticketRequest
req
=
new
AlibabaDamaiMevOpenBatchpushticketRequest
();
AlibabaDamaiMevOpenBatchpushticketRequest
req
=
new
AlibabaDamaiMevOpenBatchpushticketRequest
();
List
<
AlibabaDamaiMevOpenBatchpushticketRequest
.
ThirdTicketPushOpenParam
>
list2
=
new
ArrayList
<
AlibabaDamaiMevOpenBatchpushticketRequest
.
ThirdTicketPushOpenParam
>();
List
<
AlibabaDamaiMevOpenBatchpushticketRequest
.
ThirdTicketPushOpenParam
>
list2
=
new
ArrayList
<
AlibabaDamaiMevOpenBatchpushticketRequest
.
ThirdTicketPushOpenParam
>();
for
(
int
i
=
0
;
i
<
listData
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
listData
.
size
();
i
++)
{
...
@@ -961,6 +913,13 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -961,6 +913,13 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
obj3
.
setSeatType
(
1L
);
obj3
.
setSeatType
(
1L
);
obj3
.
setTicketType
(
1L
);
//票类型
obj3
.
setTicketType
(
1L
);
//票类型
}
}
req
.
setThirdTicketSetOpenParamList
(
list2
);
if
(
list2
.
size
()
==
0
)
{
return
true
;
}
else
{
AlibabaDamaiMevOpenBatchpushticketResponse
rsp
=
client
.
execute
(
req
);
return
rsp
.
getResult
().
getSuccess
();
}
}
}
return
true
;
return
true
;
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinPerformancesServiceImpl.java
View file @
5611e208
...
@@ -475,9 +475,9 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
...
@@ -475,9 +475,9 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
return
payDetailVo
;
return
payDetailVo
;
}
}
public
String
checkPerformanceTime
(){
public
String
checkPerformanceTime
(
String
performancesId
){
try
{
try
{
task
.
performanceVoStatus
(
null
);
task
.
performanceVoStatus
(
performancesId
);
return
"成功"
;
return
"成功"
;
}
catch
(
Exception
e
){
}
catch
(
Exception
e
){
e
.
printStackTrace
();
e
.
printStackTrace
();
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/partner/KylinPerformancesPartnerServiceImpl.java
View file @
5611e208
...
@@ -477,7 +477,6 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
...
@@ -477,7 +477,6 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
,
new
UpdateWrapper
<
KylinTicketStatus
>().
eq
(
"ticket_id"
,
ticketRelationsItem
.
getTicketId
()).
eq
(
"status"
,
7
));
,
new
UpdateWrapper
<
KylinTicketStatus
>().
eq
(
"ticket_id"
,
ticketRelationsItem
.
getTicketId
()).
eq
(
"status"
,
7
));
}
}
}
}
dataUtils
.
updatePerformanceMongo
(
performancesId
);
// 判断状态
// 判断状态
performanceVoTask
.
performanceVoStatus
(
performancesId
);
performanceVoTask
.
performanceVoStatus
(
performancesId
);
return
ResponseDto
.
success
(
"上线成功"
);
return
ResponseDto
.
success
(
"上线成功"
);
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/utils/DataUtils.java
View file @
5611e208
...
@@ -5,11 +5,12 @@ import com.liquidnet.common.cache.redis.util.RedisUtil;
...
@@ -5,11 +5,12 @@ import com.liquidnet.common.cache.redis.util.RedisUtil;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.service.kylin.dto.vo.*
;
import
com.liquidnet.service.kylin.dto.vo.*
;
import
com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo
;
import
com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo
;
import
com.liquidnet.service.kylin.dto.vo.mongo.*
;
import
com.liquidnet.service.kylin.dto.vo.mongo.*
;
import
com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo
;
import
com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo
;
import
com.liquidnet.service.kylin.entity.*
;
import
com.liquidnet.service.kylin.entity.*
;
import
com.liquidnet.service.kylin.mapper.KylinBuyNoticeMapper
;
import
com.liquidnet.service.kylin.mapper.KylinBuyNoticeMapper
;
import
io.lettuce.core.GeoArgs
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
...
@@ -17,6 +18,8 @@ import org.springframework.data.mongodb.core.query.Criteria;
...
@@ -17,6 +18,8 @@ import org.springframework.data.mongodb.core.query.Criteria;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
@Component
@Component
...
@@ -77,6 +80,20 @@ public class DataUtils {
...
@@ -77,6 +80,20 @@ public class DataUtils {
}
}
}
}
/**
* 判断 当前库存是否售罄
*
* @param ticketId 票id
* @return boolean
*/
public
boolean
ticketIsSoldOut
(
String
ticketId
)
{
if
(
0
>=
getSurplusGeneral
(
ticketId
))
{
return
true
;
}
else
{
return
false
;
}
}
/**
/**
* 初始化兑换库存
* 初始化兑换库存
*
*
...
@@ -127,7 +144,7 @@ public class DataUtils {
...
@@ -127,7 +144,7 @@ public class DataUtils {
return
(
KylinPerformanceVo
)
redisUtil
.
get
(
KylinRedisConst
.
PERFORMANCES
+
performanceId
);
return
(
KylinPerformanceVo
)
redisUtil
.
get
(
KylinRedisConst
.
PERFORMANCES
+
performanceId
);
}
}
public
void
setOrderTicketVo
(
String
userId
,
List
<
KylinOrderListVo
>
vo
)
{
public
void
setOrderTicketVo
(
String
userId
,
List
<
KylinOrderListVo
>
vo
)
{
redisUtil
.
set
(
KylinRedisConst
.
ORDER_LIST
+
userId
,
vo
);
redisUtil
.
set
(
KylinRedisConst
.
ORDER_LIST
+
userId
,
vo
);
}
}
...
@@ -170,6 +187,7 @@ public class DataUtils {
...
@@ -170,6 +187,7 @@ public class DataUtils {
/**
/**
* 获取bannerVo
* 获取bannerVo
*
* @param bannerId
* @param bannerId
* @return
* @return
*/
*/
...
@@ -304,4 +322,136 @@ public class DataUtils {
...
@@ -304,4 +322,136 @@ public class DataUtils {
System
.
out
.
println
(
"创建Vo异常"
);
System
.
out
.
println
(
"创建Vo异常"
);
}
}
}
}
/**
* @param performanceId 演出id
* @param ticketId 票种id
* @param buyCount 购买数量 大于 0 增加 小于 0 减少 对应 支付 退款表
*/
public
void
changeBuyInfo
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
buyCount
)
{
String
redisKey
;
KylinPerformanceVo
vo
=
getPerformanceVo
(
performanceId
);
int
isTrueName
=
vo
.
getIsTrueName
();
int
ticketType
=
0
;
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
();
ticketType
=
ticketItem
.
getType
();
}
}
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
);
if
(
1
==
ticketType
)
{
int
count
=
0
;
for
(
int
i
=
0
;
i
<
allTicketId
.
get
(
useTime
).
size
();
i
++)
{
String
item
=
allTicketId
.
get
(
useTime
).
get
(
i
);
if
(
allTicketId
.
get
(
useTime
).
size
()==
1
){
redisUtil
.
incr
(
performanceIdKey
,
buyCount
);
break
;
}
if
(
i
==
0
)
{
count
=
(
int
)
redisUtil
.
get
(
redisKey
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
item
);
}
else
{
if
(
count
!=
(
int
)
redisUtil
.
get
(
redisKey
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
item
)){
redisUtil
.
incr
(
performanceIdKey
,
buyCount
);
break
;
}
}
}
}
else
{
redisUtil
.
incr
(
performanceIdKey
,
buyCount
);
}
}
else
{
redisUtil
.
decr
(
ticketIdKey
,
Math
.
abs
(
buyCount
));
if
(
1
==
ticketType
)
{
int
count
=
0
;
for
(
int
i
=
0
;
i
<
allTicketId
.
get
(
useTime
).
size
();
i
++)
{
String
item
=
allTicketId
.
get
(
useTime
).
get
(
i
);
if
(
allTicketId
.
get
(
useTime
).
size
()==
1
){
redisUtil
.
decr
(
performanceIdKey
,
Math
.
abs
(
buyCount
));
break
;
}
if
(
i
==
0
)
{
count
=
(
int
)
redisUtil
.
get
(
redisKey
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
item
);
}
else
{
if
(
count
!=
(
int
)
redisUtil
.
get
(
redisKey
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
item
)){
redisUtil
.
decr
(
performanceIdKey
,
Math
.
abs
(
buyCount
));
break
;
}
}
}
}
else
{
redisUtil
.
decr
(
performanceIdKey
,
Math
.
abs
(
buyCount
));
}
}
}
// 获取 用户维度 演出购买数量
public
int
getUserPBuyCount
(
String
userId
,
String
performanceId
)
{
try
{
return
(
int
)
redisUtil
.
get
(
KylinRedisConst
.
USERID_BUY_INFO
+
userId
+
":"
+
KylinRedisConst
.
PERFORMANCE_ID
+
":"
+
performanceId
);
}
catch
(
Exception
e
)
{
return
0
;
}
}
// 获取 用户维度 票种购买数量
public
int
getUserTBuyCount
(
String
userId
,
String
ticketId
)
{
try
{
return
(
int
)
redisUtil
.
get
(
KylinRedisConst
.
USERID_BUY_INFO
+
userId
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
ticketId
);
}
catch
(
Exception
e
)
{
return
0
;
}
}
// 获取 证件维度 演出购买数量
public
int
getIdCardPBuyCount
(
String
idCard
,
String
performanceId
)
{
try
{
return
(
int
)
redisUtil
.
get
(
KylinRedisConst
.
USERID_BUY_INFO
+
idCard
+
":"
+
KylinRedisConst
.
PERFORMANCE_ID
+
":"
+
performanceId
);
}
catch
(
Exception
e
)
{
return
0
;
}
}
// 获取 证件维度 票种购买数量
public
int
getIdCardTBuyCount
(
String
idCard
,
String
ticketId
)
{
try
{
return
(
int
)
redisUtil
.
get
(
KylinRedisConst
.
USERID_BUY_INFO
+
idCard
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
ticketId
);
}
catch
(
Exception
e
)
{
return
0
;
}
}
// 获取 证件维度 票种适用时间
public
String
getIdCardTUseTime
(
String
idCard
,
String
ticketId
)
{
try
{
return
(
String
)
redisUtil
.
get
(
KylinRedisConst
.
USERID_BUY_INFO
+
idCard
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
ticketId
+
":"
+
KylinRedisConst
.
USE_TIME
);
}
catch
(
Exception
e
)
{
return
""
;
}
}
}
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/utils/OrderUtils.java
0 → 100644
View file @
5611e208
package
com
.
liquidnet
.
service
.
kylin
.
utils
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo
;
import
io.swagger.models.auth.In
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
@Component
public
class
OrderUtils
{
@Autowired
private
DataUtils
dataUtils
;
public
String
judgeOrderLimit
(
int
type
,
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
performanceLimitCount
,
int
performanceMemberLimitCount
,
int
ticketLimitCount
,
int
ticketMemberLimitCount
,
int
performanceBuyCount
,
int
ticketBuyCount
,
int
memberType
,
int
isTrueName
)
{
Integer
[]
integers
;
if
(
103
==
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
]);
}
public
Integer
[]
roadShowOrderLimit
(
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
);
}
return
new
Integer
[]{
performanceBuyCount
,
ticketBuyCount
};
}
public
Integer
[]
festivalOrderLimit
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
performanceBuyCount
,
int
ticketBuyCount
,
int
isTrueName
)
{
if
(
1
==
isTrueName
)
{
//实名
performanceBuyCount
+=
dataUtils
.
getUserPBuyCount
(
idCard
,
performanceId
);
ticketBuyCount
+=
dataUtils
.
getUserTBuyCount
(
idCard
,
ticketId
);
}
else
{
//非实名
performanceBuyCount
+=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCount
+=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
return
new
Integer
[]{
performanceBuyCount
,
ticketBuyCount
};
}
public
String
judgeMemberType
(
int
performanceLimitCount
,
int
performanceMemberLimitCount
,
int
ticketLimitCount
,
int
ticketMemberLimitCount
,
int
memberType
,
int
performanceBuyCount
,
int
ticketBuyCount
)
{
if
(
memberType
==
1
||
memberType
==
2
)
{
if
(
performanceBuyCount
>=
performanceMemberLimitCount
&&
performanceMemberLimitCount
!=
0
)
{
return
"该演出只能购买"
+
performanceMemberLimitCount
+
"张"
;
//超过演出维度购买量
}
if
(
ticketBuyCount
>=
ticketMemberLimitCount
&&
ticketMemberLimitCount
!=
0
)
{
return
"该票种只能购买"
+
ticketMemberLimitCount
+
"张"
;
//超过票维度购买量
}
}
else
{
//非会员区间
if
(
performanceBuyCount
>=
performanceLimitCount
&&
performanceLimitCount
!=
0
)
{
return
"该演出只能购买"
+
performanceLimitCount
+
"张"
;
//超过演出维度购买量
}
if
(
ticketBuyCount
>=
ticketLimitCount
&&
ticketLimitCount
!=
0
)
{
return
"该票种只能购买"
+
ticketLimitCount
+
"张"
;
//超过票维度购买量
}
}
return
""
;
}
}
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