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
cb192f81
Commit
cb192f81
authored
Dec 23, 2020
by
zhiheng.zhang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
代码合并
parent
21372771
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
104 deletions
+17
-104
order-application-service/src/main/java/cn/freemud/service/Orderservice.java
+0
-2
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+17
-102
No files found.
order-application-service/src/main/java/cn/freemud/service/Orderservice.java
View file @
cb192f81
...
...
@@ -144,8 +144,6 @@ public interface Orderservice {
BaseResponse
queryCollageOrderById
(
Integer
operation
,
String
sessionId
,
String
oid
,
String
partnerId
,
String
channel
);
BaseResponse
timeOutOrderRefund
(
TimeOutOrderVo
timeOutOrderVo
);
BaseResponse
queryOrderRider
(
OrderRiderRequestVo
requestVo
);
BaseResponse
platformPaysuccess
(
PlatformPaySuccessRequest
requestVo
);
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
cb192f81
...
...
@@ -98,7 +98,6 @@ import com.freemud.application.sdk.api.ordercenter.request.OrderConditionsReq;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderModifyRelatingCodeReq
;
import
com.freemud.application.sdk.api.ordercenter.request.SdkUpdateAbnormalState
;
import
com.freemud.application.sdk.api.ordercenter.request.carpark.ParkingOrderCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.response.carpark.OrderResp
;
import
com.freemud.application.sdk.api.ordercenter.response.BaseDownLoadResponse
;
...
...
@@ -109,12 +108,8 @@ import com.freemud.application.sdk.api.ordercenter.response.orderInfo.QueryByCod
import
com.freemud.application.sdk.api.ordercenter.service.OrderDownLoadSdkService
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.paymentcenter.client.request.CodePayRequest
;
import
com.freemud.application.sdk.api.paymentcenter.client.request.PaymentCloseUnifiedOrderRequest
;
import
com.freemud.application.sdk.api.paymentcenter.client.request.PaymentQueryRequest
;
import
com.freemud.application.sdk.api.paymentcenter.client.request.SVCCardAmountRequest
;
import
com.freemud.application.sdk.api.paymentcenter.client.response.CodePayResponse
;
import
com.freemud.application.sdk.api.paymentcenter.client.response.PaymentCloseUnifiedOrderResponse
;
import
com.freemud.application.sdk.api.paymentcenter.client.response.PaymentQueryResponse
;
import
com.freemud.application.sdk.api.paymentcenter.client.response.SVCCardAmountResponse
;
import
com.freemud.application.sdk.api.paymentcenter.client.service.PaymentNewService
;
import
com.freemud.application.sdk.api.storecenter.request.GetListByCodesRequest
;
...
...
@@ -153,7 +148,6 @@ import com.google.gson.Gson;
import
lombok.SneakyThrows
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.MapUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.builder.ToStringBuilder
;
...
...
@@ -312,7 +306,6 @@ public class OrderServiceImpl implements Orderservice {
@Autowired
private
SvcComPayClient
svcComPayClient
;
@Autowired
private
OrderRelationFactory
orderRelationFactory
;
@Override
...
...
@@ -593,8 +586,6 @@ public class OrderServiceImpl implements Orderservice {
verificationCoupon
(
message
.
getTrans_id
());
log
.
info
(
"调用券码结束=="
+
message
.
getTrans_id
());
}
//支付成功后
buriedPointService
.
paySuccessBuridPoint
(
partnerId
,
storeId
,
orderBean
);
return
sendPaySuccessNoticeMessage
();
}
...
...
@@ -1252,16 +1243,21 @@ public class OrderServiceImpl implements Orderservice {
}
@Override
public
BaseResponse
timeOutOrderRefund
(
TimeOutOrderVo
timeOutOrder
Vo
)
{
Map
<
String
,
QueryOrdersResponseDto
.
DataBean
.
OrderBean
>
orderBeans
=
this
.
getOrderBeanByOrderId
(
timeOutOrderVo
.
getOid
());
if
(
MapUtils
.
isEmpty
(
orderBeans
))
{
ResponseUtil
.
error
(
"404"
,
"订单不存在"
);
}
QueryOrder
sResponseDto
.
DataBean
.
OrderBean
orderBean
=
orderBeans
.
get
(
OrderBeanType
.
SAASORDER
.
getCode
()
);
public
BaseResponse
platformPaysuccess
(
PlatformPaySuccessRequest
request
Vo
)
{
BaseQueryOrderRequest
baseQueryOrderRequest
=
new
BaseQueryOrderRequest
();
baseQueryOrderRequest
.
setOrderId
(
requestVo
.
getOrderCode
()
);
baseQueryOrderRequest
.
setTrackingNo
(
LogThreadLocal
.
getTrackingNo
());
QueryOrder
ByIdResponse
queryOrderByIdResponse
=
orderCenterSdkService
.
queryOrderById
(
baseQueryOrderRequest
);
if
(
OrderStatus
.
CALCEL
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
this
.
timeOutRefund
(
orderBean
);
if
(
!
RESPONSE_SUCCESS_CODE
.
equals
(
queryOrderByIdResponse
.
getErrcode
())
||
queryOrderByIdResponse
.
getData
()
==
null
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_QUERYORDER_ERROR
);
}
// 扣减储值卡
// 扣减券
// 扣减积分
return
ResponseUtil
.
success
();
}
...
...
@@ -1717,7 +1713,7 @@ public class OrderServiceImpl implements Orderservice {
if
(!
OrderStatus
.
WAIT_PAY
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_DELETE_ERROR
.
getCode
(),
"订单状态不允许取消"
);
}
this
.
closeHistoryPrePay
(
orderBean
);
//
CancelOrderRequest
var1
=
new
CancelOrderRequest
();
var1
.
setOrderId
(
deleteOrderVo
.
getOid
());
var1
.
setPartnerId
(
deleteOrderVo
.
getPartnerId
());
...
...
@@ -2528,7 +2524,7 @@ public class OrderServiceImpl implements Orderservice {
orderPayResponse
=
uSvcPay
(
createPrepayRequestDto
.
getFatherOrderBean
(),
paymentRequest
,
transId
,
LogThreadLocal
.
getTrackingNo
(),
createPrepayRequestDto
.
getUnionPayCard
());
}
else
if
(
totalAmount
>
0
&&
StringUtils
.
isBlank
(
cardCode
))
{
String
partnerPayOvertime
=
this
.
getPartnerPayOvertime
(
createPrepayRequestDto
.
getPartnerId
());
orderPayResponse
=
getPreOrderPay
(
createPrepayRequestDto
.
getFatherOrderBean
(),
paymentRequest
,
LogThreadLocal
.
getTrackingNo
(),
createPrepayRequestDto
.
getCardAmount
(),
transId
,
partnerPayOvertime
,
createPrepayRequestDto
.
getOrderExtInfoDTO
()
);
orderPayResponse
=
getPreOrderPay
(
createPrepayRequestDto
.
getFatherOrderBean
(),
paymentRequest
,
LogThreadLocal
.
getTrackingNo
(),
createPrepayRequestDto
.
getCardAmount
(),
transId
,
partnerPayOvertime
);
}
//混合支付+svc卡
else
if
(
totalAmount
>
0
&&
StringUtils
.
isNotBlank
(
cardCode
))
{
...
...
@@ -2734,7 +2730,7 @@ public class OrderServiceImpl implements Orderservice {
return
ResponseUtil
.
error
(
ResponseResultEnum
.
PAY_UNIFIED_ORDER_ERROR
.
getCode
(),
ResponseResultEnum
.
PAY_UNIFIED_ORDER_ERROR
.
getMessage
(),
null
);
}
public
OrderPayResponse
getPreOrderPay
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
PaymentRequest
paymentRequest
,
String
trackingNo
,
Integer
cardAmount
,
String
transId
,
String
partnerPayOvertime
,
OrderExtInfoDto
orderExtInfoDto
)
{
public
OrderPayResponse
getPreOrderPay
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
PaymentRequest
paymentRequest
,
String
trackingNo
,
Integer
cardAmount
,
String
transId
,
String
partnerPayOvertime
)
{
OrderPayResponse
orderPayResponse
;
try
{
UnifiedOrderRequest
request
=
orderAdapter
.
convent2UnifiedOrderRequest
(
orderBean
,
paymentRequest
,
orderBean
.
getAmount
(),
cardAmount
,
transId
,
partnerPayOvertime
);
...
...
@@ -2748,9 +2744,6 @@ public class OrderServiceImpl implements Orderservice {
}
}
// add by miaohui for 拼单群收款判断拼单人数大于1时参与微信平台补贴活动,创建预支付时上送goodsTag,后续抽成促销服务活动时删除此逻辑 end
if
(
orderExtInfoDto
!=
null
&&
StringUtils
.
isNotBlank
(
orderExtInfoDto
.
getStationId
()))
{
request
.
setStationId
(
orderExtInfoDto
.
getStationId
());
}
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
UnifiedOrderResponse
>
responseBase
=
standardPaymentService
.
unifiedOrder
(
request
,
trackingNo
);
if
(!
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
responseBase
.
getCode
()))
{
log
.
error
(
"支付SDK返回信息错误,trackingNo:{} request:{} response:{}"
,
trackingNo
,
JSONObject
.
toJSONString
(
request
),
JSONObject
.
toJSONString
(
responseBase
));
...
...
@@ -3241,7 +3234,7 @@ public class OrderServiceImpl implements Orderservice {
//唤起微信支付
if
(
totalAmount
>
0
&&
StringUtils
.
isBlank
(
createOrderVo
.
getCardCode
())
&&
StringUtils
.
isBlank
(
createOrderVo
.
getFaceCode
()))
{
String
partnerPayOvertime
=
this
.
getPartnerPayOvertime
(
createOrderVo
.
getPartnerId
());
orderPayResponse
=
getPreOrderPay
(
fatherBeanListOne
,
paymentRequest
,
LogThreadLocal
.
getTrackingNo
(),
cardAmount
,
fatherBeanListOne
.
getOid
(),
partnerPayOvertime
,
null
);
orderPayResponse
=
getPreOrderPay
(
fatherBeanListOne
,
paymentRequest
,
LogThreadLocal
.
getTrackingNo
(),
cardAmount
,
fatherBeanListOne
.
getOid
(),
partnerPayOvertime
);
return
orderPayResponse
;
}
//储值卡支付
...
...
@@ -3696,82 +3689,4 @@ public class OrderServiceImpl implements Orderservice {
}
return
map
;
}
/**
* 超时回调直接退款
* @param orderBean
*/
public
void
timeOutRefund
(
QueryOrdersResponseDto
.
DataBean
.
OrderBean
orderBean
)
{
//调用支付退款
log
.
info
(
"payment timeout callback for refund orderDto={}"
,
JSON
.
toJSONString
(
orderBean
));
Integer
abState
=
4
;
String
noPay
=
"8200404"
;
if
(
abState
.
equals
(
orderBean
.
getAbnormalState
())
)
{
log
.
info
(
"payment timeout callback for refund is exist"
);
return
;
}
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
OrderRefundResponse
>
response
=
null
;
Long
refundId
=
System
.
currentTimeMillis
();
OrderExtInfoDto
orderExtInfoDTO
=
gson
.
fromJson
(
orderBean
.
getExtInfo
(),
OrderExtInfoDto
.
class
);
if
(
orderExtInfoDTO
==
null
||
StringUtils
.
isBlank
(
orderExtInfoDTO
.
getFmId
()))
{
log
.
info
(
"payment timeout callback for refund not create pre order"
);
return
;
}
Integer
state
=
PayRefundStatus
.
SUCCESS
.
getCode
();
orderBean
.
setPayVoucher
(
orderExtInfoDTO
.
getFmId
());
SdkUpdateAbnormalState
sdkUpdateAbnormalState
=
new
SdkUpdateAbnormalState
();
String
desc
=
"支付未及时回调"
;
com
.
freemud
.
sdk
.
api
.
assortment
.
payment
.
request
.
OrderRefundRequest
orderPayRefundRequest
=
orderAdapter
.
getOrderPayRefundRequest
(
orderBean
,
refundId
,
orderBean
.
getOid
());
response
=
standardPaymentService
.
orderRefund
(
orderPayRefundRequest
,
LogTreadLocal
.
getTrackingNo
());
log
.
info
(
"payment timeout callback for refund orderId={},request={},resp={}"
,
orderBean
.
getOid
(),
JSON
.
toJSONString
(
orderPayRefundRequest
),
JSON
.
toJSONString
(
response
));
if
(
response
!=
null
&&
noPay
.
equals
(
response
.
getCode
()))
{
return
;
}
if
(
response
!=
null
||
state
.
equals
(
response
.
getData
().
getRefundStatus
()))
{
sdkUpdateAbnormalState
.
setAbnormalDesc
(
desc
+
",退款成功"
);
}
else
{
sdkUpdateAbnormalState
.
setAbnormalDesc
(
desc
+
",退款失败"
);
}
sdkUpdateAbnormalState
.
setPartnerId
(
orderBean
.
getCompanyId
());
sdkUpdateAbnormalState
.
setAbnormalState
(
4
);
sdkUpdateAbnormalState
.
setOrderCode
(
orderBean
.
getOid
());
orderSdkService
.
updateAbnormalState
(
sdkUpdateAbnormalState
);
}
private
void
closeHistoryPrePay
(
OrderBean
orderBean
)
{
OrderExtInfoDto
extInfo
=
JSONObject
.
parseObject
(
orderBean
.
getExtInfo
(),
OrderExtInfoDto
.
class
);
//判断当前订单是否存在预支付订单
if
(
extInfo
!=
null
&&
StringUtils
.
isNotEmpty
(
extInfo
.
getFmId
())){
//订单状态未支付且存在预支付订单:
// 1.查询预支付订单支付状态
PaymentQueryRequest
paymentQueryRequest
=
new
PaymentQueryRequest
();
paymentQueryRequest
.
setPartnerId
(
orderBean
.
getCompanyId
());
paymentQueryRequest
.
setStoreId
(
orderBean
.
getShopId
());
paymentQueryRequest
.
setFmId
(
extInfo
.
getFmId
());
paymentQueryRequest
.
setVer
(
"2"
);
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
PaymentQueryResponse
>
queryResponseBaseResponse
=
paymentNewService
.
query
(
paymentQueryRequest
,
LogThreadLocal
.
getTrackingNo
());
//判断预支付订单状态
if
(
ObjectUtils
.
notEqual
(
ResponseResult
.
SUCCESS
.
getCode
(),
queryResponseBaseResponse
.
getCode
())){
throw
new
ServiceException
(
ResponseResult
.
ORDER_PAY_GETPRE_MESSAGE_ERROR
);
}
//判断当前预支付订单是否已经支付成功
if
(
ObjectUtils
.
equals
(
TradeState
.
SUCCESS
.
getCode
(),
queryResponseBaseResponse
.
getData
().
getTradeState
())){
throw
new
ServiceException
(
ResponseResult
.
ORDER_HAS_PAID
);
}
// 3.取消前一个预支付订单 调用支付取消预支付订单,如果预支付订单已经取消了再调用取消预支付订单接口会报错的
if
(
ObjectUtils
.
equals
(
TradeState
.
NOTPAY
.
getCode
(),
queryResponseBaseResponse
.
getData
().
getTradeState
()))
{
PaymentCloseUnifiedOrderRequest
closeUnifiedOrderRequest
=
new
PaymentCloseUnifiedOrderRequest
();
closeUnifiedOrderRequest
.
setFmId
(
extInfo
.
getFmId
());
closeUnifiedOrderRequest
.
setVer
(
"2"
);
closeUnifiedOrderRequest
.
setPartnerId
(
orderBean
.
getCompanyId
());
closeUnifiedOrderRequest
.
setStoreId
(
orderBean
.
getShopId
());
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
PaymentCloseUnifiedOrderResponse
>
cancelNewUnifiedOrder
=
paymentNewService
.
cancelNewUnifiedOrder
(
closeUnifiedOrderRequest
,
LogThreadLocal
.
getTrackingNo
());
if
(
ObjectUtils
.
notEqual
(
ResponseResult
.
SUCCESS
.
getCode
(),
cancelNewUnifiedOrder
.
getCode
())){
throw
new
ServiceException
(
ResponseResult
.
ORDER_PRE_PAYMENT_CLOSE_FAILED
);
}
}
}
}
}
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