Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
2bfa8d94
提交
2bfa8d94
authored
1月 22, 2024
作者:
aiqingguo
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
承运借款流程-宁波银行
上级
9a76d588
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
135 行增加
和
7 行删除
+135
-7
NbBankRecordEnum.java
...va/com/clx/performance/enums/nbbank/NbBankRecordEnum.java
+1
-0
TempBankController.java
...m/clx/performance/controller/temp/TempBankController.java
+19
-5
NbBankServiceImpl.java
...nce/service/impl/thirdparty/nbbank/NbBankServiceImpl.java
+27
-1
NbBankThirdpartyServiceImpl.java
...e/impl/thirdparty/nbbank/NbBankThirdpartyServiceImpl.java
+81
-0
NbBankService.java
.../performance/service/thirdparty/nbbank/NbBankService.java
+3
-1
NbBankThirdpartyService.java
...ce/service/thirdparty/nbbank/NbBankThirdpartyService.java
+4
-0
没有找到文件。
performance-api/src/main/java/com/clx/performance/enums/nbbank/NbBankRecordEnum.java
浏览文件 @
2bfa8d94
...
@@ -17,6 +17,7 @@ public enum NbBankRecordEnum {
...
@@ -17,6 +17,7 @@ public enum NbBankRecordEnum {
QUERY_ORDER
(
3
,
"交易结果查询"
),
QUERY_ORDER
(
3
,
"交易结果查询"
),
NOTIFY_MERCHANT
(
4
,
"异步通知交易结果"
),
NOTIFY_MERCHANT
(
4
,
"异步通知交易结果"
),
FUND_TRANSFER_ORDER
(
5
,
"云账簿资金划转"
),
FUND_TRANSFER_ORDER
(
5
,
"云账簿资金划转"
),
REFUND
(
6
,
"退款"
),
;
;
private
final
Integer
code
;
private
final
Integer
code
;
...
...
performance-web/src/main/java/com/clx/performance/controller/temp/TempBankController.java
浏览文件 @
2bfa8d94
...
@@ -26,25 +26,39 @@ public class TempBankController {
...
@@ -26,25 +26,39 @@ public class TempBankController {
@Autowired
@Autowired
private
NbBankService
bankService
;
private
NbBankService
bankService
;
@ApiOperation
(
value
=
"
directBankTransferOrder
"
,
notes
=
"<br>By:艾庆国"
)
@ApiOperation
(
value
=
"
转账
"
,
notes
=
"<br>By:艾庆国"
)
@RequestMapping
(
value
=
"/directBankTransferOrder"
,
method
=
RequestMethod
.
POST
)
@RequestMapping
(
value
=
"/directBankTransferOrder"
,
method
=
RequestMethod
.
POST
)
public
Result
<
NbBankOrderPayResultVO
>
directBankTransferOrder
()
throws
Exception
{
public
Result
<
NbBankOrderPayResultVO
>
directBankTransferOrder
()
throws
Exception
{
return
Result
.
ok
(
bankService
.
orderPay
(
1
));
return
Result
.
ok
(
bankService
.
orderPay
(
1
));
}
}
@ApiOperation
(
value
=
"
unionPayDirectOrder
"
,
notes
=
"<br>By:艾庆国"
)
@ApiOperation
(
value
=
"
订单支付
"
,
notes
=
"<br>By:艾庆国"
)
@RequestMapping
(
value
=
"/unionPayDirectOrder"
,
method
=
RequestMethod
.
POST
)
@RequestMapping
(
value
=
"/unionPayDirectOrder"
,
method
=
RequestMethod
.
POST
)
public
Result
<
NbBankOrderPayResultVO
>
unionPayDirectOrder
()
throws
Exception
{
public
Result
<
NbBankOrderPayResultVO
>
unionPayDirectOrder
()
throws
Exception
{
return
Result
.
ok
(
bankService
.
orderPay
(
2
));
return
Result
.
ok
(
bankService
.
orderPay
(
2
));
}
}
@ApiOperation
(
value
=
"
queryOrder
"
,
notes
=
"<br>By:艾庆国"
)
@ApiOperation
(
value
=
"
查询
"
,
notes
=
"<br>By:艾庆国"
)
@RequestMapping
(
value
=
"/queryOrder
Test
"
,
method
=
RequestMethod
.
POST
)
@RequestMapping
(
value
=
"/queryOrder"
,
method
=
RequestMethod
.
POST
)
public
Result
<
NbBankOrderPayStatusResultVO
>
queryOrder
Test
(
String
merSeqNo
)
throws
Exception
{
public
Result
<
NbBankOrderPayStatusResultVO
>
queryOrder
(
String
merSeqNo
)
throws
Exception
{
return
Result
.
ok
(
bankService
.
getOrderStatus
(
merSeqNo
));
return
Result
.
ok
(
bankService
.
getOrderStatus
(
merSeqNo
));
}
}
@ApiOperation
(
value
=
"调账"
,
notes
=
"<br>By:艾庆国"
)
@RequestMapping
(
value
=
"/transferOrder"
,
method
=
RequestMethod
.
POST
)
public
Result
<
NbBankOrderPayStatusResultVO
>
transferOrder
(
String
merSeqNo
)
throws
Exception
{
return
Result
.
ok
(
bankService
.
transferOrder
(
merSeqNo
));
}
@ApiOperation
(
value
=
"退款"
,
notes
=
"<br>By:艾庆国"
)
@RequestMapping
(
value
=
"/refund"
,
method
=
RequestMethod
.
POST
)
public
Result
<
NbBankOrderPayStatusResultVO
>
refund
(
String
merSeqNo
)
throws
Exception
{
return
Result
.
ok
(
bankService
.
refund
(
merSeqNo
));
}
}
}
performance-web/src/main/java/com/clx/performance/service/impl/thirdparty/nbbank/NbBankServiceImpl.java
浏览文件 @
2bfa8d94
...
@@ -127,7 +127,7 @@ public class NbBankServiceImpl implements NbBankService {
...
@@ -127,7 +127,7 @@ public class NbBankServiceImpl implements NbBankService {
}
}
@Override
@Override
public
NbBankOrderPayStatusResultVO
transferOrder
Status
(
String
merSeqNo
)
{
public
NbBankOrderPayStatusResultVO
transferOrder
(
String
merSeqNo
)
{
JSONObject
data
=
bankThirdpartyService
.
fundTransferOrder
(
merSeqNo
,
"EFT33021200556315"
,
""
,
JSONObject
data
=
bankThirdpartyService
.
fundTransferOrder
(
merSeqNo
,
"EFT33021200556315"
,
""
,
1
,
1
,
"1"
,
"2"
);
"1"
,
"2"
);
...
@@ -152,4 +152,30 @@ public class NbBankServiceImpl implements NbBankService {
...
@@ -152,4 +152,30 @@ public class NbBankServiceImpl implements NbBankService {
return
result
;
return
result
;
}
}
@Override
public
NbBankOrderPayStatusResultVO
refund
(
String
merSeqNo
)
{
JSONObject
data
=
bankThirdpartyService
.
refund
(
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
浏览文件 @
2bfa8d94
...
@@ -442,6 +442,66 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
...
@@ -442,6 +442,66 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
NB_BANK_API_ERROR
);
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
NB_BANK_API_ERROR
);
}
}
/**
* 退款
* 5.2退款
* @return
*/
@Override
public
JSONObject
refund
(
String
merSeqNo
,
String
merId
,
String
merDtTm
,
Integer
amount
,
String
orgMerSeqNo
,
String
coreSeqNo
)
{
try
{
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"transId"
,
"IP01"
);
//交易识别码 必填
jsonObject
.
put
(
"merId"
,
merId
);
//商户号 必填
jsonObject
.
put
(
"merSeqNo"
,
merSeqNo
);
//商户流水 必填
jsonObject
.
put
(
"merDtTm"
,
LocalDateTimeUtils
.
formatTime
());
//商户时间 必填
jsonObject
.
put
(
"trxAmt"
,
new
BigDecimal
(
amount
).
movePointLeft
(
2
));
//订单金额 必填
jsonObject
.
put
(
"orgMerSeqNo"
,
orgMerSeqNo
);
//原订单流水号 必填
jsonObject
.
put
(
"coreSeqNo"
,
coreSeqNo
);
//核心流水号 必填
HashMap
<
String
,
String
>
httpHeader
=
new
HashMap
<>();
RequestApiData
requestApiData
=
new
RequestApiData
();
requestApiData
.
setAppkey
(
nbBankConfig
.
getAppKey
());
requestApiData
.
setData
(
jsonObject
);
requestApiData
.
setProductId
(
"YFT"
);
requestApiData
.
setServiceId
(
"refund"
);
requestApiData
.
setHttpHeader
(
httpHeader
);
RequestHead
requestHead
=
new
RequestHead
();
requestHead
.
setRqsJrnlNo
(
NBOpenSDK
.
getRandom
());
SDKRequest
request
=
new
SDKRequest
();
request
.
setData
(
requestApiData
);
request
.
setHead
(
requestHead
);
log
.
info
(
"宁波银行, 退款(refund), 参数: {}"
,
JSON
.
toJSONString
(
request
));
SDKResponse
response
=
NBOpenSDK
.
send
(
request
);
log
.
info
(
"宁波银行, 退款(refund), 结果: {}"
,
JSON
.
toJSONString
(
response
));
recordSave
(
NbBankRecordEnum
.
Type
.
REFUND
.
getCode
(),
request
,
response
);
JSONObject
responseJson
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
response
));
JSONObject
data
=
responseJson
.
getJSONObject
(
"data"
);
if
(!
StringUtils
.
equals
(
data
.
getString
(
"errorCode"
),
"000000"
)){
log
.
info
(
"宁波银行, 退款失败(refund), 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
@Override
public
void
recordSave
(
Integer
type
,
SDKRequest
request
,
SDKResponse
response
)
{
public
void
recordSave
(
Integer
type
,
SDKRequest
request
,
SDKResponse
response
)
{
...
@@ -542,8 +602,29 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
...
@@ -542,8 +602,29 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
,
responseDataJson
.
getString
(
"transStatus"
)
,
responseDataJson
.
getString
(
"transStatus"
)
);
);
}
}
else
if
(
Objects
.
equals
(
type
,
NbBankRecordEnum
.
Type
.
REFUND
.
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"
)
,
requestDataJson
.
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
)
@Transactional
(
propagation
=
Propagation
.
REQUIRES_NEW
)
public
void
recordSave
(
Integer
type
,
public
void
recordSave
(
Integer
type
,
String
merId
,
String
merSeqNo
,
String
merDtTm
,
String
transSeqNo
,
String
merId
,
String
merSeqNo
,
String
merDtTm
,
String
transSeqNo
,
...
...
performance-web/src/main/java/com/clx/performance/service/thirdparty/nbbank/NbBankService.java
浏览文件 @
2bfa8d94
...
@@ -17,6 +17,8 @@ public interface NbBankService {
...
@@ -17,6 +17,8 @@ public interface NbBankService {
String
signNo
String
signNo
);
);
NbBankOrderPayStatusResultVO
transferOrderStatus
(
String
merSeqNo
);
NbBankOrderPayStatusResultVO
transferOrder
(
String
merSeqNo
);
NbBankOrderPayStatusResultVO
refund
(
String
merSeqNo
);
}
}
performance-web/src/main/java/com/clx/performance/service/thirdparty/nbbank/NbBankThirdpartyService.java
浏览文件 @
2bfa8d94
...
@@ -17,6 +17,10 @@ public interface NbBankThirdpartyService {
...
@@ -17,6 +17,10 @@ public interface NbBankThirdpartyService {
Integer
trxAmt
,
Integer
trxAmt
,
String
customerId
,
String
payCustomerId
);
String
customerId
,
String
payCustomerId
);
JSONObject
refund
(
String
merSeqNo
,
String
merId
,
String
merDtTm
,
Integer
amount
,
String
orgMerSeqNo
,
String
coreSeqNo
);
void
recordSave
(
Integer
type
,
SDKRequest
request
,
SDKResponse
response
);
void
recordSave
(
Integer
type
,
SDKRequest
request
,
SDKResponse
response
);
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论