记得上下班打卡 | 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
b48c2bb2
Commit
b48c2bb2
authored
Jun 21, 2021
by
胡佳晨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
订单 锁 添加
parent
beaf5ec6
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
93 additions
and
74 deletions
+93
-74
KylinOrderTicketsServiceImpl.java
...vice/kylin/service/impl/KylinOrderTicketsServiceImpl.java
+62
-69
OrderUtils.java
...in/java/com/liquidnet/service/kylin/utils/OrderUtils.java
+31
-5
No files found.
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinOrderTicketsServiceImpl.java
View file @
b48c2bb2
...
...
@@ -101,13 +101,9 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
@Autowired
private
RabbitTemplate
rabbitTemplate
;
@Autowired
private
FeignAdamBaseClient
feignAdamBaseClient
;
@Autowired
private
TaobaoTicketUtils
taobaoTicketUtils
;
@Autowired
private
KylinOrderTicketsMapper
orderTicketsMapper
;
@Autowired
private
KylinOrderTicketEntitiesMapper
entitiesMapper
;
ArrayList
<
Integer
>
canBuyStatus
=
new
ArrayList
()
{{
add
(
6
);
...
...
@@ -123,9 +119,9 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
boolean
isDownGeneral
=
false
;
String
uid
=
CurrentUtil
.
getCurrentUid
();
String
lock
=
"userId:"
+
uid
;
// if (!redisLockUtil.tryLock(lock, 2, 2
)) {
//
return ResponseDto.failure("请求频繁");//参数错误
//
}
if
(!
redisLockUtil
.
tryLock
(
lock
,
1
,
5
))
{
return
ResponseDto
.
failure
(
"请求频繁"
);
//参数错误
}
try
{
currentTime
=
System
.
currentTimeMillis
();
KylinPerformanceVo
performanceData
=
dataUtils
.
getPerformanceVo
(
payOrderParam
.
getPerformanceId
());
...
...
@@ -149,20 +145,20 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
}
if
(
performanceData
==
null
||
ticketTimesData
==
null
||
ticketData
==
null
)
{
//
redisLockUtil.unlock(lock);
redisLockUtil
.
unlock
(
lock
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20004"
));
//参数错误
}
if
(!
ticketData
.
getTimeId
().
equals
(
payOrderParam
.
getTimeId
())
||
!
ticketTimesData
.
getPerformanceId
().
equals
(
payOrderParam
.
getPerformanceId
()))
{
//
redisLockUtil.unlock(lock);
redisLockUtil
.
unlock
(
lock
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20004"
));
//参数错误
}
if
(
payOrderParam
.
getNumber
()
%
ticketData
.
getCounts
()
!=
0
)
{
//
redisLockUtil.unlock(lock);
redisLockUtil
.
unlock
(
lock
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20007"
));
//数量错误
}
//判断代理
if
(!
checkAgent
(
payOrderParam
.
getAgentId
(),
ticketData
))
{
//
redisLockUtil.unlock(lock);
redisLockUtil
.
unlock
(
lock
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20008"
));
//无权购买
}
...
...
@@ -173,15 +169,14 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
String
timeEnd
=
ticketData
.
getTimeEnd
();
// 购票停售时间
String
timeExpressEnd
=
ticketData
.
getTimeEndExpress
();
// 快递停售时间
currentTime
=
System
.
currentTimeMillis
();
boolean
isMember
=
feignAdamBaseClient
.
isMember
(
uid
).
getData
();
//获取是否是会员
boolean
isMember
=
orderUtils
.
isMember
(
uid
);
//
feignAdamBaseClient.isMember(uid).getData();//获取是否是会员
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"fegin 会员 -> time:"
+
(
currentTime
)
+
"毫秒"
);
// boolean isMember = true;
int
memberType
;
//会员状态 不需要判断会员 1判断会员逻辑 2会员专属
if
(
ticketData
.
getIsExclusive
()
==
1
)
{
memberType
=
2
;
if
(!
isMember
)
{
//
redisLockUtil.unlock(lock);
redisLockUtil
.
unlock
(
lock
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20009"
));
//没有会员权限
}
}
else
{
...
...
@@ -189,7 +184,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
// 会员购买逻辑
memberType
=
1
;
if
(!
isMember
)
{
//
redisLockUtil.unlock(lock);
redisLockUtil
.
unlock
(
lock
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20009"
));
//没有会员权限
}
}
else
{
...
...
@@ -216,38 +211,38 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
//通用判断时间
if
(
isMember
)
{
if
(
DateUtil
.
compareStrDay
(
DateUtil
.
getNowTime
(),
memberTimeStart
)
==
-
1
)
{
//
redisLockUtil.unlock(lock);
redisLockUtil
.
unlock
(
lock
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20011"
));
//未开始
}
}
else
{
if
(
DateUtil
.
compareStrDay
(
DateUtil
.
getNowTime
(),
timeStart
)
==
-
1
)
{
//
redisLockUtil.unlock(lock);
redisLockUtil
.
unlock
(
lock
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20011"
));
//未开始
}
}
if
(
DateUtil
.
compareStrDay
(
DateUtil
.
getNowTime
(),
timeEnd
)
==
1
)
{
//
redisLockUtil.unlock(lock);
redisLockUtil
.
unlock
(
lock
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20012"
));
//已结束
}
//快递票判断
if
(
payOrderParam
.
getIsExpress
()
!=
null
)
{
if
(
payOrderParam
.
getIsExpress
()
==
1
&&
DateUtil
.
compareStrDay
(
DateUtil
.
getNowTime
(),
timeExpressEnd
)
==
1
)
{
//
redisLockUtil.unlock(lock);
redisLockUtil
.
unlock
(
lock
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20013"
));
//快递票不卖
}
if
(
payOrderParam
.
getIsExpress
()
==
1
&&
payOrderParam
.
getAddressId
().
isEmpty
())
{
//
redisLockUtil.unlock(lock);
redisLockUtil
.
unlock
(
lock
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20014"
));
//快递票未填写收货地址
}
}
//实名判断
if
(
isTrueName
==
1
&&
payOrderParam
.
getEnterIdList
().
size
()
<=
0
)
{
//
redisLockUtil.unlock(lock);
redisLockUtil
.
unlock
(
lock
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20015"
));
//需要实名 未实名
}
if
(
isTrueName
==
1
&&
payOrderParam
.
getEnterIdList
().
size
()
!=
payOrderParam
.
getNumber
())
{
//
redisLockUtil.unlock(lock);
redisLockUtil
.
unlock
(
lock
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20015"
));
//入场人数量错误
}
...
...
@@ -270,7 +265,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
dataUtils
.
changeSurplusGeneral
(
payOrderParam
.
getTicketId
(),
payOrderParam
.
getNumber
());
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"redis 修改库存 售罄 -> time:"
+
(
currentTime
)
+
"毫秒"
);
//
redisLockUtil.unlock(lock);
redisLockUtil
.
unlock
(
lock
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20016"
));
//没抢到
}
else
{
isDownGeneral
=
true
;
...
...
@@ -280,12 +275,12 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
if
(
isTrueName
==
1
)
{
currentTime
=
System
.
currentTimeMillis
();
for
(
String
enterId
:
payOrderParam
.
getEnterIdList
())
{
AdamEntersVo
adamEnters
=
feignAdamBaseClient
.
queryEnters
(
enterId
,
uid
).
getData
();
AdamEntersVo
adamEnters
=
orderUtils
.
getEnters
(
uid
,
enterId
);
//
feignAdamBaseClient.queryEnters(enterId, uid).getData();
entersVoList
.
add
(
adamEnters
);
if
(
isStudent
==
1
)
{
int
age
=
IDCard
.
getAgeByIdCard
(
adamEnters
.
getIdCard
());
if
(
age
>
25
)
{
//
redisLockUtil.unlock(lock);
redisLockUtil
.
unlock
(
lock
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20017"
));
//年龄超了
}
}
...
...
@@ -307,7 +302,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
String
res1
=
orderUtils
.
judgeOrderLimit
(
performanceData
.
getType
(),
uid
,
entersVoList
.
get
(
i
).
getIdCard
(),
payOrderParam
.
getPerformanceId
(),
payOrderParam
.
getTicketId
(),
performanceLimit
,
performanceMemberLimit
,
ticketLimit
,
ticketMemberLimit
,
1
,
1
,
memberType
,
isTrueName
);
log
.
debug
(
"redis 判断库存 -> time:"
+
(
currentTime
)
+
"毫秒"
);
if
(!
res1
.
equals
(
""
))
{
//
redisLockUtil.unlock(lock);
redisLockUtil
.
unlock
(
lock
);
return
ResponseDto
.
failure
(
res1
);
//乱七八糟异常
}
}
...
...
@@ -319,14 +314,14 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
String
res1
=
orderUtils
.
judgeOrderLimit
(
performanceData
.
getType
(),
uid
,
""
,
payOrderParam
.
getPerformanceId
(),
payOrderParam
.
getTicketId
(),
performanceLimit
,
performanceMemberLimit
,
ticketLimit
,
ticketMemberLimit
,
payOrderParam
.
getNumber
(),
payOrderParam
.
getNumber
(),
memberType
,
isTrueName
);
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
if
(!
res1
.
equals
(
""
))
{
//
redisLockUtil.unlock(lock);
redisLockUtil
.
unlock
(
lock
);
return
ResponseDto
.
failure
(
res1
);
//乱七八糟异常
}
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
}
//
redisLockUtil.unlock(lock);
redisLockUtil
.
unlock
(
lock
);
return
order
(
payOrderParam
,
uid
,
isMember
,
isTrueName
,
performanceData
,
ticketData
,
entersVoList
,
isStudent
,
ticketTimesData
,
currentTime
);
}
}
catch
(
Exception
e
)
{
...
...
@@ -338,7 +333,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
}
e
.
printStackTrace
();
log
.
error
(
"Kylin Order Pay Error = "
+
e
.
getMessage
());
//
redisLockUtil.unlock(lock);
redisLockUtil
.
unlock
(
lock
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20018"
));
//乱七八糟异常
}
}
...
...
@@ -357,8 +352,6 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
Map
token
=
CurrentUtil
.
getTokenClaims
();
orderTickets
.
setUserName
(
StringUtils
.
defaultString
(((
String
)
token
.
get
(
"nickname"
)),
""
));
orderTickets
.
setUserMobile
(
StringUtils
.
defaultString
(((
String
)
token
.
get
(
"mobile"
)),
""
));
// orderTickets.setUserName("");
// orderTickets.setUserMobile("");
orderTickets
.
setPerformanceTitle
(
performanceData
.
getTitle
());
orderTickets
.
setOrderCode
(
IDGenerator
.
ticketOrderCode
(
orderTicketId
));
orderTickets
.
setPayCode
(
""
);
...
...
@@ -389,7 +382,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
orderTickets
.
setTimePay
(
null
);
if
(
payOrderParam
.
getIsExpress
()
==
1
)
{
currentTime
=
System
.
currentTimeMillis
();
AdamAddressesVo
addressesVo
=
feignAdamBaseClient
.
queryAddresses
(
payOrderParam
.
getAddressId
(),
uid
).
getData
();
AdamAddressesVo
addressesVo
=
orderUtils
.
getAddress
(
uid
,
payOrderParam
.
getAddressId
());
//
feignAdamBaseClient.queryAddresses(payOrderParam.getAddressId(), uid).getData();
orderTickets
.
setExpressContacts
(
addressesVo
.
getName
());
orderTickets
.
setExpressAddress
(
addressesVo
.
getAddress
());
orderTickets
.
setExpressPhone
(
addressesVo
.
getPhone
());
...
...
@@ -564,43 +557,43 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
httpData
.
add
(
"return_url"
,
payOrderParam
.
getReturnUrl
()
+
orderTicketId
);
}
//
currentTime = System.currentTimeMillis();
//
String returnData = HttpUtil.post(payUrl + payOrderParam.getDeviceFrom() + "/" + payOrderParam.getPayType(), httpData);
//
currentTime = System.currentTimeMillis() - currentTime;
//
log.debug("调用 PHP 支付 -> time:" + (currentTime) + "毫秒");
//
PayResultVo payResultVo = JsonUtils.fromJson(returnData, PayResultVo.class);
PayResultVo
payResultVo
=
null
;
try
{
payResultVo
=
JsonUtils
.
fromJson
(
"{\n"
+
" \"code\": \"20210618130049218267704668657P\",\n"
+
" \"order_code\": \"T7774750254320448484\",\n"
+
" \"status\": null,\n"
+
" \"order_id\": \"77747502543208448\",\n"
+
" \"showUrl\": \"http://devm.zhengzai.tv/#/ticket/purchase/detail?id=5936241&type=purchase&performance_id=5936241&ticket_id=10981&amount=1&products_array=&amount_array=&express=077747502543208448\",\n"
+
" \"returnUrl\": \"http://devm.zhengzai.tv/#/order/status?order_type=ticket&order_id=77747502543208448\",\n"
+
" \"price\": 0.01,\n"
+
" \"pay_data\": {\n"
+
" \"packages\": null,\n"
+
" \"partnerid\": null,\n"
+
" \"prepayid\": null,\n"
+
" \"sign\": null,\n"
+
" \"mweb_url\": null,\n"
+
" \"paySign\": null,\n"
+
" \"signType\": null,\n"
+
" \"redirect_url\": \"https://openapi.alipay.com/gateway.do?alipay_sdk=lokielse%2Fomnipay-alipay&app_id=2019082866535131&biz_content=%7B%22product_code%22%3A%22QUICK_WAP_PAY%22%2C%22total_amount%22%3A%220.01%22%2C%22subject%22%3A%2206%5Cu670830%5Cu65e5%5Cu5355%5Cu65e5%5Cu7968%5Cu80e1%5Cu5927%5Cu7f8e%5Cu5e76%5Cu53d1%5Cu4e0b%5Cu5355%22%2C%22body%22%3A%22%5Cu80e1%5Cu5927%5Cu7f8e%5Cu5e76%5Cu53d1%5Cu4e0b%5Cu5355%5Cu5355%5Cu65e5%5Cu796806%5Cu670830%5Cu65e5%22%2C%22out_trade_no%22%3A%2220210618130049218267704668657P%22%2C%22time_expire%22%3A%222021-06-18+13%3A06%22%2C%22quit_url%22%3A%22http%3A%5C%2F%5C%2Fdevm.zhengzai.tv%5C%2F%23%5C%2Fticket%5C%2Fpurchase%5C%2Fdetail%3Fid%3D5936241%26amp%3Btype%3Dpurchase%26amp%3Bperformance_id%3D5936241%26amp%3Bticket_id%3D10981%26amp%3Bamount%3D1%26amp%3Bproducts_array%3D%26amp%3Bamount_array%3D%26amp%3Bexpress%3D077747502543208448%22%7D&charset=utf-8&format=JSON&method=alipay.trade.wap.pay¬ify_url=http%3A%2F%2Ftestpay.zhengzai.tv%2Fnotify%2Fwap%2Falipay%2F1&return_url=http%3A%2F%2Fdevm.zhengzai.tv%2F%23%2Forder%2Fstatus%3Forder_type%3Dticket%26amp%3Border_id%3D77747502543208448&sign_type=RSA2×tamp=2021-06-18+13%3A00%3A49&version=1.0&sign=UaHmNdI1cXjjSkR4gwrnELSWXqb1Icg1uCOe0vEo5yHCqWOy4JZCZbjCR1xOHQKowSMBAr6U2XLtMAaNXr6mX%2B%2F5IiaChsD4IPoODNT7F4GckVcqP3GkdLZTro%2FGmBau6VoYw1uVpyutQTJsjEU1fQ%2F5KDAKLvg0XG%2F1D%2BXb%2Bv6LdLDvehCEPzy4W%2BCT0qPANU4ysgZkt9hP1ljH61%2FBWiDnfz%2BOdust4KBoJYQzNWO3XSwvc17OxdGHn8EBmYRJz6sr1nt0i2h4BGQtjrOHRB3dToVkxrlsHtbrOmiCdRFH6utSVA8UjeKtlEB%2FH%2BkQfVxPkpOicTjkokhDNK6svg%3D%3D\",\n"
+
" \"order_str\": null,\n"
+
" \"appId\": null,\n"
+
" \"appid\": null,\n"
+
" \"nonceStr\": null,\n"
+
" \"noncestr\": null,\n"
+
" \"timeStamp\": null,\n"
+
" \"timestamp\": null,\n"
+
" \"package\": null\n"
+
" }\n"
+
" }"
,
PayResultVo
.
class
);
}
catch
(
Exception
e
)
{
payResultVo
=
new
PayResultVo
();
}
currentTime
=
System
.
currentTimeMillis
();
String
returnData
=
HttpUtil
.
post
(
payUrl
+
payOrderParam
.
getDeviceFrom
()
+
"/"
+
payOrderParam
.
getPayType
(),
httpData
);
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"调用 PHP 支付 -> time:"
+
(
currentTime
)
+
"毫秒"
);
PayResultVo
payResultVo
=
JsonUtils
.
fromJson
(
returnData
,
PayResultVo
.
class
);
//
PayResultVo payResultVo = null;
//
try {
//
payResultVo = JsonUtils.fromJson("{\n" +
//
" \"code\": \"20210618130049218267704668657P\",\n" +
//
" \"order_code\": \"T7774750254320448484\",\n" +
//
" \"status\": null,\n" +
//
" \"order_id\": \"77747502543208448\",\n" +
//
" \"showUrl\": \"http://devm.zhengzai.tv/#/ticket/purchase/detail?id=5936241&type=purchase&performance_id=5936241&ticket_id=10981&amount=1&products_array=&amount_array=&express=077747502543208448\",\n" +
//
" \"returnUrl\": \"http://devm.zhengzai.tv/#/order/status?order_type=ticket&order_id=77747502543208448\",\n" +
//
" \"price\": 0.01,\n" +
//
" \"pay_data\": {\n" +
//
" \"packages\": null,\n" +
//
" \"partnerid\": null,\n" +
//
" \"prepayid\": null,\n" +
//
" \"sign\": null,\n" +
//
" \"mweb_url\": null,\n" +
//
" \"paySign\": null,\n" +
//
" \"signType\": null,\n" +
//
" \"redirect_url\": \"https://openapi.alipay.com/gateway.do?alipay_sdk=lokielse%2Fomnipay-alipay&app_id=2019082866535131&biz_content=%7B%22product_code%22%3A%22QUICK_WAP_PAY%22%2C%22total_amount%22%3A%220.01%22%2C%22subject%22%3A%2206%5Cu670830%5Cu65e5%5Cu5355%5Cu65e5%5Cu7968%5Cu80e1%5Cu5927%5Cu7f8e%5Cu5e76%5Cu53d1%5Cu4e0b%5Cu5355%22%2C%22body%22%3A%22%5Cu80e1%5Cu5927%5Cu7f8e%5Cu5e76%5Cu53d1%5Cu4e0b%5Cu5355%5Cu5355%5Cu65e5%5Cu796806%5Cu670830%5Cu65e5%22%2C%22out_trade_no%22%3A%2220210618130049218267704668657P%22%2C%22time_expire%22%3A%222021-06-18+13%3A06%22%2C%22quit_url%22%3A%22http%3A%5C%2F%5C%2Fdevm.zhengzai.tv%5C%2F%23%5C%2Fticket%5C%2Fpurchase%5C%2Fdetail%3Fid%3D5936241%26amp%3Btype%3Dpurchase%26amp%3Bperformance_id%3D5936241%26amp%3Bticket_id%3D10981%26amp%3Bamount%3D1%26amp%3Bproducts_array%3D%26amp%3Bamount_array%3D%26amp%3Bexpress%3D077747502543208448%22%7D&charset=utf-8&format=JSON&method=alipay.trade.wap.pay¬ify_url=http%3A%2F%2Ftestpay.zhengzai.tv%2Fnotify%2Fwap%2Falipay%2F1&return_url=http%3A%2F%2Fdevm.zhengzai.tv%2F%23%2Forder%2Fstatus%3Forder_type%3Dticket%26amp%3Border_id%3D77747502543208448&sign_type=RSA2×tamp=2021-06-18+13%3A00%3A49&version=1.0&sign=UaHmNdI1cXjjSkR4gwrnELSWXqb1Icg1uCOe0vEo5yHCqWOy4JZCZbjCR1xOHQKowSMBAr6U2XLtMAaNXr6mX%2B%2F5IiaChsD4IPoODNT7F4GckVcqP3GkdLZTro%2FGmBau6VoYw1uVpyutQTJsjEU1fQ%2F5KDAKLvg0XG%2F1D%2BXb%2Bv6LdLDvehCEPzy4W%2BCT0qPANU4ysgZkt9hP1ljH61%2FBWiDnfz%2BOdust4KBoJYQzNWO3XSwvc17OxdGHn8EBmYRJz6sr1nt0i2h4BGQtjrOHRB3dToVkxrlsHtbrOmiCdRFH6utSVA8UjeKtlEB%2FH%2BkQfVxPkpOicTjkokhDNK6svg%3D%3D\",\n" +
//
" \"order_str\": null,\n" +
//
" \"appId\": null,\n" +
//
" \"appid\": null,\n" +
//
" \"nonceStr\": null,\n" +
//
" \"noncestr\": null,\n" +
//
" \"timeStamp\": null,\n" +
//
" \"timestamp\": null,\n" +
//
" \"package\": null\n" +
//
" }\n" +
//
" }", PayResultVo.class);
//
} catch (Exception e) {
//
payResultVo = new PayResultVo();
//
}
payResultVo
.
setOrder_id
(
orderTicketId
);
payResultVo
.
setPrice
(
orderTickets
.
getPriceActual
());
orderTickets
.
setPayCode
(
payResultVo
.
getCode
());
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/utils/OrderUtils.java
View file @
b48c2bb2
package
com
.
liquidnet
.
service
.
kylin
.
utils
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.dto.vo.AdamAddressesVo
;
import
com.liquidnet.service.adam.dto.vo.AdamEntersVo
;
import
com.liquidnet.service.adam.dto.vo.AdamUserMemberVo
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo
;
import
io.swagger.models.auth.In
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -8,12 +14,15 @@ import org.springframework.data.mongodb.core.query.Query;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.List
;
@Component
public
class
OrderUtils
{
@Autowired
private
DataUtils
dataUtils
;
@Autowired
private
RedisUtil
redisUtil
;
public
String
judgeOrderLimit
(
int
type
,
...
...
@@ -32,11 +41,11 @@ public class OrderUtils {
)
{
Integer
[]
integers
;
if
(
103
==
type
)
{
integers
=
roadShowOrderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
performanceBuyCount
,
ticketBuyCount
,
isTrueName
);
integers
=
roadShowOrderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
performanceBuyCount
,
ticketBuyCount
,
isTrueName
);
}
else
{
integers
=
festivalOrderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
performanceBuyCount
,
ticketBuyCount
,
isTrueName
);
integers
=
festivalOrderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
performanceBuyCount
,
ticketBuyCount
,
isTrueName
);
}
return
judgeMemberType
(
performanceLimitCount
,
performanceMemberLimitCount
,
ticketLimitCount
,
ticketMemberLimitCount
,
memberType
,
integers
[
0
],
integers
[
1
]);
return
judgeMemberType
(
performanceLimitCount
,
performanceMemberLimitCount
,
ticketLimitCount
,
ticketMemberLimitCount
,
memberType
,
integers
[
0
],
integers
[
1
]);
}
public
Integer
[]
roadShowOrderLimit
(
...
...
@@ -55,7 +64,7 @@ public class OrderUtils {
performanceBuyCount
+=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCount
+=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
return
new
Integer
[]{
performanceBuyCount
,
ticketBuyCount
};
return
new
Integer
[]{
performanceBuyCount
,
ticketBuyCount
};
}
public
Integer
[]
festivalOrderLimit
(
...
...
@@ -75,7 +84,7 @@ public class OrderUtils {
ticketBuyCount
+=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
return
new
Integer
[]{
performanceBuyCount
,
ticketBuyCount
};
return
new
Integer
[]{
performanceBuyCount
,
ticketBuyCount
};
}
public
String
judgeMemberType
(
int
performanceLimitCount
,
int
performanceMemberLimitCount
,
int
ticketLimitCount
,
int
ticketMemberLimitCount
,
int
memberType
,
int
performanceBuyCount
,
int
ticketBuyCount
)
{
...
...
@@ -97,4 +106,21 @@ public class OrderUtils {
return
""
;
}
public
boolean
isMember
(
String
uid
)
{
String
rk
=
AdamRedisConst
.
INFO_USER_MEMBER
.
concat
(
uid
);
AdamUserMemberVo
vo
=
(
AdamUserMemberVo
)
redisUtil
.
get
(
rk
);
return
null
!=
vo
&&
vo
.
isActive
();
}
public
AdamAddressesVo
getAddress
(
String
uid
,
String
addressesId
)
{
String
rk
=
AdamRedisConst
.
INFO_ADDRESSES
.
concat
(
uid
);
List
<
AdamAddressesVo
>
vos
=
(
List
<
AdamAddressesVo
>)
redisUtil
.
get
(
rk
);
return
vos
.
stream
().
filter
(
r
->
r
.
getAddressesId
().
equals
(
addressesId
)).
findAny
().
orElse
(
null
);
}
public
AdamEntersVo
getEnters
(
String
uid
,
String
entersId
)
{
String
rk
=
AdamRedisConst
.
INFO_ENTERS
.
concat
(
uid
);
List
<
AdamEntersVo
>
vos
=
(
List
<
AdamEntersVo
>)
redisUtil
.
get
(
rk
);
return
vos
.
stream
().
filter
(
r
->
r
.
getEntersId
().
equals
(
entersId
)).
findAny
().
orElse
(
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