记得上下班打卡 | 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
c99b0a96
Commit
c99b0a96
authored
May 20, 2022
by
jiangxiulong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
payAgain
parent
06cbe3fd
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
44 additions
and
44 deletions
+44
-44
GoblinNftOrderServiceImpl.java
...service/order/service/impl/GoblinNftOrderServiceImpl.java
+44
-44
No files found.
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/service/impl/GoblinNftOrderServiceImpl.java
View file @
c99b0a96
...
...
@@ -3,6 +3,7 @@ package com.liquidnet.service.order.service.impl;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.fasterxml.jackson.databind.node.ObjectNode
;
import
com.liquidnet.commons.lang.util.*
;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.UserPathDto
;
...
...
@@ -25,6 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.LinkedMultiValueMap
;
import
org.springframework.util.MultiValueMap
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
...
...
@@ -506,75 +508,73 @@ public class GoblinNftOrderServiceImpl implements IGoblinNftOrderService {
return
ResponseDto
.
failure
(
"暂不支持此接口"
);
/*String uid = CurrentUtil.getCurrentUid();
LocalDateTime now = LocalDateTime.now();
//检查订单时间 是否关闭
GoblinStoreOrderVo storeOrderVo = goblinRedisUtils.getGoblinOrder(param.getOrderId());
if (storeOrderVo == null) {
GoblinNftOrderVo nftOrder = nftOrderUtils.getNftOrder(param.getOrderId());
// 检查订单时间
if (nftOrder == null) {
return ResponseDto.failure("订单不存在");
}
if (!storeOrderVo.getUserId().equals(uid)) {
if (!nftOrder.getUserId().equals(uid)) {
return ResponseDto.failure(ErrorMapping.get("20003"));
}
if (storeOrderVo.getStatus() != GoblinStatusConst.Status.ORDER_STATUS_0.getValue()) {
return ResponseDto.failure("订单无法支付");//订单
if (nftOrder.getStatus() != GoblinStatusConst.Status.ORDER_STATUS_0.getValue()) {
return ResponseDto.failure("当前订单状态不支持支付");
}
MultiValueMap<String, String> header = CollectionUtil.linkedMultiValueMapStringString();
header.add("Accept", "application/json;charset=UTF-8");
String returnCheckData = HttpUtil.get(checkUrl + "?code=" +
storeOrderVo
.getPayCode(), null, header);
String returnCheckData = HttpUtil.get(checkUrl + "?code=" +
nftOrder
.getPayCode(), null, header);
ResponseDto<GoblinPayInnerResultVo> checkVo = JsonUtils.fromJson(returnCheckData, new TypeReference<ResponseDto<GoblinPayInnerResultVo>>() {
});
if (checkVo.getData().getStatus() == 1) {
return ResponseDto.failure("订单已支付");
}
BigDecimal price = BigDecimal.ZERO;
String[] orderIds = goblinRedisUtils.getMasterCode(storeOrderVo.getMasterOrderCode());
for (String orderId : orderIds) {
GoblinStoreOrderVo orderVo = goblinRedisUtils.getGoblinOrder(orderId);
price = price.add(orderVo.getPriceActual());
}
// 获取支付参数
GoblinNftPayResultVo NftPayResultVo = GoblinNftPayResultVo.getNew();
if (!
storeOrderVo
.getPayType().equals("FREE")) {
if (!
nftOrder
.getPayType().equals("FREE")) {
// 调用支付
LinkedMultiValueMap<String, String> httpData = CollectionUtil.linkedMultiValueMapStringString();
httpData.add("type", "
PRODUC
T");
httpData.add("price",
price
.toString());
httpData.add("name",
goblinRedisUtils.getStoreInfoVo(storeOrderVo.getStoreId())
.getStoreName());
httpData.add("detail",
"查找最初订单"
);
httpData.add("orderCode",
storeOrderVo.getMaster
OrderCode());
httpData.add("clientIp",
storeOrderVo
.getIpAddress());
httpData.add("type", "
NF
T");
httpData.add("price",
nftOrder.getPriceActual()
.toString());
httpData.add("name",
nftOrder
.getStoreName());
httpData.add("detail",
nftOrder.getSkuTitle()
);
httpData.add("orderCode",
nftOrder.get
OrderCode());
httpData.add("clientIp",
nftOrder
.getIpAddress());
httpData.add("notifyUrl", synUrl);
httpData.add("createDate",
storeOrderVo.getCreatedAt(
));
httpData.add("expireTime",
storeOrderVo
.getPayCountdownMinute().toString());
httpData.add("createDate",
nftOrder.getCreatedAt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
));
httpData.add("expireTime",
nftOrder
.getPayCountdownMinute().toString());
httpData.add("payType", param.getPayType());
httpData.add("deviceFrom", param.getDeviceFrom());
if (param.getDeviceFrom().equals("js") || param.getDeviceFrom().equals("applet")) {
httpData.add("openId", param.getOpenId());
}
httpData.add("showUrl", param.getShowUrl() + storeOrderVo.getMasterOrderCode());
httpData.add("returnUrl", param.getReturnUrl() + storeOrderVo.getMasterOrderCode());
String showUrl = param.getShowUrl().concat(nftOrder.getOrderCode());
String returnUrl = param.getReturnUrl().concat(nftOrder.getOrderCode());
httpData.add("showUrl", showUrl);
httpData.add("returnUrl", returnUrl);
String returnData = HttpUtil.post(payUrl, httpData);
log.
debug
("调用 DRAGON 结果 = " + returnData);
log.
info
("调用 DRAGON 结果 = " + returnData);
ResponseDto<GoblinPayInnerResultVo> dto = JsonUtils.fromJson(returnData, new TypeReference<ResponseDto<GoblinPayInnerResultVo>>() {
});
NftPayResultVo.setCode(dto.getData().getCode());
NftPayResultVo.setOrderCode(storeOrderVo.getMasterOrderCode());
GoblinPayInnerResultVo dtoData = dto.getData();
String payCode = dtoData.getCode();
NftPayResultVo.setCode(payCode);
NftPayResultVo.setOrderCode(nftOrder.getOrderCode());
NftPayResultVo.setPayData(dto.getData().getPayData());
NftPayResultVo.setOrderId(storeOrderVo.getMasterOrderCode());
NftPayResultVo.setPayType(param.getPayType());
NftPayResultVo.setPrice(price);
NftPayResultVo.setShowUrl(param.getShowUrl() + storeOrderVo.getMasterOrderCode());
NftPayResultVo.setReturnUrl(param.getReturnUrl() + storeOrderVo.getMasterOrderCode());
//redis
storeOrderVo.setPayType(param.getPayType());
storeOrderVo.setDeviceFrom(param.getDeviceFrom());
storeOrderVo.setPayCode(NftPayResultVo.getCode());
goblinRedisUtils.setGoblinOrder(storeOrderVo.getOrderId(), storeOrderVo);
//mongo
goblinMongoUtils.updateGoblinStoreOrderVo(storeOrderVo.getOrderId(), storeOrderVo);
//mysql
NftPayResultVo.setOrderId(nftOrder.getOrderId());
NftPayResultVo.setPayData(dtoData.getPayData());
NftPayResultVo.setPayType(nftOrder.getPayType());
NftPayResultVo.setPrice(nftOrder.getPriceActual());
NftPayResultVo.setShowUrl(showUrl);
NftPayResultVo.setReturnUrl(returnUrl);
// redis
nftOrder.setPayType(param.getPayType());
nftOrder.setDeviceFrom(param.getDeviceFrom());
nftOrder.setPayCode(NftPayResultVo.getCode());
nftOrderUtils.setNftOrder(nftOrder);
// mongo
goblinOrderUtils.setMongoList(GoblinNftOrderVo.class.getSimpleName(), "orderId", nftOrder.getOrderId(), GoblinRedisConst.REDIS_GOBLIN_NFT_ORDER_INFO, 2);
// mysql
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.GOBLIN_ORDER_AGAIN.getKey(),
SqlMapping.get("goblin_order.pay.again", param.getPayType(), param.getDeviceFrom(), NftPayResultVo.getCode(), param.getOrderId(), now, now));
log.info(UserPathDto.setData("再次支付[新支付方式]", param, NftPayResultVo));
...
...
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