记得上下班打卡 | 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
209a4d17
Commit
209a4d17
authored
Oct 13, 2021
by
jiangxiulong
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/new_member' into new_member
parents
4c5827e8
5cd9c7ae
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
50 additions
and
9 deletions
+50
-9
PlatformMemberRefundService.java
...atform/service/impl/adam/PlatformMemberRefundService.java
+50
-9
No files found.
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/impl/adam/PlatformMemberRefundService.java
View file @
209a4d17
...
...
@@ -13,6 +13,10 @@ import com.liquidnet.service.adam.entity.AdamUserMember;
import
com.liquidnet.service.adam.mapper.AdamMemberOrderMapper
;
import
com.liquidnet.service.adam.mapper.AdamMemberRefundMapper
;
import
com.liquidnet.service.adam.mapper.AdamUserMemberMapper
;
import
com.liquidnet.service.candy.constant.CandyRedisConst
;
import
com.liquidnet.service.candy.dto.CandyUserCouponBasicDto
;
import
com.liquidnet.service.candy.entity.CandyUserCoupon
;
import
com.liquidnet.service.candy.mapper.CandyUserCouponMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -21,6 +25,8 @@ import javax.servlet.http.HttpServletRequest;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.IntStream
;
@Slf4j
...
...
@@ -30,6 +36,8 @@ public class PlatformMemberRefundService extends ServiceImpl<AdamMemberRefundMap
private
AdamMemberOrderMapper
adamMemberOrderMapper
;
@Autowired
private
AdamUserMemberMapper
adamUserMemberMapper
;
@Autowired
private
CandyUserCouponMapper
candyUserCouponMapper
;
@Autowired
private
RedisUtil
redisUtil
;
...
...
@@ -87,8 +95,10 @@ public class PlatformMemberRefundService extends ServiceImpl<AdamMemberRefundMap
private
void
refundSuccProcessing
(
String
orderNo
,
LocalDateTime
now
)
{
AdamMemberOrder
memberOrder
=
adamMemberOrderMapper
.
selectOne
(
Wrappers
.
lambdaUpdate
(
AdamMemberOrder
.
class
).
eq
(
AdamMemberOrder:
:
getOrderNo
,
orderNo
));
LocalDateTime
newExpiryAt
=
null
;
List
<
String
>
removeUcouponIdList
=
null
;
{
// 同步用户端信息
// 同步更新REDIS会员订单信息
String
moKey
=
AdamRedisConst
.
INFO_MEMBER_ORDER
+
memberOrder
.
getUid
();
ArrayList
<
AdamMemberOrderVo
>
vos
=
(
ArrayList
<
AdamMemberOrderVo
>)
redisUtil
.
get
(
moKey
);
int
idx
=
IntStream
.
range
(
0
,
vos
.
size
()).
filter
(
i
->
vos
.
get
(
i
).
getOrderNo
().
equals
(
memberOrder
.
getOrderNo
())).
findFirst
().
orElse
(-
1
);
...
...
@@ -102,8 +112,14 @@ public class PlatformMemberRefundService extends ServiceImpl<AdamMemberRefundMap
String
umKey
=
AdamRedisConst
.
INFO_USER_MEMBER
.
concat
(
memberOrder
.
getUid
());
AdamUserMemberVo
userMemberVo
=
(
AdamUserMemberVo
)
redisUtil
.
get
(
umKey
);
// 用户会员权益券信息
String
uckey
=
CandyRedisConst
.
BASIC_USER_COUPON
.
concat
(
memberOrder
.
getUid
());
List
<
CandyUserCouponBasicDto
>
userCouponBasicDtoList
=
(
List
<
CandyUserCouponBasicDto
>)
redisUtil
.
get
(
uckey
);
// 同步更新REDIS会员信息
if
(
userMemberVo
.
getState
()
==
1
)
{
// 非拉黑用户,则更新到期时间为减去订单标记的会员有效期的日期
newExpiryAt
=
userMemberVo
.
getExpiryAt
().
minusDays
(
memberOrder
.
getDays
());
LocalDateTime
expiryAt
=
userMemberVo
.
getExpiryAt
();
newExpiryAt
=
expiryAt
.
minusDays
(
memberOrder
.
getDays
());
LocalDate
nowDate
=
now
.
toLocalDate
();
LocalDate
newExpiryDate
=
newExpiryAt
.
toLocalDate
();
...
...
@@ -117,20 +133,45 @@ public class PlatformMemberRefundService extends ServiceImpl<AdamMemberRefundMap
syncVo
=
redisUtil
.
set
(
umKey
,
userMemberVo
);
log
.
info
(
"###会员退款回调处理成功:更新REDIS会员信息{}[orderNo:{},uid:{}]"
,
syncVo
?
"成功"
:
"失败"
,
orderNo
,
memberOrder
.
getUid
());
AdamUserMember
updateInfoUserMember
=
new
AdamUserMember
();
updateInfoUserMember
.
setExpiryAt
(
newExpiryAt
);
updateInfoUserMember
.
setUpdatedAt
(
now
);
updateInfoUserMember
.
setComment
(
"R"
);
int
updateRst
=
adamUserMemberMapper
.
update
(
updateInfoUserMember
,
Wrappers
.
lambdaUpdate
(
AdamUserMember
.
class
).
eq
(
AdamUserMember:
:
getUid
,
memberOrder
.
getUid
()));
log
.
info
(
"###会员退款回调处理成功:更新DB会员信息{}[orderNo:{},uid:{}]"
,
updateRst
<=
0
?
"失败"
:
"成功"
,
orderNo
,
memberOrder
.
getUid
());
removeUcouponIdList
=
userCouponBasicDtoList
.
stream
()
.
filter
(
r
->
(
r
.
getExclusive
()
==
1
&&
r
.
getDuedAt
().
compareTo
(
expiryAt
)
==
0
))
.
map
(
CandyUserCouponBasicDto:
:
getUcouponId
)
.
collect
(
Collectors
.
toList
());
}
else
if
(
userMemberVo
.
getState
()
==
2
)
{
// 拉黑用户
removeUcouponIdList
=
userCouponBasicDtoList
.
stream
()
.
filter
(
r
->
(
r
.
getExclusive
()
==
1
))
.
map
(
CandyUserCouponBasicDto:
:
getUcouponId
)
.
collect
(
Collectors
.
toList
());
}
// 同步删除REDIS用户会员权益券信息
List
<
String
>
finalRemoveUcouponIdList
=
removeUcouponIdList
;
userCouponBasicDtoList
.
removeIf
(
r
->
finalRemoveUcouponIdList
.
contains
(
r
.
getUcouponId
()));
redisUtil
.
set
(
uckey
,
userCouponBasicDtoList
);
}
// 同步更新MYSQL用户会员权益券信息
LambdaUpdateWrapper
<
CandyUserCoupon
>
candyUserCouponLambdaUpdateWrapper
=
Wrappers
.
lambdaUpdate
(
CandyUserCoupon
.
class
);
candyUserCouponLambdaUpdateWrapper
.
in
(
CandyUserCoupon:
:
getUcouponId
,
removeUcouponIdList
.
toArray
()).
eq
(
CandyUserCoupon:
:
getState
,
1
);
CandyUserCoupon
updateInfoUserCoupon
=
new
CandyUserCoupon
();
updateInfoUserCoupon
.
setState
(
2
);
updateInfoUserCoupon
.
setUpdatedAt
(
now
);
updateInfoUserCoupon
.
setOperator
(
"system.vip.refund"
);
int
updateRst
=
candyUserCouponMapper
.
update
(
updateInfoUserCoupon
,
candyUserCouponLambdaUpdateWrapper
);
log
.
info
(
"###会员退款回调处理成功:更新DB会员权益券信息{}[orderNo:{},uid:{}]"
,
updateRst
<=
0
?
"失败"
:
"成功"
,
orderNo
,
memberOrder
.
getUid
());
// 同步更新MYSQL会员信息
AdamUserMember
updateInfoUserMember
=
new
AdamUserMember
();
updateInfoUserMember
.
setExpiryAt
(
newExpiryAt
);
updateInfoUserMember
.
setUpdatedAt
(
now
);
updateInfoUserMember
.
setComment
(
"R"
);
updateRst
=
adamUserMemberMapper
.
update
(
updateInfoUserMember
,
Wrappers
.
lambdaUpdate
(
AdamUserMember
.
class
).
eq
(
AdamUserMember:
:
getUid
,
memberOrder
.
getUid
()));
log
.
info
(
"###会员退款回调处理成功:更新DB会员信息{}[orderNo:{},uid:{}]"
,
updateRst
<=
0
?
"失败"
:
"成功"
,
orderNo
,
memberOrder
.
getUid
());
// 同步更新MYSQL会员订单信息
AdamMemberOrder
updateInfoMemberOrder
=
new
AdamMemberOrder
();
updateInfoMemberOrder
.
setMid
(
memberOrder
.
getMid
());
updateInfoMemberOrder
.
setState
(
5
);
updateInfoMemberOrder
.
setUpdatedAt
(
now
);
int
updateRst
=
adamMemberOrderMapper
.
updateById
(
updateInfoMemberOrder
);
updateRst
=
adamMemberOrderMapper
.
updateById
(
updateInfoMemberOrder
);
log
.
info
(
"###会员退款回调处理成功:更新DB订单信息{}[orderNo:{}]"
,
updateRst
<=
0
?
"失败"
:
"成功"
,
orderNo
);
}
}
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