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
35f677bd
Commit
35f677bd
authored
Jun 06, 2018
by
tang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
HL4通道修改
parent
af352ef3
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
576 additions
and
232 deletions
+576
-232
ComCode.java
src/main/java/com/thinkgem/jeesite/common/constant/ComCode.java
+1
-0
PayApiController.java
src/main/java/com/thinkgem/jeesite/modules/pay/api/PayApiController.java
+189
-69
JuHeZhongPayJFenService.java
src/main/java/com/thinkgem/jeesite/modules/pay/juhezhong/service/JuHeZhongPayJFenService.java
+70
-31
JuHeZhongPayService.java
src/main/java/com/thinkgem/jeesite/modules/pay/juhezhong/service/JuHeZhongPayService.java
+95
-2
PayApiService.java
src/main/java/com/thinkgem/jeesite/modules/pay/service/PayApiService.java
+149
-129
UserApiController.java
src/main/java/com/thinkgem/jeesite/modules/user/api/UserApiController.java
+32
-0
UserApiDao.java
src/main/java/com/thinkgem/jeesite/modules/user/dao/UserApiDao.java
+4
-0
UserApiService.java
src/main/java/com/thinkgem/jeesite/modules/user/service/UserApiService.java
+12
-1
UserDao.xml
src/main/resources/mappings/modules/user/UserDao.xml
+24
-0
No files found.
src/main/java/com/thinkgem/jeesite/common/constant/ComCode.java
View file @
35f677bd
...
...
@@ -50,6 +50,7 @@ public static final String QUICK_WEB_PAY = "/quick/web/pay";
public
static
final
String
QUICK_PAY_URL
=
"/api/quick/pre/pay"
;
// 快捷支付
public
static
final
String
NO_INTEGRAL_QUICK_PAY_URL
=
"/quick/pay"
;
// 无积分快捷支付
public
static
final
String
NO_INTEGRAL_ORDER_QUERY_URL
=
"/order/query"
;
// 查询订单
public
static
final
String
NOTIFY_CALLBACK_URL
=
"http://youkapay.com:8080/youka-api/api/pay/notifyQuickPay"
;
public
static
final
String
EXTRA_RATE
=
"200"
;
// 附加手续费(单位:分)
...
...
src/main/java/com/thinkgem/jeesite/modules/pay/api/PayApiController.java
View file @
35f677bd
package
com
.
thinkgem
.
jeesite
.
modules
.
pay
.
api
;
import
com.google.common.collect.Maps
;
import
com.thinkgem.jeesite.common.baseBean.Response
;
import
com.thinkgem.jeesite.common.constant.ComCode
;
import
com.thinkgem.jeesite.common.utils.StringUtils
;
import
com.thinkgem.jeesite.modules.commonError.MyException
;
import
com.thinkgem.jeesite.modules.pay.entity.BalanceEntity
;
import
com.thinkgem.jeesite.modules.pay.entity.OrderEntity
;
import
com.thinkgem.jeesite.modules.pay.juhezhong.dto.PayBackDto
;
import
com.thinkgem.jeesite.modules.pay.service.PayApiService
;
...
...
@@ -12,13 +13,12 @@ import com.thinkgem.jeesite.modules.sys.entity.DictPayChannel;
import
com.thinkgem.jeesite.modules.sys.service.DictService
;
import
com.thinkgem.jeesite.modules.user.bean.JuHeZhongPayRequest
;
import
com.thinkgem.jeesite.modules.user.bean.UserRequest
;
import
com.thinkgem.jeesite.modules.user.entity.BelongBankEntity
;
import
com.thinkgem.jeesite.modules.user.entity.CardEntity
;
import
com.thinkgem.jeesite.modules.user.entity.CardSwpaccidEntity
;
import
com.thinkgem.jeesite.modules.user.entity.UserEntity
;
import
com.thinkgem.jeesite.modules.user.service.UserApiService
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpRequest
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -204,23 +204,92 @@ public class PayApiController {
System
.
out
.
println
(
"。。。。。。回调。。。。。"
);
Response
responseRetrun
=
new
Response
();
Map
map
=
request
.
getParameterMap
();
Set
keSet
=
map
.
entrySet
();
for
(
Iterator
itr
=
keSet
.
iterator
();
itr
.
hasNext
();){
Map
.
Entry
me
=(
Map
.
Entry
)
itr
.
next
();
Object
ok
=
me
.
getKey
();
//获取参数名
Object
ov
=
me
.
getValue
();
//获取参数值
System
.
out
.
println
(
ok
+
"="
+
ok
.
toString
());
System
.
out
.
println
(
ov
+
"="
+
ov
.
toString
());
String
[]
value
=
new
String
[
1
];
if
(
ov
instanceof
String
[]){
value
=(
String
[])
ov
;
}
else
{
value
[
0
]=
ov
.
toString
();
printNotifyParam
(
map
);
// Set keSet=map.entrySet();
// for(Iterator itr = keSet.iterator(); itr.hasNext();){
// Map.Entry me=(Map.Entry)itr.next();
// Object ok=me.getKey(); //获取参数名
// Object ov=me.getValue(); //获取参数值
// System.out.println(ok+"="+ok.toString());
// System.out.println(ov+"="+ov.toString());
// String[] value=new String[1];
// if(ov instanceof String[]){
// value=(String[])ov;
// }else{
// value[0]=ov.toString();
// }
// for(int k=0;k <value.length;k++){
// System.out.println(ok+"="+value[k]);
// }
// }
//设置编码
try
{
request
.
setCharacterEncoding
(
"UTF-8"
);
}
catch
(
UnsupportedEncodingException
e
)
{
e
.
printStackTrace
();
}
for
(
int
k
=
0
;
k
<
value
.
length
;
k
++){
System
.
out
.
println
(
ok
+
"="
+
value
[
k
]);
String
orderId
=
request
.
getParameter
(
"orderId"
);
String
code
=
request
.
getParameter
(
"code"
);
if
(
"0000"
.
equals
(
code
)){
System
.
out
.
println
(
"orderId:"
+
orderId
);
OrderEntity
orderEntity
=
new
OrderEntity
();
orderEntity
.
setPayCode
(
orderId
);
try
{
orderEntity
=
payService
.
notifyPay
(
orderEntity
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
//返回true 收到请求,停止通知
PrintWriter
write
=
null
;
try
{
write
=
response
.
getWriter
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
write
.
print
(
"true"
);
responseRetrun
.
setMessage
(
"ok"
);
responseRetrun
.
setStatus
(
ComCode
.
STATUS_CODE_9998
);
responseRetrun
.
setData
(
orderEntity
);
write
.
flush
();
write
.
close
();
}
}
/**
* juhezhongHL4快捷支付的回调
* @param request
* @param response
*/
@RequestMapping
(
"/notifyQuickPay"
)
public
void
notifyQuickPay
(
HttpServletRequest
request
,
HttpServletResponse
response
)
{
System
.
out
.
println
(
"H4通道:quickPay支付回调"
);
Response
responseRetrun
=
new
Response
();
Map
map
=
request
.
getParameterMap
();
printNotifyParam
(
map
);
// Set keSet=map.entrySet();
// for(Iterator itr = keSet.iterator(); itr.hasNext();){
// Map.Entry me=(Map.Entry)itr.next();
// Object ok=me.getKey(); //获取参数名
// Object ov=me.getValue(); //获取参数值
// System.out.println(ok+"="+ok.toString());
// System.out.println(ov+"="+ov.toString());
// String[] value=new String[1];
// if(ov instanceof String[]){
// value=(String[])ov;
// }else{
// value[0]=ov.toString();
// }
// for(int k=0;k <value.length;k++){
// System.out.println(ok+"="+value[k]);
// }
// }
//设置编码
try
{
request
.
setCharacterEncoding
(
"UTF-8"
);
...
...
@@ -231,7 +300,7 @@ public class PayApiController {
String
orderId
=
request
.
getParameter
(
"orderId"
);
String
code
=
request
.
getParameter
(
"code"
);
if
(
"0000"
.
equals
(
code
)){
System
.
out
.
println
(
"orderId:"
+
orderId
);
System
.
out
.
println
(
"
quick pay
orderId:"
+
orderId
);
OrderEntity
orderEntity
=
new
OrderEntity
();
orderEntity
.
setPayCode
(
orderId
);
...
...
@@ -271,23 +340,24 @@ public class PayApiController {
System
.
out
.
println
(
"。。。。。。回调。。。。。"
);
Response
responseRetrun
=
new
Response
();
Map
map
=
request
.
getParameterMap
();
Set
keSet
=
map
.
entrySet
();
for
(
Iterator
itr
=
keSet
.
iterator
();
itr
.
hasNext
();){
Map
.
Entry
me
=(
Map
.
Entry
)
itr
.
next
();
Object
ok
=
me
.
getKey
();
//获取参数名
Object
ov
=
me
.
getValue
();
//获取参数值
System
.
out
.
println
(
ok
+
"="
+
ok
.
toString
());
System
.
out
.
println
(
ov
+
"="
+
ov
.
toString
());
String
[]
value
=
new
String
[
1
];
if
(
ov
instanceof
String
[]){
value
=(
String
[])
ov
;
}
else
{
value
[
0
]=
ov
.
toString
();
}
for
(
int
k
=
0
;
k
<
value
.
length
;
k
++){
System
.
out
.
println
(
ok
+
"="
+
value
[
k
]);
}
}
printNotifyParam
(
map
);
// Set keSet=map.entrySet();
// for(Iterator itr = keSet.iterator(); itr.hasNext();){
// Map.Entry me=(Map.Entry)itr.next();
// Object ok=me.getKey(); //获取参数名
// Object ov=me.getValue(); //获取参数值
// System.out.println(ok+"="+ok.toString());
// System.out.println(ov+"="+ov.toString());
// String[] value=new String[1];
// if(ov instanceof String[]){
// value=(String[])ov;
// }else{
// value[0]=ov.toString();
// }
// for(int k=0;k <value.length;k++){
// System.out.println(ok+"="+value[k]);
// }
// }
//设置编码
try
{
request
.
setCharacterEncoding
(
"UTF-8"
);
...
...
@@ -338,23 +408,24 @@ public class PayApiController {
public
void
openCardCallback
(
HttpServletRequest
request
,
HttpServletResponse
response
)
{
System
.
out
.
println
(
"。。。。。。openCardCallback回调。。。。。"
);
Map
map
=
request
.
getParameterMap
();
Set
keSet
=
map
.
entrySet
();
for
(
Iterator
itr
=
keSet
.
iterator
();
itr
.
hasNext
();){
Map
.
Entry
me
=(
Map
.
Entry
)
itr
.
next
();
Object
ok
=
me
.
getKey
();
//获取参数名
Object
ov
=
me
.
getValue
();
//获取参数值
System
.
out
.
println
(
ok
+
"="
+
ok
.
toString
());
System
.
out
.
println
(
ov
+
"="
+
ov
.
toString
());
String
[]
value
=
new
String
[
1
];
if
(
ov
instanceof
String
[]){
value
=(
String
[])
ov
;
}
else
{
value
[
0
]=
ov
.
toString
();
}
for
(
int
k
=
0
;
k
<
value
.
length
;
k
++){
System
.
out
.
println
(
ok
+
"="
+
value
[
k
]);
}
}
printNotifyParam
(
map
);
// Set keSet=map.entrySet();
// for(Iterator itr = keSet.iterator(); itr.hasNext();){
// Map.Entry me=(Map.Entry)itr.next();
// Object ok=me.getKey(); //获取参数名
// Object ov=me.getValue(); //获取参数值
// System.out.println(ok+"="+ok.toString());
// System.out.println(ov+"="+ov.toString());
// String[] value=new String[1];
// if(ov instanceof String[]){
// value=(String[])ov;
// }else{
// value[0]=ov.toString();
// }
// for(int k=0;k <value.length;k++){
// System.out.println(ok+"="+value[k]);
// }
// }
//设置编码
try
{
request
.
setCharacterEncoding
(
"UTF-8"
);
...
...
@@ -406,23 +477,24 @@ public class PayApiController {
System
.
out
.
println
(
"。。。。。。支付宝回调。。。。。"
);
Response
responseRetrun
=
new
Response
();
Map
map
=
request
.
getParameterMap
();
Set
keSet
=
map
.
entrySet
();
for
(
Iterator
itr
=
keSet
.
iterator
();
itr
.
hasNext
();){
Map
.
Entry
me
=(
Map
.
Entry
)
itr
.
next
();
Object
ok
=
me
.
getKey
();
//获取参数名
Object
ov
=
me
.
getValue
();
//获取参数值
System
.
out
.
println
(
ok
+
"="
+
ok
.
toString
());
System
.
out
.
println
(
ov
+
"="
+
ov
.
toString
());
String
[]
value
=
new
String
[
1
];
if
(
ov
instanceof
String
[]){
value
=(
String
[])
ov
;
}
else
{
value
[
0
]=
ov
.
toString
();
}
for
(
int
k
=
0
;
k
<
value
.
length
;
k
++){
System
.
out
.
println
(
ok
+
"="
+
value
[
k
]);
}
}
printNotifyParam
(
map
);
// Set keSet=map.entrySet();
// for(Iterator itr = keSet.iterator(); itr.hasNext();){
// Map.Entry me=(Map.Entry)itr.next();
// Object ok=me.getKey(); //获取参数名
// Object ov=me.getValue(); //获取参数值
// System.out.println(ok+"="+ok.toString());
// System.out.println(ov+"="+ov.toString());
// String[] value=new String[1];
// if(ov instanceof String[]){
// value=(String[])ov;
// }else{
// value[0]=ov.toString();
// }
// for(int k=0;k <value.length;k++){
// System.out.println(ok+"="+value[k]);
// }
// }
//设置编码
try
{
request
.
setCharacterEncoding
(
"UTF-8"
);
...
...
@@ -466,6 +538,31 @@ public class PayApiController {
}
/**
* 打印支付回调信息
* @param map
*/
private
void
printNotifyParam
(
Map
map
){
Set
keSet
=
map
.
entrySet
();
for
(
Iterator
itr
=
keSet
.
iterator
();
itr
.
hasNext
();){
Map
.
Entry
me
=(
Map
.
Entry
)
itr
.
next
();
Object
ok
=
me
.
getKey
();
//获取参数名
Object
ov
=
me
.
getValue
();
//获取参数值
System
.
out
.
println
(
ok
+
"="
+
ok
.
toString
());
System
.
out
.
println
(
ov
+
"="
+
ov
.
toString
());
String
[]
value
=
new
String
[
1
];
if
(
ov
instanceof
String
[]){
value
=(
String
[])
ov
;
}
else
{
value
[
0
]=
ov
.
toString
();
}
for
(
int
k
=
0
;
k
<
value
.
length
;
k
++){
System
.
out
.
println
(
ok
+
"="
+
value
[
k
]);
}
}
}
/**
* 获取支付的结果
* @param orderEntity
...
...
@@ -537,4 +634,27 @@ public class PayApiController {
return
response
;
}
/**
* 获取可提现额度
* @param request
* @return
*/
@PostMapping
(
"/putForwardNum"
)
public
Response
getPutForwardNum
(
JuHeZhongPayRequest
request
)
{
Response
resp
=
new
Response
();
try
{
BalanceEntity
balance
=
payService
.
getPutForwardNum
(
request
);
String
balanceNum
=
balance
.
getBalance
();
resp
.
setData
(
balanceNum
);
resp
.
setMessage
(
ComCode
.
STATUS_CODE_2000_DESC
);
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
;
}
}
src/main/java/com/thinkgem/jeesite/modules/pay/juhezhong/service/JuHeZhongPayJFenService.java
View file @
35f677bd
...
...
@@ -133,34 +133,34 @@ public class JuHeZhongPayJFenService {
public
static
void
main
(
String
[]
args
)
throws
Exception
{
JuHeZhongPayJFenService
juHeZhongPayJFenService
=
new
JuHeZhongPayJFenService
();
JSONObject
dto
=
new
JSONObject
();
dto
.
put
(
"orderId"
,
MakeOrderNum
.
makeOrderNum
());
// subMchId = B105244442
// 商户入驻
// JSONObject dto = new JSONObject();
// dto.put("orderId", MakeOrderNum.makeOrderNum());
//// subMchId = B105244442
////
//// 聂换换 B105247024
// dto.put("serviceType",1);
// dto.put("subMerchantName","B105244442");
// dto.put("subMerchantType","PERSON");
// dto.put("businessLicense","businessLicense23");
// dto.put("legalPersonName","唐挺");
// dto.put("legalPersonID","510623198809184419");
// dto.put("subMerchantPersonName","唐挺");
// dto.put("subMerchantPersonPhone","15902202472");
// dto.put("bankType","TOPRIVATE");
//
// 聂换换 B105247024
dto
.
put
(
"serviceType"
,
1
);
dto
.
put
(
"subMerchantName"
,
"kklsubMerchantName32"
);
dto
.
put
(
"subMerchantType"
,
"PERSON"
);
dto
.
put
(
"businessLicense"
,
"businessLicense23"
);
dto
.
put
(
"legalPersonName"
,
"聂换换"
);
dto
.
put
(
"legalPersonID"
,
"130434199212214429"
);
dto
.
put
(
"subMerchantPersonName"
,
"聂换换"
);
dto
.
put
(
"subMerchantPersonPhone"
,
"13722537737"
);
dto
.
put
(
"bankType"
,
"TOPRIVATE"
);
dto
.
put
(
"accountName"
,
"聂换换"
);
dto
.
put
(
"accountNo"
,
"6217000060031684713"
);
dto
.
put
(
"bankName"
,
"中国建设银行"
);
dto
.
put
(
"bankProv"
,
"天津"
);
dto
.
put
(
"bankCity"
,
"天津市"
);
dto
.
put
(
"bankBranch"
,
"开户地址new"
);
dto
.
put
(
"bankCode"
,
"105100000017"
);
dto
.
put
(
"timestamp"
,
System
.
currentTimeMillis
());
juHeZhongPayJFenService
.
merchantIn
(
dto
);
// dto.put("accountName","唐挺");
// dto.put("accountNo","6217000066011457475");
// dto.put("bankName","中国建设银行");
// dto.put("bankProv","天津");
// dto.put("bankCity","天津市");
// dto.put("bankBranch","开户地址new");
// dto.put("bankCode","105100000017");
//
// dto.put("timestamp",System.currentTimeMillis());
//
// JSONObject jsonObject = juHeZhongPayJFenService.merchantIn(dto);
// System.out.println(jsonObject);
// dto.put("subMchId","B105247024");
// dto.put("paymentType","QUICKPAY");
...
...
@@ -179,10 +179,49 @@ public class JuHeZhongPayJFenService {
// dto.put("accountName","李波");
// dto.put("accountNo","6225571645517950");
// dto.put("mobile","13821934497");
// dto.put("notifyUrl","http://
39.107.124.166
:8080/youka-api/api/pay/openCardCallback");
// dto.put("notifyUrl","http://
youkapay.com
:8080/youka-api/api/pay/openCardCallback");
// dto.put("merchantKey",ComCode.JFEN_MERCHANT_KEY);
// dto.put("timestamp",System.currentTimeMillis());
//查询订单
// CommonDto dto = new CommonDto();
// dto.setOrderId("lKJWcEpDHVXNaB3mA4VlR0FFLniC53OSLVcvptca70WrvG02wFh2u2xx8csWYdbn");
// dto.setMerchantId(ComCode.JFEN_MERCHANT_ID);
// dto.setMerchantKey(ComCode.JFEN_MERCHANT_KEY);
// dto.setTimestamp(System.currentTimeMillis());
// JSONObject query = juHeZhongPayJFenService.query(dto);
// System.out.println(query);
// 添加汇率
// JSONObject dto = new JSONObject();
// dto.put("orderId", MakeOrderNum.makeOrderNum());
// subMchId = B105244442
// 聂换换 B105247024
// dto.put("subMerchantName","kklsubMerchantName32");
// dto.put("subMerchantType","PERSON");
// dto.put("businessLicense","businessLicense23");
// dto.put("legalPersonName","聂换换");
// dto.put("legalPersonID","130434199212214429");
// dto.put("subMerchantPersonName","聂换换");
// dto.put("subMerchantPersonPhone","13722537737");
// dto.put("bankType","TOPRIVATE");
//
// dto.put("accountName","聂换换");
// dto.put("accountNo","6217000060031684713");
// dto.put("bankName","中国建设银行");
// dto.put("bankProv","天津");
// dto.put("bankCity","天津市");
// dto.put("bankBranch","开户地址new");
// dto.put("bankCode","105100000017");
//
// dto.put("timestamp",System.currentTimeMillis());
//
// JSONObject jsonObject = juHeZhongPayJFenService.merchantAddFeel(dto);
// System.out.println(jsonObject);
/**
* 。。。。。。openCardCallback回调。。。。。
swpaccid=swpaccid
...
...
@@ -218,8 +257,8 @@ public class JuHeZhongPayJFenService {
2018-04-13 11:41:10,939 DEBUG [jeesite.modules.sys.interceptor.LogInterceptor] - 计时结束:11:41:10.939 耗时:0:0:0.37 URI: /youka-api/api/pay/openCardCallback 最大内存: 1739m 已分配内存: 743m 已分配内存中的剩余空间: 145m 最大可用内存: 1141m
*/
// System.out.println(dto.toJSONString());
// juHeZhongPayJFenService.openCard(dto);
//
JSONObject json =
juHeZhongPayJFenService.openCard(dto);
// System.out.println(json);
// dto.put("orderId",MakeOrderNum.makeOrderNum());
...
...
@@ -236,7 +275,7 @@ public class JuHeZhongPayJFenService {
// dto.put("mobile","13821934497");
// dto.put("swpaccid","3296555230614091180");
//
// dto.put("notifyUrl","http://
39.107.124.166
:8080/youka-api/api/pay/openCardCallback");
// dto.put("notifyUrl","http://
youkapay
:8080/youka-api/api/pay/openCardCallback");
// dto.put("amount","1000");
// juHeZhongPayJFenService.openCard(dto);
// trade_no 20180413135023288124
...
...
src/main/java/com/thinkgem/jeesite/modules/pay/juhezhong/service/JuHeZhongPayService.java
View file @
35f677bd
...
...
@@ -2,15 +2,18 @@ package com.thinkgem.jeesite.modules.pay.juhezhong.service;
import
com.alibaba.fastjson.JSONObject
;
import
com.thinkgem.jeesite.common.constant.ComCode
;
import
com.thinkgem.jeesite.common.utils.IdGen
;
import
com.thinkgem.jeesite.common.utils.JuhezhongUtils
;
import
com.thinkgem.jeesite.modules.pay.juhezhong.dto.*
;
import
com.thinkgem.jeesite.modules.pay.juhezhong.utils.Bean2Map
;
import
com.thinkgem.jeesite.modules.pay.juhezhong.utils.HttpUtil
;
import
com.thinkgem.jeesite.modules.pay.juhezhong.utils.MakeOrderNum
;
import
com.thinkgem.jeesite.modules.pay.juhezhong.utils.SignUtils
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.util.Map
;
/**
...
...
@@ -139,8 +142,27 @@ public JSONObject quickWebPay ( JuhezhongDto dto ) throws Exception {
String
respStr
=
HttpUtil
.
post
(
ComCode
.
HOST
+
ComCode
.
NO_INTEGRAL_QUICK_PAY_URL
,
params
);
return
JSONObject
.
parseObject
(
respStr
);
}
public
JSONObject
quickPay
(
JuhezhongDto
dto
)
throws
Exception
{
Map
<
String
,
Object
>
params
=
Bean2Map
.
Entity2Map
(
dto
);
System
.
out
.
println
(
params
);
String
signBefore
=
SignUtils
.
signBefore
(
params
);
System
.
out
.
println
(
signBefore
);
String
sign
=
SignUtils
.
sign
(
signBefore
,
ComCode
.
MERCHANT_SECRET
);
System
.
out
.
println
(
"sign2:"
+
sign
);
params
.
put
(
"sign"
,
sign
);
String
respStr
=
HttpUtil
.
post
(
ComCode
.
HOST
+
ComCode
.
NO_INTEGRAL_QUICK_PAY_URL
,
params
);
return
JSONObject
.
parseObject
(
respStr
);
}
public
JSONObject
quickPay
(
JSONObject
dto
)
throws
Exception
{
String
signBefore
=
SignUtils
.
signBefore
(
dto
);
System
.
out
.
println
(
signBefore
);
String
sign
=
SignUtils
.
sign
(
signBefore
,
ComCode
.
MERCHANT_SECRET
);
System
.
out
.
println
(
"sign:"
+
sign
);
dto
.
put
(
"sign"
,
sign
);
String
respStr
=
HttpUtil
.
post
(
ComCode
.
HOST
+
ComCode
.
NO_INTEGRAL_QUICK_PAY_URL
,
dto
);
return
JSONObject
.
parseObject
(
respStr
);
}
/**
* 查询订单状态
...
...
@@ -176,12 +198,83 @@ public JSONObject quickWebPay ( JuhezhongDto dto ) throws Exception {
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
// JuhezhongDto dto = new JuhezhongDto();
// dto.setOrderId(MakeOrderNum.makeOrderNum());//非订单号
// dto.setMerchantId(ComCode.MERCHANT_ID);//商户号
//
// dto.setAmount(10000);//订单金额,单位是分
// dto.setTrxType(3);//交易类型,默认传3
// dto.setType(6);//5 借记卡 只能 D0 6 贷记卡 D0 t1
// dto.setBankNo("6217000066011457475");//支付卡号
// dto.setCvn2("065");//安全码
// dto.setPhone("15902202472");//支付卡预留手机号
// dto.setExpired("0528");//信用卡有效期(MMYY)
// dto.setUserFee(200);//手续费 单位:分 ,D0 业务必传
// if(dto.getType() == 6){
//
// dto.setSettleBankName("建设银行");//结算银行 D0 业务必传
// dto.setSettleBankNo("6217000066011457475");//一个身份证只能对应一个结算卡 D0 业务必传
// dto.setSettleBankPhone("13821934497");//结算卡预留手机号 D0 业务必传
// dto.setName("李波");//开户名 D0 业务必传
// dto.setCertificateCode("53250219850831031X");//开户人身份证号 D0 业务必传
// }
// dto.setMerchantKey(ComCode.MERCHANT_KEY);
// dto.setNotifyUrl("http://youkapay.com:8080/youka-api/api/pay/notifyQuickPay");//通知url
// dto.setFrontUrl("http://youkapay.com:8080/youka-api/api/pay/notifyQuickPay");//前台地址url(保留)
// dto.setTimestamp(System.currentTimeMillis());
// System.out.println(new JuHeZhongPayService().quickBPay(dto));
// String order = MakeOrderNum.makeOrderNum();
// JSONObject dto=new JSONObject();
// dto.put("orderId",order);//订单号
// dto.put("merchantId",ComCode.MERCHANT_ID);//商户号
// dto.put("amount",1000L);//交易金额 单位 分
// dto.put("trxType",3);//交易类型 默认2 T1(2,"T1"), D0(3,"D0");
// dto.put("type",6);// 5 借记卡 只能 d0 6 贷记卡 t1 d0
// dto.put("bankNo","6282161411286681");//支付卡号
// dto.put("cvn2","913");//支付卡号
// dto.put("expired","0421");//支付卡号
// dto.put("phone","15902202472");//支付卡预留手机号
// dto.put("userFee",200);//手续费 单位分
// if(dto.getInteger("type")==6){
// dto.put("settleBankName","建设银行");//结算银行
// dto.put("settleBankNo","6217000066011457475");//结算卡号
// dto.put("settleBankPhone","15902202472");//结算卡预留手机号
// dto.put("name","唐挺");//结算账户
// dto.put("certificateCode","510623198809184419");//身份证号
//
// }
// dto.put("merchantKey",ComCode.MERCHANT_KEY);//商户key
// dto.put("notifyUrl","http://youkapay.com:8080/youka-api/api/pay/notifyQuickPay");//通知url
// dto.put("frontUrl","http://youkapay.com:8080/youka-api/api/pay/notifyQuickPay");//通知url
// dto.put("timestamp",System.currentTimeMillis());//时间戳
// System.out.println(new JuHeZhongPayService().quickPay(dto));
//查询订单
JuhezhongDto
a
=
new
JuhezhongDto
(
);
a
.
setOrderId
(
"
Dy58WqJG3MmNpSpQMq3wKZV55OiO48asPzRp4YUBBZUsVEiow7q6CZTQqwrBTl4k
"
);
a
.
setOrderId
(
"
20180606105801173000
"
);
a
.
setMerchantId
(
ComCode
.
MERCHANT_ID
);
a
.
setMerchantKey
(
ComCode
.
MERCHANT_KEY
);
a
.
setTimestamp
(
System
.
currentTimeMillis
(
)
);
System
.
out
.
println
(
"Json格式:"
+
new
JuHeZhongPayService
(
).
orderQuery
(
a
)
);
// MerchantDto dto = new MerchantDto();
// dto.setMerchantId(ComCode.MERCHANT_ID);
// dto.setOrderId(IdGen.uuid());//不会产生交易订单
// dto.setIdType("01"); // 根据文档说明,证件类型固定为01
// dto.setAccName("唐挺");
// dto.setAccType(1);//1 对私 2对公
// dto.setAccNo("6217000060031684713");
// dto.setAccProvince("天津市");
// dto.setAccCity("天津");
// dto.setBankCode("建设银行");
// dto.setMobile("15902202472");
// dto.setIdNo("6217000066011457475");
// dto.setSettleRate(new BigDecimal(0));
// dto.setExtraRate(new BigDecimal(ComCode.EXTRA_RATE));
// dto.setTimestamp(System.currentTimeMillis());
// dto.setMerchantKey(ComCode.MERCHANT_KEY);
// System.out.println("结果:"+new JuHeZhongPayService().register(dto));
}
// public static void main (String[] args) throws Exception {
...
...
src/main/java/com/thinkgem/jeesite/modules/pay/service/PayApiService.java
View file @
35f677bd
...
...
@@ -14,10 +14,7 @@ import com.thinkgem.jeesite.modules.pay.alipay.service.AlipayService;
import
com.thinkgem.jeesite.modules.pay.dao.PayApiDao
;
import
com.thinkgem.jeesite.modules.pay.entity.*
;
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.MerchantDto
;
import
com.thinkgem.jeesite.modules.pay.juhezhong.dto.PayBackDto
;
import
com.thinkgem.jeesite.modules.pay.juhezhong.dto.QuickDto
;
import
com.thinkgem.jeesite.modules.pay.juhezhong.dto.*
;
import
com.thinkgem.jeesite.modules.pay.juhezhong.service.JuHeZhongPayIntegralService
;
import
com.thinkgem.jeesite.modules.pay.juhezhong.service.JuHeZhongPayJFenService
;
import
com.thinkgem.jeesite.modules.pay.juhezhong.service.JuHeZhongPayService
;
...
...
@@ -92,7 +89,6 @@ public class PayApiService {
payBackDto
.
setIsUrl
(
"0"
);
return
payBackDto
;
}
// 1. 根据入参获取用户详情信息,包括支付卡片信息
UserEntity
userEntity
=
userService
.
getUserInfo
(
new
Request
(
request
.
getSubMerchantCode
()));
userEntity
=
userService
.
getUserDetailInfo
(
userEntity
);
...
...
@@ -111,32 +107,34 @@ public class PayApiService {
PayBackDto
payBackDto
=
new
PayBackDto
();
if
(
ComCode
.
PAYCHANNEL_HL1
.
equals
(
request
.
getPayChannel
())){
OrderEntity
orderEntity
=
new
OrderEntity
(
code
,
request
.
getSubMerchantCode
(),
payNo
,
payCode
,
"quick"
,
request
.
getPayChannel
(),
"1"
,
amount
,
request
.
getSubject
(),
""
,
String
.
valueOf
(
"D"
.
equalsIgnoreCase
(
userEntity
.
getUserDetail
().
getCard
().
getCardType
())
?
5
:
(
"C"
.
equalsIgnoreCase
(
userEntity
.
getUserDetail
().
getCard
().
getCardType
())
?
6
:
0
)),
request
.
getCardCode
());
payDao
.
saveOrderInfo
(
orderEntity
);
// 3. 创建分润信息,并保存
Map
<
String
,
String
>
userBenefits
=
getUserBenefit
(
userEntity
,
request
);
for
(
String
key
:
userBenefits
.
keySet
())
{
String
benefitCode
=
IdGen
.
randomBase62
(
64
);
BenefitEntity
benefitEntity
=
new
BenefitEntity
(
benefitCode
,
request
.
getSubMerchantCode
(),
code
,
request
.
getPayChannel
(),
"0"
,
"A"
,
userBenefits
.
get
(
key
),
""
);
benefitEntity
.
setAmount
(
String
.
valueOf
(
Double
.
valueOf
(
benefitEntity
.
getAmount
())));
benefitEntity
.
setPayMethod
(
orderEntity
.
getPayMethod
());
payDao
.
saveBenefitInfo
(
benefitEntity
);
}
addUserBenefits
(
userEntity
,
orderEntity
,
code
,
request
);
// payDao.saveOrderInfo(orderEntity);
// // 3. 创建分润信息,并保存
// Map<String, String> userBenefits = getUserBenefit(userEntity, request);
// for (String key : userBenefits.keySet()) {
// String benefitCode = IdGen.randomBase62(64);
// BenefitEntity benefitEntity = new BenefitEntity(benefitCode, request.getSubMerchantCode(), code, request.getPayChannel(), "0", "A", userBenefits.get(key), "");
// benefitEntity.setAmount(String.valueOf(Double.valueOf(benefitEntity.getAmount())));
// benefitEntity.setPayMethod(orderEntity.getPayMethod());
// payDao.saveBenefitInfo(benefitEntity);
// }
// 获取支付卡号
CardEntity
cardEntityPay
=
userService
.
getCardInfo
(
request
);
payBackDto
=
quickPayJuHeZhongPay
(
userEntity
,
orderEntity
,
request
,
cardEntityPay
);
payBackDto
=
this
.
payJuhezhong
(
request
,
userEntity
,
orderEntity
,
cardEntityPay
);
}
else
if
(
ComCode
.
PAYCHANNEL_HL3
.
equals
(
request
.
getPayChannel
())){
OrderEntity
orderEntity
=
new
OrderEntity
(
code
,
request
.
getSubMerchantCode
(),
payNo
,
payCode
,
"quick"
,
request
.
getPayChannel
(),
"1"
,
amount
,
request
.
getSubject
(),
""
,
String
.
valueOf
(
"D"
.
equalsIgnoreCase
(
userEntity
.
getUserDetail
().
getCard
().
getCardType
())
?
5
:
(
"C"
.
equalsIgnoreCase
(
userEntity
.
getUserDetail
().
getCard
().
getCardType
())
?
6
:
0
)),
request
.
getCardCode
());
payDao
.
saveOrderInfo
(
orderEntity
);
// 3. 创建分润信息,并保存
Map
<
String
,
String
>
userBenefits
=
getUserBenefit
(
userEntity
,
request
);
for
(
String
key
:
userBenefits
.
keySet
())
{
String
benefitCode
=
IdGen
.
randomBase62
(
64
);
BenefitEntity
benefitEntity
=
new
BenefitEntity
(
benefitCode
,
request
.
getSubMerchantCode
(),
code
,
request
.
getPayChannel
(),
"0"
,
"A"
,
userBenefits
.
get
(
key
),
""
);
benefitEntity
.
setAmount
(
String
.
valueOf
(
Double
.
valueOf
(
benefitEntity
.
getAmount
())));
benefitEntity
.
setPayMethod
(
orderEntity
.
getPayMethod
());
payDao
.
saveBenefitInfo
(
benefitEntity
);
}
addUserBenefits
(
userEntity
,
orderEntity
,
code
,
request
);
// payDao.saveOrderInfo(orderEntity);
// // 3. 创建分润信息,并保存
// Map<String, String> userBenefits = getUserBenefit(userEntity, request);
// for (String key : userBenefits.keySet()) {
// String benefitCode = IdGen.randomBase62(64);
// BenefitEntity benefitEntity = new BenefitEntity(benefitCode, request.getSubMerchantCode(), code, request.getPayChannel(), "0", "A", userBenefits.get(key), "");
// benefitEntity.setAmount(String.valueOf(Double.valueOf(benefitEntity.getAmount())));
// benefitEntity.setPayMethod(orderEntity.getPayMethod());
// payDao.saveBenefitInfo(benefitEntity);
// }
// 获取支付卡号
CardEntity
cardEntityPay
=
userService
.
getCardInfo
(
request
);
...
...
@@ -150,16 +148,17 @@ public class PayApiService {
}
else
if
(
ComCode
.
PAYCHANNEL_HUANQIUHUIJU
.
equals
(
request
.
getPayChannel
())){
OrderEntity
orderEntity
=
new
OrderEntity
(
code
,
request
.
getSubMerchantCode
(),
payNo
,
payCode
,
"quick"
,
request
.
getPayChannel
(),
"1"
,
amount
,
request
.
getSubject
(),
""
,
String
.
valueOf
(
"D"
.
equalsIgnoreCase
(
userEntity
.
getUserDetail
().
getCard
().
getCardType
())
?
5
:
(
"C"
.
equalsIgnoreCase
(
userEntity
.
getUserDetail
().
getCard
().
getCardType
())
?
6
:
0
)),
request
.
getCardCode
());
payDao
.
saveOrderInfo
(
orderEntity
);
// 3. 创建分润信息,并保存
Map
<
String
,
String
>
userBenefits
=
getUserBenefit
(
userEntity
,
request
);
for
(
String
key
:
userBenefits
.
keySet
())
{
String
benefitCode
=
IdGen
.
randomBase62
(
64
);
BenefitEntity
benefitEntity
=
new
BenefitEntity
(
benefitCode
,
request
.
getSubMerchantCode
(),
code
,
request
.
getPayChannel
(),
"0"
,
"A"
,
userBenefits
.
get
(
key
),
""
);
benefitEntity
.
setAmount
(
String
.
valueOf
(
Double
.
valueOf
(
benefitEntity
.
getAmount
())));
benefitEntity
.
setPayMethod
(
orderEntity
.
getPayMethod
());
payDao
.
saveBenefitInfo
(
benefitEntity
);
}
addUserBenefits
(
userEntity
,
orderEntity
,
code
,
request
);
// payDao.saveOrderInfo(orderEntity);
// // 3. 创建分润信息,并保存
// Map<String, String> userBenefits = getUserBenefit(userEntity, request);
// for (String key : userBenefits.keySet()) {
// String benefitCode = IdGen.randomBase62(64);
// BenefitEntity benefitEntity = new BenefitEntity(benefitCode, request.getSubMerchantCode(), code, request.getPayChannel(), "0", "A", userBenefits.get(key), "");
// benefitEntity.setAmount(String.valueOf(Double.valueOf(benefitEntity.getAmount())));
// benefitEntity.setPayMethod(orderEntity.getPayMethod());
// payDao.saveBenefitInfo(benefitEntity);
// }
// 获取支付卡号
CardEntity
cardEntityPay
=
userService
.
getCardInfo
(
request
);
...
...
@@ -167,16 +166,17 @@ public class PayApiService {
payBackDto
=
this
.
huanqiuhujuPay
(
userEntity
,
orderEntity
,
request
,
cardEntityPay
);
}
else
{
OrderEntity
orderEntity
=
new
OrderEntity
(
code
,
request
.
getSubMerchantCode
(),
payNo
,
payCode
,
"quick"
,
ComCode
.
PAYCHANNEL_HL3
,
"1"
,
amount
,
request
.
getSubject
(),
""
,
String
.
valueOf
(
"D"
.
equalsIgnoreCase
(
userEntity
.
getUserDetail
().
getCard
().
getCardType
())
?
5
:
(
"C"
.
equalsIgnoreCase
(
userEntity
.
getUserDetail
().
getCard
().
getCardType
())
?
6
:
0
)),
request
.
getCardCode
());
payDao
.
saveOrderInfo
(
orderEntity
);
// 3. 创建分润信息,并保存
Map
<
String
,
String
>
userBenefits
=
getUserBenefit
(
userEntity
,
request
);
for
(
String
key
:
userBenefits
.
keySet
())
{
String
benefitCode
=
IdGen
.
randomBase62
(
64
);
BenefitEntity
benefitEntity
=
new
BenefitEntity
(
benefitCode
,
request
.
getSubMerchantCode
(),
code
,
request
.
getPayChannel
(),
"0"
,
"A"
,
userBenefits
.
get
(
key
),
""
);
benefitEntity
.
setAmount
(
String
.
valueOf
(
Double
.
valueOf
(
benefitEntity
.
getAmount
())));
benefitEntity
.
setPayMethod
(
orderEntity
.
getPayMethod
());
payDao
.
saveBenefitInfo
(
benefitEntity
);
}
addUserBenefits
(
userEntity
,
orderEntity
,
code
,
request
);
// payDao.saveOrderInfo(orderEntity);
// // 3. 创建分润信息,并保存
// Map<String, String> userBenefits = getUserBenefit(userEntity, request);
// for (String key : userBenefits.keySet()) {
// String benefitCode = IdGen.randomBase62(64);
// BenefitEntity benefitEntity = new BenefitEntity(benefitCode, request.getSubMerchantCode(), code, request.getPayChannel(), "0", "A", userBenefits.get(key), "");
// benefitEntity.setAmount(String.valueOf(Double.valueOf(benefitEntity.getAmount())));
// benefitEntity.setPayMethod(orderEntity.getPayMethod());
// payDao.saveBenefitInfo(benefitEntity);
// }
// 获取支付卡号
CardEntity
cardEntityPay
=
userService
.
getCardInfo
(
request
);
...
...
@@ -194,6 +194,25 @@ public class PayApiService {
}
/**
* 共用的分润信息
* @param userEntity
* @param orderEntity
* @param code
* @param request
*/
private
void
addUserBenefits
(
UserEntity
userEntity
,
OrderEntity
orderEntity
,
String
code
,
JuHeZhongPayRequest
request
){
payDao
.
saveOrderInfo
(
orderEntity
);
// 3. 创建分润信息,并保存
Map
<
String
,
String
>
userBenefits
=
getUserBenefit
(
userEntity
,
request
);
for
(
String
key
:
userBenefits
.
keySet
())
{
String
benefitCode
=
IdGen
.
randomBase62
(
64
);
BenefitEntity
benefitEntity
=
new
BenefitEntity
(
benefitCode
,
request
.
getSubMerchantCode
(),
code
,
request
.
getPayChannel
(),
"0"
,
"A"
,
userBenefits
.
get
(
key
),
""
);
benefitEntity
.
setAmount
(
String
.
valueOf
(
Double
.
valueOf
(
benefitEntity
.
getAmount
())));
benefitEntity
.
setPayMethod
(
orderEntity
.
getPayMethod
());
payDao
.
saveBenefitInfo
(
benefitEntity
);
}
}
/*
* 以下为类内使用方法
...
...
@@ -582,16 +601,18 @@ public class PayApiService {
String
amount
=
df
.
format
(
Double
.
valueOf
(
request
.
getAmount
()));
OrderEntity
orderEntity
=
new
OrderEntity
(
code
,
request
.
getSubMerchantCode
(),
payNo
,
payCode
,
"quick"
,
request
.
getPayChannel
(),
"1"
,
amount
,
request
.
getSubject
(),
""
,
String
.
valueOf
(
"D"
.
equalsIgnoreCase
(
userDetailEntity
.
getCard
().
getCardType
())
?
5
:
(
"C"
.
equalsIgnoreCase
(
userDetailEntity
.
getCard
().
getCardType
())
?
6
:
0
)),
request
.
getCardCode
());
payDao
.
saveOrderInfo
(
orderEntity
);
// 3. 创建分润信息,并保存
Map
<
String
,
String
>
userBenefits
=
getUserBenefit
(
userEntity
,
request
);
for
(
String
key
:
userBenefits
.
keySet
())
{
String
benefitCode
=
IdGen
.
randomBase62
(
64
);
BenefitEntity
benefitEntity
=
new
BenefitEntity
(
benefitCode
,
request
.
getSubMerchantCode
(),
code
,
request
.
getPayChannel
(),
"0"
,
"A"
,
userBenefits
.
get
(
key
),
""
);
benefitEntity
.
setAmount
(
String
.
valueOf
(
Double
.
valueOf
(
benefitEntity
.
getAmount
())));
benefitEntity
.
setPayMethod
(
orderEntity
.
getPayMethod
());
payDao
.
saveBenefitInfo
(
benefitEntity
);
}
//3. 分润信息
addUserBenefits
(
userEntity
,
orderEntity
,
code
,
request
);
// payDao.saveOrderInfo(orderEntity);
// // 3. 创建分润信息,并保存
// Map<String, String> userBenefits = getUserBenefit(userEntity, request);
// for (String key : userBenefits.keySet()) {
// String benefitCode = IdGen.randomBase62(64);
// BenefitEntity benefitEntity = new BenefitEntity(benefitCode, request.getSubMerchantCode(), code, request.getPayChannel(), "0", "A", userBenefits.get(key), "");
// benefitEntity.setAmount(String.valueOf(Double.valueOf(benefitEntity.getAmount())));
// benefitEntity.setPayMethod(orderEntity.getPayMethod());
// payDao.saveBenefitInfo(benefitEntity);
// }
Response
response
=
new
Response
();
JSONObject
dto
=
new
JSONObject
();
...
...
@@ -647,54 +668,8 @@ public class PayApiService {
// 如果没有注册 则先注册
if
(
userSubMchId
==
null
){
throw
new
MyException
(
"未开卡,请先开卡"
);
// UserEntity userEntity = userService.getUserInfo(request);
// UserDetailEntity userDetailEntity = userService.getUserDetailByCode(request.getSubMerchantCode());
// CardEntity cardEntityDebit = userService.getCardInfoByCode(userEntity);
// JSONObject dto = new JSONObject();
//
// String orderId = MakeOrderNum.makeOrderNum();
//
// dto.put("orderId", MakeOrderNum.makeOrderNum());
//
// dto.put("serviceType",1);
// dto.put("subMerchantName",userDetailEntity.getRealName()+orderId);
// dto.put("subMerchantType","PERSON");
// dto.put("businessLicense",userDetailEntity.getRealName()+orderId);
// dto.put("legalPersonName",userDetailEntity.getRealName());
// dto.put("legalPersonID",userDetailEntity.getIdCard());
// dto.put("subMerchantPersonName",userDetailEntity.getRealName());
// dto.put("subMerchantPersonPhone",userEntity.getMobile());
// dto.put("bankType","TOPRIVATE");
//
// dto.put("accountName",userDetailEntity.getRealName());
// dto.put("accountNo",cardEntityDebit.getCardNo());
// dto.put("bankName",cardEntityDebit.getBankName());
// dto.put("bankProv",cardEntityDebit.getProvince());
// dto.put("bankCity",cardEntityDebit.getCity());
// dto.put("bankBranch",cardEntityDebit.getCardPlace());
// dto.put("bankCode",cardEntityDebit.getBelongBank());
//
// dto.put("timestamp",System.currentTimeMillis());
//
// JSONObject jsonObject = null;
// try {
// jsonObject = juHeZhongPayJFenService.merchantIn(dto);
// } catch (Exception e) {
//
// }
// if (!"0000".equals(jsonObject.getString("code"))) {
// new MyException(jsonObject.getString("msg"));
// }
// String subMchId = jsonObject.getString("subMchId");
// userSubMchId = new UserSubMchId();
// userSubMchId.setUserCode(request.getSubMerchantCode());
// userSubMchId.setPayChannel(ComCode.PAYCHANNEL_HL2);
// userSubMchId.setSubmchid(subMchId);
// userService.addUserSubmchid(userSubMchId);
}
// if(){
//
// }
}
OrderEntity
orderEntity
=
this
.
getOrder
(
request
.
getPayNo
());
PayBackDto
payBackDto
=
new
PayBackDto
();
...
...
@@ -716,18 +691,64 @@ public class PayApiService {
JSONObject
jsonObject
=
juHeZhongPayJFenService
.
openCard
(
dto
);
this
.
notifyPay
(
orderEntity
);
if
(
"0000"
.
equals
(
jsonObject
.
get
(
"code"
))){
payBackDto
.
setMessage
(
jsonObject
.
getString
(
"msg"
));
if
(
"0000"
.
equals
(
jsonObject
.
get
(
"code"
))){
return
payBackDto
;
}
else
{
throw
new
MyException
(
jsonObject
.
getString
(
"msg"
));
}
}
// HL4 通道
@Transactional
(
readOnly
=
false
)
public
PayBackDto
payJuhezhong
(
JuHeZhongPayRequest
request
,
UserEntity
userEntity
,
OrderEntity
orderEntity
,
CardEntity
cardEntity
)
throws
Exception
{
//通过用户code获取user_detail表中数据
UserDetailEntity
userDetail
=
userService
.
getUserDetailByCode
(
userEntity
.
getCode
());
PayBackDto
payBackDto
=
new
PayBackDto
();
payBackDto
.
setIsUrl
(
"0"
);
//获取结算卡信息
CardEntity
cardEntityDebit
=
userService
.
getCardInfoByCode
(
userEntity
);
JuhezhongDto
dto
=
new
JuhezhongDto
();
dto
.
setOrderId
(
MakeOrderNum
.
makeOrderNum
());
//非订单号
dto
.
setMerchantId
(
ComCode
.
MERCHANT_ID
);
//商户号
dto
.
setMerchantKey
(
ComCode
.
MERCHANT_KEY
);
dto
.
setAmount
(
Integer
.
valueOf
(
orderEntity
.
getAmount
())*
100
);
//订单金额,单位为分
dto
.
setTrxType
(
3
);
//交易类型,默认传3
dto
.
setType
(
cardEntity
.
getCardType
().
equals
(
"D"
)?
6
:
5
);
//5 借记卡 只能 D0 6 贷记卡 D0 t1 ,表中 银行卡类型 D储蓄卡 C信用卡'
dto
.
setBankNo
(
cardEntity
.
getCardNo
());
//支付卡号
dto
.
setCvn2
(
request
.
getCvn2
());
//安全码
dto
.
setPhone
(
cardEntity
.
getCardMobile
());
//支付卡预留手机号
dto
.
setExpired
(
request
.
getExpireDate
());
//信用卡有效期(MMYY)
dto
.
setUserFee
(
Integer
.
valueOf
(
ComCode
.
EXTRA_RATE
));
//手续费 单位:分 ,D0 业务必传,商家约定
if
(
cardEntity
.
getCardType
().
equals
(
"D"
)){
if
(
cardEntityDebit
==
null
){
throw
new
MyException
(
"还没有结算卡!"
);
}
dto
.
setSettleBankName
(
cardEntityDebit
.
getBankName
());
//结算银行 D0 业务必传
dto
.
setSettleBankNo
(
cardEntityDebit
.
getCardNo
());
//一个身份证只能对应一个结算卡 D0 业务必传
dto
.
setSettleBankPhone
(
cardEntityDebit
.
getCardMobile
());
//结算卡预留手机号 D0 业务必传
dto
.
setName
(
userDetail
.
getRealName
());
//开户名 D0 业务必传
dto
.
setCertificateCode
(
userDetail
.
getIdCard
());
//开户人身份证号 D0 业务必传
}
dto
.
setNotifyUrl
(
ComCode
.
NOTIFY_CALLBACK_URL
);
//通知url
dto
.
setFrontUrl
(
ComCode
.
NOTIFY_CALLBACK_URL
);
//前台地址url(保留)
dto
.
setTimestamp
(
System
.
currentTimeMillis
());
JSONObject
jsonObject
=
juHeZhongPayService
.
quickPay
(
dto
);
this
.
notifyPay
(
orderEntity
);
payBackDto
.
setMessage
(
jsonObject
.
getString
(
"msg"
));
if
(
"0000"
.
equals
(
jsonObject
.
get
(
"code"
))){
return
payBackDto
;
}
else
{
throw
new
MyException
(
jsonObject
.
getString
(
"msg"
));
}
}
/**
* huanqiuhuiju 快捷支付
* @param request
...
...
@@ -775,12 +796,7 @@ public class PayApiService {
this
.
notifyPay
(
orderEntity
);
return
payBackDto
;
}
else
{
orderEntity
.
setPayStatus
(
"4"
);
payDao
.
updateOrderStatus
(
orderEntity
);
BenefitEntity
benefitEntity
=
new
BenefitEntity
();
benefitEntity
.
setOrderCode
(
orderEntity
.
getPayCode
());
benefitEntity
.
setDelFlag
(
"1"
);
payDao
.
deleteBenefit
(
benefitEntity
);
orderFail
(
orderEntity
);
throw
new
MyException
(
jsonObject
.
getString
(
"errtext"
));
}
...
...
@@ -958,7 +974,7 @@ public class PayApiService {
}
else
if
(
ComCode
.
PAYCHANNEL_HL2
.
equals
(
orderEntity
.
getPayChannel
())){
dto
.
setMerchantId
(
ComCode
.
JFEN_MERCHANT_ID
);
dto
.
setMerchantKey
(
ComCode
.
JFEN_MERCHANT_KEY
);
jsonObject
=
juHeZhongPayService
.
query
(
dto
);
jsonObject
=
juHeZhongPay
JFen
Service
.
query
(
dto
);
}
else
if
(
ComCode
.
PAYCHANNEL_HUANQIUHUIJU
.
equals
(
orderEntity
.
getPayChannel
())){
orderEntity
.
setPayStatus
(
"2"
);
payDao
.
updateOrderStatus
(
orderEntity
);
...
...
@@ -972,22 +988,14 @@ public class PayApiService {
orderEntity
.
setPayStatus
(
"2"
);
payDao
.
updateOrderStatus
(
orderEntity
);
// BenefitEntity benefitEntity = new BenefitEntity();
// benefitEntity.setOrderCode(orderEntity.getPayCode());
// benefitEntity.setBenefitStatus("1");
// payDao.updateBenefit(benefitEntity);
}
else
{
// 支付失败
orderEntity
.
setPayStatus
(
"4"
);
payDao
.
updateOrderStatus
(
orderEntity
);
BenefitEntity
benefitEntity
=
new
BenefitEntity
();
benefitEntity
.
setOrderCode
(
orderEntity
.
getPayCode
());
benefitEntity
.
setDelFlag
(
"1"
);
payDao
.
deleteBenefit
(
benefitEntity
);
orderFail
(
orderEntity
);
}
orderEntity
=
payDao
.
getOrder
(
orderEntity
);
return
orderEntity
;
}
/**
* 回调
* @param orderEntity
...
...
@@ -1106,12 +1114,7 @@ public class PayApiService {
order
.
setPayStatus
(
"2"
);
payDao
.
updateOrderStatus
(
order
);
}
else
{
// 支付失败
order
.
setPayStatus
(
"4"
);
payDao
.
updateOrderStatus
(
order
);
BenefitEntity
benefitEntity
=
new
BenefitEntity
();
benefitEntity
.
setOrderCode
(
order
.
getPayCode
());
benefitEntity
.
setDelFlag
(
"1"
);
payDao
.
deleteBenefit
(
benefitEntity
);
orderFail
(
order
);
}
}
}
else
if
(
"put_forward"
.
equals
(
order
.
getPayMethod
())){
// 提现
...
...
@@ -1161,4 +1164,21 @@ public class PayApiService {
return
jsonObject1
;
}
public
BalanceEntity
getPutForwardNum
(
JuHeZhongPayRequest
request
){
BenefitEntity
entity
=
new
BenefitEntity
();
entity
.
setUserCode
(
request
.
getSubMerchantCode
());
BalanceEntity
balanceEntity
=
benefitSevice
.
getBalanceM
(
entity
);
return
balanceEntity
;
}
private
void
orderFail
(
OrderEntity
orderEntity
){
orderEntity
.
setPayStatus
(
"4"
);
payDao
.
updateOrderStatus
(
orderEntity
);
BenefitEntity
benefitEntity
=
new
BenefitEntity
();
benefitEntity
.
setOrderCode
(
orderEntity
.
getPayCode
());
benefitEntity
.
setDelFlag
(
"1"
);
payDao
.
deleteBenefit
(
benefitEntity
);
}
}
src/main/java/com/thinkgem/jeesite/modules/user/api/UserApiController.java
View file @
35f677bd
package
com
.
thinkgem
.
jeesite
.
modules
.
user
.
api
;
import
com.google.common.collect.Maps
;
import
com.thinkgem.jeesite.common.baseBean.Response
;
import
com.thinkgem.jeesite.common.constant.ComCode
;
import
com.thinkgem.jeesite.common.utils.StringUtils
;
...
...
@@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
...
...
@@ -609,5 +611,35 @@ public class UserApiController {
// return resp;
// }
/**
* 获取邀请好友信息
* @param request
* @return
*/
@PostMapping
(
"/getMyInviting"
)
public
Response
getMyInviting
(
UserRequest
request
){
Response
resp
=
new
Response
();
if
(
request
==
null
||
StringUtils
.
isBlank
(
request
.
getSubMerchantCode
())){
resp
.
setStatus
(
ComCode
.
STATUS_CODE_4002
);
resp
.
setMessage
(
ComCode
.
STATUS_CODE_4001_DESC
);
return
resp
;
}
try
{
List
<
UserEntity
>
myInviting
=
userService
.
getMyInviting
(
request
);
Integer
activeNum
=
userService
.
getActiveNum
(
request
);
HashMap
<
String
,
Object
>
map
=
Maps
.
newHashMap
();
map
.
put
(
"allNum"
,
myInviting
.
size
());
map
.
put
(
"activeNum"
,
activeNum
);
map
.
put
(
"list"
,
myInviting
);
resp
.
setData
(
map
);
resp
.
setStatus
(
ComCode
.
STATUS_CODE_2000
);
resp
.
setMessage
(
ComCode
.
STATUS_CODE_2000_DESC
);
}
catch
(
Exception
e
){
resp
.
setStatus
(
ComCode
.
STATUS_CODE_9998
);
resp
.
setMessage
(
ComCode
.
STATUS_CODE_9998_DESC
);
resp
.
setError
(
e
.
getMessage
());
}
return
resp
;
}
}
src/main/java/com/thinkgem/jeesite/modules/user/dao/UserApiDao.java
View file @
35f677bd
...
...
@@ -109,4 +109,8 @@ public interface UserApiDao {
// 更新 待升级王者的用户记录表
public
Integer
updateUpgradeUser
(
UpgradeUserEntity
entity
);
//获取邀请好友
List
<
UserEntity
>
getMyInviting
(
UserRequest
request
);
//激活用户数量
public
Integer
getActiveUserNum
(
UserRequest
request
);
}
src/main/java/com/thinkgem/jeesite/modules/user/service/UserApiService.java
View file @
35f677bd
...
...
@@ -345,7 +345,7 @@ public class UserApiService {
this
.
merchantFeelJFen
(
userSubMchId
.
getSubmchid
(),
rateEntity
);
}
}
else
if
(
""
.
equals
(
rateEntity
.
getPayChannel
())){
}
else
if
(
ComCode
.
PAYCHANNEL_HL3
.
equals
(
rateEntity
.
getPayChannel
())){
}
}
...
...
@@ -760,4 +760,15 @@ public class UserApiService {
return
userDao
.
updateUpgradeUser
(
upgradeUserEntity
);
}
//获取邀请的好友列表
public
List
<
UserEntity
>
getMyInviting
(
UserRequest
request
)
{
List
<
UserEntity
>
list
=
userDao
.
getMyInviting
(
request
);
return
userDao
.
getMyInviting
(
request
);
}
//获取已激活数量
public
Integer
getActiveNum
(
UserRequest
request
){
return
userDao
.
getActiveUserNum
(
request
);
}
}
src/main/resources/mappings/modules/user/UserDao.xml
View file @
35f677bd
...
...
@@ -902,4 +902,27 @@
AND level = #{level}
AND order_code = #{orderCode}
</update>
<select
id=
"getMyInviting"
resultType=
"com.thinkgem.jeesite.modules.user.entity.UserEntity"
>
SELECT
id,
nickname,
IF(`status`=2,"已激活","未激活") status
FROM
youka_users
WHERE
recommended_mobile = (SELECT mobile FROM youka_users WHERE code = #{subMerchantCode})
</select>
<select
id=
"getActiveUserNum"
resultType=
"java.lang.Integer"
>
SELECT
count(id)
FROM
youka_users
WHERE
status = 2
AND
recommended_mobile = (SELECT mobile FROM youka_users WHERE code = #{subMerchantCode})
</select>
</mapper>
\ No newline at end of file
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