记得上下班打卡 | 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
1053ad7e
Commit
1053ad7e
authored
Feb 28, 2022
by
张国柄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
~admin:会员管理:会员订单:退款逻辑调整;
parent
ef02988e
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
81 additions
and
69 deletions
+81
-69
AdamMemberOrderAdminServiceImpl.java
...ai/adam/service/impl/AdamMemberOrderAdminServiceImpl.java
+81
-69
No files found.
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/adam/service/impl/AdamMemberOrderAdminServiceImpl.java
View file @
1053ad7e
...
@@ -129,90 +129,102 @@ public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrder
...
@@ -129,90 +129,102 @@ public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrder
@Override
@Override
@Transactional
@Transactional
public
AjaxResult
refundProcessing
(
AdamMemberOrderRefundParam
param
,
AdamMemberOrder
memberOrder
)
{
public
AjaxResult
refundProcessing
(
AdamMemberOrderRefundParam
param
,
AdamMemberOrder
memberOrder
)
{
LinkedMultiValueMap
<
String
,
String
>
linkedMultiValueMap
=
new
LinkedMultiValueMap
<>();
String
refundNo
,
price
,
reason
;
AdamMemberRefund
existsRefund
=
adamMemberRefundMapper
.
selectOne
(
Wrappers
.
lambdaQuery
(
AdamMemberRefund
.
class
)
String
refundNo
=
IDGenerator
.
nextTimeId2
().
concat
(
"VR"
);
.
eq
(
AdamMemberRefund:
:
getOrderNo
,
memberOrder
.
getOrderNo
()).
eq
(
AdamMemberRefund:
:
getRefundState
,
9
));
if
(
null
==
existsRefund
)
{
refundNo
=
IDGenerator
.
nextTimeId2
().
concat
(
"VR"
);
price
=
String
.
valueOf
(
param
.
getRefundAmt
());
reason
=
param
.
getReason
();
{
// 修改订单状态,同步REDIS
LocalDateTime
now
=
LocalDateTime
.
now
();
AdamMemberRefund
memberRefund
=
new
AdamMemberRefund
();
memberRefund
.
setRefundNo
(
refundNo
);
memberRefund
.
setOrderNo
(
memberOrder
.
getOrderNo
());
memberRefund
.
setRefundPrice
(
param
.
getRefundAmt
());
memberRefund
.
setRefundReason
(
param
.
getReason
());
memberRefund
.
setRenewable
(
param
.
getRenewable
());
memberRefund
.
setRefundState
(
9
);
memberRefund
.
setRefundNo
(
refundNo
);
memberRefund
.
setOperator
(
ShiroUtils
.
getLoginName
());
memberRefund
.
setCreatedAt
(
now
);
adamMemberRefundMapper
.
insert
(
memberRefund
);
AdamMemberOrder
updateInfoMemberOrder
=
new
AdamMemberOrder
();
updateInfoMemberOrder
.
setMid
(
memberOrder
.
getMid
());
updateInfoMemberOrder
.
setState
(
4
);
updateInfoMemberOrder
.
setUpdatedAt
(
now
);
updateInfoMemberOrder
.
setComment
(
"R"
);
adamMemberOrderMapper
.
updateById
(
updateInfoMemberOrder
);
String
moKey
=
AdamRedisConst
.
INFO_MEMBER_ORDER
+
memberOrder
.
getUid
();
ArrayList
<
AdamMemberOrderVo
>
vos
=
(
ArrayList
<
AdamMemberOrderVo
>)
redisDataSourceUtil
.
getRedisAdamUtil
().
get
(
moKey
);
int
idx
=
IntStream
.
range
(
0
,
vos
.
size
())
.
filter
(
i
->
vos
.
get
(
i
).
getOrderNo
().
equals
(
memberOrder
.
getOrderNo
()))
.
findFirst
().
orElse
(-
1
);
AdamMemberOrderVo
vo
=
vos
.
get
(
idx
);
vo
.
setState
(
4
);
vo
.
setUpdatedAt
(
now
);
vos
.
set
(
idx
,
vo
);
redisDataSourceUtil
.
getRedisAdamUtil
().
set
(
moKey
,
vos
);
if
(
memberRefund
.
getRenewable
()
==
2
)
{
// 拉黑用户,直接更新用户会员状态信息
AdamUserMember
updateUserMember
=
new
AdamUserMember
();
updateUserMember
.
setState
(
2
);
updateUserMember
.
setExpiryAt
(
now
);
updateUserMember
.
setUpdatedAt
(
now
);
updateUserMember
.
setComment
(
"R"
);
LambdaUpdateWrapper
<
AdamUserMember
>
userMemberLambdaUpdateWrapper
=
Wrappers
.
lambdaUpdate
(
AdamUserMember
.
class
);
userMemberLambdaUpdateWrapper
.
eq
(
AdamUserMember:
:
getUid
,
memberOrder
.
getUid
());
adamUserMemberMapper
.
update
(
updateUserMember
,
userMemberLambdaUpdateWrapper
);
String
umkey
=
AdamRedisConst
.
INFO_USER_MEMBER
+
memberOrder
.
getUid
();
AdamUserMemberVo
userMemberVo
=
(
AdamUserMemberVo
)
redisDataSourceUtil
.
getRedisAdamUtil
().
get
(
umkey
);
userMemberVo
.
setState
(
2
);
userMemberVo
.
setExpiryAt
(
now
);
userMemberVo
.
setUpdatedAt
(
now
);
redisDataSourceUtil
.
getRedisAdamUtil
().
set
(
umkey
,
userMemberVo
);
List
<
String
>
uidBlackList
=
(
List
<
String
>)
redisDataSourceUtil
.
getRedisAdamUtil
().
get
(
AdamRedisConst
.
BLK_LIST_MEMBER_UID
);
if
(
CollectionUtils
.
isEmpty
(
uidBlackList
))
{
uidBlackList
=
CollectionUtil
.
arrayListString
();
}
uidBlackList
.
add
(
memberOrder
.
getUid
());
redisDataSourceUtil
.
getRedisAdamUtil
().
set
(
AdamRedisConst
.
BLK_LIST_MEMBER_UID
,
uidBlackList
);
}
}
}
else
{
log
.
warn
(
"会员管理:会员订单:退款:该订单正在退款中[AdamMemberOrderRefundParam={}]"
,
JsonUtils
.
toJson
(
param
));
refundNo
=
existsRefund
.
getRefundNo
();
price
=
String
.
valueOf
(
existsRefund
.
getRefundPrice
());
reason
=
existsRefund
.
getRefundReason
();
}
LinkedMultiValueMap
<
String
,
String
>
linkedMultiValueMap
=
new
LinkedMultiValueMap
<>();
linkedMultiValueMap
.
add
(
"code"
,
memberOrder
.
getPayNo
());
linkedMultiValueMap
.
add
(
"code"
,
memberOrder
.
getPayNo
());
linkedMultiValueMap
.
add
(
"notifyUrl"
,
notifyUrl
);
linkedMultiValueMap
.
add
(
"notifyUrl"
,
notifyUrl
);
linkedMultiValueMap
.
add
(
"orderCode"
,
memberOrder
.
getOrderNo
());
linkedMultiValueMap
.
add
(
"orderCode"
,
memberOrder
.
getOrderNo
());
linkedMultiValueMap
.
add
(
"orderRefundCode"
,
refundNo
);
linkedMultiValueMap
.
add
(
"orderRefundCode"
,
refundNo
);
linkedMultiValueMap
.
add
(
"paymentId"
,
memberOrder
.
getPaymentId
());
linkedMultiValueMap
.
add
(
"paymentId"
,
memberOrder
.
getPaymentId
());
linkedMultiValueMap
.
add
(
"paymentType"
,
(
memberOrder
.
getDeviceFrom
()
+
memberOrder
.
getPayType
()).
toUpperCase
());
linkedMultiValueMap
.
add
(
"paymentType"
,
(
memberOrder
.
getDeviceFrom
()
+
memberOrder
.
getPayType
()).
toUpperCase
());
linkedMultiValueMap
.
add
(
"price"
,
String
.
valueOf
(
param
.
getRefundAmt
())
);
linkedMultiValueMap
.
add
(
"price"
,
price
);
linkedMultiValueMap
.
add
(
"priceTotal"
,
String
.
valueOf
(
memberOrder
.
getPricePaid
()));
linkedMultiValueMap
.
add
(
"priceTotal"
,
String
.
valueOf
(
memberOrder
.
getPricePaid
()));
linkedMultiValueMap
.
add
(
"reason"
,
param
.
getReason
()
);
linkedMultiValueMap
.
add
(
"reason"
,
reason
);
log
.
info
(
"会员退款:支付中心请求参数:{}"
,
linkedMultiValueMap
);
log
.
info
(
"会员
管理:会员订单:
退款:支付中心请求参数:{}"
,
linkedMultiValueMap
);
String
postResult
=
HttpUtil
.
post
(
applyUrl
,
linkedMultiValueMap
);
String
postResult
=
HttpUtil
.
post
(
applyUrl
,
linkedMultiValueMap
);
log
.
info
(
"会员退款:支付中心返回数据:{}"
,
postResult
);
log
.
info
(
"会员
管理:会员订单:
退款:支付中心返回数据:{}"
,
postResult
);
JsonNode
postResultJNode
=
JsonUtils
.
fromJson
(
postResult
,
JsonNode
.
class
);
JsonNode
postResultJNode
=
JsonUtils
.
fromJson
(
postResult
,
JsonNode
.
class
);
if
(!
postResultJNode
.
get
(
"success"
).
asBoolean
())
{
if
(!
postResultJNode
.
get
(
"success"
).
asBoolean
())
{
return
AjaxResult
.
warn
(
"会员退款请求支付中心失败"
);
return
AjaxResult
.
warn
(
"会员退款请求支付中心失败"
);
}
}
// 退款请求成功,修改订单状态,同步REDIS
LocalDateTime
now
=
LocalDateTime
.
now
();
AdamMemberRefund
memberRefund
=
new
AdamMemberRefund
();
memberRefund
.
setRefundNo
(
refundNo
);
memberRefund
.
setOrderNo
(
memberOrder
.
getOrderNo
());
memberRefund
.
setRefundPrice
(
param
.
getRefundAmt
());
memberRefund
.
setRefundReason
(
param
.
getReason
());
memberRefund
.
setRenewable
(
param
.
getRenewable
());
memberRefund
.
setRefundState
(
9
);
memberRefund
.
setRefundNo
(
refundNo
);
memberRefund
.
setOperator
(
ShiroUtils
.
getLoginName
());
memberRefund
.
setCreatedAt
(
now
);
adamMemberRefundMapper
.
insert
(
memberRefund
);
AdamMemberOrder
updateInfoMemberOrder
=
new
AdamMemberOrder
();
updateInfoMemberOrder
.
setMid
(
memberOrder
.
getMid
());
updateInfoMemberOrder
.
setState
(
4
);
updateInfoMemberOrder
.
setUpdatedAt
(
now
);
updateInfoMemberOrder
.
setComment
(
"R"
);
adamMemberOrderMapper
.
updateById
(
updateInfoMemberOrder
);
String
moKey
=
AdamRedisConst
.
INFO_MEMBER_ORDER
+
memberOrder
.
getUid
();
ArrayList
<
AdamMemberOrderVo
>
vos
=
(
ArrayList
<
AdamMemberOrderVo
>)
redisDataSourceUtil
.
getRedisAdamUtil
().
get
(
moKey
);
int
idx
=
IntStream
.
range
(
0
,
vos
.
size
())
.
filter
(
i
->
vos
.
get
(
i
).
getOrderNo
().
equals
(
memberOrder
.
getOrderNo
()))
.
findFirst
().
orElse
(-
1
);
AdamMemberOrderVo
vo
=
vos
.
get
(
idx
);
vo
.
setState
(
4
);
vo
.
setUpdatedAt
(
now
);
vos
.
set
(
idx
,
vo
);
redisDataSourceUtil
.
getRedisAdamUtil
().
set
(
moKey
,
vos
);
if
(
memberRefund
.
getRenewable
()
==
2
)
{
// 拉黑用户,直接更新用户会员状态信息
AdamUserMember
updateUserMember
=
new
AdamUserMember
();
updateUserMember
.
setState
(
2
);
updateUserMember
.
setExpiryAt
(
now
);
updateUserMember
.
setUpdatedAt
(
now
);
updateUserMember
.
setComment
(
"R"
);
LambdaUpdateWrapper
<
AdamUserMember
>
userMemberLambdaUpdateWrapper
=
Wrappers
.
lambdaUpdate
(
AdamUserMember
.
class
);
userMemberLambdaUpdateWrapper
.
eq
(
AdamUserMember:
:
getUid
,
memberOrder
.
getUid
());
adamUserMemberMapper
.
update
(
updateUserMember
,
userMemberLambdaUpdateWrapper
);
String
umkey
=
AdamRedisConst
.
INFO_USER_MEMBER
+
memberOrder
.
getUid
();
AdamUserMemberVo
userMemberVo
=
(
AdamUserMemberVo
)
redisDataSourceUtil
.
getRedisAdamUtil
().
get
(
umkey
);
userMemberVo
.
setState
(
2
);
userMemberVo
.
setExpiryAt
(
now
);
userMemberVo
.
setUpdatedAt
(
now
);
redisDataSourceUtil
.
getRedisAdamUtil
().
set
(
umkey
,
userMemberVo
);
List
<
String
>
uidBlackList
=
(
List
<
String
>)
redisDataSourceUtil
.
getRedisAdamUtil
().
get
(
AdamRedisConst
.
BLK_LIST_MEMBER_UID
);
if
(
CollectionUtils
.
isEmpty
(
uidBlackList
))
{
uidBlackList
=
CollectionUtil
.
arrayListString
();
}
uidBlackList
.
add
(
memberOrder
.
getUid
());
redisDataSourceUtil
.
getRedisAdamUtil
().
set
(
AdamRedisConst
.
BLK_LIST_MEMBER_UID
,
uidBlackList
);
}
return
AjaxResult
.
success
();
return
AjaxResult
.
success
();
}
}
...
...
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