记得上下班打卡 | 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
723e5916
Commit
723e5916
authored
May 21, 2025
by
wangyifan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
福袋补充需求-添加字段、健壮性校验
parent
4b2d0914
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
62 additions
and
34 deletions
+62
-34
KylinLuckyBagCodeDetailVo.java
...idnet/service/kylin/dto/vo/KylinLuckyBagCodeDetailVo.java
+2
-0
KylinLuckyBagServiceImpl.java
.../service/kylin/service/impl/KylinLuckyBagServiceImpl.java
+60
-34
No files found.
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/dto/vo/KylinLuckyBagCodeDetailVo.java
View file @
723e5916
...
@@ -76,6 +76,8 @@ public class KylinLuckyBagCodeDetailVo {
...
@@ -76,6 +76,8 @@ public class KylinLuckyBagCodeDetailVo {
private
String
ticketTitle
;
private
String
ticketTitle
;
@ApiModelProperty
(
value
=
"数量"
)
@ApiModelProperty
(
value
=
"数量"
)
private
Integer
number
;
private
Integer
number
;
@ApiModelProperty
(
value
=
"退款张数"
)
private
Integer
refundNumber
;
@ApiModelProperty
(
value
=
"订单生成时间"
)
@ApiModelProperty
(
value
=
"订单生成时间"
)
private
String
createdAt
;
private
String
createdAt
;
@ApiModelProperty
(
value
=
"适用时间"
)
@ApiModelProperty
(
value
=
"适用时间"
)
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinLuckyBagServiceImpl.java
View file @
723e5916
...
@@ -64,30 +64,37 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
...
@@ -64,30 +64,37 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
@Override
@Override
public
ResponseDto
<
KylinLuckyBagVo
>
getLuckyBagByOrderId
(
String
orderId
)
{
public
ResponseDto
<
KylinLuckyBagVo
>
getLuckyBagByOrderId
(
String
orderId
)
{
//1. 首先校验用户权限
//1. 首先校验用户权限
OrderDetailsVo
vo
=
orderTicketsService
.
orderDetails
(
orderId
);
// OrderDetailsVo vo = orderTicketsService.orderDetails(orderId);
String
uid
=
CurrentUtil
.
getCurrentUid
();
if
(
null
==
vo
)
{
final
KylinOrderTicketVo
orderTicketVo
=
dataUtils
.
getOrderTicketVo
(
orderId
);
final
String
uid
=
CurrentUtil
.
getCurrentUid
();
if
(
orderTicketVo
==
null
)
{
log
.
error
(
"[getLuckyBagByOrderId] 未查询到订单, orderId: {}, uid: {}."
,
orderId
,
uid
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20024"
));
}
if
(!
orderTicketVo
.
getUserId
().
equals
(
uid
))
{
log
.
error
(
"[getLuckyBagByOrderId] 无权查看该订单, orderId: {}, uid: {}."
,
orderId
,
uid
);
log
.
error
(
"[getLuckyBagByOrderId] 无权查看该订单, orderId: {}, uid: {}."
,
orderId
,
uid
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20003"
));
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20003"
));
}
}
log
.
info
(
"[getLuckyBagByOrderId] 获取福袋详情, orderId: {}, uid: {}."
,
orderId
,
uid
);
log
.
info
(
"[getLuckyBagByOrderId] 获取福袋详情, orderId: {}, uid: {}."
,
orderId
,
uid
);
// 判断订单状态
// 判断订单状态
if
(!
vo
.
getOrderTicketVo
().
getStatus
().
equals
(
1
)
||
!
vo
.
getOrderTicketVo
().
getPayStatus
().
equals
(
1
))
{
if
(
isEligibleForWelfare
(
orderTicketVo
))
{
log
.
info
(
"[getLuckyBagByOrderId] 该订单状态不满足权益要求, orderId: {}, uid: {}, status: {}, payStatus: {}."
,
orderId
,
// 2. 订单关联的演出ID
uid
,
vo
.
getOrderTicketVo
().
getStatus
(),
vo
.
getOrderTicketVo
().
getPayStatus
());
List
<
KylinLuckyBagVo
.
LuckyBagActivityVo
>
activityVos
=
getLuckyBagActivityVos
(
orderTicketVo
.
getPerformanceId
());
return
ResponseDto
.
success
(
KylinLuckyBagVo
.
ofEmpty
());
}
// 2. 订单关联的演出ID
List
<
KylinLuckyBagVo
.
LuckyBagActivityVo
>
activityVos
=
getLuckyBagActivityVos
(
vo
.
getOrderTicketVo
().
getPerformanceId
());
//3. 再查询满足的权益
//3. 再查询满足的权益
List
<
KylinLuckyBagVo
.
LuckyBagVo
>
luckyBagVos
=
getLuckyBagVos
(
v
o
);
List
<
KylinLuckyBagVo
.
LuckyBagVo
>
luckyBagVos
=
getLuckyBagVos
(
orderTicketV
o
);
if
(
activityVos
.
isEmpty
())
{
if
(
activityVos
.
isEmpty
())
{
return
ResponseDto
.
success
(
KylinLuckyBagVo
.
of
(
luckyBagVos
,
null
));
return
ResponseDto
.
success
(
KylinLuckyBagVo
.
of
(
luckyBagVos
,
null
));
}
else
{
}
else
{
return
ResponseDto
.
success
(
KylinLuckyBagVo
.
of
(
luckyBagVos
,
activityVos
.
get
(
0
)));
return
ResponseDto
.
success
(
KylinLuckyBagVo
.
of
(
luckyBagVos
,
activityVos
.
get
(
0
)));
}
}
else
{
log
.
info
(
"[getLuckyBagByOrderId] 该订单状态不满足权益要求, orderId: {}, uid: {}, status: {}, payStatus: {}."
,
orderId
,
uid
,
orderTicketVo
.
getStatus
(),
orderTicketVo
.
getPayStatus
());
return
ResponseDto
.
success
(
KylinLuckyBagVo
.
ofEmpty
());
}
}
}
}
...
@@ -250,6 +257,7 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
...
@@ -250,6 +257,7 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
orderInfo
.
setPerformanceTitle
(
orderTicketVo
.
getPerformanceTitle
());
orderInfo
.
setPerformanceTitle
(
orderTicketVo
.
getPerformanceTitle
());
orderInfo
.
setTicketTitle
(
orderTicketVo
.
getTicketTitle
());
orderInfo
.
setTicketTitle
(
orderTicketVo
.
getTicketTitle
());
orderInfo
.
setNumber
(
orderTicketVo
.
getNumber
());
orderInfo
.
setNumber
(
orderTicketVo
.
getNumber
());
orderInfo
.
setRefundNumber
(
orderTicketVo
.
getRefundNumber
());
orderInfo
.
setCreatedAt
(
orderTicketVo
.
getCreatedAt
());
orderInfo
.
setCreatedAt
(
orderTicketVo
.
getCreatedAt
());
orderInfo
.
setUseStart
(
orderTicketVo
.
getUseStart
());
orderInfo
.
setUseStart
(
orderTicketVo
.
getUseStart
());
return
orderInfo
;
return
orderInfo
;
...
@@ -277,13 +285,13 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
...
@@ -277,13 +285,13 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
/**
/**
* 获取福袋列表
* 获取福袋列表
*
*
* @param
v
o
* @param
orderTicketV
o
* @return
* @return
*/
*/
private
List
<
KylinLuckyBagVo
.
LuckyBagVo
>
getLuckyBagVos
(
OrderDetailsVo
v
o
)
{
private
List
<
KylinLuckyBagVo
.
LuckyBagVo
>
getLuckyBagVos
(
KylinOrderTicketVo
orderTicketV
o
)
{
final
String
performanceId
=
vo
.
getOrderTicketVo
()
.
getPerformanceId
();
final
String
performanceId
=
orderTicketVo
.
getPerformanceId
();
final
String
orderId
=
vo
.
getOrderTicketVo
()
.
getOrderTicketsId
();
final
String
orderId
=
orderTicketVo
.
getOrderTicketsId
();
final
String
uid
=
vo
.
getOrderTicketVo
()
.
getUserId
();
final
String
uid
=
orderTicketVo
.
getUserId
();
List
<
KylinLuckyBag
>
luckyBagList
=
dataUtils
.
getKylinLuckyBagList
();
List
<
KylinLuckyBag
>
luckyBagList
=
dataUtils
.
getKylinLuckyBagList
();
...
@@ -316,7 +324,7 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
...
@@ -316,7 +324,7 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
if
(
kylinRewardUserList
.
isEmpty
())
{
if
(
kylinRewardUserList
.
isEmpty
())
{
// 根据购买数量来分配兑换码
// 根据购买数量来分配兑换码
log
.
info
(
"[getLuckyBagVos] 福袋[{}]已到发放时间,但未给用户分配兑换码, uid: {}, orderId: {}."
,
l
.
getName
(),
uid
,
orderId
);
log
.
info
(
"[getLuckyBagVos] 福袋[{}]已到发放时间,但未给用户分配兑换码, uid: {}, orderId: {}."
,
l
.
getName
(),
uid
,
orderId
);
kylinRewardUserList
=
getRandomRewardCode
(
v
o
,
l
.
getLuckyBagId
());
kylinRewardUserList
=
getRandomRewardCode
(
orderTicketV
o
,
l
.
getLuckyBagId
());
}
}
List
<
KylinLuckyBagVo
.
RewardCodeVo
>
codeVoList
=
kylinRewardUserList
.
stream
().
map
(
k
->
{
List
<
KylinLuckyBagVo
.
RewardCodeVo
>
codeVoList
=
kylinRewardUserList
.
stream
().
map
(
k
->
{
KylinLuckyBagVo
.
RewardCodeVo
rewardCodeVo
=
new
KylinLuckyBagVo
.
RewardCodeVo
();
KylinLuckyBagVo
.
RewardCodeVo
rewardCodeVo
=
new
KylinLuckyBagVo
.
RewardCodeVo
();
...
@@ -340,22 +348,17 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
...
@@ -340,22 +348,17 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
return
activityVos
;
return
activityVos
;
}
}
/**
/**
* 分配兑换码
* 分配兑换码
*
*
* @param vo
* @param orderTicketVo
* @return
*/
/**
* 分配兑换码
*
* @param vo
* @return
* @return
*/
*/
private
List
<
KylinRewardUser
>
getRandomRewardCode
(
OrderDetailsVo
v
o
,
String
luckyBagId
)
{
private
List
<
KylinRewardUser
>
getRandomRewardCode
(
KylinOrderTicketVo
orderTicketV
o
,
String
luckyBagId
)
{
final
int
limitTotal
=
vo
.
getOrderTicketVo
().
get
Number
();
final
int
limitTotal
=
orderTicketVo
.
getNumber
()
-
orderTicketVo
.
getRefund
Number
();
if
(
limitTotal
<=
0
)
{
if
(
limitTotal
<=
0
)
{
log
.
error
(
"[getRandomRewardCode] 用户订单购买数量错误, orderId: {}."
,
vo
.
getOrderTicketVo
()
.
getOrderTicketsId
());
log
.
error
(
"[getRandomRewardCode] 用户订单购买数量错误, orderId: {}."
,
orderTicketVo
.
getOrderTicketsId
());
return
Collections
.
emptyList
();
return
Collections
.
emptyList
();
}
}
...
@@ -382,7 +385,6 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
...
@@ -382,7 +385,6 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
}
}
//3. 写入
//3. 写入
final
KylinOrderTicketVo
orderTicketVo
=
vo
.
getOrderTicketVo
();
List
<
KylinRewardUser
>
rewardUsers
=
new
ArrayList
<>(
limitTotal
);
List
<
KylinRewardUser
>
rewardUsers
=
new
ArrayList
<>(
limitTotal
);
try
{
try
{
...
@@ -477,4 +479,28 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
...
@@ -477,4 +479,28 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
KylinLuckyBagScope
kylinLuckyBagScope
=
kylinLuckyBagScopeMapper
.
selectOne
(
queryWrapper
);
KylinLuckyBagScope
kylinLuckyBagScope
=
kylinLuckyBagScopeMapper
.
selectOne
(
queryWrapper
);
return
kylinLuckyBagScope
!=
null
;
return
kylinLuckyBagScope
!=
null
;
}
}
/**
* 判断是否满足发放福利条件
*
* @param orderTicketVo 订单票务信息对象
* @return 是否满足条件
*/
private
boolean
isEligibleForWelfare
(
KylinOrderTicketVo
orderTicketVo
)
{
if
(
orderTicketVo
==
null
)
{
log
.
info
(
"[isEligibleForWelfare] 订单信息为空."
);
return
false
;
}
Integer
status
=
orderTicketVo
.
getStatus
();
Integer
payStatus
=
orderTicketVo
.
getPayStatus
();
Integer
number
=
orderTicketVo
.
getNumber
();
Integer
refundNumber
=
orderTicketVo
.
getRefundNumber
();
log
.
info
(
"[isEligibleForWelfare] 订单信息, status: {}, payStatus: {}, number: {}, refundNumber: {}."
,
status
,
payStatus
,
number
,
refundNumber
);
return
(
status
!=
null
&&
(
status
.
equals
(
1
)
||
status
.
equals
(
6
)))
&&
(
payStatus
!=
null
&&
payStatus
.
equals
(
1
))
&&
(
number
!=
null
&&
refundNumber
!=
null
&&
(
number
-
refundNumber
)
>
0
);
}
}
}
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