记得上下班打卡 | 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
ff53d559
Commit
ff53d559
authored
Jun 17, 2022
by
胡佳晨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改 order的下单
parent
3ab353b6
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
202 additions
and
172 deletions
+202
-172
GoblinOrderServiceImpl.java
...et/service/order/service/impl/GoblinOrderServiceImpl.java
+103
-83
KylinOrderTicketsServiceImpl.java
...vice/order/service/impl/KylinOrderTicketsServiceImpl.java
+77
-69
GoblinOrderUtils.java
...a/com/liquidnet/service/order/utils/GoblinOrderUtils.java
+22
-20
No files found.
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/service/impl/GoblinOrderServiceImpl.java
View file @
ff53d559
...
...
@@ -9,6 +9,11 @@ import com.liquidnet.service.base.ResponseDto;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.UserPathDto
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.dragon.constant.DragonConstant
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseReqDto
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseRespDto
;
import
com.liquidnet.service.dragon.dto.DragonPayOrderQueryRespDto
;
import
com.liquidnet.service.dragon.service.IDragonOrdersService
;
import
com.liquidnet.service.goblin.constant.GoblinStatusConst
;
import
com.liquidnet.service.goblin.dto.manage.AddressVo
;
import
com.liquidnet.service.goblin.dto.manage.GoblinOrderParam
;
...
...
@@ -54,10 +59,9 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
@Autowired
GoblinOrderUtils
orderUtils
;
@Value
(
"${liquidnet.service.order.url-pay.pay}"
)
private
String
payUrl
;
@Value
(
"${liquidnet.service.order.url-pay.check}"
)
private
String
checkUrl
;
@Autowired
IDragonOrdersService
dragonOrdersService
;
@Value
(
"${liquidnet.service.order.url-pay.goblinUrl}"
)
private
String
synUrl
;
...
...
@@ -416,43 +420,44 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
String
payCode
;
if
(
preParam
.
getPriceActual
().
compareTo
(
BigDecimal
.
valueOf
(
0
))
>
0
&&
!
preParam
.
getPayType
().
equals
(
"huifu"
))
{
// 调用支付
LinkedMultiValueMap
<
String
,
String
>
httpData
=
CollectionUtil
.
linkedMultiValueMapStringString
();
httpData
.
add
(
"type"
,
"PRODUCT"
);
httpData
.
add
(
"price"
,
preParam
.
getPriceActual
().
toString
());
// httpData.add("price","0.01");
httpData
.
add
(
"name"
,
preParam
.
getStoreName
());
httpData
.
add
(
"detail"
,
preParam
.
getSkuName
());
httpData
.
add
(
"orderCode"
,
preParam
.
getOrderMasterCode
());
httpData
.
add
(
"orderId"
,
preParam
.
getOrderIdList
().
substring
(
1
));
httpData
.
add
(
"clientIp"
,
CurrentUtil
.
getCliIpAddr
());
httpData
.
add
(
"notifyUrl"
,
synUrl
);
httpData
.
add
(
"createDate"
,
LocalDateTime
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
httpData
.
add
(
"expireTime"
,
preParam
.
getExpireTime
()
+
""
);
httpData
.
add
(
"payType"
,
preParam
.
getPayType
());
httpData
.
add
(
"deviceFrom"
,
preParam
.
getDeviceFrom
());
if
(
preParam
.
getDeviceFrom
().
equals
(
"micropay"
))
{
httpData
.
add
(
"authCode"
,
preParam
.
getAuthCode
());
if
(
preParam
.
getPayType
().
equalsIgnoreCase
(
DragonConstant
.
PayChannelEnum
.
WEPAY
.
getCode
()))
{
if
(
preParam
.
getDeviceFrom
().
equalsIgnoreCase
(
DragonConstant
.
DeviceFromEnum
.
JS
.
getCode
())
||
preParam
.
getDeviceFrom
().
equalsIgnoreCase
(
DragonConstant
.
DeviceFromEnum
.
APPLET
.
getCode
()))
{
if
(
StringUtil
.
isEmpty
(
preParam
.
getOpenId
()))
{
return
ResponseDto
.
failure
(
"微信支付openId不能为空!"
);
}
}
}
DragonPayBaseReqDto
dragonPayBaseReqDto
=
DragonPayBaseReqDto
.
getNew
();
dragonPayBaseReqDto
.
setPayType
(
preParam
.
getPayType
());
dragonPayBaseReqDto
.
setDeviceFrom
(
preParam
.
getDeviceFrom
());
if
(
preParam
.
getDeviceFrom
().
equals
(
"js"
)
||
preParam
.
getDeviceFrom
().
equals
(
"applet"
))
{
httpData
.
add
(
"openId"
,
preParam
.
getOpenId
());
dragonPayBaseReqDto
.
setOpenId
(
preParam
.
getOpenId
());
}
// if (preParam.getPayType().equals("alipay") && preParam.getDeviceFrom().equals("wap")) {
// httpData.add("showUrl", preParam.getShowUrl() + preParam.getOrderMasterCode());
// httpData.add("returnUrl", preParam.getReturnUrl() + preParam.getOrderMasterCode());
// }
// if (preParam.getPayType().equals("douyinpay")) {
// httpData.add("showUrl", preParam.getShowUrl() + preParam.getOrderMasterCode());
// httpData.add("returnUrl", preParam.getReturnUrl() + preParam.getOrderMasterCode());
// }
// if (preParam.getPayType().equals("unionpay")) {
// httpData.add("returnUrl", preParam.getReturnUrl() + preParam.getOrderMasterCode());
// }
httpData
.
add
(
"showUrl"
,
preParam
.
getShowUrl
()
+
preParam
.
getOrderMasterCode
());
httpData
.
add
(
"returnUrl"
,
preParam
.
getReturnUrl
()
+
preParam
.
getOrderMasterCode
());
LinkedMultiValueMap
<
String
,
String
>
header
=
CollectionUtil
.
linkedMultiValueMapStringString
();
header
.
add
(
"Accept"
,
"application/json;charset=UTF-8"
);
String
returnData
=
HttpUtil
.
post
(
payUrl
,
httpData
,
header
);
dragonPayBaseReqDto
.
setType
(
"PRODUCT"
);
dragonPayBaseReqDto
.
setPrice
(
preParam
.
getPriceActual
());
if
(
preParam
.
getDeviceFrom
().
equals
(
"micropay"
))
{
dragonPayBaseReqDto
.
setAuthCode
(
preParam
.
getAuthCode
());
}
String
name
=
preParam
.
getStoreName
();
if
(
StringUtil
.
isNotNull
(
preParam
.
getStoreName
())
&&
preParam
.
getStoreName
().
length
()
>=
32
)
{
name
=
name
.
substring
(
0
,
32
);
}
dragonPayBaseReqDto
.
setName
(
name
);
dragonPayBaseReqDto
.
setDetail
(
"正在现场"
);
dragonPayBaseReqDto
.
setOrderCode
(
preParam
.
getOrderMasterCode
());
String
orderId
=
preParam
.
getOrderIdList
().
substring
(
1
);
if
(
orderId
!=
null
)
{
dragonPayBaseReqDto
.
setOrderId
(
orderId
);
}
dragonPayBaseReqDto
.
setClientIp
(
CurrentUtil
.
getCliIpAddr
());
dragonPayBaseReqDto
.
setNotifyUrl
(
synUrl
);
dragonPayBaseReqDto
.
setReturnUrl
(
preParam
.
getReturnUrl
()
+
preParam
.
getOrderMasterCode
());
dragonPayBaseReqDto
.
setShowUrl
(
preParam
.
getShowUrl
()
+
preParam
.
getOrderMasterCode
());
dragonPayBaseReqDto
.
setCreateDate
(
LocalDateTime
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
dragonPayBaseReqDto
.
setExpireTime
(
preParam
.
getExpireTime
()
+
""
);
ResponseDto
<
DragonPayBaseRespDto
>
responseDto
=
dragonOrdersService
.
dragonPay
(
dragonPayBaseReqDto
);
String
returnData
=
JSON
.
toJSONString
(
responseDto
);
log
.
info
(
"调用 DRAGON 结果 = "
+
returnData
);
ResponseDto
<
GoblinPayInnerResultVo
>
dto
=
JsonUtils
.
fromJson
(
returnData
,
new
TypeReference
<
ResponseDto
<
GoblinPayInnerResultVo
>>()
{
});
...
...
@@ -655,12 +660,8 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
if
(
storeOrderVo
.
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
);
ResponseDto
<
GoblinPayInnerResultVo
>
checkVo
=
JsonUtils
.
fromJson
(
returnCheckData
,
new
TypeReference
<
ResponseDto
<
GoblinPayInnerResultVo
>>()
{
});
if
(
checkVo
.
getData
().
getStatus
()
==
1
)
{
DragonPayOrderQueryRespDto
checkVo
=
dragonOrdersService
.
checkOrderStatusByCode
(
storeOrderVo
.
getPayCode
());
if
(
checkVo
.
getStatus
()
==
1
)
{
return
ResponseDto
.
failure
(
"订单已支付"
);
}
BigDecimal
price
=
BigDecimal
.
ZERO
;
...
...
@@ -684,37 +685,37 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
// } else
if
(!
storeOrderVo
.
getPayType
().
equals
(
"FREE"
))
{
// 调用支付
LinkedMultiValueMap
<
String
,
String
>
httpData
=
CollectionUtil
.
linkedMultiValueMapStringString
();
httpData
.
add
(
"type"
,
"PRODUCT"
);
httpData
.
add
(
"price"
,
price
.
toString
());
httpData
.
add
(
"name"
,
redisUtils
.
getStoreInfoVo
(
storeOrderVo
.
getStoreId
()).
getStoreName
());
httpData
.
add
(
"detail"
,
"查找最初订单"
);
httpData
.
add
(
"orderCode"
,
storeOrderVo
.
getMasterOrderCode
());
// httpData.add("orderId", storeOrderVo.getOrderId());
httpData
.
add
(
"clientIp"
,
storeOrderVo
.
getIpAddress
());
httpData
.
add
(
"notifyUrl"
,
synUrl
);
httpData
.
add
(
"createDate"
,
storeOrderVo
.
getCreatedAt
());
httpData
.
add
(
"expireTime"
,
storeOrderVo
.
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
());
if
(
param
.
getPayType
().
equalsIgnoreCase
(
DragonConstant
.
PayChannelEnum
.
WEPAY
.
getCode
()))
{
if
(
param
.
getDeviceFrom
().
equalsIgnoreCase
(
DragonConstant
.
DeviceFromEnum
.
JS
.
getCode
())
||
param
.
getDeviceFrom
().
equalsIgnoreCase
(
DragonConstant
.
DeviceFromEnum
.
APPLET
.
getCode
()))
{
if
(
StringUtil
.
isEmpty
(
param
.
getOpenId
()))
{
return
ResponseDto
.
failure
(
"微信支付openId不能为空!"
);
}
// if (param.getPayType().equals("alipay") && param.getDeviceFrom().equals("wap")) {
// httpData.add("showUrl", param.getShowUrl() + storeOrderVo.getMasterOrderCode());
// httpData.add("returnUrl", param.getReturnUrl() + storeOrderVo.getMasterOrderCode());
// }
// if (param.getPayType().equals("douyinpay")) {
// httpData.add("showUrl", param.getShowUrl() + storeOrderVo.getMasterOrderCode());
// httpData.add("returnUrl", param.getReturnUrl() + storeOrderVo.getMasterOrderCode());
// }
// if (param.getPayType().equals("unionpay")) {
// httpData.add("returnUrl", param.getReturnUrl() + storeOrderVo.getMasterOrderCode());
// }
httpData
.
add
(
"showUrl"
,
param
.
getShowUrl
()
+
storeOrderVo
.
getMasterOrderCode
());
httpData
.
add
(
"returnUrl"
,
param
.
getReturnUrl
()
+
storeOrderVo
.
getMasterOrderCode
());
String
returnData
=
HttpUtil
.
post
(
payUrl
,
httpData
);
}
}
DragonPayBaseReqDto
dragonPayBaseReqDto
=
DragonPayBaseReqDto
.
getNew
();
dragonPayBaseReqDto
.
setPayType
(
param
.
getPayType
());
dragonPayBaseReqDto
.
setDeviceFrom
(
param
.
getDeviceFrom
());
if
(
param
.
getDeviceFrom
().
equals
(
"js"
)
||
param
.
getDeviceFrom
().
equals
(
"applet"
))
{
dragonPayBaseReqDto
.
setOpenId
(
param
.
getOpenId
());
}
dragonPayBaseReqDto
.
setType
(
"PRODUCT"
);
dragonPayBaseReqDto
.
setPrice
(
storeOrderVo
.
getPriceActual
());
String
name
=
storeOrderVo
.
getStoreName
();
if
(
StringUtil
.
isNotNull
(
storeOrderVo
.
getStoreName
())
&&
storeOrderVo
.
getStoreName
().
length
()
>=
32
)
{
name
=
name
.
substring
(
0
,
32
);
}
dragonPayBaseReqDto
.
setName
(
name
);
dragonPayBaseReqDto
.
setDetail
(
"正在现场"
);
dragonPayBaseReqDto
.
setOrderCode
(
storeOrderVo
.
getMasterOrderCode
());
dragonPayBaseReqDto
.
setClientIp
(
CurrentUtil
.
getCliIpAddr
());
dragonPayBaseReqDto
.
setNotifyUrl
(
synUrl
);
dragonPayBaseReqDto
.
setReturnUrl
(
param
.
getReturnUrl
()
+
storeOrderVo
.
getMasterOrderCode
());
dragonPayBaseReqDto
.
setShowUrl
(
param
.
getShowUrl
()
+
storeOrderVo
.
getMasterOrderCode
());
dragonPayBaseReqDto
.
setCreateDate
(
LocalDateTime
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
dragonPayBaseReqDto
.
setExpireTime
(
storeOrderVo
.
getPayCountdownMinute
().
toString
());
ResponseDto
<
DragonPayBaseRespDto
>
responseDto
=
dragonOrdersService
.
dragonPay
(
dragonPayBaseReqDto
);
String
returnData
=
JSON
.
toJSONString
(
responseDto
);
log
.
debug
(
"调用 DRAGON 结果 = "
+
returnData
);
ResponseDto
<
GoblinPayInnerResultVo
>
dto
=
JsonUtils
.
fromJson
(
returnData
,
new
TypeReference
<
ResponseDto
<
GoblinPayInnerResultVo
>>()
{
});
...
...
@@ -889,12 +890,21 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
if
(!
storeOrderVo
.
getUserId
().
equals
(
uid
))
{
return
null
;
}
String
returnCheckData
=
HttpUtil
.
get
(
checkUrl
+
"?code="
+
storeOrderVo
.
getPayCode
(),
null
);
ResponseDto
<
SyncOrderParam
>
syncOrderDtoParam
=
JsonUtils
.
fromJson
(
returnCheckData
,
new
TypeReference
<
ResponseDto
<
SyncOrderParam
>>()
{
});
if
(
syncOrderDtoParam
.
getData
().
getStatus
()
==
1
)
{
DragonPayOrderQueryRespDto
data
=
dragonOrdersService
.
checkOrderStatusByCode
(
storeOrderVo
.
getPayCode
());
SyncOrderParam
syncOrderDtoParam
=
SyncOrderParam
.
getNew
();
syncOrderDtoParam
.
setCode
(
data
.
getCode
());
syncOrderDtoParam
.
setOrderCode
(
data
.
getOrderCode
());
syncOrderDtoParam
.
setOrderCodeId
(
data
.
getOrderCodeId
());
syncOrderDtoParam
.
setOrderId
(
data
.
getOrderCodeId
());
syncOrderDtoParam
.
setPaymentAt
(
data
.
getPaymentAt
());
syncOrderDtoParam
.
setPaymentId
(
data
.
getPaymentId
());
syncOrderDtoParam
.
setPaymentType
(
data
.
getPaymentType
());
syncOrderDtoParam
.
setPrice
(
data
.
getPrice
());
syncOrderDtoParam
.
setStatus
(
data
.
getStatus
());
syncOrderDtoParam
.
setType
(
data
.
getType
());
if
(
syncOrderDtoParam
.
getStatus
()
==
1
)
{
//处理订单
syncOrder
(
syncOrderDtoParam
.
getData
()
);
syncOrder
(
syncOrderDtoParam
);
return
ResponseDto
.
success
(
1
);
}
else
{
return
ResponseDto
.
success
(
0
);
...
...
@@ -910,12 +920,22 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
}
else
{
for
(
String
orderId
:
orderIds
)
{
GoblinStoreOrderVo
storeOrderVo
=
redisUtils
.
getGoblinOrder
(
orderId
);
String
returnCheckData
=
HttpUtil
.
get
(
checkUrl
+
"?code="
+
storeOrderVo
.
getPayCode
(),
null
);
ResponseDto
<
SyncOrderParam
>
syncOrderDtoParam
=
JsonUtils
.
fromJson
(
returnCheckData
,
new
TypeReference
<
ResponseDto
<
SyncOrderParam
>>()
{
});
if
(
syncOrderDtoParam
.
getData
().
getStatus
()
==
1
)
{
DragonPayOrderQueryRespDto
data
=
dragonOrdersService
.
checkOrderStatusByCode
(
storeOrderVo
.
getPayCode
());
SyncOrderParam
syncOrderDtoParam
=
SyncOrderParam
.
getNew
();
syncOrderDtoParam
.
setCode
(
data
.
getCode
());
syncOrderDtoParam
.
setOrderCode
(
data
.
getOrderCode
());
syncOrderDtoParam
.
setOrderCodeId
(
data
.
getOrderCodeId
());
syncOrderDtoParam
.
setOrderId
(
data
.
getOrderCodeId
());
syncOrderDtoParam
.
setPaymentAt
(
data
.
getPaymentAt
());
syncOrderDtoParam
.
setPaymentId
(
data
.
getPaymentId
());
syncOrderDtoParam
.
setPaymentType
(
data
.
getPaymentType
());
syncOrderDtoParam
.
setPrice
(
data
.
getPrice
());
syncOrderDtoParam
.
setStatus
(
data
.
getStatus
());
syncOrderDtoParam
.
setType
(
data
.
getType
());
if
(
syncOrderDtoParam
.
getStatus
()
==
1
)
{
//处理订单
syncOrder
(
syncOrderDtoParam
.
getData
());
syncOrder
(
syncOrderDtoParam
);
return
ResponseDto
.
success
(
1
);
}
else
{
return
ResponseDto
.
success
(
0
);
}
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/service/impl/KylinOrderTicketsServiceImpl.java
View file @
ff53d559
package
com
.
liquidnet
.
service
.
order
.
service
.
impl
;
import
com.
liquidnet.common.cache.redis.util.RedisUtil
;
import
com.
alibaba.fastjson.JSON
;
import
com.liquidnet.common.sms.constant.SmsEnum
;
import
com.liquidnet.commons.lang.util.*
;
import
com.liquidnet.service.adam.dto.vo.AdamEntersVo
;
import
com.liquidnet.service.adam.dto.vo.AdamRscPolymer01Vo
;
import
com.liquidnet.service.base.*
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.service.dragon.constant.DragonConstant
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseReqDto
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseRespDto
;
import
com.liquidnet.service.dragon.dto.DragonPayOrderQueryRespDto
;
import
com.liquidnet.service.dragon.service.IDragonOrdersService
;
import
com.liquidnet.service.kylin.constant.KylinTableStatusConst
;
import
com.liquidnet.service.kylin.dto.param.*
;
import
com.liquidnet.service.kylin.dto.vo.KylinAgentVo
;
...
...
@@ -21,7 +24,6 @@ import com.liquidnet.service.kylin.dto.vo.returns.PayInnerResultVo;
import
com.liquidnet.service.kylin.dto.vo.returns.PayResultVo
;
import
com.liquidnet.service.kylin.entity.*
;
import
com.liquidnet.service.kylin.service.IKylinOrderTicketsOrderService
;
import
com.liquidnet.service.order.service.InnerService
;
import
com.liquidnet.service.order.utils.*
;
import
com.taobao.api.TaobaoClient
;
import
com.taobao.api.request.AlibabaDamaiMevOpenBatchpushticketRequest
;
...
...
@@ -56,12 +58,10 @@ import java.util.*;
@Slf4j
public
class
KylinOrderTicketsServiceImpl
implements
IKylinOrderTicketsOrderService
{
@Value
(
"${liquidnet.url-pay.pay}"
)
private
String
payUrl
;
@Value
(
"${liquidnet.url-pay.check}"
)
private
String
checkUrl
;
@Value
(
"${liquidnet.url-pay.localUrl}"
)
private
String
synUrl
;
@Autowired
IDragonOrdersService
dragonOrdersService
;
@Autowired
private
DataUtils
dataUtils
;
...
...
@@ -636,34 +636,36 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
name
=
"正在现场"
;
}
// 调用支付
LinkedMultiValueMap
<
String
,
String
>
httpData
=
ObjectUtil
.
cloneLinkedMultiValueMapStringAndString
();
httpData
.
add
(
"type"
,
"TICKET"
);
httpData
.
add
(
"price"
,
orderTickets
.
getPriceActual
().
toString
());
httpData
.
add
(
"name"
,
name
);
httpData
.
add
(
"detail"
,
content
);
httpData
.
add
(
"orderCode"
,
orderTickets
.
getOrderCode
());
httpData
.
add
(
"clientIp"
,
CurrentUtil
.
getCliIpAddr
());
httpData
.
add
(
"notifyUrl"
,
synUrl
);
httpData
.
add
(
"createDate"
,
orderTickets
.
getCreatedAt
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
httpData
.
add
(
"expireTime"
,
(
orderTickets
.
getPayCountdownMinute
())
+
""
);
httpData
.
add
(
"payType"
,
payOrderParam
.
getPayType
());
httpData
.
add
(
"deviceFrom"
,
payOrderParam
.
getDeviceFrom
());
if
(
payOrderParam
.
getDeviceFrom
().
equals
(
"js"
)
||
payOrderParam
.
getDeviceFrom
().
equals
(
"applet"
))
{
httpData
.
add
(
"openId"
,
payOrderParam
.
getOpenId
());
}
if
(
payOrderParam
.
getPayType
().
equals
(
"alipay"
)
&&
payOrderParam
.
getDeviceFrom
().
equals
(
"wap"
))
{
httpData
.
add
(
"showUrl"
,
payOrderParam
.
getShowUrl
()
+
orderTicketId
);
httpData
.
add
(
"returnUrl"
,
payOrderParam
.
getReturnUrl
()
+
orderTicketId
);
if
(
payOrderParam
.
getPayType
().
equalsIgnoreCase
(
DragonConstant
.
PayChannelEnum
.
WEPAY
.
getCode
()))
{
if
(
payOrderParam
.
getDeviceFrom
().
equalsIgnoreCase
(
DragonConstant
.
DeviceFromEnum
.
JS
.
getCode
())
||
payOrderParam
.
getDeviceFrom
().
equalsIgnoreCase
(
DragonConstant
.
DeviceFromEnum
.
APPLET
.
getCode
()))
{
if
(
StringUtil
.
isEmpty
(
payOrderParam
.
getOpenId
()))
{
return
ResponseDto
.
failure
(
"微信支付openId不能为空!"
);
}
if
(
payOrderParam
.
getPayType
().
equals
(
"douyinpay"
))
{
httpData
.
add
(
"showUrl"
,
payOrderParam
.
getShowUrl
()
+
orderTicketId
);
httpData
.
add
(
"returnUrl"
,
payOrderParam
.
getReturnUrl
()
+
orderTicketId
);
}
if
(
payOrderParam
.
getPayType
().
equals
(
"unionpay"
))
{
httpData
.
add
(
"returnUrl"
,
payOrderParam
.
getReturnUrl
()
+
orderTicketId
);
}
log
.
debug
(
"调用 DRAGON 参数 = "
+
httpData
.
toString
());
String
returnData
=
HttpUtil
.
post
(
payUrl
,
httpData
);
DragonPayBaseReqDto
dragonPayBaseReqDto
=
DragonPayBaseReqDto
.
getNew
();
dragonPayBaseReqDto
.
setPayType
(
payOrderParam
.
getPayType
());
dragonPayBaseReqDto
.
setDeviceFrom
(
payOrderParam
.
getDeviceFrom
());
if
(
payOrderParam
.
getDeviceFrom
().
equals
(
"js"
)
||
payOrderParam
.
getDeviceFrom
().
equals
(
"applet"
))
{
dragonPayBaseReqDto
.
setOpenId
(
payOrderParam
.
getOpenId
());
}
dragonPayBaseReqDto
.
setType
(
"TICKET"
);
dragonPayBaseReqDto
.
setPrice
(
orderTickets
.
getPriceActual
());
if
(
StringUtil
.
isNotNull
(
name
)
&&
name
.
length
()
>=
32
)
{
name
=
name
.
substring
(
0
,
32
);
}
dragonPayBaseReqDto
.
setName
(
name
);
dragonPayBaseReqDto
.
setDetail
(
"正在现场"
);
dragonPayBaseReqDto
.
setOrderCode
(
orderTickets
.
getOrderCode
());
dragonPayBaseReqDto
.
setClientIp
(
CurrentUtil
.
getCliIpAddr
());
dragonPayBaseReqDto
.
setNotifyUrl
(
synUrl
);
dragonPayBaseReqDto
.
setReturnUrl
(
payOrderParam
.
getReturnUrl
()
+
orderTicketId
);
dragonPayBaseReqDto
.
setShowUrl
(
payOrderParam
.
getShowUrl
()
+
orderTicketId
);
dragonPayBaseReqDto
.
setCreateDate
(
orderTickets
.
getCreatedAt
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
dragonPayBaseReqDto
.
setExpireTime
(
orderTickets
.
getPayCountdownMinute
()
+
""
);
ResponseDto
<
DragonPayBaseRespDto
>
responseDto
=
dragonOrdersService
.
dragonPay
(
dragonPayBaseReqDto
);
String
returnData
=
JSON
.
toJSONString
(
responseDto
);
log
.
debug
(
"调用 DRAGON 结果 = "
+
returnData
);
payResultVo
=
JsonUtils
.
fromJson
(
returnData
,
PayResultVo
.
class
);
payResultVo
.
getData
().
setOrderId
(
orderTicketId
);
...
...
@@ -747,9 +749,8 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20026"
));
}
}
String
returnCheckData
=
HttpUtil
.
get
(
checkUrl
+
"?code="
+
orderTicketData
.
getPayCode
(),
null
);
PayResultVo
checkVo
=
JsonUtils
.
fromJson
(
returnCheckData
,
PayResultVo
.
class
);
if
(
checkVo
.
getData
().
getStatus
()
==
1
)
{
DragonPayOrderQueryRespDto
checkVo
=
dragonOrdersService
.
checkOrderStatusByCode
(
orderTicketData
.
getPayCode
());
if
(
checkVo
.
getStatus
()
==
1
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20027"
));
}
if
(!
orderTicketData
.
getPayType
().
equals
(
"no"
))
{
...
...
@@ -757,42 +758,41 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
if
(
orderTicketData
.
getEntitiesVoList
().
size
()
==
0
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20004"
));
}
KylinOrderTicketEntitiesVo
entitiesData
=
orderTicketData
.
getEntitiesVoList
().
get
(
0
);
String
name
=
dataUtils
.
getTicketPayTxt
(
orderTicketData
.
getTicketId
());
if
(
name
.
equals
(
""
))
{
name
=
"正在现场"
;
}
LinkedMultiValueMap
<
String
,
String
>
httpData
=
ObjectUtil
.
cloneLinkedMultiValueMapStringAndString
();
httpData
.
add
(
"type"
,
"TICKET"
);
httpData
.
add
(
"price"
,
orderTicketData
.
getPriceActual
().
toString
());
httpData
.
add
(
"name"
,
name
);
httpData
.
add
(
"detail"
,
entitiesData
.
getPerformanceTitle
()
+
"-"
+
entitiesData
.
getTicketTitle
()
+
"-"
+
entitiesData
.
getUseStart
());
httpData
.
add
(
"orderCode"
,
orderTicketData
.
getOrderCode
());
httpData
.
add
(
"clientIp"
,
CurrentUtil
.
getCliIpAddr
());
httpData
.
add
(
"notifyUrl"
,
synUrl
);
httpData
.
add
(
"createDate"
,
orderTicketData
.
getCreatedAt
());
httpData
.
add
(
"expireTime"
,
orderTicketData
.
getPayCountdownMinute
().
toString
());
httpData
.
add
(
"payType"
,
payAgainParam
.
getPayType
());
httpData
.
add
(
"deviceFrom"
,
payAgainParam
.
getDeviceFrom
());
if
(
payAgainParam
.
getDeviceFrom
().
equals
(
"js"
)
||
payAgainParam
.
getDeviceFrom
().
equals
(
"applet"
))
{
httpData
.
add
(
"openId"
,
payAgainParam
.
getOpenId
());
}
if
(
payAgainParam
.
getPayType
().
equals
(
"alipay"
)
&&
payAgainParam
.
getDeviceFrom
().
equals
(
"wap"
))
{
httpData
.
add
(
"showUrl"
,
payAgainParam
.
getShowUrl
()
+
payAgainParam
.
getOrderId
());
httpData
.
add
(
"returnUrl"
,
payAgainParam
.
getReturnUrl
()
+
payAgainParam
.
getOrderId
());
if
(
payAgainParam
.
getPayType
().
equalsIgnoreCase
(
DragonConstant
.
PayChannelEnum
.
WEPAY
.
getCode
()))
{
if
(
payAgainParam
.
getDeviceFrom
().
equalsIgnoreCase
(
DragonConstant
.
DeviceFromEnum
.
JS
.
getCode
())
||
payAgainParam
.
getDeviceFrom
().
equalsIgnoreCase
(
DragonConstant
.
DeviceFromEnum
.
APPLET
.
getCode
()))
{
if
(
StringUtil
.
isEmpty
(
payAgainParam
.
getOpenId
()))
{
return
ResponseDto
.
failure
(
"微信支付openId不能为空!"
);
}
if
(
payAgainParam
.
getPayType
().
equals
(
"douyinpay"
))
{
httpData
.
add
(
"showUrl"
,
payAgainParam
.
getShowUrl
()
+
payAgainParam
.
getOrderId
());
httpData
.
add
(
"returnUrl"
,
payAgainParam
.
getReturnUrl
()
+
payAgainParam
.
getOrderId
());
}
if
(
payAgainParam
.
getPayType
().
equals
(
"unionpay"
))
{
httpData
.
add
(
"returnUrl"
,
payAgainParam
.
getReturnUrl
()
+
payAgainParam
.
getOrderId
());
}
String
returnData
=
HttpUtil
.
post
(
payUrl
,
httpData
);
DragonPayBaseReqDto
dragonPayBaseReqDto
=
DragonPayBaseReqDto
.
getNew
();
dragonPayBaseReqDto
.
setPayType
(
payAgainParam
.
getPayType
());
dragonPayBaseReqDto
.
setDeviceFrom
(
payAgainParam
.
getDeviceFrom
());
if
(
payAgainParam
.
getDeviceFrom
().
equals
(
"js"
)
||
payAgainParam
.
getDeviceFrom
().
equals
(
"applet"
))
{
dragonPayBaseReqDto
.
setOpenId
(
payAgainParam
.
getOpenId
());
}
dragonPayBaseReqDto
.
setType
(
"TICKET"
);
dragonPayBaseReqDto
.
setPrice
(
orderTicketData
.
getPriceActual
());
if
(
StringUtil
.
isNotNull
(
name
)
&&
name
.
length
()
>=
32
)
{
name
=
name
.
substring
(
0
,
32
);
}
dragonPayBaseReqDto
.
setName
(
name
);
dragonPayBaseReqDto
.
setDetail
(
"正在现场"
);
dragonPayBaseReqDto
.
setOrderCode
(
orderTicketData
.
getOrderCode
());
dragonPayBaseReqDto
.
setClientIp
(
CurrentUtil
.
getCliIpAddr
());
dragonPayBaseReqDto
.
setNotifyUrl
(
synUrl
);
dragonPayBaseReqDto
.
setReturnUrl
(
payAgainParam
.
getReturnUrl
()
+
payAgainParam
.
getOrderId
());
dragonPayBaseReqDto
.
setShowUrl
(
payAgainParam
.
getShowUrl
()
+
payAgainParam
.
getOrderId
());
dragonPayBaseReqDto
.
setCreateDate
(
orderTicketData
.
getCreatedAt
());
dragonPayBaseReqDto
.
setExpireTime
(
orderTicketData
.
getPayCountdownMinute
().
toString
());
ResponseDto
<
DragonPayBaseRespDto
>
responseDto
=
dragonOrdersService
.
dragonPay
(
dragonPayBaseReqDto
);
String
returnData
=
JSON
.
toJSONString
(
responseDto
);
PayResultVo
payResultVo
=
JsonUtils
.
fromJson
(
returnData
,
PayResultVo
.
class
);
payResultVo
.
getData
().
setOrderId
(
orderTicketData
.
getOrderTicketsId
());
payResultVo
.
getData
().
setPrice
(
orderTicketData
.
getPriceActual
());
...
...
@@ -1070,11 +1070,19 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
if
(
orderTicketData
==
null
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20024"
));
}
else
{
String
returnCheckData
=
HttpUtil
.
get
(
checkUrl
+
"?code="
+
orderTicketData
.
getPayCode
(),
null
);
SyncOrderDtoParam
syncOrderDtoParam
=
JsonUtils
.
fromJson
(
returnCheckData
,
SyncOrderDtoParam
.
class
);
if
(
syncOrderDtoParam
.
getData
().
getStatus
()
==
1
)
{
DragonPayOrderQueryRespDto
data
=
dragonOrdersService
.
checkOrderStatusByCode
(
orderTicketData
.
getPayCode
());
SyncOrderParam
syncOrderDtoParam
=
SyncOrderParam
.
getNew
();
syncOrderDtoParam
.
setCode
(
data
.
getCode
());
syncOrderDtoParam
.
setOrderCode
(
data
.
getOrderCode
());
syncOrderDtoParam
.
setPaymentAt
(
data
.
getPaymentAt
());
syncOrderDtoParam
.
setPaymentId
(
data
.
getPaymentId
());
syncOrderDtoParam
.
setPaymentType
(
data
.
getPaymentType
());
syncOrderDtoParam
.
setPrice
(
data
.
getPrice
());
syncOrderDtoParam
.
setStatus
(
data
.
getStatus
());
syncOrderDtoParam
.
setType
(
data
.
getType
());
if
(
syncOrderDtoParam
.
getStatus
()
==
1
)
{
//处理订单
syncOrder
(
syncOrderDtoParam
.
getData
()
);
syncOrder
(
syncOrderDtoParam
);
return
ResponseDto
.
success
(
1
);
}
else
{
return
ResponseDto
.
success
(
0
);
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/utils/GoblinOrderUtils.java
View file @
ff53d559
...
...
@@ -9,6 +9,9 @@ import com.liquidnet.service.base.SqlMapping;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.candy.param.BackCouponParam
;
import
com.liquidnet.service.candy.vo.CandyUseResultVo
;
import
com.liquidnet.service.dragon.dto.DragonRefundAppDto
;
import
com.liquidnet.service.dragon.service.IDragonOrderRefundsService
;
import
com.liquidnet.service.dragon.service.IDragonOrdersService
;
import
com.liquidnet.service.goblin.constant.GoblinStatusConst
;
import
com.liquidnet.service.goblin.dto.GoblinQueueBizIntegralDto
;
import
com.liquidnet.service.goblin.dto.GoblinQueueBizMongoDto
;
...
...
@@ -36,8 +39,8 @@ public class GoblinOrderUtils {
private
String
candyUrl
;
@Value
(
"${liquidnet.service.order.url-pay.goblinRefundUrl}"
)
private
String
synUrl
;
@
Value
(
"${liquidnet.service.dragon.urls.refundApply}"
)
private
String
refundApply
;
@
Autowired
private
IDragonOrderRefundsService
dragonOrderRefundsService
;
@Autowired
QueueUtils
queueUtils
;
...
...
@@ -228,6 +231,7 @@ public class GoblinOrderUtils {
/**
* mongo操作入队列
*
* @param collect Mongo集合名
* @param column Mongo集合中的字段属性名称
* @param bizId Mongo集合中的字段属性值
...
...
@@ -481,23 +485,21 @@ public class GoblinOrderUtils {
}
private
String
initRefund
(
GoblinStoreOrderVo
orderVo
,
BigDecimal
price
,
String
refundCode
)
{
MultiValueMap
<
String
,
String
>
params
=
CollectionUtil
.
linkedMultiValueMapStringString
();
params
.
add
(
"code"
,
orderVo
.
getPayCode
());
params
.
add
(
"notifyUrl"
,
synUrl
);
params
.
add
(
"orderCode"
,
orderVo
.
getMasterOrderCode
());
params
.
add
(
"orderRefundCode"
,
refundCode
);
params
.
add
(
"paymentId"
,
orderVo
.
getPaymentId
());
params
.
add
(
"paymentType"
,
orderVo
.
getPaymentType
());
params
.
add
(
"price"
,
String
.
valueOf
(
price
));
BigDecimal
totalPrice
=
BigDecimal
.
ZERO
;
totalPrice
=
totalPrice
.
add
(
price
);
params
.
add
(
"priceTotal"
,
String
.
valueOf
(
totalPrice
));
params
.
add
(
"reason"
,
"超时支付"
);
MultiValueMap
<
String
,
String
>
headers
=
CollectionUtil
.
linkedMultiValueMapStringString
();
headers
.
add
(
"Accept"
,
"application/json;charset=UTF-8"
);
String
returnString
=
HttpUtil
.
post
(
refundApply
,
params
,
headers
);
ResponseDto
<
DragonRefundAppDto
>
returnData
=
dragonOrderRefundsService
.
dragonRefund
(
orderVo
.
getMasterOrderCode
(),
orderVo
.
getPayCode
(),
refundCode
,
"超时支付"
,
synUrl
,
price
,
orderVo
.
getPaymentType
(),
orderVo
.
getPaymentId
(),
totalPrice
);
String
returnString
=
JSON
.
toJSONString
(
returnData
);
log
.
debug
(
"REFUND DATA = "
+
returnString
);
return
returnString
;
return
JsonUtils
.
toJson
(
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