Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
swiftMtMx
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
isc-v3.1-tmp
swiftMtMx
Commits
2b903880
Commit
2b903880
authored
Nov 03, 2022
by
chengzhuoshen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
开发camt029001,camt054001,camt056001 要素转MX报文功能
parent
2e0641a6
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
314 additions
and
187 deletions
+314
-187
AbstractElement2MxCreator.java
...rilliance/swift/element2mx/AbstractElement2MxCreator.java
+15
-0
Element2MxCreatorManager.java
...brilliance/swift/element2mx/Element2MxCreatorManager.java
+9
-0
Element2MxCamt029001Creator.java
...ft/element2mx/camt029001/Element2MxCamt029001Creator.java
+15
-0
Element2MxCamt054001Creator.java
...ft/element2mx/camt054001/Element2MxCamt054001Creator.java
+102
-0
Element2MxCamt056001Creator.java
...ft/element2mx/camt056001/Element2MxCamt056001Creator.java
+15
-0
AbstractMx2ElementCreator.java
...rilliance/swift/mx2element/AbstractMx2ElementCreator.java
+10
-5
Mx2ElementCreatorManager.java
...brilliance/swift/mx2element/Mx2ElementCreatorManager.java
+20
-32
Mx2ElementCamt054001Creator.java
...ft/mx2element/camt054001/Mx2ElementCamt054001Creator.java
+0
-45
Mx2MapCreatorManager.java
...ava/com/brilliance/swift/mx2map/Mx2MapCreatorManager.java
+12
-10
AbstractMx2MtCreator.java
...java/com/brilliance/swift/mx2mt/AbstractMx2MtCreator.java
+6
-7
Mx2MtContextIdentifier.java
...va/com/brilliance/swift/mx2mt/Mx2MtContextIdentifier.java
+1
-1
Mx2MtCreatorManager.java
.../java/com/brilliance/swift/mx2mt/Mx2MtCreatorManager.java
+26
-23
XmlUtil.java
...Core/src/main/java/com/brilliance/swift/util/XmlUtil.java
+25
-5
camt029001.properties
swiftCore/src/main/resources/template/camt029001.properties
+14
-17
camt054001.properties
swiftCore/src/main/resources/template/camt054001.properties
+21
-6
camt056001.properties
swiftCore/src/main/resources/template/camt056001.properties
+19
-35
party.properties
swiftCore/src/main/resources/template/party.properties
+0
-0
Element2MxTest.java
swiftCore/src/test/java/com/brilliance/Element2MxTest.java
+4
-1
No files found.
swiftCore/src/main/java/com/brilliance/swift/element2mx/AbstractElement2MxCreator.java
View file @
2b903880
...
@@ -40,14 +40,29 @@ public abstract class AbstractElement2MxCreator implements Element2MxCreator{
...
@@ -40,14 +40,29 @@ public abstract class AbstractElement2MxCreator implements Element2MxCreator{
this
.
elementMaps
=
elementMaps
;
this
.
elementMaps
=
elementMaps
;
}
}
/**
* 判断节点是否是数组,应用于putObj方法
* @param key
* @return
*/
protected
boolean
isArray
(
String
key
)
{
protected
boolean
isArray
(
String
key
)
{
return
false
;
return
false
;
}
}
/**
* 重新build Properties文件
*/
protected
void
rebuildProperties
()
{
protected
void
rebuildProperties
()
{
}
}
/**
* 反射方法逻辑
* @param methodName
* @param where
* @param maps
* @param value
*/
private
void
invokeHere
(
String
methodName
,
Object
where
,
Map
<
String
,
Object
>
maps
,
Object
value
)
{
private
void
invokeHere
(
String
methodName
,
Object
where
,
Map
<
String
,
Object
>
maps
,
Object
value
)
{
try
{
try
{
Method
method
=
getClass
().
getMethod
(
methodName
,
maps
.
getClass
(),
new
Object
().
getClass
());
Method
method
=
getClass
().
getMethod
(
methodName
,
maps
.
getClass
(),
new
Object
().
getClass
());
...
...
swiftCore/src/main/java/com/brilliance/swift/element2mx/Element2MxCreatorManager.java
View file @
2b903880
package
com
.
brilliance
.
swift
.
element2mx
;
package
com
.
brilliance
.
swift
.
element2mx
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.brilliance.swift.element2mx.camt029001.Element2MxCamt029001Creator
;
import
com.brilliance.swift.element2mx.camt053001.Element2MxCamt053001Creator
;
import
com.brilliance.swift.element2mx.camt053001.Element2MxCamt053001Creator
;
import
com.brilliance.swift.element2mx.camt054001.Element2MxCamt054001Creator
;
import
com.brilliance.swift.element2mx.camt056001.Element2MxCamt056001Creator
;
import
com.brilliance.swift.element2mx.pacs008001.Element2MxPacs008001Creator
;
import
com.brilliance.swift.element2mx.pacs008001.Element2MxPacs008001Creator
;
import
com.brilliance.swift.element2mx.pacs009001.Element2MxPacs009001Creator
;
import
com.brilliance.swift.element2mx.pacs009001.Element2MxPacs009001Creator
;
import
com.brilliance.swift.exception.SwiftException
;
import
com.brilliance.swift.exception.SwiftException
;
...
@@ -32,6 +35,12 @@ public class Element2MxCreatorManager {
...
@@ -32,6 +35,12 @@ public class Element2MxCreatorManager {
return
new
Element2MxPacs009001Creator
();
return
new
Element2MxPacs009001Creator
();
}
else
if
(
messageType
.
matches
(
"camt053001[0-9]{2}"
))
{
}
else
if
(
messageType
.
matches
(
"camt053001[0-9]{2}"
))
{
return
new
Element2MxCamt053001Creator
();
return
new
Element2MxCamt053001Creator
();
}
else
if
(
messageType
.
matches
(
"camt054001[0-9]{2}"
))
{
return
new
Element2MxCamt054001Creator
();
}
else
if
(
messageType
.
matches
(
"camt029001[0-9]{2}"
))
{
return
new
Element2MxCamt029001Creator
();
}
else
if
(
messageType
.
matches
(
"camt056001[0-9]{2}"
))
{
return
new
Element2MxCamt056001Creator
();
}
else
{
}
else
{
throw
new
SwiftException
(
"无效的MX类型:"
+
messageType
);
throw
new
SwiftException
(
"无效的MX类型:"
+
messageType
);
}
}
...
...
swiftCore/src/main/java/com/brilliance/swift/element2mx/camt029001/Element2MxCamt029001Creator.java
0 → 100644
View file @
2b903880
package
com
.
brilliance
.
swift
.
element2mx
.
camt029001
;
import
com.brilliance.swift.element2mx.AbstractElement2MxCreator
;
public
class
Element2MxCamt029001Creator
extends
AbstractElement2MxCreator
{
@Override
protected
boolean
isArray
(
String
key
)
{
if
(
"cxlDtls"
.
equals
(
key
)
||
"txInfAndSts"
.
equals
(
key
)
||
"cxlStsRsnInf"
.
equals
(
key
))
{
return
true
;
}
return
false
;
}
}
swiftCore/src/main/java/com/brilliance/swift/element2mx/camt054001/Element2MxCamt054001Creator.java
0 → 100644
View file @
2b903880
package
com
.
brilliance
.
swift
.
element2mx
.
camt054001
;
import
com.brilliance.swift.element2mx.AbstractElement2MxCreator
;
import
com.brilliance.swift.exception.SwiftException
;
import
com.brilliance.swift.util.DateUtil
;
import
javax.xml.datatype.DatatypeConfigurationException
;
import
javax.xml.datatype.DatatypeFactory
;
import
javax.xml.datatype.XMLGregorianCalendar
;
public
class
Element2MxCamt054001Creator
extends
AbstractElement2MxCreator
{
@Override
protected
boolean
isArray
(
String
key
)
{
if
(
"ntfctn"
.
equals
(
key
)
||
"ntry"
.
equals
(
key
)
||
"ntryDtls"
.
equals
(
key
)
||
"txDtls"
.
equals
(
key
)
||
"orgId.othr"
.
equals
(
key
)
||
"prvtId.othr"
.
equals
(
key
)
||
"finInstnId.othr"
.
equals
(
key
))
{
return
true
;
}
return
false
;
}
@Override
protected
void
rebuildProperties
()
{
properties
.
remove
(
"valDt"
);
//处理逻辑在 postProcess() 方法中
properties
.
remove
(
"dbtrInfo"
);
properties
.
remove
(
"dbtrAgtInfo"
);
properties
.
put
(
"dbtrNm"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.nm"
);
properties
.
put
(
"dbtrOrgAnyBIC"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.orgId.anyBIC"
);
properties
.
put
(
"dbtrOrgLei"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.orgId.lei"
);
properties
.
put
(
"dbtrOrgOthrId"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.orgId.othr.id"
);
properties
.
put
(
"dbtrOrgOthrIdType"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.orgId.othr.schmeNm.cd"
);
properties
.
put
(
"dbtrOrgOthrIdTypePrtry"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.orgId.othr.schmeNm.prtry"
);
properties
.
put
(
"dbtrOrgOthrIssr"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.orgId.othr.issr"
);
properties
.
put
(
"dbtrPstlAdrType"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.pstlAdr.adrTp"
);
properties
.
put
(
"dbtrPstlAdrCtry"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.pstlAdr.ctry"
);
properties
.
put
(
"dbtrPstlAdrDept"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.pstlAdr.dept"
);
properties
.
put
(
"dbtrPstlAdrSubDept"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.pstlAdr.subDept"
);
properties
.
put
(
"dbtrPstlAdrStrtNm"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.pstlAdr.strtNm"
);
properties
.
put
(
"dbtrPstlAdrBldgNb"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.pstlAdr.bldgNb"
);
properties
.
put
(
"dbtrPstlAdrBldgNm"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.pstlAdr.bldgNm"
);
properties
.
put
(
"dbtrPstlAdrFlr"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.pstlAdr.flr"
);
properties
.
put
(
"dbtrPstlAdrRoom"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.pstlAdr.room"
);
properties
.
put
(
"dbtrPstlAdrTwnNm"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.pstlAdr.twnNm"
);
properties
.
put
(
"dbtrPstlAdrPstBx"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.pstlAdr.pstBx"
);
properties
.
put
(
"dbtrPstlAdrPstCd"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.pstlAdr.pstCd"
);
properties
.
put
(
"dbtrPstlAdrCtrySubDvsn"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.pstlAdr.ctrySubDvsn"
);
properties
.
put
(
"dbtrPstlAdrDstrctNm"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.pstlAdr.dstrctNm"
);
properties
.
put
(
"dbtrPstlAdrTwnLctnNm"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.pstlAdr.twnLctnNm"
);
properties
.
put
(
"dbtrAdrLines"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.PstlAdr.adrLine"
);
properties
.
put
(
"dbtrAgtBicfi"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.bicfi"
);
properties
.
put
(
"dbtrAgtClrSysId"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.clrSysMmbId.mmbId"
);
properties
.
put
(
"dbtrAgtClrSysIdType"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.clrSysMmbId.clrSysId.cd"
);
properties
.
put
(
"dbtrAgtClrSysIdTypePrtry"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.clrSysMmbId.clrSysId.prtry"
);
properties
.
put
(
"dbtrAgtLei"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.lei"
);
properties
.
put
(
"dbtrAgtNm"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.nm"
);
properties
.
put
(
"dbtrAgtPstlAdrType"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.pstlAdr.adrTp"
);
properties
.
put
(
"dbtrAgtPstlAdrCtry"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.pstlAdr.ctry"
);
properties
.
put
(
"dbtrAgtPstlAdrDept"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.pstlAdr.dept"
);
properties
.
put
(
"dbtrAgtPstlAdrSubDept"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.pstlAdr.subDept"
);
properties
.
put
(
"dbtrAgtPstlAdrStrtNm"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.pstlAdr.strtNm"
);
properties
.
put
(
"dbtrAgtPstlAdrBldgNb"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.pstlAdr.bldgNb"
);
properties
.
put
(
"dbtrAgtPstlAdrBldgNm"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.pstlAdr.bldgNm"
);
properties
.
put
(
"dbtrAgtPstlAdrFlr"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.pstlAdr.flr"
);
properties
.
put
(
"dbtrAgtPstlAdrRoom"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.pstlAdr.room"
);
properties
.
put
(
"dbtrAgtPstlAdrTwnNm"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.pstlAdr.twnNm"
);
properties
.
put
(
"dbtrAgtPstlAdrPstBx"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.pstlAdr.pstBx"
);
properties
.
put
(
"dbtrAgtPstlAdrPstCd"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.pstlAdr.pstCd"
);
properties
.
put
(
"dbtrAgtPstlAdrCtrySubDvsn"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.pstlAdr.ctrySubDvsn"
);
properties
.
put
(
"dbtrAgtPstlAdrDstrctNm"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.pstlAdr.dstrctNm"
);
properties
.
put
(
"dbtrAgtPstlAdrTwnLctnNm"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.pstlAdr.twnLctnNm"
);
properties
.
put
(
"dbtrAgtAdrLines"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.PstlAdr.adrLines"
);
properties
.
put
(
"dbtrAgtOthrId"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.othr.id"
);
properties
.
put
(
"dbtrAgtOthrIdType"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.othr.schmeNm.cd"
);
properties
.
put
(
"dbtrAgtOthrIdTypePrtry"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.othr.schmeNm.prtry"
);
properties
.
put
(
"dbtrAgtOthrIssr"
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdAgts.dbtrAgt.finInstnId.othr.issr"
);
}
@Override
public
void
postProcess
()
{
//特殊处理 valDt
if
(
elementMaps
.
containsKey
(
"valDt"
))
{
String
valDtStr
=
(
String
)
elementMaps
.
get
(
"valDt"
);
if
(
valDtStr
.
indexOf
(
"T"
)
>
-
1
)
{
try
{
XMLGregorianCalendar
setlDt
=
DatatypeFactory
.
newInstance
().
newXMLGregorianCalendar
(
valDtStr
);
putObj
(
jsonMaps
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.valDt.dtTm"
,
valDtStr
);
putObj
(
jsonMaps
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdDts.intrBkSttlmDt"
,
DateUtil
.
format
(
setlDt
,
"yyyy-MM-dd"
));
}
catch
(
DatatypeConfigurationException
e
)
{
throw
new
SwiftException
(
e
.
getMessage
());
}
}
else
{
putObj
(
jsonMaps
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.valDt.dt"
,
valDtStr
);
putObj
(
jsonMaps
,
"bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdDts.intrBkSttlmDt"
,
valDtStr
);
}
}
super
.
postProcess
();
}
}
swiftCore/src/main/java/com/brilliance/swift/element2mx/camt056001/Element2MxCamt056001Creator.java
0 → 100644
View file @
2b903880
package
com
.
brilliance
.
swift
.
element2mx
.
camt056001
;
import
com.brilliance.swift.element2mx.AbstractElement2MxCreator
;
public
class
Element2MxCamt056001Creator
extends
AbstractElement2MxCreator
{
@Override
protected
boolean
isArray
(
String
key
)
{
if
(
"undrlyg"
.
equals
(
key
)
||
"txInf"
.
equals
(
key
)
||
"cxlRsnInf"
.
equals
(
key
))
{
return
true
;
}
return
false
;
}
}
swiftCore/src/main/java/com/brilliance/swift/mx2element/AbstractMx2ElementCreator.java
View file @
2b903880
...
@@ -23,6 +23,8 @@ public abstract class AbstractMx2ElementCreator implements Mx2ElementCreator{
...
@@ -23,6 +23,8 @@ public abstract class AbstractMx2ElementCreator implements Mx2ElementCreator{
protected
Map
<
String
,
Object
>
maps
=
new
LinkedHashMap
<>();
protected
Map
<
String
,
Object
>
maps
=
new
LinkedHashMap
<>();
protected
String
messageType
;
public
AbstractMX
getAbstractMX
()
{
public
AbstractMX
getAbstractMX
()
{
return
abstractMX
;
return
abstractMX
;
}
}
...
@@ -39,6 +41,14 @@ public abstract class AbstractMx2ElementCreator implements Mx2ElementCreator{
...
@@ -39,6 +41,14 @@ public abstract class AbstractMx2ElementCreator implements Mx2ElementCreator{
this
.
xmlStr
=
xmlStr
;
this
.
xmlStr
=
xmlStr
;
}
}
public
String
getMessageType
()
{
return
messageType
;
}
public
void
setMessageType
(
String
messageType
)
{
this
.
messageType
=
messageType
;
}
private
Object
invokeHere
(
String
methodName
,
Object
where
)
{
private
Object
invokeHere
(
String
methodName
,
Object
where
)
{
try
{
try
{
Method
method
=
getClass
().
getMethod
(
methodName
);
Method
method
=
getClass
().
getMethod
(
methodName
);
...
@@ -52,11 +62,6 @@ public abstract class AbstractMx2ElementCreator implements Mx2ElementCreator{
...
@@ -52,11 +62,6 @@ public abstract class AbstractMx2ElementCreator implements Mx2ElementCreator{
@Override
@Override
public
Map
<
String
,
Object
>
buildElement
()
{
public
Map
<
String
,
Object
>
buildElement
()
{
//AbstractMX abstractMX = AbstractMX.parse(xmlStr);
String
messageType
=
abstractMX
.
getMxId
().
getBusinessProcess
().
name
()
+
abstractMX
.
getMxId
().
getFunctionality
()
+
abstractMX
.
getMxId
().
getVariant
()
+
abstractMX
.
getMxId
().
getVersion
();
maps
.
put
(
"messageType"
,
messageType
);
maps
.
put
(
"messageType"
,
messageType
);
String
gsonStr
=
abstractMX
.
toJson
();
String
gsonStr
=
abstractMX
.
toJson
();
Map
<
String
,
Object
>
mxGsonMaps
=
JSON
.
parseObject
(
gsonStr
);
Map
<
String
,
Object
>
mxGsonMaps
=
JSON
.
parseObject
(
gsonStr
);
...
...
swiftCore/src/main/java/com/brilliance/swift/mx2element/Mx2ElementCreatorManager.java
View file @
2b903880
...
@@ -10,6 +10,7 @@ import com.brilliance.swift.mx2element.pacs009001.Mx2ElementPacs009001Creator;
...
@@ -10,6 +10,7 @@ import com.brilliance.swift.mx2element.pacs009001.Mx2ElementPacs009001Creator;
import
com.brilliance.swift.util.XmlUtil
;
import
com.brilliance.swift.util.XmlUtil
;
import
com.google.gson.Gson
;
import
com.google.gson.Gson
;
import
com.google.gson.GsonBuilder
;
import
com.google.gson.GsonBuilder
;
import
com.prowidesoftware.swift.model.MxId
;
import
com.prowidesoftware.swift.model.mx.AbstractMX
;
import
com.prowidesoftware.swift.model.mx.AbstractMX
;
import
java.util.LinkedHashMap
;
import
java.util.LinkedHashMap
;
...
@@ -18,58 +19,45 @@ import java.util.Map;
...
@@ -18,58 +19,45 @@ import java.util.Map;
public
class
Mx2ElementCreatorManager
{
public
class
Mx2ElementCreatorManager
{
public
String
mx2Element
(
String
xmlStr
)
throws
SwiftException
{
public
String
mx2Element
(
String
xmlStr
)
throws
SwiftException
{
xmlStr
=
XmlUtil
.
handlingXml
(
xmlStr
);
Map
<
String
,
Object
>
maps
=
mx2ElementMaps
(
xmlStr
);
//去掉命名空间前缀
xmlStr
=
XmlUtil
.
clearXmlNamespacePrefix
(
xmlStr
);
AbstractMX
abstractMX
=
AbstractMX
.
parse
(
xmlStr
);
String
messageType
=
(
abstractMX
.
getMxId
().
getBusinessProcess
().
name
()
+
"."
+
abstractMX
.
getMxId
().
getFunctionality
()
+
"."
+
abstractMX
.
getMxId
().
getVariant
())
//+ abstractMX.getMxId().getVersion())
.
trim
();
AbstractMx2ElementCreator
creator
=
getCreator
(
messageType
);
creator
.
setAbstractMX
(
abstractMX
);
creator
.
setXmlStr
(
xmlStr
);
Map
<
String
,
Object
>
maps
=
creator
.
buildElement
();
Gson
gson
=
new
GsonBuilder
().
setPrettyPrinting
().
create
();
Gson
gson
=
new
GsonBuilder
().
setPrettyPrinting
().
create
();
return
gson
.
toJson
(
maps
,
LinkedHashMap
.
class
);
return
gson
.
toJson
(
maps
,
LinkedHashMap
.
class
);
}
}
public
Map
<
String
,
Object
>
mx2ElementMaps
(
String
xmlStr
)
throws
SwiftException
{
public
Map
<
String
,
Object
>
mx2ElementMaps
(
String
xmlStr
)
throws
SwiftException
{
xmlStr
=
XmlUtil
.
handlingXml
(
xmlStr
);
xmlStr
=
XmlUtil
.
handlingXml
(
xmlStr
);
//去掉命名空间前缀
MxId
mxId
=
XmlUtil
.
getMxMessageType
(
xmlStr
);
String
messageType
=
mxId
.
getBusinessProcess
().
name
()
+
mxId
.
getFunctionality
()
+
mxId
.
getVariant
()
+
mxId
.
getVersion
();
if
(
mxId
==
null
)
{
throw
new
SwiftException
(
"找不到MX报文类型"
);
}
xmlStr
=
XmlUtil
.
clearXmlNamespacePrefix
(
xmlStr
);
xmlStr
=
XmlUtil
.
clearXmlNamespacePrefix
(
xmlStr
);
AbstractMX
abstractMX
=
AbstractMX
.
parse
(
xmlStr
);
AbstractMX
abstractMX
=
AbstractMX
.
parse
(
xmlStr
,
mxId
);
String
messageType
=
(
abstractMX
.
getMxId
().
getBusinessProcess
().
name
()
+
"."
+
abstractMX
.
getMxId
().
getFunctionality
()
+
"."
+
abstractMX
.
getMxId
().
getVariant
())
//+ abstractMX.getMxId().getVersion())
.
trim
();
AbstractMx2ElementCreator
creator
=
getCreator
(
messageType
);
AbstractMx2ElementCreator
creator
=
getCreator
(
messageType
);
creator
.
setAbstractMX
(
abstractMX
);
creator
.
setAbstractMX
(
abstractMX
);
creator
.
setXmlStr
(
xmlStr
);
creator
.
setXmlStr
(
xmlStr
);
creator
.
setMessageType
(
messageType
);
return
creator
.
buildElement
();
return
creator
.
buildElement
();
}
}
public
AbstractMx2ElementCreator
getCreator
(
String
messageType
)
{
public
AbstractMx2ElementCreator
getCreator
(
String
messageType
)
{
if
(
"pacs.008.001"
.
equals
(
messageType
))
{
if
(
messageType
.
matches
(
"pacs008001[0-9]{2}"
))
{
return
new
Mx2ElementPacs008001Creator
();
return
new
Mx2ElementPacs008001Creator
();
}
else
if
(
"camt.054.001"
.
equals
(
messageType
)){
}
else
if
(
messageType
.
matches
(
"pacs009001[0-9]{2}"
))
{
return
new
Mx2ElementPacs009001Creator
();
}
else
if
(
messageType
.
matches
(
"camt054001[0-9]{2}"
))
{
return
new
Mx2ElementCamt054001Creator
();
return
new
Mx2ElementCamt054001Creator
();
}
else
if
(
"camt.053.001"
.
equals
(
messageType
))
{
}
else
if
(
messageType
.
matches
(
"camt053001[0-9]{2}"
))
{
return
new
Mx2ElementCamt053001Creator
();
return
new
Mx2ElementCamt053001Creator
();
}
else
if
(
"camt.029.001"
.
equals
(
messageType
))
{
}
else
if
(
messageType
.
matches
(
"camt029001[0-9]{2}"
))
{
return
new
Mx2ElementCamt029001Creator
();
return
new
Mx2ElementCamt029001Creator
();
}
else
if
(
"camt.056.001"
.
equals
(
messageType
))
{
}
else
if
(
messageType
.
matches
(
"camt056001[0-9]{2}"
))
{
return
new
Mx2ElementCamt056001Creator
();
return
new
Mx2ElementCamt056001Creator
();
}
else
if
(
"pacs.009.001"
.
equals
(
messageType
)){
return
new
Mx2ElementPacs009001Creator
();
}
else
{
}
else
{
return
new
Mx2ElementDefaultCreator
(
);
throw
new
SwiftException
(
"无效的MX报文类型"
);
}
}
}
}
}
}
swiftCore/src/main/java/com/brilliance/swift/mx2element/camt054001/Mx2ElementCamt054001Creator.java
View file @
2b903880
...
@@ -130,51 +130,6 @@ public class Mx2ElementCamt054001Creator extends AbstractMx2ElementCreator {
...
@@ -130,51 +130,6 @@ public class Mx2ElementCamt054001Creator extends AbstractMx2ElementCreator {
}
}
maps
.
put
(
"dbtrAdrLines"
,
list
);
maps
.
put
(
"dbtrAdrLines"
,
list
);
}
}
String
prvtIdBirthDt
=
XmlUtil
.
getXmlNodeValue
(
document
,
bodyParentPath
+
".Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Pty.Id.PrvtId.DtAndPlcOfBirth.BirthDt"
);
if
(
StringUtil
.
isNotEmpty
(
prvtIdBirthDt
))
{
maps
.
put
(
"dbtrPrvtIdBirthDt"
,
prvtIdBirthDt
);
}
String
prvtIdPrvcOfBirth
=
XmlUtil
.
getXmlNodeValue
(
document
,
bodyParentPath
+
".Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Pty.Id.PrvtId.DtAndPlcOfBirth.PrvcOfBirth"
);
if
(
StringUtil
.
isNotEmpty
(
prvtIdPrvcOfBirth
))
{
maps
.
put
(
"dbtrPrvtIdPrvcOfBirth"
,
prvtIdPrvcOfBirth
);
}
String
prvtIdCityOfBirth
=
XmlUtil
.
getXmlNodeValue
(
document
,
bodyParentPath
+
".Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Pty.Id.PrvtId.DtAndPlcOfBirth.CityOfBirth"
);
if
(
StringUtil
.
isNotEmpty
(
prvtIdCityOfBirth
))
{
maps
.
put
(
"dbtrPrvtIdCityOfBirth"
,
prvtIdCityOfBirth
);
}
String
prvtIdCtryOfBirth
=
XmlUtil
.
getXmlNodeValue
(
document
,
bodyParentPath
+
".Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Pty.Id.PrvtId.DtAndPlcOfBirth.CtryOfBirth"
);
if
(
StringUtil
.
isNotEmpty
(
prvtIdCtryOfBirth
))
{
maps
.
put
(
"dbtrPrvtIdCtryOfBirth"
,
prvtIdCtryOfBirth
);
}
String
prvtIdOthrId
=
XmlUtil
.
getXmlNodeValue
(
document
,
bodyParentPath
+
".Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Pty.Id.PrvtId.Othr.Id"
);
if
(
StringUtil
.
isNotEmpty
(
prvtIdOthrId
))
{
maps
.
put
(
"dbtrPrvtIdOthrId"
,
prvtIdOthrId
);
}
String
prvtIdOthrSchmeCode
=
XmlUtil
.
getXmlNodeValue
(
document
,
bodyParentPath
+
".Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Pty.Id.PrvtId.Othr.SchmeNm.Cd"
);
if
(
StringUtil
.
isNotEmpty
(
prvtIdOthrSchmeCode
))
{
maps
.
put
(
"dbtrPrvtIdOthrIdType"
,
prvtIdOthrSchmeCode
);
}
String
prvtIdOthrSchmeCodePrtry
=
XmlUtil
.
getXmlNodeValue
(
document
,
bodyParentPath
+
".Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Pty.Id.PrvtId.Othr.SchmeNm.Prtry"
);
if
(
StringUtil
.
isNotEmpty
(
prvtIdOthrSchmeCodePrtry
))
{
maps
.
put
(
"dbtrPrvtIdOthrIdTypePrtry"
,
prvtIdOthrSchmeCodePrtry
);
}
String
prvtIdOthrIssr
=
XmlUtil
.
getXmlNodeValue
(
document
,
bodyParentPath
+
".Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Pty.Id.PrvtId.Othr.Issr"
);
if
(
StringUtil
.
isNotEmpty
(
prvtIdOthrIssr
))
{
maps
.
put
(
"dbtrPrvtIdOthrIssr"
,
prvtIdOthrIssr
);
}
String
ctryOfRes
=
XmlUtil
.
getXmlNodeValue
(
document
,
bodyParentPath
+
".Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Pty.CtryOfRes"
);
if
(
StringUtil
.
isNotEmpty
(
ctryOfRes
))
{
maps
.
put
(
"dbtrCtryOfRes"
,
ctryOfRes
);
}
}
else
{
//Debtor.Agent
}
else
{
//Debtor.Agent
String
nm
=
XmlUtil
.
getXmlNodeValue
(
document
,
bodyParentPath
+
".Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Agt.FinInstnId.Nm"
);
String
nm
=
XmlUtil
.
getXmlNodeValue
(
document
,
bodyParentPath
+
".Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Agt.FinInstnId.Nm"
);
if
(
StringUtil
.
isNotEmpty
(
nm
))
{
if
(
StringUtil
.
isNotEmpty
(
nm
))
{
...
...
swiftCore/src/main/java/com/brilliance/swift/mx2map/Mx2MapCreatorManager.java
View file @
2b903880
...
@@ -6,6 +6,7 @@ import com.brilliance.swift.mx2map.camt054.Mx2MapCamt054Creator;
...
@@ -6,6 +6,7 @@ import com.brilliance.swift.mx2map.camt054.Mx2MapCamt054Creator;
import
com.brilliance.swift.mx2map.pacs008.Mx2MapPacs008Creator
;
import
com.brilliance.swift.mx2map.pacs008.Mx2MapPacs008Creator
;
import
com.brilliance.swift.mx2map.pacs009.Mx2MapPacs009Creator
;
import
com.brilliance.swift.mx2map.pacs009.Mx2MapPacs009Creator
;
import
com.brilliance.swift.util.XmlUtil
;
import
com.brilliance.swift.util.XmlUtil
;
import
com.prowidesoftware.swift.model.MxId
;
import
com.prowidesoftware.swift.model.mx.AbstractMX
;
import
com.prowidesoftware.swift.model.mx.AbstractMX
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -14,12 +15,13 @@ public class Mx2MapCreatorManager {
...
@@ -14,12 +15,13 @@ public class Mx2MapCreatorManager {
public
Map
<
String
,
Object
>
mx2Map
(
String
xml
,
String
localCode
)
throws
SwiftException
{
public
Map
<
String
,
Object
>
mx2Map
(
String
xml
,
String
localCode
)
throws
SwiftException
{
xml
=
XmlUtil
.
handlingXml
(
xml
);
xml
=
XmlUtil
.
handlingXml
(
xml
);
AbstractMX
abstractMX
=
AbstractMX
.
parse
(
xml
);
MxId
mxId
=
XmlUtil
.
getMxMessageType
(
xml
);
String
messageType
=
(
abstractMX
.
getMxId
().
getBusinessProcess
().
name
()
if
(
mxId
==
null
)
{
+
"."
throw
new
SwiftException
(
"找不到MX报文类型"
);
+
abstractMX
.
getMxId
().
getFunctionality
()
}
+
"."
String
messageType
=
(
mxId
.
getBusinessProcess
().
name
()
+
abstractMX
.
getMxId
().
getVariant
())
+
mxId
.
getFunctionality
()
+
mxId
.
getVariant
())
//+ abstractMX.getMxId().getVersion())
//+ abstractMX.getMxId().getVersion())
.
trim
();
.
trim
();
AbstractMx2MapCreator
creator
=
getCreator
(
messageType
);
AbstractMx2MapCreator
creator
=
getCreator
(
messageType
);
...
@@ -29,13 +31,13 @@ public class Mx2MapCreatorManager {
...
@@ -29,13 +31,13 @@ public class Mx2MapCreatorManager {
}
}
public
AbstractMx2MapCreator
getCreator
(
String
messageType
)
{
public
AbstractMx2MapCreator
getCreator
(
String
messageType
)
{
if
(
"camt.053.001"
.
equals
(
messageType
))
{
if
(
"camt053001"
.
equals
(
messageType
))
{
return
new
Mx2MapCamt053Creator
();
return
new
Mx2MapCamt053Creator
();
}
else
if
(
"pacs.008.001"
.
equals
(
messageType
))
{
}
else
if
(
"pacs008001"
.
equals
(
messageType
))
{
return
new
Mx2MapPacs008Creator
();
return
new
Mx2MapPacs008Creator
();
}
else
if
(
"pacs.009.001"
.
equals
(
messageType
))
{
}
else
if
(
"pacs009001"
.
equals
(
messageType
))
{
return
new
Mx2MapPacs009Creator
();
return
new
Mx2MapPacs009Creator
();
}
else
if
(
"camt.054.001"
.
equals
(
messageType
))
{
}
else
if
(
"camt054001"
.
equals
(
messageType
))
{
return
new
Mx2MapCamt054Creator
();
return
new
Mx2MapCamt054Creator
();
}
else
{
}
else
{
throw
new
SwiftException
(
"无效的报文类型"
);
throw
new
SwiftException
(
"无效的报文类型"
);
...
...
swiftCore/src/main/java/com/brilliance/swift/mx2mt/AbstractMx2MtCreator.java
View file @
2b903880
...
@@ -14,7 +14,6 @@ import com.prowidesoftware.swift.io.IConversionService;
...
@@ -14,7 +14,6 @@ import com.prowidesoftware.swift.io.IConversionService;
import
com.prowidesoftware.swift.io.writer.SwiftWriter
;
import
com.prowidesoftware.swift.io.writer.SwiftWriter
;
import
com.prowidesoftware.swift.model.*
;
import
com.prowidesoftware.swift.model.*
;
import
com.prowidesoftware.swift.model.field.*
;
import
com.prowidesoftware.swift.model.field.*
;
import
com.prowidesoftware.swift.model.mx.AbstractMX
;
import
com.prowidesoftware.swift.model.mx.NamespaceReader
;
import
com.prowidesoftware.swift.model.mx.NamespaceReader
;
import
org.apache.commons.lang3.Validate
;
import
org.apache.commons.lang3.Validate
;
import
org.dom4j.*
;
import
org.dom4j.*
;
...
@@ -507,12 +506,12 @@ public abstract class AbstractMx2MtCreator implements Mx2MtCreator {
...
@@ -507,12 +506,12 @@ public abstract class AbstractMx2MtCreator implements Mx2MtCreator {
IConversionService
srv
=
new
ConversionService
();
IConversionService
srv
=
new
ConversionService
();
String
mtStr
=
srv
.
getFIN
(
swiftMessage
);
String
mtStr
=
srv
.
getFIN
(
swiftMessage
);
SwiftTranslationReport
str
=
context
.
get
(
SwiftTranslationReport
.
class
);
SwiftTranslationReport
str
=
context
.
get
(
SwiftTranslationReport
.
class
);
AbstractMX
abstractMX
=
(
AbstractMX
)
context
.
get
(
Mx2MtContextIdentifier
.
MX
_OBJ
,
true
);
MxId
mxId
=
(
MxId
)
context
.
get
(
Mx2MtContextIdentifier
.
MX_TYPE
_OBJ
,
true
);
if
(
abstractMX
!=
null
&&
abstractMX
.
getMxId
()
!=
null
)
{
if
(
mxId
!=
null
)
{
str
.
setMxType
(
abstractMX
.
getMxId
()
.
getBusinessProcess
().
name
()
str
.
setMxType
(
mxId
.
getBusinessProcess
().
name
()
+
abstractMX
.
getMxId
()
.
getFunctionality
()
+
mxId
.
getFunctionality
()
+
abstractMX
.
getMxId
()
.
getVariant
()
+
mxId
.
getVariant
()
+
abstractMX
.
getMxId
()
.
getVersion
());
+
mxId
.
getVersion
());
}
}
str
.
setMtType
(
getMtType
());
str
.
setMtType
(
getMtType
());
str
.
setMessage
(
mtStr
);
str
.
setMessage
(
mtStr
);
...
...
swiftCore/src/main/java/com/brilliance/swift/mx2mt/Mx2MtContextIdentifier.java
View file @
2b903880
...
@@ -6,7 +6,7 @@ public class Mx2MtContextIdentifier {
...
@@ -6,7 +6,7 @@ public class Mx2MtContextIdentifier {
public
static
final
String
MX_XMl
=
"mx.xml"
;
public
static
final
String
MX_XMl
=
"mx.xml"
;
public
static
final
String
MX_
OBJ
=
"mx
.obj"
;
public
static
final
String
MX_
TYPE_OBJ
=
"mx.type
.obj"
;
public
static
final
String
MX_TO_MT_OUTPUT_FILE_PATH
=
"mx.to.mt.output.filepath"
;
public
static
final
String
MX_TO_MT_OUTPUT_FILE_PATH
=
"mx.to.mt.output.filepath"
;
...
...
swiftCore/src/main/java/com/brilliance/swift/mx2mt/Mx2MtCreatorManager.java
View file @
2b903880
...
@@ -18,6 +18,7 @@ import com.brilliance.swift.mx2mt.mtn99.Mx2MtN99Creator;
...
@@ -18,6 +18,7 @@ import com.brilliance.swift.mx2mt.mtn99.Mx2MtN99Creator;
import
com.brilliance.swift.util.StringUtil
;
import
com.brilliance.swift.util.StringUtil
;
import
com.brilliance.swift.util.XmlUtil
;
import
com.brilliance.swift.util.XmlUtil
;
import
com.brilliance.swift.vo.SwiftTranslationReport
;
import
com.brilliance.swift.vo.SwiftTranslationReport
;
import
com.prowidesoftware.swift.model.MxId
;
import
com.prowidesoftware.swift.model.mx.AbstractMX
;
import
com.prowidesoftware.swift.model.mx.AbstractMX
;
import
org.dom4j.Document
;
import
org.dom4j.Document
;
import
org.dom4j.DocumentException
;
import
org.dom4j.DocumentException
;
...
@@ -30,12 +31,13 @@ public class Mx2MtCreatorManager {
...
@@ -30,12 +31,13 @@ public class Mx2MtCreatorManager {
public
SwiftTranslationReport
mx2Mt
(
String
xml
,
String
fileOutputPath
,
Map
<
String
,
Object
>
extraMap
)
throws
SwiftException
{
public
SwiftTranslationReport
mx2Mt
(
String
xml
,
String
fileOutputPath
,
Map
<
String
,
Object
>
extraMap
)
throws
SwiftException
{
try
{
try
{
xml
=
XmlUtil
.
handlingXml
(
xml
);
xml
=
XmlUtil
.
handlingXml
(
xml
);
AbstractMX
abstractMX
=
AbstractMX
.
parse
(
xml
);
MxId
mxId
=
XmlUtil
.
getMxMessageType
(
xml
);
String
messageType
=
(
abstractMX
.
getMxId
().
getBusinessProcess
().
name
()
if
(
mxId
==
null
)
{
+
"."
throw
new
SwiftException
(
"找不到MX报文类型"
);
+
abstractMX
.
getMxId
().
getFunctionality
()
}
+
"."
String
messageType
=
(
mxId
.
getBusinessProcess
().
name
()
+
abstractMX
.
getMxId
().
getVariant
())
+
mxId
.
getFunctionality
()
+
mxId
.
getVariant
())
//+ abstractMX.getMxId().getVersion())
//+ abstractMX.getMxId().getVersion())
.
trim
();
.
trim
();
Mx2MtContext
context
=
new
Mx2MtContext
();
Mx2MtContext
context
=
new
Mx2MtContext
();
...
@@ -43,15 +45,16 @@ public class Mx2MtCreatorManager {
...
@@ -43,15 +45,16 @@ public class Mx2MtCreatorManager {
context
.
set
(
Mx2MtContextIdentifier
.
MX_TO_MT_LISTENER_CLASS
,
new
Mx2MtListener
());
//注册监听器
context
.
set
(
Mx2MtContextIdentifier
.
MX_TO_MT_LISTENER_CLASS
,
new
Mx2MtListener
());
//注册监听器
context
.
set
(
Mx2MtContextIdentifier
.
MX_XMl_DOCUMENT
,
document
);
context
.
set
(
Mx2MtContextIdentifier
.
MX_XMl_DOCUMENT
,
document
);
context
.
set
(
Mx2MtContextIdentifier
.
MX_TO_MT_OUTPUT_FILE_PATH
,
fileOutputPath
);
context
.
set
(
Mx2MtContextIdentifier
.
MX_TO_MT_OUTPUT_FILE_PATH
,
fileOutputPath
);
context
.
set
(
Mx2MtContextIdentifier
.
MX_
OBJ
,
abstractMX
);
context
.
set
(
Mx2MtContextIdentifier
.
MX_
TYPE_OBJ
,
mxId
);
context
.
set
(
Mx2MtContextIdentifier
.
MX_XMl
,
xml
);
context
.
set
(
Mx2MtContextIdentifier
.
MX_XMl
,
xml
);
String
applicationMode
=
"O"
;
//代表是收报,默认值
String
applicationMode
=
"O"
;
//代表是收报,默认值
if
(
extraMap
!=
null
)
{
if
(
extraMap
!=
null
)
{
applicationMode
=
(
String
)
extraMap
.
get
(
Mx2MtConstants
.
APPLICATION_MODE
);
applicationMode
=
(
String
)
extraMap
.
get
(
Mx2MtConstants
.
APPLICATION_MODE
);
if
(
StringUtil
.
isEmpty
(
applicationMode
))
{
if
(
StringUtil
.
isEmpty
(
applicationMode
))
{
String
bnkBic
=
(
String
)
extraMap
.
get
(
"bnkBic"
);
//得到本行的bicCode
String
bnkBic
=
(
String
)
extraMap
.
get
(
"bnkBic"
);
//得到本行的bicCode
if
(
StringUtil
.
isNotEmpty
(
bnkBic
)
&&
abstractMX
.
getAppHdr
()
!=
null
)
{
if
(
StringUtil
.
isNotEmpty
(
bnkBic
))
{
if
(
bnkBic
.
equals
(
abstractMX
.
getAppHdr
().
from
()))
{
AbstractMX
abstractMX
=
AbstractMX
.
parse
(
xml
,
mxId
);
if
(
abstractMX
!=
null
&&
abstractMX
.
getAppHdr
()
!=
null
&&
bnkBic
.
equals
(
abstractMX
.
getAppHdr
().
from
()))
{
applicationMode
=
"I"
;
//如果发报行和本行bic一样,表示是发报
applicationMode
=
"I"
;
//如果发报行和本行bic一样,表示是发报
}
}
}
}
...
@@ -76,31 +79,31 @@ public class Mx2MtCreatorManager {
...
@@ -76,31 +79,31 @@ public class Mx2MtCreatorManager {
}
}
public
AbstractMx2MtCreator
getCreator
(
String
messageType
)
{
public
AbstractMx2MtCreator
getCreator
(
String
messageType
)
{
if
(
"pacs
.008.
001"
.
equals
(
messageType
))
{
if
(
"pacs
008
001"
.
equals
(
messageType
))
{
return
new
Mx2Mt103Creator
();
return
new
Mx2Mt103Creator
();
}
else
if
(
"pacs
.009.
001"
.
equals
(
messageType
))
{
}
else
if
(
"pacs
009
001"
.
equals
(
messageType
))
{
return
new
Mx2Mt202Creator
();
return
new
Mx2Mt202Creator
();
}
else
if
(
"camt
.054.
001"
.
equals
(
messageType
)){
}
else
if
(
"camt
054
001"
.
equals
(
messageType
)){
return
new
Mx2Mt900910Creator
();
return
new
Mx2Mt900910Creator
();
}
else
if
(
"camt
.053.
001"
.
equals
(
messageType
)){
}
else
if
(
"camt
053
001"
.
equals
(
messageType
)){
return
new
Mx2Mt940950Creator
();
return
new
Mx2Mt940950Creator
();
}
else
if
(
"camt
.056.
001"
.
equals
(
messageType
)){
}
else
if
(
"camt
056
001"
.
equals
(
messageType
)){
return
new
Mx2Mtn92Creator
();
return
new
Mx2Mtn92Creator
();
}
else
if
(
"camt
.029.
001"
.
equals
(
messageType
)){
}
else
if
(
"camt
029
001"
.
equals
(
messageType
)){
return
new
Mx2Mtn96Creator
();
return
new
Mx2Mtn96Creator
();
}
else
if
(
"camt
.052.
001"
.
equals
(
messageType
)){
}
else
if
(
"camt
052
001"
.
equals
(
messageType
)){
return
new
Mx2Mt942Creator
();
return
new
Mx2Mt942Creator
();
}
else
if
(
"pacs
.004.
001.MT103"
.
equals
(
messageType
)){
}
else
if
(
"pacs
004
001.MT103"
.
equals
(
messageType
)){
return
new
Mx2Mt103RetnCreator
();
return
new
Mx2Mt103RetnCreator
();
}
else
if
(
"pacs
.004.
001.MT202"
.
equals
(
messageType
)){
}
else
if
(
"pacs
004
001.MT202"
.
equals
(
messageType
)){
return
new
Mx2Mt202RetnCreator
();
return
new
Mx2Mt202RetnCreator
();
}
else
if
(
"pacs
.004.
001.MT205"
.
equals
(
messageType
)){
}
else
if
(
"pacs
004
001.MT205"
.
equals
(
messageType
)){
return
new
Mx2Mt205RetnCreator
();
return
new
Mx2Mt205RetnCreator
();
}
else
if
(
"camt
.057.
001"
.
equals
(
messageType
)){
}
else
if
(
"camt
057
001"
.
equals
(
messageType
)){
return
new
Mx2Mt210Creator
();
return
new
Mx2Mt210Creator
();
}
else
if
(
"pacs
.002.
001"
.
equals
(
messageType
)){
}
else
if
(
"pacs
002
001"
.
equals
(
messageType
)){
return
new
Mx2MtN99Creator
();
return
new
Mx2MtN99Creator
();
}
else
if
(
"camt
.060.
001"
.
equals
(
messageType
)){
}
else
if
(
"camt
060
001"
.
equals
(
messageType
)){
return
new
Mx2Mt920Creator
();
return
new
Mx2Mt920Creator
();
}
else
{
}
else
{
throw
new
SwiftException
(
"Invalid message type"
);
throw
new
SwiftException
(
"Invalid message type"
);
...
@@ -120,7 +123,7 @@ public class Mx2MtCreatorManager {
...
@@ -120,7 +123,7 @@ public class Mx2MtCreatorManager {
* @return
* @return
*/
*/
private
String
handlingMessageType
(
Document
document
,
String
messageType
)
{
private
String
handlingMessageType
(
Document
document
,
String
messageType
)
{
if
(
"pacs
.004.
001"
.
equals
(
messageType
))
{
if
(
"pacs
004
001"
.
equals
(
messageType
))
{
boolean
findFlag
=
false
;
boolean
findFlag
=
false
;
Map
<
String
,
String
>
parentElementMaps
=
XmlUtil
.
getParentElementMaps
(
document
);
Map
<
String
,
String
>
parentElementMaps
=
XmlUtil
.
getParentElementMaps
(
document
);
String
grpParentElementName
=
parentElementMaps
.
get
(
"OrgnlGrpInf"
);
String
grpParentElementName
=
parentElementMaps
.
get
(
"OrgnlGrpInf"
);
...
...
swiftCore/src/main/java/com/brilliance/swift/util/XmlUtil.java
View file @
2b903880
package
com
.
brilliance
.
swift
.
util
;
package
com
.
brilliance
.
swift
.
util
;
import
com.brilliance.swift.SwiftTransfer
;
import
com.brilliance.swift.SwiftTransfer
;
import
com.prowidesoftware.swift.model.MxId
;
import
com.prowidesoftware.swift.model.mx.NamespaceReader
;
import
org.dom4j.*
;
import
org.dom4j.*
;
import
org.dom4j.io.SAXReader
;
import
org.dom4j.io.SAXReader
;
...
@@ -12,6 +14,7 @@ import java.net.URL;
...
@@ -12,6 +14,7 @@ import java.net.URL;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Optional
;
import
java.util.regex.Matcher
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
import
java.util.regex.Pattern
;
...
@@ -192,16 +195,20 @@ public class XmlUtil {
...
@@ -192,16 +195,20 @@ public class XmlUtil {
}
}
public
static
String
clearXmlNamespacePrefix
(
String
xmlStr
)
{
public
static
String
clearXmlNamespacePrefix
(
String
xmlStr
)
{
String
regex
=
"
[AppHdr|Document][\\s]*xmlns:([\\w]*)=
"
;
String
regex
=
"
<([\\w]+):AppHdr
"
;
Pattern
p
=
Pattern
.
compile
(
regex
);
Pattern
p
=
Pattern
.
compile
(
regex
);
Matcher
m
=
p
.
matcher
(
xmlStr
);
Matcher
m
=
p
.
matcher
(
xmlStr
);
String
prefix
=
""
;
while
(
m
.
find
())
{
while
(
m
.
find
())
{
prefix
=
m
.
group
(
1
);
String
prefix
=
m
.
group
(
1
);
xmlStr
=
xmlStr
.
replace
(
"<"
+
prefix
+
":"
,
"<"
).
replace
(
"</"
+
prefix
+
":"
,
"</"
);
}
regex
=
"<([\\w]+):Document"
;
p
=
Pattern
.
compile
(
regex
);
m
=
p
.
matcher
(
xmlStr
);
while
(
m
.
find
())
{
String
prefix
=
m
.
group
(
1
);
xmlStr
=
xmlStr
.
replace
(
"<"
+
prefix
+
":"
,
"<"
).
replace
(
"</"
+
prefix
+
":"
,
"</"
);
xmlStr
=
xmlStr
.
replace
(
"<"
+
prefix
+
":"
,
"<"
).
replace
(
"</"
+
prefix
+
":"
,
"</"
);
}
}
xmlStr
=
xmlStr
.
replaceAll
(
"AppHdr[\\s]*xmlns:([\\w]*)="
,
"AppHdr xmlns="
);
xmlStr
=
xmlStr
.
replaceAll
(
"Document[\\s]*xmlns:([\\w]*)="
,
"Document xmlns="
);
return
xmlStr
;
return
xmlStr
;
}
}
...
@@ -224,4 +231,17 @@ public class XmlUtil {
...
@@ -224,4 +231,17 @@ public class XmlUtil {
return
SwiftTransfer
.
fetchXmlFromMixMessage
(
xmlStr
);
return
SwiftTransfer
.
fetchXmlFromMixMessage
(
xmlStr
);
}
}
}
}
/**
* 找到MX报文的报文类型
* @param xml
* @return
*/
public
static
MxId
getMxMessageType
(
String
xml
)
{
Optional
<
String
>
namespace
=
NamespaceReader
.
findDocumentNamespace
(
xml
);
if
(
namespace
.
isPresent
())
{
return
new
MxId
(
namespace
.
get
());
}
return
null
;
}
}
}
swiftCore/src/main/resources/template/camt029001.properties
View file @
2b903880
#APPLICATION HEADER
#APPLICATION HEADER
frBic
=
appHdr.fr.fiId.finInstnId.bicfi
frBic
=
appHdr.fr.fiId.finInstnId.bicfi
toBic
=
appHdr.to.fiId.finInstnId.bicfi
toBic
=
appHdr.to.fiId.finInstnId.bicfi
bizMsgIdr
=
rsltnOfInvstgtn.
assgnmt.id?rsltnOfInvstgtn.cxlDtls.txInfAndSts.cxlStsId?appHdr.bizMsgIdr?rsltnOfInvstgtn.assgnmt.id
bizMsgIdr
=
rsltnOfInvstgtn.
cxlDtls.txInfAndSts.cxlStsId?rsltnOfInvstgtn.assgnmt.id?appHdr.bizMsgIdr
msgDefIdr
=
appHdr.msgDefIdr
msgDefIdr
=
appHdr.msgDefIdr
bizSvc
=
appHdr.bizSvc
bizSvc
=
appHdr.bizSvc
creDt
=
rsltnOfInvstgtn.assgnmt.creDtTm?appHdr.creDt
creDt
=
rsltnOfInvstgtn.assgnmt.creDtTm?appHdr.creDt
priority
=
appHdr.prty
priority
=
appHdr.prty
uetr
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.orgnlUETR
#BODY
#BODY
#11R
orgnlMsgNmId
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.orgnlGrpInf.orgnlMsgNmId
orgnlCreDtTm
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.orgnlGrpInf.orgnlCreDtTm
#21
rslvdCaseId
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.rslvdCase.id
#76
stsConf
=
sts.conf
rsnCd
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.cxlStsRsnInf.rsn.cd
rsnPrtry
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.cxlStsRsnInf.rsn.prtry
addtlInf
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.cxlStsRsnInf.addtlInf
#Other
assgnrBic
=
rsltnOfInvstgtn.assgnmt.assgnr.agt.finInstnId.bicfi
assgnrBic
=
rsltnOfInvstgtn.assgnmt.assgnr.agt.finInstnId.bicfi
assgnrClrSysId
=
rsltnOfInvstgtn.assgnmt.assgnr.agt.finInstnId.clrSysMmbId.mmbId
assgnrClrSysId
=
rsltnOfInvstgtn.assgnmt.assgnr.agt.finInstnId.clrSysMmbId.mmbId
assgnrClrSysIdType
=
rsltnOfInvstgtn.assgnmt.assgnr.agt.finInstnId.clrSysMmbId.clrSysId.cd
assgnrClrSysIdType
=
rsltnOfInvstgtn.assgnmt.assgnr.agt.finInstnId.clrSysMmbId.clrSysId.cd
assgnrClrSysIdTypePrtry
=
rsltnOfInvstgtn.assgnmt.assgnr.agt.finInstnId.clrSysMmbId.clrSysId.prtry
assgnrClrSysIdTypePrtry
=
rsltnOfInvstgtn.assgnmt.assgnr.agt.finInstnId.clrSysMmbId.clrSysId.prtry
assgnrLei
=
rsltnOfInvstgtn.assgnmt.assgnr.agt.finInstnId.lei
assgnrLei
=
rsltnOfInvstgtn.assgnmt.assgnr.agt.finInstnId.lei
assgneBic
=
rsltnOfInvstgtn.assgnmt.assgne.
pty.id.orgId.anyBIC?rsltnOfInvstgtn.assgnmt.assgne.
agt.finInstnId.bicfi
assgneBic
=
rsltnOfInvstgtn.assgnmt.assgne.agt.finInstnId.bicfi
assgneClrSysId
=
rsltnOfInvstgtn.assgnmt.assgne.agt.finInstnId.clrSysMmbId.mmbId
assgneClrSysId
=
rsltnOfInvstgtn.assgnmt.assgne.agt.finInstnId.clrSysMmbId.mmbId
assgneClrSysIdType
=
rsltnOfInvstgtn.assgnmt.assgne.agt.finInstnId.clrSysMmbId.clrSysId.cd
assgneClrSysIdType
=
rsltnOfInvstgtn.assgnmt.assgne.agt.finInstnId.clrSysMmbId.clrSysId.cd
assgneClrSysIdTypePrtry
=
rsltnOfInvstgtn.assgnmt.assgne.agt.finInstnId.clrSysMmbId.clrSysId.prtry
assgneClrSysIdTypePrtry
=
rsltnOfInvstgtn.assgnmt.assgne.agt.finInstnId.clrSysMmbId.clrSysId.prtry
assgneLei
=
rsltnOfInvstgtn.assgnmt.assgne.agt.finInstnId.lei
assgneLei
=
rsltnOfInvstgtn.assgnmt.assgne.agt.finInstnId.lei
orgnlMsgId
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.orgnlGrpInf.orgnlMsgId
stsConf
=
rsltnOfInvstgtn.sts.conf
orgnlInstrId
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.orgnlInstrId
rslvdCaseId
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.rslvdCase.id
orgnlEndToEndId
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.orgnlInstrId
rslvdCaseCretrPty
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.rslvdCase.cretr.pty#party
rslvdCaseCretrPty
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.rslvdCase.cretr.pty#party
rslvdCaseCretrAgt
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.rslvdCase.cretr.agt#agent
rslvdCaseCretrAgt
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.rslvdCase.cretr.agt#agent
orgnlMsgId
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.orgnlGrpInf.orgnlMsgId
orgnlMsgNmId
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.orgnlGrpInf.orgnlMsgNmId
orgnlCreDtTm
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.orgnlGrpInf.orgnlCreDtTm
orgnlInstrId
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.orgnlInstrId
orgnlEndToEndId
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.orgnlEndToEndId
orgnlTxId
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.orgnlTxId
uetr
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.orgnlUETR
orgtrNm
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.cxlStsRsnInf.orgtr.nm
orgtrNm
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.cxlStsRsnInf.orgtr.nm
orgtrOrgAnyBIC
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.cxlStsRsnInf.orgtr.id.orgId.anyBIC
orgtrOrgAnyBIC
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.cxlStsRsnInf.orgtr.id.orgId.anyBIC
orgtrOrgLei
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.cxlStsRsnInf.orgtr.id.orgId.lei
orgtrOrgLei
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.cxlStsRsnInf.orgtr.id.orgId.lei
...
@@ -68,3 +62,5 @@ orgtrPhneNb=rsltnOfInvstgtn.cxlDtls.txInfAndSts.cxlStsRsnInf.orgtr.ctctDtls.phne
...
@@ -68,3 +62,5 @@ orgtrPhneNb=rsltnOfInvstgtn.cxlDtls.txInfAndSts.cxlStsRsnInf.orgtr.ctctDtls.phne
orgtrMobNb
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.cxlStsRsnInf.orgtr.ctctDtls.mobNb
orgtrMobNb
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.cxlStsRsnInf.orgtr.ctctDtls.mobNb
orgtrFaxNb
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.cxlStsRsnInf.orgtr.ctctDtls.faxNb
orgtrFaxNb
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.cxlStsRsnInf.orgtr.ctctDtls.faxNb
orgtrEmailAdr
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.cxlStsRsnInf.orgtr.ctctDtls.emailAdr
orgtrEmailAdr
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.cxlStsRsnInf.orgtr.ctctDtls.emailAdr
rsnCd
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.cxlStsRsnInf.rsn.cd
addtlInf
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.cxlStsRsnInf.addtlInf
\ No newline at end of file
swiftCore/src/main/resources/template/camt054001.properties
View file @
2b903880
#APPLICATION HEADER
#APPLICATION HEADER
frBic
=
appHdr.fr.fiId.finInstnId.bicfi
frBic
=
appHdr.fr.fiId.finInstnId.bicfi
toBic
=
appHdr.to.fiId.finInstnId.bicfi
toBic
=
appHdr.to.fiId.finInstnId.bicfi
bizMsgIdr
=
bkToCstmrDbtCdtNtfctn.grpHdr.msgId?appHdr.bizMsgIdr
bizMsgIdr
=
bkToCstmrDbtCdtNtfctn.grpHdr.msgId?appHdr.bizMsgIdr
?bkToCstmrDbtCdtNtfctn.ntfctn.id
msgDefIdr
=
appHdr.msgDefIdr
msgDefIdr
=
appHdr.msgDefIdr
bizSvc
=
appHdr.bizSvc
bizSvc
=
appHdr.bizSvc
creDt
=
bkToCstmrDbtCdtNtfctn.grpHdr.creDtTm?appHdr.creDt
creDt
=
bkToCstmrDbtCdtNtfctn.grpHdr.creDtTm?appHdr.creDt
?bkToCstmrDbtCdtNtfctn.ntfctn.creDtTm
priority
=
appHdr.prty
priority
=
appHdr.prty
cdtDbtInd
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.cdtDbtInd
#BODY
#BODY
cdtDbtInd
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.cdtDbtInd?bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.cdtDbtInd
entryRef
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryRef
uetr
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.refs.uetr
uetr
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.refs.uetr
sts
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.sts.cd
sts
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.sts.cd
stsPrtry
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.sts.prtry
stsPrtry
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.sts.prtry
ntryBkTxCdDomnCd
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.bkTxCd.domn.cd
ntryBkTxCdFmlyCd
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.bkTxCd.domn.fmly.cd
ntryBkTxCdFmlySubFmlyCd
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.bkTxCd.domn.fmly.subFmlyCd
ntryAcctSvcrRef
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.acctSvcrRef
#13
#13
bookgDt
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.bookgDt.dtTm
bookgDt
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.bookgDt.dtTm
#21
#21
...
@@ -24,12 +29,13 @@ ntfctnAcctType=bkToCstmrDbtCdtNtfctn.ntfctn.acct.tp.cd
...
@@ -24,12 +29,13 @@ ntfctnAcctType=bkToCstmrDbtCdtNtfctn.ntfctn.acct.tp.cd
ntfctnAcctTypePrtry
=
bkToCstmrDbtCdtNtfctn.ntfctn.acct.tp.prtry
ntfctnAcctTypePrtry
=
bkToCstmrDbtCdtNtfctn.ntfctn.acct.tp.prtry
ntfctnAcctCcy
=
bkToCstmrDbtCdtNtfctn.ntfctn.acct.ccy
ntfctnAcctCcy
=
bkToCstmrDbtCdtNtfctn.ntfctn.acct.ccy
ntfctnAcctNm
=
bkToCstmrDbtCdtNtfctn.ntfctn.acct.nm
ntfctnAcctNm
=
bkToCstmrDbtCdtNtfctn.ntfctn.acct.nm
ntfctnAcctOwnerAnyBIC
=
bkToCstmrDbtCdtNtfctn.ntfctn.acct.
Ownr.Id.OrgId.A
nyBIC
ntfctnAcctOwnerAnyBIC
=
bkToCstmrDbtCdtNtfctn.ntfctn.acct.
ownr.id.orgId.a
nyBIC
#32
#32
valDt
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.valDt.dt?bkToCstmrDbtCdtNtfctn.ntfctn.ntry.valDt.dtTm?bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdDts.intrBkSttlmDt
valDt
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.valDt.dt?bkToCstmrDbtCdtNtfctn.ntfctn.ntry.valDt.dtTm?bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdDts.intrBkSttlmDt
ntryAmt
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.amt.value&bigdecimal
ntryAmt
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.amt.value&bigdecimal
?bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.amt.value&bigdecimal
ntryCcy
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.amt.ccy
ntryCcy
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.amt.ccy
?bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.amt.ccy
dbtrInfo
=
@buildDbtrInfo
dbtrInfo
=
@buildDbtrInfo
#??KEY??
dbtrPrvtBirthDt
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.prvtId.dtAndPlcOfBirth.birthDt
dbtrPrvtBirthDt
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.prvtId.dtAndPlcOfBirth.birthDt
dbtrPrvtPrvcOfBirth
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.prvtId.dtAndPlcOfBirth.prvcOfBirth
dbtrPrvtPrvcOfBirth
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.prvtId.dtAndPlcOfBirth.prvcOfBirth
dbtrPrvtCityOfBirth
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.prvtId.dtAndPlcOfBirth.cityOfBirth
dbtrPrvtCityOfBirth
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.prvtId.dtAndPlcOfBirth.cityOfBirth
...
@@ -37,6 +43,15 @@ dbtrPrvtCtryOfBirth=bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.
...
@@ -37,6 +43,15 @@ dbtrPrvtCtryOfBirth=bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.
dbtrPrvtId
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.prvtId.othr.id
dbtrPrvtId
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.prvtId.othr.id
dbtrPrvtIdType
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.prvtId.othr.schmeNm.cd
dbtrPrvtIdType
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.prvtId.othr.schmeNm.cd
dbtrPrvtIdTypePrtry
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.prvtId.othr.schmeNm.prtry
dbtrPrvtIdTypePrtry
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.prvtId.othr.schmeNm.prtry
#??KEY??
dbtrPrvtIdBirthDt
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.prvtId.dtAndPlcOfBirth.birthDt
dbtrPrvtIdPrvcOfBirth
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.prvtId.dtAndPlcOfBirth.prvcOfBirth
dbtrPrvtIdCityOfBirth
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.prvtId.dtAndPlcOfBirth.cityOfBirth
dbtrPrvtIdCtryOfBirth
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.prvtId.dtAndPlcOfBirth.ctryOfBirth
dbtrPrvtIdOthrId
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.prvtId.othr.id
dbtrPrvtIdOthrIdType
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.prvtId.othr.schmeNm.cd
dbtrPrvtIdOthrIdTypePrtry
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.prvtId.othr.schmeNm.prtry
dbtrPrvtIdOthrIssr
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.id.prvtId.othr.issr
dbtrCtryOfRes
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.ctryOfRes
dbtrCtryOfRes
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.ctryOfRes
dbtrPhneNb
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.ctctDtls.phneNb
dbtrPhneNb
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.ctctDtls.phneNb
dbtrMobNb
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.ctctDtls.mobNb
dbtrMobNb
=
bkToCstmrDbtCdtNtfctn.ntfctn.ntry.ntryDtls.txDtls.rltdPties.dbtr.pty.ctctDtls.mobNb
...
...
swiftCore/src/main/resources/template/camt056001.properties
View file @
2b903880
...
@@ -6,48 +6,29 @@ msgDefIdr=appHdr.msgDefIdr
...
@@ -6,48 +6,29 @@ msgDefIdr=appHdr.msgDefIdr
bizSvc
=
appHdr.bizSvc
bizSvc
=
appHdr.bizSvc
creDt
=
fiToFIPmtCxlReq.assgnmt.creDtTm?appHdr.creDt
creDt
=
fiToFIPmtCxlReq.assgnmt.creDtTm?appHdr.creDt
priority
=
appHdr.prty
priority
=
appHdr.prty
uetr
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlUETR
#BODY
#BODY
#11S
assgnrBic
=
fiToFIPmtCxlReq.assgnmt.assgnr.agt.finInstnId.bicfi
assgnrClrSysId
=
fiToFIPmtCxlReq.assgnmt.assgnr.agt.finInstnId.clrSysMmbId.mmbId
assgnrClrSysIdType
=
fiToFIPmtCxlReq.assgnmt.assgnr.agt.finInstnId.clrSysMmbId.clrSysId.cd
assgnrClrSysIdTypePrtry
=
fiToFIPmtCxlReq.assgnmt.assgnr.agt.finInstnId.clrSysMmbId.clrSysId.prtry
assgnrLei
=
fiToFIPmtCxlReq.assgnmt.assgnr.agt.finInstnId.lei
assgneBic
=
fiToFIPmtCxlReq.assgnmt.assgne.agt.finInstnId.bicfi
assgneClrSysId
=
fiToFIPmtCxlReq.assgnmt.assgne.agt.finInstnId.clrSysMmbId.mmbId
assgneClrSysIdType
=
fiToFIPmtCxlReq.assgnmt.assgne.agt.finInstnId.clrSysMmbId.clrSysId.cd
assgneClrSysIdTypePrtry
=
fiToFIPmtCxlReq.assgnmt.assgne.agt.finInstnId.clrSysMmbId.clrSysId.prtry
assgneLei
=
fiToFIPmtCxlReq.assgnmt.assgne.agt.finInstnId.lei
caseCretrPty
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty#party
caseCretrAgt
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt#agent
orgnlMsgId
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlGrpInf.orgnlMsgId
orgnlMsgNmId
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlGrpInf.orgnlMsgNmId
orgnlMsgNmId
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlGrpInf.orgnlMsgNmId
orgnlCreDtTm
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlGrpInf.orgnlCreDtTm
orgnlCreDtTm
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlGrpInf.orgnlCreDtTm
#21
orgnlInstrId
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlInstrId
orgnlInstrId
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlInstrId
#32
orgnlEndToEndId
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlEndToEndId
orgnlTxId
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlTxId
uetr
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlUETR
orgnlIntrBkSttlmAmt
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlIntrBkSttlmAmt.value&bigdecimal
orgnlIntrBkSttlmAmt
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlIntrBkSttlmAmt.value&bigdecimal
orgnlIntrBkSttlmCcy
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlIntrBkSttlmAmt.ccy
orgnlIntrBkSttlmCcy
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlIntrBkSttlmAmt.ccy
orgnlIntrBkSttlmDt
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlIntrBkSttlmDt
orgnlIntrBkSttlmDt
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlIntrBkSttlmDt
#79
rsnCd
=
fiToFIPmtCxlReq.undrlyg.txInf.cxlRsnInf.rsn.cd
rsnPrtry
=
fiToFIPmtCxlReq.undrlyg.txInf.cxlRsnInf.rsn.prtry
addtlInf
=
fiToFIPmtCxlReq.undrlyg.txInf.cxlRsnInf.addtlInf
#Other
orgnlMsgId
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlGrpInf.orgnlMsgId
orgnlEndToEndId
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlEndToEndId
assgnrBic
=
fiToFIPmtCxlReq.assgnmt.assgnr.pty.id.orgId.anyBIC?fiToFIPmtCxlReq.assgnmt.assgnr.agt.finInstnId.bicfi
assgneBic
=
fiToFIPmtCxlReq.assgnmt.assgne.pty.id.orgId.anyBIC?fiToFIPmtCxlReq.assgnmt.assgne.agt.finInstnId.bicfi
caseCretrNm
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty.nm?fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt.finInstnId.nm
caseCretrOrgAnyBIC
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty.id.orgId.anyBIC?fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt.finInstnId.bicfi
caseCretrOrgLei
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty.id.orgId.lei?fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt.finInstnId.lei
caseCretrOrgOthrId
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty.id.orgId.othr.id?fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt.finInstnId.othr.id
caseCretrOrgOthrIdType
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty.id.orgId.othr.schmeNm.cd?fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt.finInstnId.othr.schmeNm.cd
caseCretrOrgOthrIdTypePrtry
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty.id.orgId.othr.schmeNm.prtry?fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt.finInstnId.othr.schmeNm.prtry
caseCretrPstlAdrType
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty.pstlAdr.adrTp.cd?fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt.finInstnId.pstlAdr.adrTp.cd
caseCretrPstlAdrCtry
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty.pstlAdr.ctry?fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt.finInstnId.pstlAdr.ctry
caseCretrPstlAdrDept
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty.pstlAdr.dept?fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt.finInstnId.pstlAdr.dept
caseCretrPstlAdrSubDept
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty.pstlAdr.subDept?fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt.finInstnId.pstlAdr.subDept
caseCretrPstlAdrStrtNm
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty.pstlAdr.strtNm?fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt.finInstnId.pstlAdr.strtNm
caseCretrPstlAdrBldgNb
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty.pstlAdr.bldgNb?fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt.finInstnId.pstlAdr.bldgNb
caseCretrPstlAdrBldgNm
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty.pstlAdr.bldgNm?fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt.finInstnId.pstlAdr.bldgNm
caseCretrPstlAdrFlr
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty.pstlAdr.flr?fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt.finInstnId.pstlAdr.flr
caseCretrPstlAdrRoom
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty.pstlAdr.room?fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt.finInstnId.pstlAdr.room
caseCretrPstlAdrTwnNm
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty.pstlAdr.twnNm?fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt.finInstnId.pstlAdr.twnNm
caseCretrPstlAdrPstBx
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty.pstlAdr.pstBx?fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt.finInstnId.pstlAdr.pstBx
caseCretrPstlAdrPstCd
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty.pstlAdr.pstCd?fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt.finInstnId.pstlAdr.pstCd
caseCretrPstlAdrCtrySubDvsn
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty.pstlAdr.ctrySubDvsn?fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt.finInstnId.pstlAdr.ctrySubDvsn
caseCretrPstlAdrDstrctNm
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty.pstlAdr.dstrctNm?fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt.finInstnId.pstlAdr.dstrctNm
caseCretrPstlAdrTwnLctnNm
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty.pstlAdr.twnLctnNm?fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt.finInstnId.pstlAdr.twnLctnNm
caseCretrAdrLines
=
fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.pty.pstlAdr.adrLine?fiToFIPmtCxlReq.undrlyg.txInf._case.cretr.agt.finInstnId.pstlAdr.adrLine
orgtrNm
=
fiToFIPmtCxlReq.undrlyg.txInf.cxlRsnInf.orgtr.nm
orgtrNm
=
fiToFIPmtCxlReq.undrlyg.txInf.cxlRsnInf.orgtr.nm
orgtrOrgAnyBIC
=
fiToFIPmtCxlReq.undrlyg.txInf.cxlRsnInf.orgtr.id.orgId.anyBIC
orgtrOrgAnyBIC
=
fiToFIPmtCxlReq.undrlyg.txInf.cxlRsnInf.orgtr.id.orgId.anyBIC
orgtrOrgLei
=
fiToFIPmtCxlReq.undrlyg.txInf.cxlRsnInf.orgtr.id.orgId.lei
orgtrOrgLei
=
fiToFIPmtCxlReq.undrlyg.txInf.cxlRsnInf.orgtr.id.orgId.lei
...
@@ -82,3 +63,5 @@ orgtrPhneNb=fiToFIPmtCxlReq.undrlyg.txInf.cxlRsnInf.orgtr.ctctDtls.phneNb
...
@@ -82,3 +63,5 @@ orgtrPhneNb=fiToFIPmtCxlReq.undrlyg.txInf.cxlRsnInf.orgtr.ctctDtls.phneNb
orgtrMobNb
=
fiToFIPmtCxlReq.undrlyg.txInf.cxlRsnInf.orgtr.ctctDtls.mobNb
orgtrMobNb
=
fiToFIPmtCxlReq.undrlyg.txInf.cxlRsnInf.orgtr.ctctDtls.mobNb
orgtrFaxNb
=
fiToFIPmtCxlReq.undrlyg.txInf.cxlRsnInf.orgtr.ctctDtls.faxNb
orgtrFaxNb
=
fiToFIPmtCxlReq.undrlyg.txInf.cxlRsnInf.orgtr.ctctDtls.faxNb
orgtrEmailAdr
=
fiToFIPmtCxlReq.undrlyg.txInf.cxlRsnInf.orgtr.ctctDtls.emailAdr
orgtrEmailAdr
=
fiToFIPmtCxlReq.undrlyg.txInf.cxlRsnInf.orgtr.ctctDtls.emailAdr
rsnCd
=
fiToFIPmtCxlReq.undrlyg.txInf.cxlRsnInf.rsn.cd
addtlInf
=
fiToFIPmtCxlReq.undrlyg.txInf.cxlRsnInf.addtlInf
\ No newline at end of file
swiftCore/src/main/resources/template/party.pr
e
perties
→
swiftCore/src/main/resources/template/party.pr
o
perties
View file @
2b903880
File moved
swiftCore/src/test/java/com/brilliance/Element2MxTest.java
View file @
2b903880
...
@@ -11,9 +11,12 @@ public class Element2MxTest {
...
@@ -11,9 +11,12 @@ public class Element2MxTest {
@Test
@Test
public
void
test
()
{
public
void
test
()
{
File
file
=
FileUtils
.
toFile
(
Mx2MtTest
.
class
.
getResource
(
"/swiftXml/MxCamt05300108_950.xml"
));
//
File file = FileUtils.toFile(Mx2MtTest.class.getResource("/swiftXml/MxCamt05300108_950.xml"));
//File file = FileUtils.toFile(Mx2MtTest.class.getResource("/swiftXml/MxPacs00800108.xml"));
//File file = FileUtils.toFile(Mx2MtTest.class.getResource("/swiftXml/MxPacs00800108.xml"));
//File file = FileUtils.toFile(Mx2MtTest.class.getResource("/swiftXml/MxPacs00900108.xml"));
//File file = FileUtils.toFile(Mx2MtTest.class.getResource("/swiftXml/MxPacs00900108.xml"));
//File file = FileUtils.toFile(Mx2MtTest.class.getResource("/swiftXml/MxCamt05400108_CREDIT.xml"));
//File file = FileUtils.toFile(Mx2MtTest.class.getResource("/swiftXml/MxCamt02900109_196.xml"));
File
file
=
FileUtils
.
toFile
(
Mx2MtTest
.
class
.
getResource
(
"/swiftXml/MxCamt05600108_192.xml"
));
String
elementStr
=
SwiftTransfer
.
mx2Element
(
file
);
String
elementStr
=
SwiftTransfer
.
mx2Element
(
file
);
String
xmlStr
=
new
Element2MxCreatorManager
().
element2Mx
(
elementStr
);
String
xmlStr
=
new
Element2MxCreatorManager
().
element2Mx
(
elementStr
);
...
...
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