Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
order-group
Overview
Overview
Details
Activity
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
order-group-application
order-group
Commits
5f8adc4a
Commit
5f8adc4a
authored
Dec 03, 2021
by
周晓航
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交对接基础服务api, 退款失败记录补偿日志
Signed-off-by: 周晓航 <xiaohang.zhou@freemud.com>
parent
9c1cd9f4
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
89 additions
and
8 deletions
+89
-8
order-application-service/src/main/java/cn/freemud/entities/dto/order/RefundFailureRequestDTO.java
+59
-0
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+22
-8
order-application-service/src/main/java/cn/freemud/service/thirdparty/OrderServiceClient.java
+8
-0
No files found.
order-application-service/src/main/java/cn/freemud/entities/dto/order/RefundFailureRequestDTO.java
0 → 100644
View file @
5f8adc4a
package
cn
.
freemud
.
entities
.
dto
.
order
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/12/3 上午10:36
* @description :
*/
@Data
@Builder
@AllArgsConstructor
public
class
RefundFailureRequestDTO
{
/**
* 0:其他
*/
public
static
int
FAILURETYPE_OTHER
=
0
;
/**
* 1:账户无余额
*/
public
static
int
FAILURETYPE_NOT_SUFFICIENT_FUNDS
=
1
;
/**
* 2:系统异常
*/
public
static
int
FAILURETYPE_SYSTEM_ERROR
=
2
;
/**
*
*/
private
String
orderCode
;
/**
* 失败类型 0:其他 1:账户无余额2:系统异常
*/
private
int
failureType
;
/**
* 失败原因
*/
private
String
reason
;
/**
*
*/
private
String
partnerId
;
/**
*
*/
private
String
operator
;
private
int
ver
=
0
;
}
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
5f8adc4a
...
@@ -3359,9 +3359,16 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -3359,9 +3359,16 @@ public class OrderServiceImpl implements Orderservice {
// 走正常退款订单逻辑 这里是否可以丢MQ 异步操作
// 走正常退款订单逻辑 这里是否可以丢MQ 异步操作
checkResult
=
this
.
doCouponOrderRefund
(
orderBean
,
orderRefundVo
);
try
{
if
(!
Objects
.
equals
(
checkResult
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
this
.
doCouponOrderRefund
(
orderBean
,
orderRefundVo
);
return
checkResult
;
}
catch
(
Exception
e
){
RefundFailureRequestDTO
requestDTO
=
RefundFailureRequestDTO
.
builder
().
orderCode
(
orderBean
.
getOrderCode
())
.
failureType
(
RefundFailureRequestDTO
.
FAILURETYPE_SYSTEM_ERROR
)
.
reason
(
JSON
.
toJSONString
(
e
.
getMessage
()))
.
partnerId
(
orderBean
.
getPartnerId
())
.
operator
(
""
)
.
ver
(
0
).
build
();
orderServiceClient
.
refundFailures
(
requestDTO
);
}
}
return
ResponseUtil
.
success
();
return
ResponseUtil
.
success
();
}
}
...
@@ -3385,11 +3392,19 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -3385,11 +3392,19 @@ public class OrderServiceImpl implements Orderservice {
orderPayRefundRequest
.
setRefundDesc
(
orderRefundVo
.
getReason
()
==
null
?
"用户退款"
:
orderRefundVo
.
getReason
());
orderPayRefundRequest
.
setRefundDesc
(
orderRefundVo
.
getReason
()
==
null
?
"用户退款"
:
orderRefundVo
.
getReason
());
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
OrderRefundResponse
>
response
=
payServiceImpl
.
orderRefund
(
orderPayRefundRequest
);
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
OrderRefundResponse
>
response
=
payServiceImpl
.
orderRefund
(
orderPayRefundRequest
);
if
(
response
==
null
||
response
.
getData
()
==
null
||
!
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
domain
.
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
response
.
getCode
()))
{
if
(
response
==
null
||
response
.
getData
()
==
null
||
!
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
domain
.
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
response
.
getCode
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER__ERRORREFUND
.
getCode
(),
"orderRefund_failed"
);
String
failMsg
=
Objects
.
isNull
(
response
)
?
"支付退款失败"
:
JSON
.
toJSONString
(
response
);
//TODO 退款失败则记录到世昌的表里
RefundFailureRequestDTO
requestDTO
=
RefundFailureRequestDTO
.
builder
().
orderCode
(
orderBean
.
getOrderCode
())
.
failureType
(
RefundFailureRequestDTO
.
FAILURETYPE_NOT_SUFFICIENT_FUNDS
)
.
reason
(
failMsg
)
.
partnerId
(
orderBean
.
getPartnerId
())
.
operator
(
""
)
.
ver
(
0
).
build
();
orderServiceClient
.
refundFailures
(
requestDTO
);
// 不中断申请退款操作
// return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), failMsg);
}
}
//TODO 退款失败则记录到世昌的表里
//获取支付返回退款状态
//获取支付返回退款状态
state
=
response
.
getData
().
getRefundStatus
()
==
null
?
PayRefundStatus
.
SUCCESS
.
getCode
()
:
response
.
getData
().
getRefundStatus
();
state
=
response
.
getData
().
getRefundStatus
()
==
null
?
PayRefundStatus
.
SUCCESS
.
getCode
()
:
response
.
getData
().
getRefundStatus
();
}
}
...
@@ -3414,12 +3429,11 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -3414,12 +3429,11 @@ public class OrderServiceImpl implements Orderservice {
cancelOrderRequest
.
setExtInfoReq
(
salesOrderExtInfoReq
);
cancelOrderRequest
.
setExtInfoReq
(
salesOrderExtInfoReq
);
BaseOrderResponse
baseOrderResponse
=
orderCenterSdkService
.
orderCancel
(
cancelOrderRequest
);
BaseOrderResponse
baseOrderResponse
=
orderCenterSdkService
.
orderCancel
(
cancelOrderRequest
);
if
(
baseOrderResponse
==
null
||
!
ObjectUtils
.
equals
(
ResponseConstant
.
SUCCESS_RESPONSE_CODE
,
baseOrderResponse
.
getErrcode
()))
{
if
(
baseOrderResponse
==
null
||
!
ObjectUtils
.
equals
(
ResponseConstant
.
SUCCESS_RESPONSE_CODE
,
baseOrderResponse
.
getErrcode
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER__ERRORREFUND
.
getCode
(),
"orderRefund_failed"
);
throw
new
ServiceException
(
ResponseResult
.
ORDER__ERRORREFUND
);
}
}
// 删除订单 通知活动添加商品库存 status 需要老订单的 ordercode
// 删除订单 通知活动添加商品库存 status 需要老订单的 ordercode
// orderQueueService.backOrdersStatusChange(orderBean.getOrderCode(), OrderStatusV1.getOldCode(orderBean.getOrderState()), orderBean.getPayState());
// orderQueueService.backOrdersStatusChange(orderBean.getOrderCode(), OrderStatusV1.getOldCode(orderBean.getOrderState()), orderBean.getPayState());
return
ResponseUtil
.
success
();
return
ResponseUtil
.
success
();
}
}
...
...
order-application-service/src/main/java/cn/freemud/service/thirdparty/OrderServiceClient.java
View file @
5f8adc4a
...
@@ -4,6 +4,7 @@ import cn.freemud.annotations.LogIgnoreFeign;
...
@@ -4,6 +4,7 @@ import cn.freemud.annotations.LogIgnoreFeign;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.dto.QueryInvoiceRepDto
;
import
cn.freemud.entities.dto.QueryInvoiceRepDto
;
import
cn.freemud.entities.dto.order.QueryInvoiceByCodesResponse
;
import
cn.freemud.entities.dto.order.QueryInvoiceByCodesResponse
;
import
cn.freemud.entities.dto.order.RefundFailureRequestDTO
;
import
cn.freemud.entities.dto.pay.OrderInvoiceRequest
;
import
cn.freemud.entities.dto.pay.OrderInvoiceRequest
;
import
cn.freemud.entities.dto.pay.QueryInvoiceByCodesRequest
;
import
cn.freemud.entities.dto.pay.QueryInvoiceByCodesRequest
;
import
cn.freemud.entities.vo.QueryInvoiceReq
;
import
cn.freemud.entities.vo.QueryInvoiceReq
;
...
@@ -38,4 +39,11 @@ public interface OrderServiceClient {
...
@@ -38,4 +39,11 @@ public interface OrderServiceClient {
@PostMapping
(
value
=
"/order/v2/invoice/list/forUser"
)
@PostMapping
(
value
=
"/order/v2/invoice/list/forUser"
)
QueryInvoiceRepDto
queryInvoiceList
(
@RequestBody
QueryInvoiceReq
queryInvoiceReq
);
QueryInvoiceRepDto
queryInvoiceList
(
@RequestBody
QueryInvoiceReq
queryInvoiceReq
);
/**
* 虚拟券退款操作失败记录,用于后期补偿
*/
@LogIgnoreFeign
(
logMessage
=
"refundFailures"
)
@PostMapping
(
"/order/v2/refundFailures"
)
BaseResponse
refundFailures
(
@RequestBody
RefundFailureRequestDTO
requestDTO
);
}
}
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