Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
O
online-edu-backend
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Redmine
Redmine
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
online-edu
online-edu-backend
Commits
1ef7cc88
Commit
1ef7cc88
authored
Jul 19, 2021
by
liuyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加支付宝app付款支持
parent
59df2705
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
54 additions
and
18 deletions
+54
-18
AlipayService.java
src/main/java/com/qkdata/alipay/service/AlipayService.java
+52
-10
ProductOrderService.java
...om/qkdata/biz/management/service/ProductOrderService.java
+2
-8
No files found.
src/main/java/com/qkdata/alipay/service/AlipayService.java
View file @
1ef7cc88
package
com
.
qkdata
.
alipay
.
service
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alipay.api.*
;
import
com.alipay.api.domain.AlipayTradeAppPayModel
;
import
com.alipay.api.domain.AlipayTradeCloseModel
;
import
com.alipay.api.domain.AlipayTradeQueryModel
;
import
com.alipay.api.domain.AlipayTradeWapPayModel
;
import
com.alipay.api.request.AlipayTradeAppPayRequest
;
import
com.alipay.api.request.AlipayTradeCloseRequest
;
import
com.alipay.api.request.AlipayTradeQueryRequest
;
import
com.alipay.api.request.AlipayTradeWapPayRequest
;
import
com.alipay.api.response.AlipayTradeAppPayResponse
;
import
com.alipay.api.response.AlipayTradeCloseResponse
;
import
com.alipay.api.response.AlipayTradeQueryResponse
;
import
com.alipay.api.response.AlipayTradeWapPayResponse
;
import
com.qkdata.alipay.config.AlipayProperties
;
import
com.qkdata.biz.enums.PaySourceEnum
;
import
com.qkdata.biz.management.entity.ProductOrderPO
;
import
com.qkdata.common.base.exception.BusinessException
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
...
...
@@ -49,23 +56,58 @@ public class AlipayService {
/**
* 统一下单调用
* @param model
* @param orderPO
* @param source
* @param returnUrl
* @return
* @throws AlipayApiException
*/
public
String
prePayOrder
(
AlipayTradeWapPayModel
model
)
throws
AlipayApiException
{
AlipayTradeWapPayRequest
alipay_request
=
new
AlipayTradeWapPayRequest
();
alipay_request
.
setBizModel
(
model
);
alipay_request
.
setNotifyUrl
(
frontendDomain
+
"/online-edu-backend/alipay/notify/order"
);
alipay_request
.
setReturnUrl
(
model
.
getQuitUrl
()+
"&result=true"
);
String
form
=
""
;
AlipayTradeWapPayResponse
response
=
alipayClient
.
pageExecute
(
alipay_request
);
public
Object
prePayOrder
(
ProductOrderPO
orderPO
,
PaySourceEnum
source
,
String
returnUrl
)
throws
AlipayApiException
{
AlipayRequest
alipay_request
=
null
;
if
(
source
==
PaySourceEnum
.
MWEB
){
AlipayTradeWapPayModel
requestObj
=
new
AlipayTradeWapPayModel
();
requestObj
.
setOutTradeNo
(
orderPO
.
getOrderNo
());
requestObj
.
setSubject
(
orderPO
.
getOrderName
());
requestObj
.
setTotalAmount
(
orderPO
.
getPaymentMoney
().
toString
());
requestObj
.
setProductCode
(
"QUICK_WAP_WAY"
);
requestObj
.
setQuitUrl
(
returnUrl
+
"&result=true"
);
alipay_request
=
new
AlipayTradeWapPayRequest
();
alipay_request
.
setBizModel
(
requestObj
);
alipay_request
.
setNotifyUrl
(
frontendDomain
+
"/online-edu-backend/alipay/notify/order"
);
alipay_request
.
setReturnUrl
(
returnUrl
+
"&result=true"
);
}
else
if
(
source
==
PaySourceEnum
.
APP
){
AlipayTradeAppPayModel
requestObj
=
new
AlipayTradeAppPayModel
();
requestObj
.
setGoodsType
(
"1"
);
requestObj
.
setOutTradeNo
(
orderPO
.
getOrderNo
());
requestObj
.
setSubject
(
orderPO
.
getOrderName
());
requestObj
.
setTotalAmount
(
orderPO
.
getPaymentMoney
().
toString
());
requestObj
.
setProductCode
(
"QUICK_MSECURITY_PAY"
);
alipay_request
=
new
AlipayTradeAppPayRequest
();
alipay_request
.
setBizModel
(
requestObj
);
alipay_request
.
setNotifyUrl
(
frontendDomain
+
"/online-edu-backend/alipay/notify/order"
);
}
else
{
throw
new
BusinessException
(
"暂不支持该支付类型。source:"
+
source
);
}
Object
rtObj
=
null
;
AlipayResponse
response
=
null
;
if
(
source
==
PaySourceEnum
.
MWEB
){
response
=
alipayClient
.
pageExecute
(
alipay_request
);
}
else
if
(
source
==
PaySourceEnum
.
APP
){
response
=
alipayClient
.
sdkExecute
(
alipay_request
);
}
else
{
throw
new
BusinessException
(
"暂不支持该支付类型。source:"
+
source
);
}
if
(
response
.
isSuccess
()){
form
=
response
.
getBody
();
rtObj
=
response
.
getBody
();
return
rtObj
;
}
else
{
log
.
info
(
"Alipay prePay request faild:"
+
JSONObject
.
toJSONString
(
response
));
}
return
form
;
return
rtObj
;
}
/**
...
...
src/main/java/com/qkdata/biz/management/service/ProductOrderService.java
View file @
1ef7cc88
...
...
@@ -134,15 +134,9 @@ public class ProductOrderService extends ServiceImpl<ProductOrderMapper, Product
throw
new
BusinessException
(
"微信支付异常"
);
}
}
else
if
(
orderPO
.
getPayMethod
()
==
PayMethodEnum
.
AliPay
){
AlipayTradeWapPayModel
payModel
=
new
AlipayTradeWapPayModel
();
payModel
.
setOutTradeNo
(
orderPO
.
getOrderNo
());
payModel
.
setSubject
(
orderPO
.
getOrderName
());
payModel
.
setTotalAmount
(
orderPO
.
getPaymentMoney
().
toString
());
payModel
.
setQuitUrl
(
returnUrl
+
"&result=true"
);
payModel
.
setProductCode
(
"QUICK_WAP_WAY"
);
try
{
String
form
=
alipayService
.
prePayOrder
(
payMode
l
);
return
form
;
Object
rtObj
=
alipayService
.
prePayOrder
(
orderPO
,
source
,
returnUr
l
);
return
rtObj
;
}
catch
(
AlipayApiException
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
throw
new
BusinessException
(
"支付宝创建订单异常"
);
...
...
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