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
0a900b57
Commit
0a900b57
authored
Sep 07, 2020
by
vega
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'fix/1.9.37-支付补偿通知transId为空报错'
parents
ab5ccb9f
37cac631
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
56 additions
and
9 deletions
+56
-9
order-application-service/src/main/java/cn/freemud/entities/vo/RefundNotifyCallbackRequestVo.java
+2
-0
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+5
-1
order-application-service/src/test/java/cn.freemud/controller/OrderControllerTest.java
+18
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/enums/ResponseResultEnum.java
+1
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/service/OrderSdkService.java
+30
-8
No files found.
order-application-service/src/main/java/cn/freemud/entities/vo/RefundNotifyCallbackRequestVo.java
View file @
0a900b57
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Data
;
import
lombok.ToString
;
@Data
@ToString
public
class
RefundNotifyCallbackRequestVo
{
/**
* 第三方交易单号
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
0a900b57
...
...
@@ -608,10 +608,14 @@ public class OrderServiceImpl implements Orderservice {
//只有退款成功更新状态.其他情况不处理
return
refundFaileMessage
(
"pay refundStatus is not 100,refundStatus="
+
refundStatus
);
}
// 如果transId为空,返回失败
if
(
StringUtils
.
isBlank
(
requestVo
.
getTransId
()))
{
return
refundFaileMessage
(
"transId is empty "
+
requestVo
);
}
//查询订单详情
QueryRelationOrderByIdResponseDto
queryOrderByIdResponseDto
=
getQueryRelationOrderByIdResponseDto
(
requestVo
.
getTransId
());
if
(
queryOrderByIdResponseDto
.
getData
()
==
null
||
!
Objects
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS
,
queryOrderByIdResponseDto
.
getErrcode
()))
{
return
refundFaileMessage
(
"order query fail"
+
queryOrderByIdResponseDto
);
return
refundFaileMessage
(
"order query fail
"
+
queryOrderByIdResponseDto
);
}
OrderBean
orderBean
=
new
OrderBean
();
...
...
order-application-service/src/test/java/cn.freemud/controller/OrderControllerTest.java
View file @
0a900b57
...
...
@@ -173,6 +173,24 @@ public class OrderControllerTest {
}
/**
* 退款回调
*/
@Test
public
void
refundNotifyCallback
()
{
RefundNotifyCallbackRequestVo
request
=
new
RefundNotifyCallbackRequestVo
();
request
.
setRefundStatus
(
100
);
request
.
setTransId
(
"null"
);
String
str
=
JSONObject
.
toJSONString
(
request
);
try
{
mockMvc
.
perform
(
post
(
"/order/refundNotifyCallback"
).
content
(
str
).
contentType
(
MediaType
.
APPLICATION_JSON_UTF8
).
accept
(
MediaType
.
APPLICATION_JSON_UTF8
)).
andDo
(
print
()).
andExpect
(
jsonPath
(
"$.code"
).
value
(
"500"
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
/**
* 再来一单
*/
@Test
...
...
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/enums/ResponseResultEnum.java
View file @
0a900b57
...
...
@@ -24,6 +24,7 @@ public enum ResponseResultEnum {
ORDER_DATA_NOT_FOUND
(
"54001"
,
"查询订单数据失败"
),
ORDER_DATA_NOT_EXIST
(
"54002"
,
"没有相关数据"
),
ORDER_STORE_NOT_FOUND
(
"54003"
,
"门店ID或门店名称不存在"
),
ORDER_TRANS_ID_IS_NULL
(
"54004"
,
"transId为null"
),
;
private
String
code
;
...
...
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/service/OrderSdkService.java
View file @
0a900b57
package
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
service
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.freemud.application.sdk.api.base.BaseRequest
;
import
com.freemud.application.sdk.api.ordercenter.config.OrderCenterProperties
;
import
com.freemud.application.sdk.api.ordercenter.constant.InterfaceAddressConstant
;
import
com.freemud.application.sdk.api.ordercenter.constant.ResponseConstant
;
import
com.freemud.application.sdk.api.ordercenter.enums.ResponseResultEnum
;
import
com.freemud.application.sdk.api.ordercenter.request.*
;
import
com.freemud.application.sdk.api.ordercenter.request.carpark.ParkingOrderAffirmReq
;
...
...
@@ -20,14 +23,17 @@ import com.freemud.application.sdk.api.ordercenter.util.ResponseUtil;
import
com.freemud.application.sdk.api.util.RequestThirdPartyUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.core.ParameterizedTypeReference
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.client.RestTemplate
;
import
java.util.List
;
import
java.util.Objects
;
import
java.lang.reflect.InvocationTargetException
;
import
java.util.*
;
import
java.util.stream.Collector
;
import
java.util.stream.Collectors
;
import
static
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
constant
.
InterfaceAddressConstant
.*;
...
...
@@ -600,12 +606,28 @@ public class OrderSdkService {
* @return
*/
public
BaseResponse
<
List
<
OrderInfoReqs
>>
queryRelatedOrderByCode
(
QueryRelatedOrderByCodeReq
request
,
String
trackingNo
)
{
StringBuilder
urlString
=
new
StringBuilder
(
InterfaceAddressConstant
.
QUERY_RELATED_ORDER_BY_CODE
)
.
append
(
"?orderCode="
).
append
(
request
.
getOrderCode
());
OrderBaseResp
<
List
<
OrderInfoReqs
>>
responseDTO
=
RequestThirdPartyUtils
.
httpGetReqComplex
(
restTemplate
,
urlString
.
toString
(),
createBaseRequest
(
null
,
trackingNo
),
new
ParameterizedTypeReference
<
OrderBaseResp
<
List
<
OrderInfoReqs
>>>()
{
});
return
responseHandle
(
responseDTO
);
if
(
StringUtils
.
isBlank
(
request
.
getOrderCode
()))
{
return
ResponseUtil
.
error
(
ResponseResultEnum
.
ORDER_TRANS_ID_IS_NULL
);
}
String
urlString
=
InterfaceAddressConstant
.
QUERY_RELATED_ORDER_BY_CODE
+
"?orderCode="
+
request
.
getOrderCode
();
OrderBaseResp
responseDTO
=
RequestThirdPartyUtils
.
httpGetReqComplex
(
restTemplate
,
urlString
,
createBaseRequest
(
null
,
trackingNo
),
new
ParameterizedTypeReference
<
OrderBaseResp
>()
{});
// 1.9.37 fix 原本使用自带序列化成list时如果基础服务查询失败返回object会抛异常,所以改成手动操作
OrderBaseResp
<
List
<
OrderInfoReqs
>>
resp
;
if
(
Objects
.
isNull
(
responseDTO
))
{
resp
=
null
;
}
else
{
List
<
OrderInfoReqs
>
result
;
if
(
Objects
.
equals
(
ResponseConstant
.
SUCCESS_RESPONSE_CODE
,
responseDTO
.
getCode
())
&&
responseDTO
.
getResult
()
instanceof
List
)
{
result
=
JSONArray
.
parseArray
(
JSON
.
toJSONString
(
responseDTO
.
getResult
()),
OrderInfoReqs
.
class
);
}
else
{
result
=
Collections
.
emptyList
();
}
resp
=
new
OrderBaseResp
<>();
BeanUtils
.
copyProperties
(
responseDTO
,
resp
,
"result"
);
resp
.
setResult
(
result
);
}
return
responseHandle
(
resp
);
}
private
<
T
>
BaseRequest
<
T
>
createBaseRequest
(
T
req
,
String
trackingNo
)
{
...
...
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