记得上下班打卡 | 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
bfeb89b8
Commit
bfeb89b8
authored
Mar 29, 2022
by
jiangxiulong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
超时支付完善
parent
341be41b
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
39 additions
and
28 deletions
+39
-28
mongo_db_ddl.sql
...oblin/liquidnet-service-goblin-impl/docu/mongo_db_ddl.sql
+7
-0
GoblinNftOrderController.java
...et/service/order/controller/GoblinNftOrderController.java
+1
-1
GoblinNftOrderServiceImpl.java
...service/order/service/impl/GoblinNftOrderServiceImpl.java
+5
-1
GoblinNftOrderUtils.java
...om/liquidnet/service/order/utils/GoblinNftOrderUtils.java
+26
-26
No files found.
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/docu/mongo_db_ddl.sql
View file @
bfeb89b8
...
...
@@ -28,6 +28,7 @@ db.createCollection("GoblinOrderSkuVo");
db
.
createCollection
(
"GoblinSelfMarketingVo"
);
db
.
createCollection
(
"GoblinStoreOrderVo"
);
db
.
createCollection
(
"GoblinNftOrderVo"
);
db
.
createCollection
(
"GoblinNftOrderCallBackVo"
);
//
==================================================
创建索引
...
...
@@ -76,6 +77,11 @@ db.GoblinNftOrderVo.createIndex({orderId:"hashed"});
db
.
GoblinNftOrderVo
.
createIndex
(
{
orderCode
:
"hashed"
}
);
db
.
GoblinNftOrderVo
.
createIndex
(
{
skuId
:
"hashed"
}
);
db
.
GoblinNftOrderVo
.
createIndex
(
{
userId
:
"hashed"
}
);
db
.
GoblinNftOrderCallBackVo
.
createIndex
(
{
orderRefundId
:
"hashed"
}
);
db
.
GoblinNftOrderCallBackVo
.
createIndex
(
{
refundCode
:
"hashed"
}
);
db
.
GoblinNftOrderCallBackVo
.
createIndex
(
{
orderId
:
"hashed"
}
);
db
.
GoblinNftOrderCallBackVo
.
createIndex
(
{
orderCode
:
"hashed"
}
);
db
.
GoblinNftOrderCallBackVo
.
createIndex
(
{
userId
:
"hashed"
}
);
...
...
@@ -109,3 +115,4 @@ sh.shardCollection("test_ln_scene.GoblinOrderSkuVo",{"orderSkuId":"hashed"});
sh
.
shardCollection
(
"test_ln_scene.GoblinStoreOrderVo"
,
{
"orderId"
:
"hashed"
}
);
sh
.
shardCollection
(
"test_ln_scene.GoblinSelfMarketingVo"
,
{
"selfMarketId"
:
"hashed"
}
);
sh
.
shardCollection
(
"test_ln_scene.GoblinNftOrderVo"
,
{
"orderId"
:
"hashed"
}
);
sh
.
shardCollection
(
"test_ln_scene.GoblinNftOrderCallBackVo"
,
{
"orderRefundId"
:
"hashed"
}
);
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/controller/GoblinNftOrderController.java
View file @
bfeb89b8
...
...
@@ -23,7 +23,7 @@ public class GoblinNftOrderController {
IGoblinNftOrderService
iGoblinNftOrderService
;
@PostMapping
(
"pre"
)
@ApiOperation
(
"下单(加密)"
)
//
@ApiOperation("下单(加密)")
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
public
ResponseDto
<
GoblinNftPayResultVo
>
checkOrder
(
@RequestBody
EncryptedReq
<
GoblinNftOrderPayParam
>
payParam
)
{
return
iGoblinNftOrderService
.
checkOrder
(
payParam
.
getData
());
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/service/impl/GoblinNftOrderServiceImpl.java
View file @
bfeb89b8
...
...
@@ -414,7 +414,11 @@ public class GoblinNftOrderServiceImpl implements IGoblinNftOrderService {
log
.
error
(
"Nft订单payCode不匹配 param:[orderCode:{}, payCode:{}, code:{}]"
,
orderCode
,
orderVo
.
getPayCode
(),
syncOrderParam
.
getCode
());
return
"fail"
;
}
if
(!
Objects
.
equals
(
orderVo
.
getStatus
(),
GoblinStatusConst
.
NftStatus
.
ORDER_STATUS_1
.
getValue
()))
{
if
(
!
Objects
.
equals
(
orderVo
.
getStatus
(),
GoblinStatusConst
.
NftStatus
.
ORDER_STATUS_1
.
getValue
())
&&
!
Objects
.
equals
(
orderVo
.
getStatus
(),
GoblinStatusConst
.
NftStatus
.
ORDER_STATUS_3
.
getValue
())
)
{
log
.
error
(
"Nft订单当前状态不能支付回调 param:[orderCode:{}, status:{}]"
,
orderCode
,
orderVo
.
getStatus
());
return
"fail"
;
}
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/utils/GoblinNftOrderUtils.java
View file @
bfeb89b8
...
...
@@ -120,7 +120,7 @@ public class GoblinNftOrderUtils {
// 退款订单vo
public
void
setBackOrderVo
(
GoblinNftOrderCallBackVo
vo
)
{
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_NFT_ORDER_REFUND_INFO
.
concat
(
vo
.
getOrder
Refund
Id
());
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_NFT_ORDER_REFUND_INFO
.
concat
(
vo
.
getOrderId
());
redisUtil
.
set
(
redisKey
,
vo
);
}
...
...
@@ -240,65 +240,65 @@ public class GoblinNftOrderUtils {
//超时支付自动退款
public
Boolean
refundOrderSku
(
String
orderId
,
String
paymentId
,
String
paymentType
)
{
String
uid
=
CurrentUtil
.
getCurrentUid
();
LocalDateTime
now
=
LocalDateTime
.
now
();
String
nowStr
=
DateUtil
.
getNowTime
();
GoblinNftOrderVo
NftOrder
=
getNftOrder
(
orderId
);
BigDecimal
refundPrice
=
NftOrder
.
getPriceActual
();
GoblinNftOrderVo
nftOrder
=
getNftOrder
(
orderId
);
BigDecimal
refundPrice
=
nftOrder
.
getPriceActual
();
//记录退款单
String
refundCode
=
IDGenerator
.
storeRefundCode
(
N
ftOrder
.
getOrderCode
());
String
refundCode
=
IDGenerator
.
storeRefundCode
(
n
ftOrder
.
getOrderCode
());
GoblinNftOrderRefund
nftBackOrder
=
GoblinNftOrderRefund
.
getNew
();
nftBackOrder
.
setOrderRefundId
(
IDGenerator
.
nextTimeId2
());
nftBackOrder
.
setRefundCode
(
refundCode
);
nftBackOrder
.
setOrderId
(
orderId
);
nftBackOrder
.
setOrderCode
(
N
ftOrder
.
getOrderCode
());
nftBackOrder
.
setStoreId
(
N
ftOrder
.
getStoreId
());
nftBackOrder
.
setUserId
(
N
ftOrder
.
getUserId
());
nftBackOrder
.
setSkuIdNums
(
N
ftOrder
.
getSkuId
());
nftBackOrder
.
setOrderCode
(
n
ftOrder
.
getOrderCode
());
nftBackOrder
.
setStoreId
(
n
ftOrder
.
getStoreId
());
nftBackOrder
.
setUserId
(
n
ftOrder
.
getUserId
());
nftBackOrder
.
setSkuIdNums
(
n
ftOrder
.
getSkuId
());
nftBackOrder
.
setRealBackPrice
(
refundPrice
);
nftBackOrder
.
setStatus
(
GoblinStatusConst
.
NftStatus
.
ORDER_REFUND_STATUS_1
.
getValue
());
nftBackOrder
.
setCreatedAt
(
now
);
nftBackOrder
.
setUpdatedAt
(
now
);
nftBackOrder
.
setRefundAt
(
LocalDateTime
.
now
());
nftBackOrder
.
setErrorReason
(
""
);
GoblinNftOrderCallBackVo
backOrderVo
=
GoblinNftOrderCallBackVo
.
getNew
().
copy
(
nftBackOrder
);
//调用退款
N
ftOrder
.
setPaymentId
(
paymentId
);
N
ftOrder
.
setPaymentType
(
paymentType
);
String
returnString
=
initRefund
(
N
ftOrder
,
refundPrice
,
refundCode
);
//
调用退款
n
ftOrder
.
setPaymentId
(
paymentId
);
n
ftOrder
.
setPaymentType
(
paymentType
);
String
returnString
=
initRefund
(
n
ftOrder
,
refundPrice
,
refundCode
);
HashMap
hashMapResult
=
JsonUtils
.
fromJson
(
returnString
,
HashMap
.
class
);
Boolean
success
=
(
Boolean
)
hashMapResult
.
get
(
"success"
);
String
message
=
(
String
)
hashMapResult
.
get
(
"message"
);
if
(!
success
)
{
if
(!
Objects
.
equals
(
backOrderVo
.
getStatus
(),
GoblinStatusConst
.
NftStatus
.
ORDER_REFUND_STATUS_2
.
getValue
()))
{
backOrderVo
.
setStatus
(
GoblinStatusConst
.
NftStatus
.
ORDER_REFUND_STATUS_3
.
getValue
());
backOrderVo
.
setErrorReason
(
backOrderVo
.
getErrorReason
()
+
",失败原因:"
+
message
);
log
.
error
(
"REFUND DATA = "
+
returnString
);
backOrderVo
.
setErrorReason
(
message
);
}
}
// redis
setBackOrderVo
(
backOrderVo
);
// mongo
goblinMongoUtils
.
insertGoblinNftOrderRefundVo
(
backOrderVo
);
// 添加退款
queueUtils
.
sendMsgByRedis
(
/**
* 退款表数据处理
*/
setBackOrderVo
(
backOrderVo
);
// redis
goblinMongoUtils
.
insertGoblinNftOrderRefundVo
(
backOrderVo
);
// mongo
queueUtils
.
sendMsgByRedis
(
// mysql
MQConst
.
GoblinQueue
.
GOBLIN_STORE_ORDER_OPERA
.
getKey
(),
SqlMapping
.
get
(
"goblin_nft_order_refund.insert"
,
nftBackOrder
.
getOrderRefundId
(),
nftBackOrder
.
getRefundCode
(),
nftBackOrder
.
getOrderId
(),
nftBackOrder
.
getOrderCode
(),
nftBackOrder
.
getStoreId
(),
nftBackOrder
.
getUserId
(),
nftBackOrder
.
getSkuIdNums
(),
nftBackOrder
.
getRealBackPrice
(),
nftBackOrder
.
getStatus
(),
nftBackOrder
.
getRefundAt
(),
nftBackOrder
.
getErrorReason
()
nftBackOrder
.
getSkuIdNums
(),
nftBackOrder
.
getRealBackPrice
(),
backOrderVo
.
getStatus
(),
nftBackOrder
.
getRefundAt
(),
backOrderVo
.
getErrorReason
()
)
);
if
(
success
)
{
return
true
;
}
else
{
log
.
error
(
"退款失败:"
+
message
);
return
false
;
}
}
private
String
initRefund
(
GoblinNftOrderVo
orderVo
,
BigDecimal
price
,
String
refundCode
)
{
log
.
info
(
"NFT退款请求 参数:[orderVo:{}, price:{}, refundCode:{}]"
,
orderVo
,
price
,
refundCode
);
MultiValueMap
<
String
,
String
>
params
=
CollectionUtil
.
linkedMultiValueMapStringString
();
params
.
add
(
"code"
,
orderVo
.
getPayCode
());
params
.
add
(
"notifyUrl"
,
synUrl
);
...
...
@@ -312,7 +312,7 @@ public class GoblinNftOrderUtils {
MultiValueMap
<
String
,
String
>
headers
=
CollectionUtil
.
linkedMultiValueMapStringString
();
headers
.
add
(
"Accept"
,
"application/json;charset=UTF-8"
);
String
returnString
=
HttpUtil
.
post
(
refundApply
,
params
,
headers
);
log
.
debug
(
"REFUND DATA = "
+
returnString
);
log
.
info
(
"NFT退款请求 结果:[returnString:{}]"
,
returnString
);
return
returnString
;
}
...
...
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