记得上下班打卡 | 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
930ebb60
Commit
930ebb60
authored
Aug 26, 2022
by
张国柄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
+api:转赠退还;
parent
cdf959df
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
80 additions
and
19 deletions
+80
-19
IGoblinUserDigitalArtworkService.java
...vice/goblin/service/IGoblinUserDigitalArtworkService.java
+8
-0
GoblinUserDigitalArtworkController.java
...goblin/controller/GoblinUserDigitalArtworkController.java
+23
-1
GoblinUserDigitalArtworkServiceImpl.java
...lin/service/impl/GoblinUserDigitalArtworkServiceImpl.java
+5
-0
errors.properties
...-service-goblin-impl/src/main/resources/errors.properties
+1
-0
PlatformGoblinNftTransferOrderService.java
...ce/impl/goblin/PlatformGoblinNftTransferOrderService.java
+43
-18
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/service/IGoblinUserDigitalArtworkService.java
View file @
930ebb60
...
...
@@ -31,4 +31,12 @@ public interface IGoblinUserDigitalArtworkService {
* @return boolean, true-成功
*/
boolean
transferConfirmReceive
(
GoblinUserDigitalArtworkVo
userDigitalArtworkVo
);
/**
* 藏品受赠确认退还
*
* @param userDigitalArtworkVo GoblinUserDigitalArtworkVo
* @return boolean, true-成功
*/
boolean
transferConfirmReturn
(
GoblinUserDigitalArtworkVo
userDigitalArtworkVo
);
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/controller/GoblinUserDigitalArtworkController.java
View file @
930ebb60
...
...
@@ -202,11 +202,33 @@ public class GoblinUserDigitalArtworkController {
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"140117"
));
// 已过转赠领取有效期
}
if
(!
GoblinStatusConst
.
TransferState
.
WAITING
.
name
().
equals
(
userDigitalArtworkVo
.
getTransferState
()))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"140118"
));
// 藏品已领取
或已过期
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"140118"
));
// 藏品已领取
}
if
(!
goblinRedisUtils
.
lockUserDigitalArtworkVoOperate
(
artworkId
))
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"140000"
));
boolean
transferReceiveRstFlg
=
goblinUserDigitalArtworkService
.
transferConfirmReceive
(
userDigitalArtworkVo
);
goblinRedisUtils
.
unlockUserDigitalArtworkVoOperate
(
artworkId
);
return
transferReceiveRstFlg
?
ResponseDto
.
success
()
:
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"140002"
));
}
@ApiOperationSupport
(
order
=
6
)
@ApiOperation
(
value
=
"转赠退还"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"artworkId"
,
value
=
"藏品ID"
),
})
@PostMapping
(
"transfer/return"
)
public
ResponseDto
<
String
>
transferReturn
(
@NotBlank
(
message
=
"藏品ID不能为空"
)
@RequestParam
String
artworkId
)
{
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
GoblinUserDigitalArtworkVo
userDigitalArtworkVo
=
goblinRedisUtils
.
getUserDigitalArtworkVo
(
artworkId
);
if
(
null
==
userDigitalArtworkVo
||
userDigitalArtworkVo
.
getDelFlg
().
equals
(
"1"
)
||
!
currentUid
.
equals
(
userDigitalArtworkVo
.
getReceiverUid
()))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"140105"
));
// 藏品不存在
}
String
transferState
=
userDigitalArtworkVo
.
getTransferState
();
if
(!
GoblinStatusConst
.
TransferState
.
WAITING
.
name
().
equals
(
transferState
))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
null
==
transferState
?
"140119"
:
"140118"
));
// 藏品已领取
}
if
(!
goblinRedisUtils
.
lockUserDigitalArtworkVoOperate
(
artworkId
))
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"140000"
));
boolean
transferReceiveRstFlg
=
goblinUserDigitalArtworkService
.
transferConfirmReturn
(
userDigitalArtworkVo
);
goblinRedisUtils
.
unlockUserDigitalArtworkVoOperate
(
artworkId
);
return
transferReceiveRstFlg
?
ResponseDto
.
success
()
:
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"140002"
));
}
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/GoblinUserDigitalArtworkServiceImpl.java
View file @
930ebb60
...
...
@@ -477,6 +477,11 @@ public class GoblinUserDigitalArtworkServiceImpl implements IGoblinUserDigitalAr
return
false
;
}
@Override
public
boolean
transferConfirmReturn
(
GoblinUserDigitalArtworkVo
userDigitalArtworkVo
)
{
return
false
;
}
/* -------------------------------------------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------------------------------------------- */
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/resources/errors.properties
View file @
930ebb60
...
...
@@ -61,6 +61,7 @@
140116
=
\u
5BC6
\u7801\u9519\u
8BEF
\u
FF0C
\u
518D
\u
8F93
\u9519
%d
\u
6B21
\u
5C06
\u9501\u
5B9A%d
\u5206\u
949F
140117
=
\u
8BE5
\u
85CF
\u
54C1
\u
5DF2
\u
8FC7
\u9886\u
53D6
\u6709\u6548\u
671F
140118
=
\u
8BE5
\u
85CF
\u
54C1
\u
5DF2
\u9886\u
53D6
140119
=
\u
8BE5
\u
85CF
\u
54C1
\u
5DF2
\u9000\u
8FD8
...
...
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/impl/goblin/PlatformGoblinNftTransferOrderService.java
View file @
930ebb60
...
...
@@ -46,25 +46,30 @@ public class PlatformGoblinNftTransferOrderService extends ServiceImpl<GoblinNft
GoblinNftTransferOrder
nftTransferOrder
=
list
.
get
(
i
);
String
artworkId
=
nftTransferOrder
.
getArtworkId
();
GoblinUserDigitalArtworkVo
rdsVo
=
(
GoblinUserDigitalArtworkVo
)
redisGoblinUtil
.
get
(
GoblinRedisConst
.
USER_DIGITAL_ARTWORK
.
concat
(
artworkId
));
if
(
null
!=
rdsVo
&&
GoblinStatusConst
.
TransferState
.
WAITING
.
name
().
equals
(
rdsVo
.
getTransferState
()))
{
// 受赠人受赠藏品列表缓存更新
this
.
rmvUserDigitalArtworkIdsTransfer
(
rdsVo
.
getReceiverUid
(),
artworkId
);
// 转赠人藏品恢复
rdsVo
.
setTransferOrderId
(
null
);
rdsVo
.
setTransferState
(
null
);
rdsVo
.
setReceiverUid
(
null
);
rdsVo
.
setReceiverUser
(
null
);
//
rdsVo
.
setUpdatedAt
(
currentDateTime
);
redisGoblinUtil
.
set
(
GoblinRedisConst
.
USER_DIGITAL_ARTWORK
.
concat
(
artworkId
),
rdsVo
);
nftTransferOrder
.
setState
(
3
);
nftTransferOrder
.
setUpdatedAt
(
currentDateTime
);
updateNftTransferOrderList
.
add
(
nftTransferOrder
);
updateUserDigitalArtworkIdList
.
add
(
artworkId
);
numSucc
++;
if
(
this
.
lockUserDigitalArtworkVoOperate
(
artworkId
))
{
GoblinUserDigitalArtworkVo
rdsVo
=
(
GoblinUserDigitalArtworkVo
)
redisGoblinUtil
.
get
(
GoblinRedisConst
.
USER_DIGITAL_ARTWORK
.
concat
(
artworkId
));
if
(
null
!=
rdsVo
&&
GoblinStatusConst
.
TransferState
.
WAITING
.
name
().
equals
(
rdsVo
.
getTransferState
()))
{
// 受赠人受赠藏品列表缓存更新
this
.
rmvUserDigitalArtworkIdsTransfer
(
rdsVo
.
getReceiverUid
(),
artworkId
);
// 转赠人藏品恢复
rdsVo
.
setTransferOrderId
(
null
);
rdsVo
.
setTransferState
(
null
);
rdsVo
.
setReceiverUid
(
null
);
rdsVo
.
setReceiverUser
(
null
);
//
rdsVo
.
setUpdatedAt
(
currentDateTime
);
redisGoblinUtil
.
set
(
GoblinRedisConst
.
USER_DIGITAL_ARTWORK
.
concat
(
artworkId
),
rdsVo
);
nftTransferOrder
.
setState
(
3
);
nftTransferOrder
.
setUpdatedAt
(
currentDateTime
);
updateNftTransferOrderList
.
add
(
nftTransferOrder
);
updateUserDigitalArtworkIdList
.
add
(
artworkId
);
numSucc
++;
}
this
.
unlockUserDigitalArtworkVoOperate
(
artworkId
);
}
}
if
(
numSucc
>
0
)
{
// 更新Mysql、Mongo
this
.
updateBatchById
(
updateNftTransferOrderList
,
updateNftTransferOrderList
.
size
());
...
...
@@ -93,6 +98,26 @@ public class PlatformGoblinNftTransferOrderService extends ServiceImpl<GoblinNft
/* ------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------ */
/**
* 锁定藏品操作
*/
private
boolean
lockUserDigitalArtworkVoOperate
(
String
artworkId
)
{
String
lk
=
GoblinRedisConst
.
USER_DIGITAL_ARTWORK
.
concat
(
"lk"
).
concat
(
artworkId
);
AbstractRedisUtil
redisUtil
=
redisDataSourceUtil
.
getRedisGoblinUtil
();
if
(
redisUtil
.
incr
(
lk
,
1
)
>
1
)
{
return
false
;
}
redisUtil
.
expireSet
(
lk
,
30
);
return
true
;
}
/**
* 解锁藏品操作
*/
private
void
unlockUserDigitalArtworkVoOperate
(
String
artworkId
)
{
redisDataSourceUtil
.
getRedisGoblinUtil
().
del
(
GoblinRedisConst
.
USER_DIGITAL_ARTWORK
.
concat
(
"lk"
).
concat
(
artworkId
));
}
/**
* 获取用户受赠藏品ID集合
*/
...
...
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