记得上下班打卡 | 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
3c3f3c99
Commit
3c3f3c99
authored
Apr 21, 2022
by
jiangxiulong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ex add
parent
57ccd0ca
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
73 additions
and
35 deletions
+73
-35
GoblinRedisConst.java
...m/liquidnet/service/goblin/constant/GoblinRedisConst.java
+1
-0
IGoblinNftOrderService.java
...uidnet/service/goblin/service/IGoblinNftOrderService.java
+1
-1
GoblinNftOrderController.java
...et/service/order/controller/GoblinNftOrderController.java
+1
-23
GoblinInnerNftController.java
...vice/order/controller/inner/GoblinInnerNftController.java
+40
-0
GoblinNftOrderServiceImpl.java
...service/order/service/impl/GoblinNftOrderServiceImpl.java
+18
-11
GoblinNftOrderUtils.java
...om/liquidnet/service/order/utils/GoblinNftOrderUtils.java
+12
-0
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/constant/GoblinRedisConst.java
View file @
3c3f3c99
...
@@ -137,6 +137,7 @@ public class GoblinRedisConst {
...
@@ -137,6 +137,7 @@ public class GoblinRedisConst {
public
static
final
String
REDIS_GOBLIN_NFT_ORDER_USER_ID_LIST
=
PREFIX
.
concat
(
"nft:order:idList:"
);
// nft用户订单id列表 userId
public
static
final
String
REDIS_GOBLIN_NFT_ORDER_USER_ID_LIST
=
PREFIX
.
concat
(
"nft:order:idList:"
);
// nft用户订单id列表 userId
public
static
final
String
REDIS_GOBLIN_NFT_ORDER_REFUND_INFO
=
PREFIX
.
concat
(
"nft:order:refund:"
);
// nft退款订单详情 orderId
public
static
final
String
REDIS_GOBLIN_NFT_ORDER_REFUND_INFO
=
PREFIX
.
concat
(
"nft:order:refund:"
);
// nft退款订单详情 orderId
public
static
final
String
REDIS_GOBLIN_NFT_ORDER_BUG_LOCK
=
PREFIX
.
concat
(
"nft:order:lock:"
);
// nft购买用户锁 userId
public
static
final
String
REDIS_GOBLIN_NFT_ORDER_BUG_LOCK
=
PREFIX
.
concat
(
"nft:order:lock:"
);
// nft购买用户锁 userId
public
static
final
String
REDIS_GOBLIN_NFT_ORDER_EX_LOCK
=
PREFIX
.
concat
(
"nft:order:exLock:"
);
// nft兑换码锁 code
public
static
final
String
REDIS_GOBLIN_NFT_GOODS_LIST
=
PREFIX
.
concat
(
"nft:goodsList"
);
// nft商品列表
public
static
final
String
REDIS_GOBLIN_NFT_GOODS_LIST
=
PREFIX
.
concat
(
"nft:goodsList"
);
// nft商品列表
public
static
final
String
REDIS_GOBLIN_NFT_NUM_ACCOUNT
=
PREFIX
.
concat
(
"nft:account:"
);
// nft用户数字账户是否开通 userId
public
static
final
String
REDIS_GOBLIN_NFT_NUM_ACCOUNT
=
PREFIX
.
concat
(
"nft:account:"
);
// nft用户数字账户是否开通 userId
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/service/IGoblinNftOrderService.java
View file @
3c3f3c99
...
@@ -26,5 +26,5 @@ public interface IGoblinNftOrderService {
...
@@ -26,5 +26,5 @@ public interface IGoblinNftOrderService {
String
refundSyncOrder
(
GoblinNftOrderRefundCallbackParam
refundCallbackParam
);
String
refundSyncOrder
(
GoblinNftOrderRefundCallbackParam
refundCallbackParam
);
Boolean
exchange
(
String
code
);
ResponseDto
<
Boolean
>
exchange
(
String
code
,
String
uid
);
}
}
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/controller/GoblinNftOrderController.java
View file @
3c3f3c99
...
@@ -78,29 +78,7 @@ public class GoblinNftOrderController {
...
@@ -78,29 +78,7 @@ public class GoblinNftOrderController {
public
ResponseDto
<
Boolean
>
exchange
(
public
ResponseDto
<
Boolean
>
exchange
(
@RequestParam
(
"code"
)
@NotBlank
(
message
=
"兑换码不能为空"
)
String
code
@RequestParam
(
"code"
)
@NotBlank
(
message
=
"兑换码不能为空"
)
String
code
)
{
)
{
Boolean
res
=
iGoblinNftOrderService
.
exchange
(
code
);
return
iGoblinNftOrderService
.
exchange
(
code
,
null
);
if
(
res
)
{
return
ResponseDto
.
success
();
}
else
{
return
ResponseDto
.
failure
();
}
}
}
/*@PostMapping("exchange")
@ApiOperation("兑换")
@ApiImplicitParams({
@ApiImplicitParam(type = "from", required = true, dataType = "String", name = "code", value = "兑换码", example = "1"),
@ApiImplicitParam(type = "from", required = true, dataType = "String", name = "user", value = "兑换码", example = "1"),
})
public ResponseDto<Boolean> exchange(
@RequestParam("code") @NotBlank(message = "兑换码不能为空") String code
) {
Boolean res = iGoblinNftOrderService.exchange(code);
if (res) {
return ResponseDto.success();
} else {
return ResponseDto.failure();
}
}*/
}
}
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/controller/inner/GoblinInnerNftController.java
0 → 100644
View file @
3c3f3c99
package
com
.
liquidnet
.
service
.
order
.
controller
.
inner
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.service.IGoblinNftOrderService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.validation.constraints.NotBlank
;
@Api
(
tags
=
"NFT-支付相关"
)
@RestController
@Validated
@RequestMapping
(
"/goblin/nft"
)
public
class
GoblinInnerNftController
{
@Autowired
IGoblinNftOrderService
iGoblinNftOrderService
;
@PostMapping
(
"airdrop"
)
@ApiOperation
(
"空投"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"from"
,
required
=
true
,
dataType
=
"String"
,
name
=
"code"
,
value
=
"兑换码"
,
example
=
"1"
),
@ApiImplicitParam
(
type
=
"from"
,
required
=
true
,
dataType
=
"String"
,
name
=
"userId"
,
value
=
"用户ID"
,
example
=
"1"
),
})
public
ResponseDto
<
Boolean
>
exchange
(
@RequestParam
(
"code"
)
@NotBlank
(
message
=
"兑换码不能为空"
)
String
code
,
@RequestParam
(
"userId"
)
@NotBlank
(
message
=
"用户ID不能为空"
)
String
userId
)
{
return
iGoblinNftOrderService
.
exchange
(
code
,
userId
);
}
}
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/service/impl/GoblinNftOrderServiceImpl.java
View file @
3c3f3c99
...
@@ -749,16 +749,23 @@ public class GoblinNftOrderServiceImpl implements IGoblinNftOrderService {
...
@@ -749,16 +749,23 @@ public class GoblinNftOrderServiceImpl implements IGoblinNftOrderService {
}
}
@Override
@Override
public
Boolean
exchange
(
String
code
)
{
public
ResponseDto
<
Boolean
>
exchange
(
String
code
,
String
uid
)
{
try
{
// 验证 1code是否存在 2是否在生效日期内 3是否未兑换的状态 4兑换限购
// 加锁
// 使用
// 验证 1code是否存在 2是否在生效日期内 3是否未兑换的状态 4兑换限购
// 下单
// 使用
boolean
isLock
=
nftOrderUtils
.
setNftOrderExLock
(
code
);
// 下单
if
(!
isLock
)
{
return
true
;
return
ResponseDto
.
failure
(
"处理未完成,请稍等~"
);
}
catch
(
Exception
e
)
{
}
else
{
log
.
error
(
"Error"
,
e
);
try
{
return
false
;
return
ResponseDto
.
success
();
}
catch
(
Exception
e
)
{
log
.
error
(
"NFT兑换异常 e:{}"
,
e
);
return
ResponseDto
.
failure
(
"兑换失败,请稍后重试!"
);
}
finally
{
// 执行完毕。释放锁
nftOrderUtils
.
delNftOrderExLock
(
uid
);
}
}
}
}
}
...
@@ -806,7 +813,7 @@ public class GoblinNftOrderServiceImpl implements IGoblinNftOrderService {
...
@@ -806,7 +813,7 @@ public class GoblinNftOrderServiceImpl implements IGoblinNftOrderService {
GoblinGoodsSkuInfoVo
goodsSkuInfoVo
=
goblinRedisUtils
.
getGoodsSkuInfoVo
(
skuId
);
GoblinGoodsSkuInfoVo
goodsSkuInfoVo
=
goblinRedisUtils
.
getGoodsSkuInfoVo
(
skuId
);
if
(
"0"
.
equals
(
goodsSkuInfoVo
.
getUnbox
()))
{
// 非盲盒,NFT发行购买
if
(
"0"
.
equals
(
goodsSkuInfoVo
.
getUnbox
()))
{
// 非盲盒,NFT发行购买
ObjectNode
bizNftBuyNode
=
JsonUtils
.
OM
().
createObjectNode
().
put
(
"nftOrderPayId"
,
orderId
).
put
(
"routerType"
,
goodsSkuInfoVo
.
getRouteType
())
ObjectNode
bizNftBuyNode
=
JsonUtils
.
OM
().
createObjectNode
().
put
(
"nftOrderPayId"
,
orderId
).
put
(
"routerType"
,
goodsSkuInfoVo
.
getRouteType
())
.
put
(
"skuId"
,
skuId
).
put
(
"userId"
,
uid
).
put
(
"buyTimestamp"
,
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
format
(
now
));
;
.
put
(
"skuId"
,
skuId
).
put
(
"userId"
,
uid
).
put
(
"buyTimestamp"
,
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
format
(
now
));
queueUtils
.
sendMsgByRedis
(
MQConst
.
GalaxyQueue
.
JSON_NFT_PUBLISH_AND_BUY
.
getKey
(),
bizNftBuyNode
.
toString
());
queueUtils
.
sendMsgByRedis
(
MQConst
.
GalaxyQueue
.
JSON_NFT_PUBLISH_AND_BUY
.
getKey
(),
bizNftBuyNode
.
toString
());
}
}
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/utils/GoblinNftOrderUtils.java
View file @
3c3f3c99
...
@@ -133,12 +133,24 @@ public class GoblinNftOrderUtils {
...
@@ -133,12 +133,24 @@ public class GoblinNftOrderUtils {
return
redisUtil
.
lock
(
redisKey
,
1
,
60
);
return
redisUtil
.
lock
(
redisKey
,
1
,
60
);
}
}
public
boolean
setNftOrderExLock
(
String
code
)
{
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_NFT_ORDER_EX_LOCK
.
concat
(
code
);
return
redisUtil
.
lock
(
redisKey
,
1
,
60
);
}
public
void
delNftOrderBuyLock
(
String
userId
)
{
public
void
delNftOrderBuyLock
(
String
userId
)
{
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_NFT_ORDER_BUG_LOCK
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_NFT_ORDER_BUG_LOCK
.
concat
(
userId
);
.
concat
(
userId
);
redisUtil
.
uLock
(
redisKey
);
redisUtil
.
uLock
(
redisKey
);
}
}
public
void
delNftOrderExLock
(
String
code
)
{
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_NFT_ORDER_EX_LOCK
.
concat
(
code
);
redisUtil
.
uLock
(
redisKey
);
}
/**
/**
* 使用平台优惠券 只支持代金券
* 使用平台优惠券 只支持代金券
*
*
...
...
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