Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
Y
yifu-mvp
Project
Project
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
fangxinjiang
yifu-mvp
Commits
f90f368d
Commit
f90f368d
authored
Feb 28, 2026
by
fangxinjiang
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/MVP1.7.20' into MVP1.7.20
parents
064de39b
c1b7c913
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
46 additions
and
19 deletions
+46
-19
IcbcTransactionFlowIssueServiceImpl.java
...ekp/service/impl/IcbcTransactionFlowIssueServiceImpl.java
+31
-13
IcbcTransactionFlowQueryServiceImpl.java
...ekp/service/impl/IcbcTransactionFlowQueryServiceImpl.java
+15
-6
No files found.
yifu-ekp/yifu-ekp-biz/src/main/java/com/yifu/cloud/plus/v1/ekp/service/impl/IcbcTransactionFlowIssueServiceImpl.java
View file @
f90f368d
...
...
@@ -19,6 +19,7 @@ import com.icbc.api.response.MybankEnterprisePayQpayentResponseV1;
import
com.icbc.api.utils.IcbcSignature
;
import
com.icbc.api.utils.WebUtils
;
import
com.jcraft.jsch.*
;
import
com.yifu.cloud.plus.v1.ekp.config.IcbcConfigProperties
;
import
com.yifu.cloud.plus.v1.ekp.config.IcbcIssueConfigProperties
;
import
com.yifu.cloud.plus.v1.ekp.entity.*
;
import
com.yifu.cloud.plus.v1.ekp.mapper.EkpSocialInfoMapper
;
...
...
@@ -74,6 +75,9 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn
@Autowired
private
IcbcIssueConfigProperties
icbcConfigProperties
;
@Autowired
private
IcbcConfigProperties
noTaxIcbcConfigProperties
;
@Autowired
private
IcbcTransactionFlowQueryService
icbcTransactionFlowQueryService
;
@Autowired
...
...
@@ -1291,17 +1295,17 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn
String
tranTime
=
currentTime
.
format
(
timeFormatter
);
String
tranDate
=
LocalDate
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyyMMdd"
));
// 初始化工行客户端
DefaultIcbcClient
client
=
new
DefaultIcbcClient
(
i
cbcConfigProperties
.
getAppId
(),
DefaultIcbcClient
client
=
new
DefaultIcbcClient
(
noTaxI
cbcConfigProperties
.
getAppId
(),
IcbcConstants
.
SIGN_TYPE_CA_SM_ICBC
,
i
cbcConfigProperties
.
getAppPrivateKey
(),
noTaxI
cbcConfigProperties
.
getAppPrivateKey
(),
IcbcConstants
.
CHARSET_UTF8
,
IcbcConstants
.
FORMAT_JSON
,
null
,
null
,
null
,
i
cbcConfigProperties
.
getCaSm
(),
noTaxI
cbcConfigProperties
.
getCaSm
(),
null
);
client
.
setIcbc_ca
(
i
cbcConfigProperties
.
getCaSmIcbc
());
client
.
setIcbc_ca
(
noTaxI
cbcConfigProperties
.
getCaSmIcbc
());
MybankEnterprisePayQpayentResponseV1
responseV1
;
String
title
=
"转账"
;
...
...
@@ -1330,25 +1334,38 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn
int
i
=
0
;
if
(
mainList
!=
null
&&
!
mainList
.
isEmpty
())
{
EkpBankPayTask
main
;
// 是否全部时8:授权失败,如果是,则整单失败
boolean
isShouQuanShiBai
;
for
(
EkpBankResultVo
vo
:
mainList
)
{
seqNo
=
seqNoPre
+
System
.
currentTimeMillis
()
+
(
i
++);
responseV1
=
icbcTransactionFlowQueryService
.
getResultNoTax
(
vo
,
tranDate
,
tranTime
,
seqNo
,
client
);
if
(
Common
.
isNotNull
(
responseV1
))
{
// 生成工行接口数据记录
setIcbcLogBaseInfoNoTax
(
responseV1
,
icbcLogList
,
vo
.
getFdWxNo
(),
vo
.
getFdId
());
dataList
=
responseV1
.
getRd
();
isShouQuanShiBai
=
false
;
if
(
dataList
!=
null
&&
!
dataList
.
isEmpty
())
{
for
(
MybankEnterprisePayQpayentResponseV1
.
MybankEnterprisePayQpayentResponseRdV1
data
:
dataList
)
{
if
(
CommonConstants
.
EIGHT_STRING
.
equals
(
data
.
getResult
()))
{
isShouQuanShiBai
=
true
;
}
else
{
isShouQuanShiBai
=
false
;
break
;
}
}
}
// 返回码,交易成功返回0,正表示业务报错,负表示系统报错
if
(
responseV1
.
isSuccess
())
{
if
(
responseV1
.
isSuccess
()
&&
!
isShouQuanShiBai
)
{
// 生成日志主表
logs
=
new
EkpBankGrantLog
();
saveNewEkpBankGrantLog
(
responseV1
.
getPackageName
(),
vo
,
vo
.
getFdId
(),
logs
,
title
);
dataList
=
responseV1
.
getRd
();
oldDetailList
=
ekpBankGrantDetailService
.
getListByParentId
(
vo
.
getFdId
());
oldMap
=
new
HashMap
<>();
if
(
oldDetailList
!=
null
&&
!
oldDetailList
.
isEmpty
())
{
for
(
EkpBankGrantDetail
temp
:
oldDetailList
)
{
// oldMap.put temp.getFdSerialNumber(), temp)
oldMap
.
put
(
temp
.
getFd
Id
(),
temp
);
oldMap
.
put
(
temp
.
getFd
SerialNumber
(),
temp
);
}
}
moneyAll
=
BigDecimal
.
ZERO
;
...
...
@@ -1371,7 +1388,7 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn
logDetail
=
new
EkpBankGrantLogDetail
();
setLogDetailBaseInfoNoTax
(
logs
,
money
,
logDetail
,
data
);
detailData
=
oldMap
.
get
(
data
.
get
ErpSqn
());
detailData
=
oldMap
.
get
(
data
.
get
iSeqno
());
if
(
detailData
!=
null
)
{
// 收款人名称
logDetail
.
setFdPayee
(
detailData
.
getFdPayeeName
());
...
...
@@ -1386,7 +1403,7 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn
numFail
++;
detailData
.
setFdGrantStatus
(
"发放失败"
);
detailData
.
setFdHandleStatus
(
""
);
statusRemark
=
STATUS_MAP
.
get
(
data
.
getResult
());
statusRemark
=
NO_TAX_
STATUS_MAP
.
get
(
data
.
getResult
());
detailData
.
setFdFailureFeedback
(
statusRemark
);
// 批量更新中信银行表数据,使发放失败处理有数据出现
ekpBankGrantDetailService
.
updateZhongXinStatus
(
detailData
.
getFdSalaryId
(),
detailData
.
getFdId
(),
statusRemark
);
...
...
@@ -1419,7 +1436,7 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn
// 成功总笔数
logs
.
setFdTransactionSuccessTotal
(
numSuccess
);
ekpBankGrantLogService
.
updateById
(
logs
);
}
else
if
(
400019
==
responseV1
.
getReturnCode
())
{
}
else
if
(
400019
==
responseV1
.
getReturnCode
()
||
isShouQuanShiBai
)
{
main
=
new
EkpBankPayTask
();
main
.
setFdErrorMsg
(
"授权验证失败"
);
main
.
setFdId
(
vo
.
getFdId
());
...
...
@@ -1463,7 +1480,7 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn
money
=
BigDecimalUtils
.
safeDivide
(
new
BigDecimal
(
data
.
getPayAmt
()),
new
BigDecimal
(
"100"
),
2
);
detailData
=
new
EkpBankGrantDetail
();
detailData
.
setFdId
(
vo
.
getFdId
());
detailData
.
setFdSerialNumber
(
data
.
get
ErpSqn
());
detailData
.
setFdSerialNumber
(
data
.
get
iSeqno
());
// 生成日志主表
logs
=
new
EkpBankGrantLog
();
...
...
@@ -1490,7 +1507,7 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn
logs
.
setFdFailFee
(
money
);
detailData
.
setFdGrantStatus
(
"发放失败"
);
detailData
.
setFdHandleStatus
(
""
);
statusRemark
=
STATUS_MAP
.
get
(
data
.
getResult
());
statusRemark
=
NO_TAX_
STATUS_MAP
.
get
(
data
.
getResult
());
detailData
.
setFdFailureFeedback
(
statusRemark
);
detailData
.
setFdFailNum
(
vo
.
getFdFailNum
()
+
1
);
// 批量更新中信银行表数据,使发放失败处理有数据出现
...
...
@@ -1516,7 +1533,6 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn
money
=
new
BigDecimal
(
vo
.
getFdMoney
());
detailData
=
new
EkpBankGrantDetail
();
detailData
.
setFdId
(
vo
.
getFdId
());
detailData
.
setFdSerialNumber
(
""
);
// 生成日志主表
logs
=
new
EkpBankGrantLog
();
...
...
@@ -1571,6 +1587,8 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn
@Override
public
R
getPdfFile
()
throws
IOException
{
// 工商银行SFTP服务器地址
// 差异点:文档目录/Ebillsend/download 用户名:WXYQHL 密钥:getResourceAsStream("icbc")
String
host
=
"gw.open.icbc.com.cn"
;
// 工商银行SFTP服务器端口
int
port
=
8001
;
...
...
yifu-ekp/yifu-ekp-biz/src/main/java/com/yifu/cloud/plus/v1/ekp/service/impl/IcbcTransactionFlowQueryServiceImpl.java
View file @
f90f368d
...
...
@@ -953,10 +953,14 @@ public class IcbcTransactionFlowQueryServiceImpl extends ServiceImpl<EkpSocialIn
MybankEnterprisePayPayentRequestV2
.
MybankEnterprisePayPayentRequestRdV2
payRecord
=
new
MybankEnterprisePayPayentRequestV2
.
MybankEnterprisePayPayentRequestRdV2
();
String
fdId
=
detail
.
getFdId
();
if
(
Common
.
isNotNull
(
fdId
)
&&
fdId
.
length
()>
35
)
{
fdId
=
fdId
.
substring
(
0
,
35
);
}
//业务唯一编号:相同指令不重复
payRecord
.
setUniBusiId
(
generateUniBusiId
()
);
payRecord
.
setUniBusiId
(
fdId
);
//指令顺序号:每笔指令的序号,本包内不重复
payRecord
.
setiSeqNo
(
generateSeqNo
());
payRecord
.
setiSeqNo
(
detail
.
getFdSerialNumber
());
//预约日期
// payRecord.setScheduleDate("20251126");
//对公对私标志:0:对公;1:个人
...
...
@@ -1020,7 +1024,7 @@ public class IcbcTransactionFlowQueryServiceImpl extends ServiceImpl<EkpSocialIn
//相关业务编号
// payRecord.setRelatedRefNo(record.getRelatedRefNo());
//ERP流水号
payRecord
.
setErpSerialNo
(
detail
.
getFdId
());
//
payRecord.setErpSerialNo(detail.getFdId());
//ERP支票号
// payRecord.setErpCheckNo(record.getErpCheckNo());
//业务代码
...
...
@@ -1041,10 +1045,14 @@ public class IcbcTransactionFlowQueryServiceImpl extends ServiceImpl<EkpSocialIn
private
MybankEnterprisePayPayentRequestV2
.
MybankEnterprisePayPayentRequestRdV2
buildPayRecordDuiSi
(
EkpBankExcelNoTaxVo
detail
)
{
MybankEnterprisePayPayentRequestV2
.
MybankEnterprisePayPayentRequestRdV2
payRecord
=
new
MybankEnterprisePayPayentRequestV2
.
MybankEnterprisePayPayentRequestRdV2
();
String
fdId
=
detail
.
getFdId
();
if
(
Common
.
isNotNull
(
fdId
)
&&
fdId
.
length
()>
35
)
{
fdId
=
fdId
.
substring
(
0
,
35
);
}
//业务唯一编号:相同指令不重复
payRecord
.
setUniBusiId
(
generateUniBusiId
()
);
payRecord
.
setUniBusiId
(
fdId
);
//指令顺序号:每笔指令的序号,本包内不重复
payRecord
.
setiSeqNo
(
generateSeqNo
());
payRecord
.
setiSeqNo
(
detail
.
getFdSerialNumber
());
//预约日期
// payRecord.setScheduleDate("20251126");
//对公对私标志:0:对公;1:个人
...
...
@@ -1090,7 +1098,8 @@ public class IcbcTransactionFlowQueryServiceImpl extends ServiceImpl<EkpSocialIn
}
else
{
payRecord
.
setPurpose
(
"转账"
);
}
payRecord
.
setErpSerialNo
(
detail
.
getFdId
());
// 超长了,20长度
//payRecord.setErpSerialNo(detail.getFdId());
//摘要
//payRecord.setSummary("12");
return
payRecord
;
...
...
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