Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
2c64b820
提交
2c64b820
authored
1月 22, 2024
作者:
aiqingguo
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
承运借款流程-宁波银行
上级
e359a763
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
139 行增加
和
16 行删除
+139
-16
NbBankRecordEnum.java
...va/com/clx/performance/enums/nbbank/NbBankRecordEnum.java
+1
-0
NbBankRecord.java
...n/java/com/clx/performance/model/nbbank/NbBankRecord.java
+2
-1
NbBankServiceImpl.java
...nce/service/impl/thirdparty/nbbank/NbBankServiceImpl.java
+31
-5
NbBankThirdpartyServiceImpl.java
...e/impl/thirdparty/nbbank/NbBankThirdpartyServiceImpl.java
+98
-9
NbBankService.java
.../performance/service/thirdparty/nbbank/NbBankService.java
+2
-0
NbBankThirdpartyService.java
...ce/service/thirdparty/nbbank/NbBankThirdpartyService.java
+5
-1
没有找到文件。
performance-api/src/main/java/com/clx/performance/enums/nbbank/NbBankRecordEnum.java
浏览文件 @
2c64b820
...
...
@@ -16,6 +16,7 @@ public enum NbBankRecordEnum {
UNION_PAY_DIRECT_ORDER
(
2
,
"银联订单支付收款模式"
),
QUERY_ORDER
(
3
,
"交易结果查询"
),
NOTIFY_MERCHANT
(
4
,
"异步通知交易结果"
),
FUND_TRANSFER_ORDER
(
5
,
"云账簿资金划转"
),
;
private
final
Integer
code
;
...
...
performance-web/src/main/java/com/clx/performance/model/nbbank/NbBankRecord.java
浏览文件 @
2c64b820
...
...
@@ -28,7 +28,8 @@ public class NbBankRecord implements HasKey<Integer> {
private
Integer
id
;
//id
private
Integer
type
;
//类型:1转账直连下单 2银联订单支付收款模式 3交易结果查询 4异步通知交易结果
private
String
merId
;
//商户号
private
String
merSeqNo
;
//流水号
private
String
merSeqNo
;
//商户号流水号
private
LocalDateTime
merDtTm
;
//商户交易时间
private
String
transSeqNo
;
//第三方流水号
private
Integer
amount
;
//金额 (分)
private
String
param
;
//参数
...
...
performance-web/src/main/java/com/clx/performance/service/impl/thirdparty/nbbank/NbBankServiceImpl.java
浏览文件 @
2c64b820
...
...
@@ -28,12 +28,12 @@ public class NbBankServiceImpl implements NbBankService {
/**
* 订单支付
* @
return
*
第三方流水号
* @
Param
*
payType: 1转账直连下单 2银联订单支付收款模式
*/
@Override
public
NbBankOrderPayResultVO
orderPay
(
Integer
payType
)
{
if
(
payType
==
1
){
if
(
payType
==
1
){
//转账直连下单
String
merSeqNo
=
LocalDateTime
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyyMMddHHmmss"
));
JSONObject
data
=
bankThirdpartyService
.
directBankTransferOrder
(
merSeqNo
,
"EFT33021200556315"
,
1
);
...
...
@@ -48,7 +48,7 @@ public class NbBankServiceImpl implements NbBankService {
return
result
;
}
else
if
(
payType
==
2
){
else
if
(
payType
==
2
){
//银联订单支付收款模式
String
merSeqNo
=
LocalDateTime
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyyMMddHHmmss"
));
JSONObject
data
=
bankThirdpartyService
.
unionPayDirectOrder
(
merSeqNo
,
"EFT33021200556315"
,
1
,
"313332082914"
,
"86041110000076809"
,
"黑玫瑰"
);
...
...
@@ -71,7 +71,7 @@ public class NbBankServiceImpl implements NbBankService {
*/
@Override
public
NbBankOrderPayStatusResultVO
getOrderStatus
(
String
merSeqNo
)
{
JSONObject
data
=
bankThirdpartyService
.
queryOrder
(
merSeqNo
);
JSONObject
data
=
bankThirdpartyService
.
queryOrder
(
merSeqNo
,
"EFT33021200556315"
);
NbBankOrderPayStatusResultVO
result
=
new
NbBankOrderPayStatusResultVO
();
...
...
@@ -126,4 +126,30 @@ public class NbBankServiceImpl implements NbBankService {
}
@Override
public
NbBankOrderPayStatusResultVO
transferOrderStatus
(
String
merSeqNo
)
{
JSONObject
data
=
bankThirdpartyService
.
fundTransferOrder
(
merSeqNo
,
"EFT33021200556315"
,
""
,
1
,
"1"
,
"2"
);
NbBankOrderPayStatusResultVO
result
=
new
NbBankOrderPayStatusResultVO
();
String
transStatus
=
data
.
getString
(
"transStatus"
);
if
(
StringUtils
.
equals
(
transStatus
,
"00"
)){
result
.
setTransStatus
(
1
);}
//交易成功
else
if
(
StringUtils
.
equals
(
transStatus
,
"01"
)){
result
.
setTransStatus
(
2
);}
//交易失败
else
if
(
StringUtils
.
equals
(
transStatus
,
"02"
)){
result
.
setTransStatus
(
3
);}
//交易已受理
else
if
(
StringUtils
.
equals
(
transStatus
,
"80"
)){
result
.
setTransStatus
(
4
);}
//订单初始状态
else
if
(
StringUtils
.
equals
(
transStatus
,
"90"
)){
result
.
setTransStatus
(
5
);}
//交易不存在
else
if
(
StringUtils
.
equals
(
transStatus
,
"99"
)){
result
.
setTransStatus
(
6
);}
//交易超时,须发起交易结果查询
String
transSeqNo
=
data
.
getString
(
"transSeqNo"
);
result
.
setAmount
(
1
);
result
.
setRealAmount
(
1
);
result
.
setMerSeqNo
(
merSeqNo
);
result
.
setTransSeqNo
(
transSeqNo
);
return
result
;
}
}
performance-web/src/main/java/com/clx/performance/service/impl/thirdparty/nbbank/NbBankThirdpartyServiceImpl.java
浏览文件 @
2c64b820
...
...
@@ -336,13 +336,13 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
* 99:交易超时,须发起交易结果查询
*/
@Override
public
JSONObject
queryOrder
(
String
merSeqNo
)
{
public
JSONObject
queryOrder
(
String
merSeqNo
,
String
merId
)
{
try
{
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"transId"
,
"IP01"
);
//交易识别码 必填
jsonObject
.
put
(
"merId"
,
"EFT33021200556315"
);
//商户号 必填
jsonObject
.
put
(
"transId"
,
"IP01"
);
//交易识别码 必填
jsonObject
.
put
(
"merId"
,
merId
);
//商户号 必填
jsonObject
.
put
(
"merSeqNo"
,
merSeqNo
);
//商户流水 必填
jsonObject
.
put
(
"merSeqNo"
,
merSeqNo
);
//商户流水 必填
HashMap
<
String
,
String
>
httpHeader
=
new
HashMap
<>();
...
...
@@ -382,6 +382,66 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
NB_BANK_API_ERROR
);
}
/**
* 调账
* 5.10云账簿资金划转
* @param merSeqNo
* @return
*/
@Override
public
JSONObject
fundTransferOrder
(
String
merSeqNo
,
String
merId
,
String
merDtTm
,
Integer
trxAmt
,
String
customerId
,
String
payCustomerId
)
{
try
{
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"transId"
,
"IP01"
);
//交易识别码 必填
jsonObject
.
put
(
"merId"
,
merId
);
//商户号 必填
jsonObject
.
put
(
"merSeqNo"
,
merSeqNo
);
//商户流水 必填
jsonObject
.
put
(
"merDtTm"
,
merDtTm
);
//商户交易时间 必填
jsonObject
.
put
(
"trxAmt"
,
new
BigDecimal
(
trxAmt
).
movePointLeft
(
2
));
//交易金额
jsonObject
.
put
(
"customerId"
,
customerId
);
//云账簿标识_收款方
jsonObject
.
put
(
"payCustomerId"
,
payCustomerId
);
//云账簿标识_付款方
// jsonObject.put("notifyAction", 0); //是否通知
HashMap
<
String
,
String
>
httpHeader
=
new
HashMap
<>();
RequestApiData
requestApiData
=
new
RequestApiData
();
requestApiData
.
setAppkey
(
nbBankConfig
.
getAppKey
());
requestApiData
.
setData
(
jsonObject
);
requestApiData
.
setProductId
(
"YFT"
);
requestApiData
.
setServiceId
(
"fundTransferOrder"
);
requestApiData
.
setHttpHeader
(
httpHeader
);
RequestHead
requestHead
=
new
RequestHead
();
requestHead
.
setRqsJrnlNo
(
NBOpenSDK
.
getRandom
());
SDKRequest
request
=
new
SDKRequest
();
request
.
setData
(
requestApiData
);
request
.
setHead
(
requestHead
);
log
.
info
(
"宁波银行, 调账接口(fundTransferOrder), 参数: {}"
,
JSON
.
toJSONString
(
request
));
SDKResponse
response
=
NBOpenSDK
.
send
(
request
);
log
.
info
(
"宁波银行, 调账接口(fundTransferOrder), 结果: {}"
,
JSON
.
toJSONString
(
response
));
recordSave
(
NbBankRecordEnum
.
Type
.
FUND_TRANSFER_ORDER
.
getCode
(),
request
,
response
);
JSONObject
responseJson
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
response
));
JSONObject
data
=
responseJson
.
getJSONObject
(
"data"
);
if
(!
StringUtils
.
equals
(
data
.
getString
(
"errorCode"
),
"000000"
)){
log
.
info
(
"宁波银行, 调账接口(fundTransferOrder), code:{}, msg:{}"
,
data
.
getString
(
"errorCode"
),
data
.
getString
(
"errorMsg"
));
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
NB_BANK_API_ERROR
);
}
return
data
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
NB_BANK_API_ERROR
);
}
@Override
public
void
recordSave
(
Integer
type
,
SDKRequest
request
,
SDKResponse
response
)
{
...
...
@@ -395,6 +455,7 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
recordSave
(
type
,
requestDataJson
.
getString
(
"merId"
)
,
requestDataJson
.
getString
(
"merSeqNo"
)
,
requestDataJson
.
getString
(
"merDtTm"
)
,
responseDataJson
.
getString
(
"transSeqNo"
)
,
requestDataJson
.
getBigDecimal
(
"trxAmt"
).
movePointRight
(
2
).
intValue
()
,
JSON
.
toJSONString
(
request
)
...
...
@@ -414,6 +475,7 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
recordSave
(
type
,
requestDataJson
.
getString
(
"merId"
)
,
requestDataJson
.
getString
(
"merSeqNo"
)
,
requestDataJson
.
getString
(
"merDtTm"
)
,
responseDataJson
.
getString
(
"transSeqNo"
)
,
requestDataJson
.
getBigDecimal
(
"trxAmt"
).
movePointRight
(
2
).
intValue
()
,
JSON
.
toJSONString
(
request
)
...
...
@@ -424,18 +486,22 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
);
}
else
if
(
Objects
.
equals
(
type
,
NbBankRecordEnum
.
Type
.
QUERY_ORDER
.
getCode
()))
{
RequestApiData
requestData
=
(
RequestApiData
)
(
request
.
getData
());
JSONObject
requestDataJson
=
(
JSONObject
)
(
requestData
.
getData
());
JSONObject
responseJson
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
response
));
JSONObject
responseDataJson
=
responseJson
.
getJSONObject
(
"data"
);
recordSave
(
type
,
responseDataJson
.
getString
(
"merId"
)
,
responseDataJson
.
getString
(
"merSeqNo"
)
,
requestDataJson
.
getString
(
"merId"
)
,
requestDataJson
.
getString
(
"merSeqNo"
)
,
requestDataJson
.
getString
(
"merDtTm"
)
,
responseDataJson
.
getString
(
"transSeqNo"
)
,
responseDataJson
.
getBigDecimal
(
"trxAmt"
).
movePointRight
(
2
).
intValue
()
,
JSON
.
toJSONString
(
request
)
,
JSON
.
toJSONString
(
response
)
,
null
,
null
,
responseDataJson
.
getString
(
"errorCode"
)
,
responseDataJson
.
getString
(
"errorMsg"
)
,
responseDataJson
.
getString
(
"transStatus"
)
);
}
...
...
@@ -446,6 +512,7 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
recordSave
(
type
,
responseDataJson
.
getString
(
"merId"
)
,
responseDataJson
.
getString
(
"merSeqNo"
)
,
null
,
responseDataJson
.
getString
(
"transSeqNo"
)
,
responseDataJson
.
getBigDecimal
(
"trxAmt"
).
movePointRight
(
2
).
intValue
()
,
JSON
.
toJSONString
(
request
)
...
...
@@ -455,10 +522,31 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
,
responseDataJson
.
getString
(
"transStatus"
)
);
}
else
if
(
Objects
.
equals
(
type
,
NbBankRecordEnum
.
Type
.
FUND_TRANSFER_ORDER
.
getCode
()))
{
RequestApiData
requestData
=
(
RequestApiData
)
(
request
.
getData
());
JSONObject
requestDataJson
=
(
JSONObject
)
(
requestData
.
getData
());
JSONObject
responseJson
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
response
));
JSONObject
responseDataJson
=
responseJson
.
getJSONObject
(
"data"
);
recordSave
(
type
,
requestDataJson
.
getString
(
"merId"
)
,
requestDataJson
.
getString
(
"merSeqNo"
)
,
requestDataJson
.
getString
(
"merDtTm"
)
,
responseDataJson
.
getString
(
"transSeqNo"
)
,
requestDataJson
.
getBigDecimal
(
"trxAmt"
).
movePointRight
(
2
).
intValue
()
,
JSON
.
toJSONString
(
request
)
,
JSON
.
toJSONString
(
response
)
,
responseDataJson
.
getString
(
"errorCode"
)
,
responseDataJson
.
getString
(
"errorMsg"
)
,
responseDataJson
.
getString
(
"transStatus"
)
);
}
}
@Transactional
(
propagation
=
Propagation
.
REQUIRES_NEW
)
public
void
recordSave
(
Integer
type
,
String
merId
,
String
merSeqNo
,
String
transSeqNo
,
String
merId
,
String
merSeqNo
,
String
merDtTm
,
String
transSeqNo
,
Integer
amount
,
String
param
,
String
result
,
String
errorCode
,
String
errorMsg
,
...
...
@@ -468,6 +556,7 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
record
.
setType
(
type
);
record
.
setMerId
(
merId
);
record
.
setMerSeqNo
(
merSeqNo
);
record
.
setMerDtTm
(
LocalDateTimeUtils
.
parseTime
(
merDtTm
));
record
.
setTransSeqNo
(
transSeqNo
);
record
.
setAmount
(
amount
);
record
.
setParam
(
param
);
...
...
performance-web/src/main/java/com/clx/performance/service/thirdparty/nbbank/NbBankService.java
浏览文件 @
2c64b820
...
...
@@ -17,4 +17,6 @@ public interface NbBankService {
String
signNo
);
NbBankOrderPayStatusResultVO
transferOrderStatus
(
String
merSeqNo
);
}
performance-web/src/main/java/com/clx/performance/service/thirdparty/nbbank/NbBankThirdpartyService.java
浏览文件 @
2c64b820
...
...
@@ -11,7 +11,11 @@ public interface NbBankThirdpartyService {
JSONObject
unionPayDirectOrder
(
String
merSeqNo
,
String
merId
,
Integer
amount
,
String
payAcctOpenBankId
,
String
payAcctNo
,
String
payAcctNm
);
JSONObject
queryOrder
(
String
merSeqNo
);
JSONObject
queryOrder
(
String
merSeqNo
,
String
merId
);
JSONObject
fundTransferOrder
(
String
merSeqNo
,
String
merId
,
String
merDtTm
,
Integer
trxAmt
,
String
customerId
,
String
payCustomerId
);
void
recordSave
(
Integer
type
,
SDKRequest
request
,
SDKResponse
response
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论