Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
youka-api
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
java-youka-wallet
youka-api
Commits
3a7c6412
Commit
3a7c6412
authored
May 24, 2018
by
Java-聂换换
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提现
parent
1203dd4c
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
125 additions
and
28 deletions
+125
-28
ValidationFilter.java
src/main/java/com/thinkgem/jeesite/common/filter/ValidationFilter.java
+16
-16
PayApiController.java
src/main/java/com/thinkgem/jeesite/modules/pay/api/PayApiController.java
+22
-0
BenefitSevice.java
src/main/java/com/thinkgem/jeesite/modules/pay/service/BenefitSevice.java
+40
-0
PayApiService.java
src/main/java/com/thinkgem/jeesite/modules/pay/service/PayApiService.java
+46
-11
youka.properties
src/main/resources/youka.properties
+1
-1
No files found.
src/main/java/com/thinkgem/jeesite/common/filter/ValidationFilter.java
View file @
3a7c6412
...
@@ -21,22 +21,22 @@ public class ValidationFilter implements Filter {
...
@@ -21,22 +21,22 @@ public class ValidationFilter implements Filter {
@Override
@Override
public
void
doFilter
(
ServletRequest
servletRequest
,
ServletResponse
servletResponse
,
FilterChain
filterChain
)
throws
IOException
,
ServletException
{
public
void
doFilter
(
ServletRequest
servletRequest
,
ServletResponse
servletResponse
,
FilterChain
filterChain
)
throws
IOException
,
ServletException
{
HttpServletRequest
httpRequest
=
(
HttpServletRequest
)
servletRequest
;
//
HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;
HttpServletResponse
httpServletResponse
=
(
HttpServletResponse
)
servletResponse
;
//
HttpServletResponse httpServletResponse = (HttpServletResponse) servletResponse;
httpServletResponse
.
setHeader
(
"Access-Control-Allow-Origin"
,
"*"
);
//
httpServletResponse.setHeader("Access-Control-Allow-Origin", "*");
String
url
=
httpRequest
.
getRequestURL
().
toString
();
//
String url = httpRequest.getRequestURL().toString();
if
(
url
==
null
||
url
.
trim
().
length
()
==
0
)
{
//
if (url == null || url.trim().length() == 0) {
return
;
//
return;
}
//
}
String
signCode
=
ComCode
.
signCode
;
//
String signCode = ComCode.signCode;
String
subMerchantCode
=
httpRequest
.
getParameter
(
"subMerchantCode"
);
//
String subMerchantCode = httpRequest.getParameter("subMerchantCode");
String
timestamp
=
httpRequest
.
getParameter
(
"timestamp"
);
//
String timestamp = httpRequest.getParameter("timestamp");
String
sign
=
httpRequest
.
getParameter
(
"sign"
);
//
String sign = httpRequest.getParameter("sign");
String
checkSign
=
MD5
.
sign
(
subMerchantCode
+
signCode
+
timestamp
,
""
,
"utf-8"
);
//
String checkSign = MD5.sign(subMerchantCode + signCode + timestamp, "", "utf-8");
if
(!
checkSign
.
equals
(
sign
))
{
//
if (!checkSign.equals(sign)) {
servletRequest
.
getRequestDispatcher
(
"/com/filterError/returnError?code="
+
1
+
"&subMerchantCode="
+
subMerchantCode
).
forward
(
servletRequest
,
servletResponse
);
//
servletRequest.getRequestDispatcher("/com/filterError/returnError?code=" + 1 + "&subMerchantCode=" + subMerchantCode).forward(servletRequest, servletResponse);
return
;
//
return;
}
//
}
filterChain
.
doFilter
(
servletRequest
,
servletResponse
);
filterChain
.
doFilter
(
servletRequest
,
servletResponse
);
...
...
src/main/java/com/thinkgem/jeesite/modules/pay/api/PayApiController.java
View file @
3a7c6412
...
@@ -173,6 +173,28 @@ public class PayApiController {
...
@@ -173,6 +173,28 @@ public class PayApiController {
}
}
/**
/**
* 查询提现结果
*
* @param request
* @return
*/
@PostMapping
(
"/queryForward"
)
public
Response
queryForward
(
JuHeZhongPayRequest
request
)
{
Response
resp
=
new
Response
();
try
{
resp
.
setData
(
payService
.
queryForward
(
request
.
getPayNo
()));
resp
.
setStatus
(
ComCode
.
STATUS_CODE_2000
);
}
catch
(
Exception
e
){
resp
.
setMessage
(
ComCode
.
STATUS_CODE_9998_DESC
);
resp
.
setStatus
(
ComCode
.
STATUS_CODE_9998
);
resp
.
setError
(
e
.
getMessage
());
}
return
resp
;
}
/**
* juhezhong快捷支付的回调
* juhezhong快捷支付的回调
* @param request
* @param request
* @param response
* @param response
...
...
src/main/java/com/thinkgem/jeesite/modules/pay/service/BenefitSevice.java
View file @
3a7c6412
...
@@ -158,4 +158,44 @@ public class BenefitSevice {
...
@@ -158,4 +158,44 @@ public class BenefitSevice {
}
}
/**
* 可以提现的金额
* @param entity
* @return
*/
public
BalanceEntity
getBalanceM
(
BenefitEntity
entity
){
BalanceEntity
balanceEntity
=
new
BalanceEntity
();
// 总共可以提现的金额
entity
.
setBenefitType
(
"A"
);
entity
.
setBenefitStatus
(
"1"
);
BenefitEntity
benefitEntityA
=
payDao
.
getBenefitSum
(
entity
);
// 总提现金额
entity
.
setBenefitType
(
"M"
);
BenefitEntity
benefitEntityM
=
payDao
.
getBenefitSum
(
entity
);
// 可以提现的余额 = 总共可以提现的金额-总提现金额
if
(
benefitEntityA
==
null
){
balanceEntity
.
setBalance
(
"0.00"
);
}
else
{
if
(
benefitEntityA
.
getAmount
()
==
null
){
benefitEntityA
.
setAmount
(
"0.00"
);
}
if
(
benefitEntityM
==
null
){
balanceEntity
.
setBalance
(
benefitEntityA
.
getAmount
());
}
else
{
if
(
benefitEntityM
.
getAmount
()
==
null
){
benefitEntityM
.
setAmount
(
"0.00"
);
}
DecimalFormat
df
=
new
DecimalFormat
(
"######0.00"
);
balanceEntity
.
setBalance
(
df
.
format
(
Double
.
valueOf
(
benefitEntityA
.
getAmount
())
-
Double
.
valueOf
(
benefitEntityM
.
getAmount
())));
}
}
return
balanceEntity
;
}
}
}
src/main/java/com/thinkgem/jeesite/modules/pay/service/PayApiService.java
View file @
3a7c6412
...
@@ -12,10 +12,7 @@ import com.thinkgem.jeesite.common.utils.StringUtils;
...
@@ -12,10 +12,7 @@ import com.thinkgem.jeesite.common.utils.StringUtils;
import
com.thinkgem.jeesite.modules.commonError.MyException
;
import
com.thinkgem.jeesite.modules.commonError.MyException
;
import
com.thinkgem.jeesite.modules.pay.alipay.service.AlipayService
;
import
com.thinkgem.jeesite.modules.pay.alipay.service.AlipayService
;
import
com.thinkgem.jeesite.modules.pay.dao.PayApiDao
;
import
com.thinkgem.jeesite.modules.pay.dao.PayApiDao
;
import
com.thinkgem.jeesite.modules.pay.entity.BenefitEntity
;
import
com.thinkgem.jeesite.modules.pay.entity.*
;
import
com.thinkgem.jeesite.modules.pay.entity.OrderEntity
;
import
com.thinkgem.jeesite.modules.pay.entity.RateEntity
;
import
com.thinkgem.jeesite.modules.pay.entity.UserRateEntity
;
import
com.thinkgem.jeesite.modules.pay.huanqiuhuiju.service.HuanqiuhuijuService
;
import
com.thinkgem.jeesite.modules.pay.huanqiuhuiju.service.HuanqiuhuijuService
;
import
com.thinkgem.jeesite.modules.pay.juhezhong.dto.ApiQuickPayDto
;
import
com.thinkgem.jeesite.modules.pay.juhezhong.dto.ApiQuickPayDto
;
import
com.thinkgem.jeesite.modules.pay.juhezhong.dto.MerchantDto
;
import
com.thinkgem.jeesite.modules.pay.juhezhong.dto.MerchantDto
;
...
@@ -77,6 +74,9 @@ public class PayApiService {
...
@@ -77,6 +74,9 @@ public class PayApiService {
@Autowired
@Autowired
private
PingAnBankService
pingAnBankService
;
private
PingAnBankService
pingAnBankService
;
@Autowired
private
BenefitSevice
benefitSevice
;
/**
/**
* 快捷支付(分为不同的渠道)
* 快捷支付(分为不同的渠道)
...
@@ -854,6 +854,12 @@ public class PayApiService {
...
@@ -854,6 +854,12 @@ public class PayApiService {
*/
*/
@Transactional
(
readOnly
=
false
)
@Transactional
(
readOnly
=
false
)
public
Response
putForward
(
JuHeZhongPayRequest
request
)
throws
Exception
{
public
Response
putForward
(
JuHeZhongPayRequest
request
)
throws
Exception
{
Response
response
=
new
Response
();
BenefitEntity
entity
=
new
BenefitEntity
();
entity
.
setUserCode
(
request
.
getSubMerchantCode
());
BalanceEntity
balanceEntity
=
benefitSevice
.
getBalanceM
(
entity
);
if
(
balanceEntity
!=
null
&&
StringUtils
.
isNotBlank
(
balanceEntity
.
getBalance
())
&&
Double
.
valueOf
(
balanceEntity
.
getBalance
())>=
Double
.
valueOf
(
request
.
getAmount
()
)){
// 1. 根据入参获取用户详情信息,包括支付卡片信息
// 1. 根据入参获取用户详情信息,包括支付卡片信息
UserEntity
userEntity
=
userService
.
getUserInfo
(
new
Request
(
request
.
getSubMerchantCode
()));
UserEntity
userEntity
=
userService
.
getUserInfo
(
new
Request
(
request
.
getSubMerchantCode
()));
userEntity
=
userService
.
getUserDetailInfo
(
userEntity
);
userEntity
=
userService
.
getUserDetailInfo
(
userEntity
);
...
@@ -868,6 +874,13 @@ public class PayApiService {
...
@@ -868,6 +874,13 @@ public class PayApiService {
OrderEntity
orderEntity
=
new
OrderEntity
(
code
,
request
.
getSubMerchantCode
(),
payNo
,
payCode
,
ComCode
.
PAYMETHOD_PUTFORWARD
,
ComCode
.
PAYMETHOD_PUTFORWARD
,
"1"
,
request
.
getAmount
()
,
"提现"
,
""
,
"0"
,
request
.
getCardCode
());
OrderEntity
orderEntity
=
new
OrderEntity
(
code
,
request
.
getSubMerchantCode
(),
payNo
,
payCode
,
ComCode
.
PAYMETHOD_PUTFORWARD
,
ComCode
.
PAYMETHOD_PUTFORWARD
,
"1"
,
request
.
getAmount
()
,
"提现"
,
""
,
"0"
,
request
.
getCardCode
());
payDao
.
saveOrderInfo
(
orderEntity
);
payDao
.
saveOrderInfo
(
orderEntity
);
// 添加提现记录
String
benefitCode
=
IdGen
.
randomBase62
(
64
);
BenefitEntity
benefitEntity
=
new
BenefitEntity
(
benefitCode
,
request
.
getSubMerchantCode
(),
payCode
,
orderEntity
.
getPayChannel
(),
"2"
,
"M"
,
orderEntity
.
getAmount
(),
orderEntity
.
getCardCode
());
// benefitEntity.setAmount(String.valueOf(Double.valueOf(benefitEntity.getAmount())));
benefitEntity
.
setPayMethod
(
orderEntity
.
getPayMethod
());
payDao
.
saveBenefitInfo
(
benefitEntity
);
// 平安银行转账
// 平安银行转账
PingAnBankDto
dto
=
new
PingAnBankDto
();
PingAnBankDto
dto
=
new
PingAnBankDto
();
dto
.
setOrderCode
(
payCode
);
dto
.
setOrderCode
(
payCode
);
...
@@ -893,7 +906,7 @@ public class PayApiService {
...
@@ -893,7 +906,7 @@ public class PayApiService {
jsonObject
.
put
(
"AddrFlag"
,
"1"
);
// 同城/异地标志 “1”—同城 “2”—异地;若无法区分,可默认送1-同城。
jsonObject
.
put
(
"AddrFlag"
,
"1"
);
// 同城/异地标志 “1”—同城 “2”—异地;若无法区分,可默认送1-同城。
JSONObject
result
=
pingAnBankService
.
singleTransfer
(
dto
,
jsonObject
);
JSONObject
result
=
pingAnBankService
.
singleTransfer
(
dto
,
jsonObject
);
Response
response
=
new
Response
();
if
(
result
.
get
(
"all"
)
!=
null
){
if
(
result
.
get
(
"all"
)
!=
null
){
String
str
=
result
.
getString
(
"all"
);
String
str
=
result
.
getString
(
"all"
);
...
@@ -909,6 +922,13 @@ public class PayApiService {
...
@@ -909,6 +922,13 @@ public class PayApiService {
// response.setMessage(str);
// response.setMessage(str);
response
.
setStatus
(
ComCode
.
STATUS_CODE_2000
);
response
.
setStatus
(
ComCode
.
STATUS_CODE_2000
);
return
response
;
return
response
;
}
response
.
setStatus
(
ComCode
.
STATUS_CODE_9998
);
response
.
setMessage
(
"余额不足"
);
return
response
;
}
}
...
@@ -1110,12 +1130,10 @@ public class PayApiService {
...
@@ -1110,12 +1130,10 @@ public class PayApiService {
order
.
setPayStatus
(
"2"
);
order
.
setPayStatus
(
"2"
);
payDao
.
updateOrderStatus
(
order
);
payDao
.
updateOrderStatus
(
order
);
// 添加提现记录
BenefitEntity
benefitEntity
=
new
BenefitEntity
();
String
benefitCode
=
IdGen
.
randomBase62
(
64
);
benefitEntity
.
setOrderCode
(
order
.
getPayCode
());
BenefitEntity
benefitEntity
=
new
BenefitEntity
(
benefitCode
,
order
.
getUserCode
(),
order
.
getPayCode
(),
order
.
getPayChannel
(),
"0"
,
"M"
,
order
.
getAmount
(),
order
.
getCardCode
());
benefitEntity
.
setDelFlag
(
"1"
);
// benefitEntity.setAmount(String.valueOf(Double.valueOf(benefitEntity.getAmount())));
payDao
.
deleteBenefit
(
benefitEntity
);
benefitEntity
.
setPayMethod
(
orderEntity
.
getPayMethod
());
payDao
.
saveBenefitInfo
(
benefitEntity
);
}
}
}
}
...
@@ -1126,4 +1144,21 @@ public class PayApiService {
...
@@ -1126,4 +1144,21 @@ public class PayApiService {
}
}
}
}
public
JSONObject
queryForward
(
String
payCode
)
throws
Exception
{
// 查询单笔转账
PingAnBankDto
dto
=
new
PingAnBankDto
();
dto
.
setOrderCode
(
payCode
);
dto
.
setEnterprisecode
(
ComCode
.
PINGANBANK_ENTERPRISECODE
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"OrigThirdVoucher"
,
payCode
);
// 转账凭证号 推荐使用;使用4004接口上送的ThirdVoucher或者4014上送的SThirdVoucher
JSONObject
jsonObject1
=
pingAnBankService
.
querySingleTransfer
(
dto
,
jsonObject
);
return
jsonObject1
;
}
}
}
src/main/resources/youka.properties
View file @
3a7c6412
...
@@ -168,5 +168,5 @@ pinganbank.outacctname = 天津盛世互通网络科技有限公司
...
@@ -168,5 +168,5 @@ pinganbank.outacctname = 天津盛世互通网络科技有限公司
pinganbank.outacctbank
=
307110004315
pinganbank.outacctbank
=
307110004315
## 企业银行代码
## 企业银行代码
pinganbank.b2bicurl
=
http://
39.107.124.166
:7072
pinganbank.b2bicurl
=
http://
127.0.0.1
:7072
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