记得上下班打卡 | 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
fd338d8d
Commit
fd338d8d
authored
May 28, 2024
by
zhoujianping
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.支付宝小程序退款接口增加回调地址修改
parent
a35c62ab
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
33 additions
and
17 deletions
+33
-17
PayChannelStrategyAlipayImpl.java
...n/channel/strategy/impl/PayChannelStrategyAlipayImpl.java
+6
-1
DragonOrderRefundsServiceImpl.java
...ce/dragon/service/impl/DragonOrderRefundsServiceImpl.java
+27
-16
No files found.
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/dragon/channel/strategy/impl/PayChannelStrategyAlipayImpl.java
View file @
fd338d8d
...
...
@@ -101,7 +101,12 @@ public class PayChannelStrategyAlipayImpl extends AbstractPayChannelStrategyImpl
//退款
if
(
notifyMap
.
containsKey
(
"refund_fee"
)
||
notifyMap
.
containsKey
(
"gmt_refund"
)
||
notifyMap
.
containsKey
(
"out_biz_no"
))
{
returnStr
=
dragonOrderRefundsService
.
aliPayRefundCallBack
(
JSON
.
toJSONString
(
notifyMap
),
payType
,
deviceFrom
);
//小程序退款不需要退款回调,手动修改退款状态
if
(!(
payType
.
equals
(
DragonConstant
.
PayChannelEnum
.
ALIPAY
.
getCode
())
&&
deviceFrom
.
equals
(
DragonConstant
.
DeviceFromEnum
.
APPLET
.
getCode
()))){
returnStr
=
dragonOrderRefundsService
.
aliPayRefundCallBack
(
JSON
.
toJSONString
(
notifyMap
),
null
);
}
else
{
returnStr
=
"success"
;
}
return
returnStr
;
}
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/dragon/service/impl/DragonOrderRefundsServiceImpl.java
View file @
fd338d8d
...
...
@@ -44,6 +44,7 @@ import javax.servlet.http.HttpServletResponse;
import
java.io.ByteArrayOutputStream
;
import
java.io.InputStream
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.time.LocalDateTime
;
import
java.util.HashMap
;
import
java.util.Map
;
...
...
@@ -71,6 +72,8 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
private
String
unionMerchantId
;
@Autowired
private
UnionpayBiz
unionpayBiz
;
@Autowired
private
DragonOrderRefundsServiceImpl
dragonOrderRefundsService
;
@Override
public
ResponseDto
<
DragonRefundAppDto
>
dragonRefund
(
String
orderCode
,
String
code
,
String
orderRefundCode
,
String
reason
,
String
notifyUrl
,
BigDecimal
price
,
String
paymentType
,
String
paymentId
,
BigDecimal
priceTotal
)
{
...
...
@@ -576,7 +579,7 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
// 修改退款订单
mqHandleUtil
.
sendMySqlRedis
(
SqlMapping
.
get
(
"dragon_order_refund_error.update"
),
new
Object
[]{
nowTime
,
refundError
,
refundStatus
,
c
ode
},
new
Object
[]{
nowTime
,
refundError
,
refundStatus
,
refundC
ode
},
DragonConstant
.
MysqlRedisQueueEnum
.
DRAGON_REFUND_KEY
.
getCode
()
);
}
catch
(
Exception
e
)
{
...
...
@@ -613,12 +616,23 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
}
else
{
refundStatus
=
DragonConstant
.
RefundStatusEnum
.
STATUS_REFUNDING
.
getCode
();
}
log
.
info
(
"支付宝退款成功code={},refundStatus={}"
,
code
,
refundStatus
);
mqHandleUtil
.
sendMySqlRedis
(
SqlMapping
.
get
(
"dragon_order_refund_success.update"
),
new
Object
[]{
nowTime
,
refundAt
,
refundStatus
,
code
},
DragonConstant
.
MysqlRedisQueueEnum
.
DRAGON_REFUND_KEY
.
getCode
()
);
log
.
info
(
"支付宝退款成功refundCode{},refundStatus={}"
,
refundCode
,
refundStatus
);
//支付宝小程序全额退款不会异步通知
if
(
paymentType
.
equals
(
DragonConstant
.
REFUND_TYPE_APPLET_ALIPAY
)){
AliPayRefundReturnCallBackDto
aliPayRefundReturnCallBackDto
=
new
AliPayRefundReturnCallBackDto
();
aliPayRefundReturnCallBackDto
.
setOutTradeNo
(
code
);
aliPayRefundReturnCallBackDto
.
setTradeNo
(
response
.
getTradeNo
());
aliPayRefundReturnCallBackDto
.
setOutBizNo
(
refundCode
);
//手动触发通知
dragonOrderRefundsService
.
aliPayRefundCallBack
(
JSON
.
toJSONString
(
aliPayRefundReturnCallBackDto
),
paymentType
);
}
else
{
mqHandleUtil
.
sendMySqlRedis
(
SqlMapping
.
get
(
"dragon_order_refund_success.update"
),
new
Object
[]{
nowTime
,
refundAt
,
refundStatus
,
refundCode
},
DragonConstant
.
MysqlRedisQueueEnum
.
DRAGON_REFUND_KEY
.
getCode
()
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
channelDto
.
setResult
(
"exception"
);
...
...
@@ -917,7 +931,6 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
dto
.
setRefundCode
(
response
.
getOutTradeNo
());
dto
.
setRefundPrice
(
response
.
getRefundAmount
());
dto
.
setRefundAt
(
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
format
(
LocalDateTime
.
now
()));
dto
.
setRefundPrice
(
response
.
getRefundAmount
());
dto
.
setRefundError
(
""
);
sendNotifyUrl
(
dto
,
callBackUrl
);
...
...
@@ -951,7 +964,7 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
return
null
;
}
public
String
aliPayRefundCallBack
(
String
jsonStr
,
String
pay
Type
,
String
deviceFrom
)
{
public
String
aliPayRefundCallBack
(
String
jsonStr
,
String
pay
mentType
)
{
LocalDateTime
nowTime
=
LocalDateTime
.
now
();
try
{
AliPayRefundReturnCallBackDto
callBackDto
=
JsonUtils
.
fromJson
(
jsonStr
,
AliPayRefundReturnCallBackDto
.
class
);
...
...
@@ -961,12 +974,11 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
"\"trade_no\":\""
+
callBackDto
.
getTradeNo
()
+
"\","
+
"\"out_request_no\":\""
+
callBackDto
.
getOutBizNo
()
+
"\"}"
);
//设置业务参数
AlipayClient
httpClient
=
null
;
if
(
payType
.
equals
(
DragonConstant
.
PayChannelEnum
.
ALIPAY
.
getCode
())
&&
deviceFrom
.
equals
(
DragonConstant
.
DeviceFromEnum
.
APPLET
.
getCode
())){
//支付小程序
httpClient
=
PayAlipayUtils
.
getInstance
().
getHttpClientApplet
();
}
else
{
httpClient
=
PayAlipayUtils
.
getInstance
().
getHttpClient
();
}
if
(
null
!=
paymentType
&&
paymentType
.
equals
(
DragonConstant
.
REFUND_TYPE_APPLET_ALIPAY
)){
httpClient
=
PayAlipayUtils
.
getInstance
().
getHttpClientApplet
();
}
else
{
httpClient
=
PayAlipayUtils
.
getInstance
().
getHttpClient
();
}
AlipayTradeFastpayRefundQueryResponse
response
=
httpClient
.
execute
(
request
);
log
.
info
(
"AlipayTradeFastpayRefundQueryRequest -> data = "
+
JSON
.
toJSONString
(
response
));
...
...
@@ -982,7 +994,6 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
dto
.
setRefundCode
(
response
.
getOutTradeNo
());
dto
.
setRefundPrice
(
response
.
getRefundAmount
());
dto
.
setRefundAt
(
callBackDto
.
getGmtRefund
());
dto
.
setRefundPrice
(
response
.
getRefundAmount
());
dto
.
setRefundError
(
""
);
sendNotifyUrl
(
dto
,
null
);
...
...
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