记得上下班打卡 | 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
02c05e7a
Commit
02c05e7a
authored
Mar 02, 2022
by
张国柄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
~API:用户注销:+券数据处理;
~API:用户注销:会员退款兼容处理;
parent
db85b59e
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
99 additions
and
68 deletions
+99
-68
AdamMemberOrderAdminServiceImpl.java
...ai/adam/service/impl/AdamMemberOrderAdminServiceImpl.java
+29
-21
AdamUserServiceImpl.java
...uidnet/service/adam/service/impl/AdamUserServiceImpl.java
+13
-3
sqlmap.properties
...et-service-adam-impl/src/main/resources/sqlmap.properties
+7
-0
PlatformMemberRefundService.java
...atform/service/impl/adam/PlatformMemberRefundService.java
+50
-44
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 @
02c05e7a
...
...
@@ -148,7 +148,6 @@ public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrder
memberRefund
.
setRefundReason
(
param
.
getReason
());
memberRefund
.
setRenewable
(
param
.
getRenewable
());
memberRefund
.
setRefundState
(
9
);
memberRefund
.
setRefundNo
(
refundNo
);
memberRefund
.
setOperator
(
ShiroUtils
.
getLoginName
());
memberRefund
.
setCreatedAt
(
now
);
...
...
@@ -163,14 +162,16 @@ public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrder
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
(!
CollectionUtils
.
isEmpty
(
vos
))
{
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
();
...
...
@@ -185,19 +186,19 @@ public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrder
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
();
if
(
null
!=
userMemberVo
)
{
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
);
}
uidBlackList
.
add
(
memberOrder
.
getUid
());
redisDataSourceUtil
.
getRedisAdamUtil
().
set
(
AdamRedisConst
.
BLK_LIST_MEMBER_UID
,
uidBlackList
);
}
}
}
else
{
...
...
@@ -228,6 +229,13 @@ public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrder
if
(!
postResultJNode
.
get
(
"success"
).
asBoolean
())
{
return
AjaxResult
.
warn
(
"会员退款请求支付中心失败"
);
}
JsonNode
dataNode
=
postResultJNode
.
get
(
"data"
);
if
(
null
!=
dataNode
&&
null
!=
dataNode
.
get
(
"refundCode"
)
&&
(
null
==
existsRefund
||
null
==
existsRefund
.
getRepayNo
()))
{
AdamMemberRefund
updateMemberRefund
=
new
AdamMemberRefund
();
updateMemberRefund
.
setRepayNo
(
dataNode
.
get
(
"refundCode"
).
asText
());
adamMemberRefundMapper
.
update
(
updateMemberRefund
,
Wrappers
.
lambdaUpdate
(
AdamMemberRefund
.
class
).
eq
(
AdamMemberRefund:
:
getRefundNo
,
refundNo
));
}
return
AjaxResult
.
success
();
}
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamUserServiceImpl.java
View file @
02c05e7a
...
...
@@ -395,10 +395,20 @@ public class AdamUserServiceImpl implements IAdamUserService {
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_user_mobile_locate.close"
));
objsMobileLocate
.
add
(
new
Object
[]{
now
,
uid
});
/* ---------------------- 用户平台券信息 */
toMqSqls
.
add
(
SqlMapping
.
get
(
"candy_user_coupon.close"
));
LinkedList
<
Object
[]>
objsCandyUserCoupon
=
CollectionUtil
.
linkedListObjectArr
();
objsCandyUserCoupon
.
add
(
new
Object
[]{
uid
});
/* ---------------------- 用户商城券信息 */
toMqSqls
.
add
(
SqlMapping
.
get
(
"goblin_user_coupon.close"
));
LinkedList
<
Object
[]>
objsGoblinUserCoupon
=
CollectionUtil
.
linkedListObjectArr
();
objsGoblinUserCoupon
.
add
(
new
Object
[]{
uid
});
s
=
System
.
currentTimeMillis
();
queueUtils
.
sendMsgByRedis
(
MQConst
.
AdamQueue
.
SQL_UCENTER
.
getKey
()
,
SqlMapping
.
gets
(
toMqSqls
,
objsUser
,
objsThirdPart
,
objsUserMember
,
objsRealInfo
,
objsAddresses
,
objsEnters
,
objsMobileLocate
)
queueUtils
.
sendMsgByRedis
(
MQConst
.
AdamQueue
.
SQL_UCENTER
.
getKey
(),
SqlMapping
.
gets
(
toMqSqls
,
objsUser
,
objsThirdPart
,
objsUserMember
,
objsRealInfo
,
objsAddresses
,
objsEnters
,
objsMobileLocate
,
objsCandyUserCoupon
,
objsGoblinUserCoupon
)
);
log
.
debug
(
"#MQ耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
}
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/resources/sqlmap.properties
View file @
02c05e7a
...
...
@@ -79,4 +79,11 @@ adam_user_mobile_locate.close=UPDATE adam_user_mobile_locate SET `state`=2, upda
# ----------------------------------------------------
# ----------------------------------------------------
# ----------------------------------------------------
candy_user_coupon.close
=
UPDATE candy_user_coupon SET state=2,updated_at=sysdate(),operator='close' WHERE uid=? AND state=1
goblin_user_coupon.close
=
UPDATE goblin_user_coupon SET state=2,updated_at=sysdate(),operator='close' WHERE uid=? AND state=1
#
----------------------------------------------------
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/impl/adam/PlatformMemberRefundService.java
View file @
02c05e7a
...
...
@@ -7,6 +7,7 @@ import com.liquidnet.common.cache.redis.util.AbstractRedisUtil;
import
com.liquidnet.common.cache.redis.util.RedisDataSourceUtil
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.dto.vo.AdamMemberOrderVo
;
import
com.liquidnet.service.adam.dto.vo.AdamUserInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamUserMemberVo
;
import
com.liquidnet.service.adam.entity.AdamMemberOrder
;
import
com.liquidnet.service.adam.entity.AdamMemberRefund
;
...
...
@@ -101,8 +102,9 @@ public class PlatformMemberRefundService extends ServiceImpl<AdamMemberRefundMap
private
void
refundSuccProcessing
(
String
orderNo
,
LocalDateTime
now
,
String
refundAmt
)
{
AdamMemberOrder
memberOrder
=
adamMemberOrderMapper
.
selectOne
(
Wrappers
.
lambdaUpdate
(
AdamMemberOrder
.
class
).
eq
(
AdamMemberOrder:
:
getOrderNo
,
orderNo
));
LocalDateTime
newExpiryAt
=
null
;
List
<
String
>
removeUcouponIdList
=
null
;
LocalDateTime
newExpiryAt
=
null
;
boolean
syncVo
=
false
;
AbstractRedisUtil
redisAdamUtil
=
redisDataSourceUtil
.
getRedisAdamUtil
();
AbstractRedisUtil
redisCandyUtil
=
redisDataSourceUtil
.
getRedisCandyUtil
();
...
...
@@ -111,13 +113,15 @@ public class PlatformMemberRefundService extends ServiceImpl<AdamMemberRefundMap
// 同步更新REDIS会员订单信息
String
moKey
=
AdamRedisConst
.
INFO_MEMBER_ORDER
+
memberOrder
.
getUid
();
ArrayList
<
AdamMemberOrderVo
>
vos
=
(
ArrayList
<
AdamMemberOrderVo
>)
redisAdamUtil
.
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
(
5
);
vo
.
setUpdatedAt
(
now
);
vos
.
set
(
idx
,
vo
);
boolean
syncVo
=
redisAdamUtil
.
set
(
moKey
,
vos
);
log
.
info
(
"###会员退款回调处理成功:更新REDIS会员订单信息{}[orderNo:{},uid:{}]"
,
syncVo
?
"成功"
:
"失败"
,
orderNo
,
memberOrder
.
getUid
());
if
(!
CollectionUtils
.
isEmpty
(
vos
))
{
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
(
5
);
vo
.
setUpdatedAt
(
now
);
vos
.
set
(
idx
,
vo
);
syncVo
=
redisAdamUtil
.
set
(
moKey
,
vos
);
log
.
info
(
"###会员退款回调处理成功:更新REDIS会员订单信息{}[orderNo:{},uid:{}]"
,
syncVo
?
"成功"
:
"失败"
,
orderNo
,
memberOrder
.
getUid
());
}
String
umKey
=
AdamRedisConst
.
INFO_USER_MEMBER
.
concat
(
memberOrder
.
getUid
());
AdamUserMemberVo
userMemberVo
=
(
AdamUserMemberVo
)
redisAdamUtil
.
get
(
umKey
);
...
...
@@ -127,42 +131,44 @@ public class PlatformMemberRefundService extends ServiceImpl<AdamMemberRefundMap
List
<
CandyUserCouponBasicDto
>
userCouponBasicDtoList
=
(
List
<
CandyUserCouponBasicDto
>)
redisCandyUtil
.
get
(
uckey
);
// 同步更新REDIS会员信息
if
(
userMemberVo
.
getState
()
==
1
)
{
// 非拉黑用户,则更新到期时间为减去订单标记的会员有效期的日期
LocalDateTime
expiryAt
=
userMemberVo
.
getExpiryAt
();
newExpiryAt
=
expiryAt
.
minusDays
(
memberOrder
.
getDays
());
LocalDate
nowDate
=
now
.
toLocalDate
();
LocalDate
newExpiryDate
=
newExpiryAt
.
toLocalDate
();
if
(
newExpiryDate
.
isEqual
(
nowDate
))
{
// 新的过期时间如果和当前时间为同一天,则重置到期时间为当天00:00:00
newExpiryAt
=
now
.
withHour
(
0
).
withMinute
(
0
).
withSecond
(
0
);
}
userMemberVo
.
setExpiryAt
(
newExpiryAt
);
userMemberVo
.
setUpdatedAt
(
now
);
syncVo
=
redisAdamUtil
.
set
(
umKey
,
userMemberVo
);
log
.
info
(
"###会员退款回调处理成功:更新REDIS会员信息{}[orderNo:{},uid:{}]"
,
syncVo
?
"成功"
:
"失败"
,
orderNo
,
memberOrder
.
getUid
());
// 同步更新MYSQL会员信息
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
());
if
(!
CollectionUtils
.
isEmpty
(
userCouponBasicDtoList
))
{
removeUcouponIdList
=
userCouponBasicDtoList
.
stream
()
.
filter
(
r
->
(
r
.
getExclusive
()
==
1
&&
r
.
getDuedAt
().
compareTo
(
expiryAt
)
==
0
))
.
map
(
CandyUserCouponBasicDto:
:
getUcouponId
)
.
collect
(
Collectors
.
toList
());
}
}
else
if
(
userMemberVo
.
getState
()
==
2
)
{
// 拉黑用户
if
(!
CollectionUtils
.
isEmpty
(
userCouponBasicDtoList
))
{
removeUcouponIdList
=
userCouponBasicDtoList
.
stream
()
.
filter
(
r
->
(
r
.
getExclusive
()
==
1
))
.
map
(
CandyUserCouponBasicDto:
:
getUcouponId
)
.
collect
(
Collectors
.
toList
());
if
(
null
!=
userMemberVo
)
{
if
(
userMemberVo
.
getState
()
==
1
)
{
// 非拉黑用户,则更新到期时间为减去订单标记的会员有效期的日期
LocalDateTime
expiryAt
=
userMemberVo
.
getExpiryAt
();
newExpiryAt
=
expiryAt
.
minusDays
(
memberOrder
.
getDays
());
LocalDate
nowDate
=
now
.
toLocalDate
();
LocalDate
newExpiryDate
=
newExpiryAt
.
toLocalDate
();
if
(
newExpiryDate
.
isEqual
(
nowDate
))
{
// 新的过期时间如果和当前时间为同一天,则重置到期时间为当天00:00:00
newExpiryAt
=
now
.
withHour
(
0
).
withMinute
(
0
).
withSecond
(
0
);
}
userMemberVo
.
setExpiryAt
(
newExpiryAt
);
userMemberVo
.
setUpdatedAt
(
now
);
syncVo
=
redisAdamUtil
.
set
(
umKey
,
userMemberVo
);
log
.
info
(
"###会员退款回调处理成功:更新REDIS会员信息{}[orderNo:{},uid:{}]"
,
syncVo
?
"成功"
:
"失败"
,
orderNo
,
memberOrder
.
getUid
());
// 同步更新MYSQL会员信息
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
());
if
(!
CollectionUtils
.
isEmpty
(
userCouponBasicDtoList
))
{
removeUcouponIdList
=
userCouponBasicDtoList
.
stream
()
.
filter
(
r
->
(
r
.
getExclusive
()
==
1
&&
r
.
getDuedAt
().
compareTo
(
expiryAt
)
==
0
))
.
map
(
CandyUserCouponBasicDto:
:
getUcouponId
)
.
collect
(
Collectors
.
toList
());
}
}
else
if
(
userMemberVo
.
getState
()
==
2
)
{
// 拉黑用户
if
(!
CollectionUtils
.
isEmpty
(
userCouponBasicDtoList
))
{
removeUcouponIdList
=
userCouponBasicDtoList
.
stream
()
.
filter
(
r
->
(
r
.
getExclusive
()
==
1
))
.
map
(
CandyUserCouponBasicDto:
:
getUcouponId
)
.
collect
(
Collectors
.
toList
());
}
}
}
// 同步删除REDIS用户会员权益券信息
...
...
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