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
47105319
Commit
47105319
authored
Jul 22, 2022
by
zhanghou
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完成camt029001的报文要素展示
parent
5e157cef
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
690 additions
and
5 deletions
+690
-5
Mx2ElementCreatorManager.java
...brilliance/swift/mx2element/Mx2ElementCreatorManager.java
+3
-0
Mx2ElementCamt029001Creator.java
...ft/mx2element/camt029001/Mx2ElementCamt029001Creator.java
+185
-0
MxCamt02900108_196.xml
swiftCore/src/main/resources/swiftXml/MxCamt02900108_196.xml
+5
-3
MxCamt05600108_192.xml
swiftCore/src/main/resources/swiftXml/MxCamt05600108_192.xml
+2
-2
camt02900109_196.xml
swiftCore/src/main/resources/swiftXml/camt02900109_196.xml
+81
-0
camt05400108_900.xml
swiftCore/src/main/resources/swiftXml/camt05400108_900.xml
+100
-0
camt05400108_910.xml
swiftCore/src/main/resources/swiftXml/camt05400108_910.xml
+110
-0
camt05600108_192.xml
swiftCore/src/main/resources/swiftXml/camt05600108_192.xml
+82
-0
agent.properties
swiftCore/src/main/resources/template/agent.properties
+4
-0
camt029001.properties
swiftCore/src/main/resources/template/camt029001.properties
+24
-0
camt056001.properties
swiftCore/src/main/resources/template/camt056001.properties
+25
-0
party.properties
swiftCore/src/main/resources/template/party.properties
+13
-0
partyAndAgent.properties
...Core/src/main/resources/template/partyAndAgent.properties
+20
-0
Test196.java
...st/java/com/brilliance/mx2element/camt029001/Test196.java
+18
-0
Test192.java
...st/java/com/brilliance/mx2element/camt056001/Test192.java
+18
-0
No files found.
swiftCore/src/main/java/com/brilliance/swift/mx2element/Mx2ElementCreatorManager.java
View file @
47105319
package
com
.
brilliance
.
swift
.
mx2element
;
import
com.brilliance.swift.exception.SwiftException
;
import
com.brilliance.swift.mx2element.camt029001.Mx2ElementCamt029001Creator
;
import
com.brilliance.swift.mx2element.camt053001.Mx2ElementCamt053001Creator
;
import
com.brilliance.swift.mx2element.camt054001.Mx2ElementCamt054001Creator
;
import
com.brilliance.swift.mx2element.pacs008001.Mx2ElementPacs008001Creator
;
...
...
@@ -37,6 +38,8 @@ public class Mx2ElementCreatorManager {
return
new
Mx2ElementCamt054001Creator
();
}
else
if
(
"camt.053.001"
.
equals
(
messageType
)){
return
new
Mx2ElementCamt053001Creator
();
}
else
if
(
"camt.029.001"
.
equals
(
messageType
)){
return
new
Mx2ElementCamt029001Creator
();
}
else
{
throw
new
SwiftException
(
"Invalid message type"
);
...
...
swiftCore/src/main/java/com/brilliance/swift/mx2element/camt029001/Mx2ElementCamt029001Creator.java
0 → 100644
View file @
47105319
package
com
.
brilliance
.
swift
.
mx2element
.
camt029001
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.brilliance.swift.exception.SwiftException
;
import
com.brilliance.swift.mx2element.AbstractMx2ElementCreator
;
import
com.brilliance.swift.util.StringUtil
;
import
com.brilliance.swift.util.XmlUtil
;
import
com.brilliance.swift.vo.common.BalanceTypeCode
;
import
org.dom4j.Document
;
import
org.dom4j.DocumentException
;
import
org.dom4j.DocumentHelper
;
import
java.io.InputStream
;
import
java.lang.reflect.Method
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
public
class
Mx2ElementCamt029001Creator
extends
AbstractMx2ElementCreator
{
@Override
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
);
String
gsonStr
=
abstractMX
.
toJson
();
Map
<
String
,
Object
>
mxGsonMaps
=
JSON
.
parseObject
(
gsonStr
);
String
fileName
=
"/template/"
+
messageType
+
".properties"
;
InputStream
resourceAsStream
=
AbstractMx2ElementCreator
.
class
.
getResourceAsStream
(
fileName
);
if
(
resourceAsStream
==
null
)
{
int
versionLength
=
abstractMX
.
getMxId
().
getVersion
().
length
();
fileName
=
"/template/"
+
messageType
.
substring
(
0
,
messageType
.
length
()-
versionLength
)+
".properties"
;
resourceAsStream
=
AbstractMx2ElementCreator
.
class
.
getResourceAsStream
(
fileName
);
}
List
<
String
>
properties
=
StringUtil
.
inputStreamToLines
(
resourceAsStream
);
if
(
properties
.
size
()
>
0
)
{
for
(
String
property
:
properties
)
{
if
(
property
.
startsWith
(
"#"
))
{
continue
;
//过滤注释
}
String
[]
strArr
=
property
.
split
(
"="
);
if
(
strArr
.
length
!=
2
)
{
continue
;
//过滤掉不符合规则的配置
}
String
key
=
strArr
[
0
];
String
path
=
strArr
[
1
];
Object
value
=
getXmlValue
(
mxGsonMaps
,
path
);
if
(
value
!=
null
)
{
maps
.
put
(
key
,
value
);
}
}
}
return
maps
;
}
protected
Object
getXmlValue
(
Map
<
String
,
Object
>
jsonMaps
,
String
path
)
{
Object
value
=
null
;
if
(
path
.
indexOf
(
"?"
)
>
0
)
{
String
[]
childPaths
=
path
.
split
(
"\\?"
);
for
(
String
childPath
:
childPaths
)
{
value
=
getXmlValue
(
jsonMaps
,
childPath
);
if
(
value
!=
null
)
{
return
value
;
}
}
}
//获取数据类型,&分隔,默认是string
String
type
=
"string"
;
if
(
path
.
indexOf
(
"&"
)
>
-
1
)
{
type
=
path
.
substring
(
path
.
indexOf
(
"&"
)+
1
);
path
=
path
.
substring
(
0
,
path
.
indexOf
(
"&"
));
}
if
(
path
.
contains
(
"["
)&&
path
.
contains
(
"]"
)){
String
str
=
path
.
substring
(
path
.
indexOf
(
"["
)+
1
,
path
.
indexOf
(
"]"
));
String
[]
paths
=
path
.
split
(
"\\."
);
String
node
=
paths
[
paths
.
length
-
1
].
split
(
"\\["
)[
0
];
String
key1
=
str
.
split
(
","
)[
0
].
split
(
":"
)[
0
];
String
value1
=
str
.
split
(
","
)[
0
].
split
(
":"
)[
1
];
String
key2
=
str
.
split
(
","
)[
1
].
split
(
":"
)[
0
];
String
value2
=
str
.
split
(
","
)[
1
].
split
(
":"
)[
1
];
List
<
String
>
keyList
=
new
ArrayList
<>();
List
<
String
>
valueList
=
new
ArrayList
<>();
if
(
StringUtil
.
isNotEmpty
(
node
)&&
StringUtil
.
isNotEmpty
(
key1
)
&&
StringUtil
.
isNotEmpty
(
key2
)
&&
StringUtil
.
isNotEmpty
(
value1
)&&
StringUtil
.
isNotEmpty
(
value2
)){
String
fileName
=
"/template/partyAndAgent.properties"
;
InputStream
resourceAsStream
=
AbstractMx2ElementCreator
.
class
.
getResourceAsStream
(
fileName
);
List
<
String
>
properties
=
StringUtil
.
inputStreamToLines
(
resourceAsStream
);
if
(
properties
.
size
()
>
0
)
{
for
(
String
property
:
properties
)
{
if
(
property
.
startsWith
(
"#"
))
{
continue
;
//过滤注释
}
String
[]
strArr
=
property
.
split
(
"="
);
if
(
strArr
.
length
!=
2
)
{
continue
;
//过滤掉不符合规则的配置
}
String
str1
=
strArr
[
0
];
String
str2
=
""
;
if
(
value2
.
equals
(
"party"
)){
str2
=
strArr
[
1
].
split
(
"\\?"
)[
0
];
}
else
if
(
value2
.
equals
(
"agent"
)){
str2
=
strArr
[
1
].
split
(
"\\?"
)[
1
];
}
else
{
return
null
;
}
if
(
StringUtil
.
isNotEmpty
(
str1
)&&
StringUtil
.
isNotEmpty
(
str2
)){
if
(
node
.
equals
(
value1
)&&
"finInstnId.bicfi"
.
equals
(
str2
)){
keyList
.
add
(
value1
+
"Bicfi"
);
}
else
{
keyList
.
add
(
value1
+
str1
.
substring
(
0
,
1
).
toUpperCase
()+
str1
.
substring
(
1
));
valueList
.
add
(
str2
);
}
}
}
}
String
fileName2
=
"/template/"
+
value2
+
".properties"
;
InputStream
resourceAsStream2
=
AbstractMx2ElementCreator
.
class
.
getResourceAsStream
(
fileName2
);
List
<
String
>
properties2
=
StringUtil
.
inputStreamToLines
(
resourceAsStream2
);
if
(
properties2
.
size
()
>
0
)
{
for
(
String
property
:
properties2
)
{
if
(
property
.
startsWith
(
"#"
))
{
continue
;
//过滤注释
}
String
[]
strArr
=
property
.
split
(
"="
);
if
(
strArr
.
length
!=
2
)
{
continue
;
//过滤掉不符合规则的配置
}
String
str1
=
strArr
[
0
];
String
str2
=
strArr
[
1
];
if
(
StringUtil
.
isNotEmpty
(
str1
)&&
StringUtil
.
isNotEmpty
(
str2
)){
keyList
.
add
(
value1
+
str1
.
substring
(
0
,
1
).
toUpperCase
()+
str1
.
substring
(
1
));
valueList
.
add
(
str2
);
}
}
}
}
for
(
int
i
=
0
;
i
<
keyList
.
size
();
i
++)
{
Object
xmlValue
=
getXmlValue
(
jsonMaps
,
path
.
split
(
"\\["
)[
0
]
+
"."
+
valueList
.
get
(
i
));
maps
.
put
(
keyList
.
get
(
i
),
xmlValue
);
}
return
null
;
}
//需要用. split,然后循环遍历json获取值
String
[]
paths
=
path
.
split
(
"\\."
);
Map
<
String
,
Object
>
tmpMaps
=
jsonMaps
;
for
(
int
i
=
0
;
i
<
paths
.
length
;
i
++)
{
String
p
=
paths
[
i
];
Object
obj
=
tmpMaps
.
get
(
p
);
if
(
obj
==
null
)
return
null
;
if
(
obj
instanceof
JSONArray
)
{
JSONArray
jsonArray
=
(
JSONArray
)
obj
;
if
(
i
==
paths
.
length
-
1
)
{
return
jsonArray
;
}
else
{
obj
=
jsonArray
.
get
(
0
);
if
(
obj
instanceof
JSONObject
)
{
tmpMaps
=
(
Map
<
String
,
Object
>)
obj
;
//不是最后一层
}
else
{
return
jsonArray
;
}
}
}
else
if
(
obj
instanceof
JSONObject
)
{
tmpMaps
=
(
Map
<
String
,
Object
>)
obj
;
}
else
{
if
(
"bigdecimal"
.
equals
(
type
))
{
value
=
new
BigDecimal
(
String
.
valueOf
(
obj
));
}
else
if
(
"boolean"
.
equals
(
type
))
{
value
=
Boolean
.
valueOf
(
String
.
valueOf
(
obj
));
}
else
{
value
=
String
.
valueOf
(
obj
);
}
break
;
}
}
return
value
;
}
}
swiftCore/src/main/resources/swiftXml/MxCamt02900108_196.xml
View file @
47105319
...
...
@@ -78,20 +78,22 @@ Change Log
</Sts>
<CxlDtls>
<TxInfAndSts>
<CxlStsId>
//
CNCL-ID00111111111111111
</CxlStsId>
<CxlStsId>
CNCL-ID00111111111111111
</CxlStsId>
<RslvdCase>
<Id>
//
CSE-0011111111111111111111111
</Id>
<Id>
CSE-0011111111111111111111111
</Id>
<Cretr>
<Agt>
<FinInstnId>
<BICFI>
RBOSGB2L
</BICFI>
<Nm>
zs
</Nm>
<LEI>
cd
</LEI>
</FinInstnId>
</Agt>
</Cretr>
</RslvdCase>
<OrgnlGrpInf>
<OrgnlMsgId>
pacs8bizmsgidr01
</OrgnlMsgId>
<OrgnlMsgNmId>
//
pacs.008.001.08
</OrgnlMsgNmId>
<OrgnlMsgNmId>
pacs.008.001.08
</OrgnlMsgNmId>
<OrgnlCreDtTm>
2021-02-17T08:30:00+01:00
</OrgnlCreDtTm>
</OrgnlGrpInf>
<OrgnlInstrId>
pacs8bizmsgidr01
</OrgnlInstrId>
...
...
swiftCore/src/main/resources/swiftXml/MxCamt05600108_192.xml
View file @
47105319
...
...
@@ -56,7 +56,7 @@ Change Log
<Undrlyg>
<TxInf>
<Case>
<Id>
//
CSE-00111111111111111111111111
</Id>
<Id>
CSE-00111111111111111111111111
</Id>
<Cretr>
<Agt>
<FinInstnId>
...
...
@@ -70,7 +70,7 @@ Change Log
<OrgnlMsgNmId>
11pacs.008.001.08
</OrgnlMsgNmId>
<OrgnlCreDtTm>
2021-02-17T08:30:00+01:00
</OrgnlCreDtTm>
</OrgnlGrpInf>
<OrgnlInstrId>
//
pacs8bizmsgidr01
</OrgnlInstrId>
<OrgnlInstrId>
pacs8bizmsgidr01
</OrgnlInstrId>
<OrgnlEndToEndId>
pacs008EndToEndId-001
</OrgnlEndToEndId>
<OrgnlUETR>
8a562c67-ca16-48ba-b074-65581be6f001
</OrgnlUETR>
<OrgnlIntrBkSttlmAmt
Ccy=
"EUR"
>
1500000
</OrgnlIntrBkSttlmAmt>
...
...
swiftCore/src/main/resources/swiftXml/camt02900109_196.xml
0 → 100644
View file @
47105319
<?xml version="1.0" encoding="UTF-8" ?>
<RequestPayload>
<AppHdr
xmlns=
"urn:iso:std:iso:20022:tech:xsd:head.001.001.02"
>
<Fr>
<FIId>
<FinInstnId>
<BICFI>
HELSFIHHXXX
</BICFI>
</FinInstnId>
</FIId>
</Fr>
<To>
<FIId>
<FinInstnId>
<BICFI>
NDEAFIHHXXX
</BICFI>
</FinInstnId>
</FIId>
</To>
<BizMsgIdr>
CNCL-ID001
</BizMsgIdr>
<MsgDefIdr>
camt.029.001.09
</MsgDefIdr>
<BizSvc>
swift.cbprplus.02
</BizSvc>
<CreDt>
2022-07-22T10:17:51.619+08:00
</CreDt>
<PssblDplct>
false
</PssblDplct>
<Prty>
NORM
</Prty>
</AppHdr>
<Document
xmlns=
"urn:iso:std:iso:20022:tech:xsd:camt.029.001.09"
>
<RsltnOfInvstgtn>
<Assgnmt>
<Id>
CNCL-ID001
</Id>
<Assgnr>
<Agt>
<FinInstnId>
<BICFI>
HELSFIHHXXX
</BICFI>
</FinInstnId>
</Agt>
</Assgnr>
<Assgne>
<Agt>
<FinInstnId>
<BICFI>
NDEAFIHHXXX
</BICFI>
</FinInstnId>
</Agt>
</Assgne>
<CreDtTm>
2022-07-22T10:17:51.619+08:00
</CreDtTm>
</Assgnmt>
<Sts>
<Conf>
CNCL
</Conf>
</Sts>
<CxlDtls>
<TxInfAndSts>
<CxlStsId>
CNCL-ID001
</CxlStsId>
<RslvdCase>
<Id>
CSE-001
</Id>
<Cretr>
<Agt>
<FinInstnId>
<Nm>
NOTPROVIDED
</Nm>
<PstlAdr>
<AdrLine>
NOTPROVIDED
</AdrLine>
</PstlAdr>
</FinInstnId>
</Agt>
</Cretr>
</RslvdCase>
<OrgnlGrpInf>
<OrgnlMsgId>
NOTPROVIDED
</OrgnlMsgId>
<OrgnlMsgNmId>
pacs.008
</OrgnlMsgNmId>
<OrgnlCreDtTm>
2021-02-17T00:00:00Z
</OrgnlCreDtTm>
</OrgnlGrpInf>
<OrgnlUETR>
8a562c67-ca16-48ba-b074-65581be6f001
</OrgnlUETR>
<CxlStsRsnInf>
<Rsn>
<Cd>
AGNT
</Cd>
</Rsn>
<AddtlInf>
WORLD.HELLO,WORLD.HELLODRLD.HELLO,WORLD.HELLO,WORLD.HELLORLD.HELLO,WORLD.HELLO,WORLD.HELLO
</AddtlInf>
</CxlStsRsnInf>
</TxInfAndSts>
</CxlDtls>
</RsltnOfInvstgtn>
</Document>
</RequestPayload>
\ No newline at end of file
swiftCore/src/main/resources/swiftXml/camt05400108_900.xml
0 → 100644
View file @
47105319
<?xml version="1.0" encoding="UTF-8" ?>
<RequestPayload>
<AppHdr
xmlns=
"urn:iso:std:iso:20022:tech:xsd:head.001.001.02"
>
<Fr>
<FIId>
<FinInstnId>
<BICFI>
DEUTDEFFXXX
</BICFI>
</FinInstnId>
</FIId>
</Fr>
<To>
<FIId>
<FinInstnId>
<BICFI>
DEUTNL2AXXX
</BICFI>
</FinInstnId>
</FIId>
</To>
<BizMsgIdr>
FRDA000003421606
</BizMsgIdr>
<MsgDefIdr>
camt.054.001.08
</MsgDefIdr>
<BizSvc>
swift.cbprplus.02
</BizSvc>
<CreDt>
2022-07-21T13:44:54.705+08:00
</CreDt>
<PssblDplct>
false
</PssblDplct>
<Prty>
NORM
</Prty>
</AppHdr>
<Document
xmlns=
"urn:iso:std:iso:20022:tech:xsd:camt.054.001.08"
>
<BkToCstmrDbtCdtNtfctn>
<GrpHdr>
<MsgId>
FRDA000003421606
</MsgId>
<CreDtTm>
2022-07-21T13:44:54.705+08:00
</CreDtTm>
</GrpHdr>
<Ntfctn>
<Id>
FRDA000003421606
</Id>
<Acct>
<Id>
<Othr>
<Id>
156123456780123459999999999999999+
</Id>
</Othr>
</Id>
<Ccy>
EUR
</Ccy>
</Acct>
<Ntry>
<NtryRef>
NOTPROVIDED
</NtryRef>
<Amt
Ccy=
"EUR"
>
126
</Amt>
<CdtDbtInd>
DBIT
</CdtDbtInd>
<Sts>
<Cd>
BOOK
</Cd>
</Sts>
<BookgDt>
<DtTm>
2014-01-08T15:15:00+13:00
</DtTm>
</BookgDt>
<ValDt>
<Dt>
2022-03-30
</Dt>
</ValDt>
<BkTxCd>
<Prtry>
<Cd>
NOTPROVIDED
</Cd>
<Issr>
NOTPROVIDED
</Issr>
</Prtry>
</BkTxCd>
<NtryDtls>
<TxDtls>
<Refs>
<InstrId>
E2E1201
</InstrId>
<EndToEndId>
E2E1201
</EndToEndId>
<UETR>
8a562c67-ca16-48ba-b074-65581be6f001
</UETR>
</Refs>
<Amt
Ccy=
"EUR"
>
126
</Amt>
<CdtDbtInd>
DBIT
</CdtDbtInd>
<RltdPties>
<Dbtr>
<Agt>
<FinInstnId>
<ClrSysMmbId>
<ClrSysId>
<Cd>
ATBLZ
</Cd>
</ClrSysId>
<MmbId>
FR7630588000010050000143176
</MmbId>
</ClrSysMmbId>
<Nm>
Creditor 2
</Nm>
<PstlAdr>
<AdrLine>
TEST111
</AdrLine>
<AdrLine>
TEST222
</AdrLine>
<AdrLine>
TEST333
</AdrLine>
</PstlAdr>
</FinInstnId>
</Agt>
</Dbtr>
</RltdPties>
<RltdDts>
<IntrBkSttlmDt>
2022-03-30
</IntrBkSttlmDt>
</RltdDts>
<AddtlTxInf>
ENRICHED|TRUE SETT_METHOD|SEPA IAT_IND|FALSE DOMESTIC_IND|FALSE PRIORITY_IND|FALSEENRICHED|TRUE SETT_METHOD|SEPA IAT_ENRICHED|TRUE SETT_METHOD|SEPA IAT_ENRICHED|TRUE SETT_METHOD|SEPA IAT_ENRICHED|TRUE SETT_METH
</AddtlTxInf>
</TxDtls>
</NtryDtls>
</Ntry>
</Ntfctn>
</BkToCstmrDbtCdtNtfctn>
</Document>
</RequestPayload>
\ No newline at end of file
swiftCore/src/main/resources/swiftXml/camt05400108_910.xml
0 → 100644
View file @
47105319
<?xml version="1.0" encoding="UTF-8" ?>
<RequestPayload>
<AppHdr
xmlns=
"urn:iso:std:iso:20022:tech:xsd:head.001.001.02"
>
<Fr>
<FIId>
<FinInstnId>
<BICFI>
DEUTDEFFXXX
</BICFI>
</FinInstnId>
</FIId>
</Fr>
<To>
<FIId>
<FinInstnId>
<BICFI>
DEUTNL2AXXX
</BICFI>
</FinInstnId>
</FIId>
</To>
<BizMsgIdr>
FRDA000003421606
</BizMsgIdr>
<MsgDefIdr>
camt.054.001.08
</MsgDefIdr>
<BizSvc>
swift.cbprplus.02
</BizSvc>
<CreDt>
2022-07-22T10:43:20.604+08:00
</CreDt>
<PssblDplct>
false
</PssblDplct>
<Prty>
NORM
</Prty>
</AppHdr>
<Document
xmlns=
"urn:iso:std:iso:20022:tech:xsd:camt.054.001.08"
>
<BkToCstmrDbtCdtNtfctn>
<GrpHdr>
<MsgId>
FRDA000003421606
</MsgId>
<CreDtTm>
2022-07-22T10:43:20.604+08:00
</CreDtTm>
</GrpHdr>
<Ntfctn>
<Id>
FRDA000003421606
</Id>
<Acct>
<Id>
<Othr>
<Id>
S15612345678012345
</Id>
</Othr>
</Id>
<Ccy>
EUR
</Ccy>
</Acct>
<Ntry>
<NtryRef>
NOTPROVIDED
</NtryRef>
<Amt
Ccy=
"EUR"
>
126
</Amt>
<CdtDbtInd>
CRDT
</CdtDbtInd>
<Sts>
<Cd>
BOOK
</Cd>
</Sts>
<BookgDt>
<DtTm>
2014-01-08T15:15:00+13:00
</DtTm>
</BookgDt>
<ValDt>
<Dt>
2022-03-30
</Dt>
</ValDt>
<BkTxCd>
<Prtry>
<Cd>
NOTPROVIDED
</Cd>
<Issr>
NOTPROVIDED
</Issr>
</Prtry>
</BkTxCd>
<NtryDtls>
<TxDtls>
<Refs>
<InstrId>
E2E1201
</InstrId>
<EndToEndId>
E2E1201
</EndToEndId>
<UETR>
8a562c67-ca16-48ba-b074-65581be6f001
</UETR>
</Refs>
<Amt
Ccy=
"EUR"
>
126
</Amt>
<CdtDbtInd>
CRDT
</CdtDbtInd>
<RltdPties>
<Dbtr>
<Pty>
<Nm>
Creditor 1
</Nm>
<PstlAdr>
<AdrLine>
TEST1
</AdrLine>
<AdrLine>
TEST2
</AdrLine>
<AdrLine>
TEST3
</AdrLine>
</PstlAdr>
</Pty>
</Dbtr>
</RltdPties>
<RltdAgts>
<IntrmyAgt1>
<FinInstnId>
<ClrSysMmbId>
<ClrSysId>
<Cd>
ATBLZ
</Cd>
</ClrSysId>
<MmbId>
FR7630588000010050000143176
</MmbId>
</ClrSysMmbId>
<Nm>
81939316
</Nm>
<PstlAdr>
<AdrLine>
ADDRESS 1
</AdrLine>
<AdrLine>
ADDRESS 2
</AdrLine>
<AdrLine>
ADDRESS 3
</AdrLine>
</PstlAdr>
</FinInstnId>
</IntrmyAgt1>
</RltdAgts>
<RltdDts>
<IntrBkSttlmDt>
2022-03-30
</IntrBkSttlmDt>
</RltdDts>
<AddtlTxInf>
ENRICHED|TRUE SETT_METHOD|SEPA IAT_IND|FALSE DOMESTIC_IND|FALSE PRIORITY_IND|FALSE
</AddtlTxInf>
</TxDtls>
</NtryDtls>
</Ntry>
</Ntfctn>
</BkToCstmrDbtCdtNtfctn>
</Document>
</RequestPayload>
\ No newline at end of file
swiftCore/src/main/resources/swiftXml/camt05600108_192.xml
0 → 100644
View file @
47105319
<?xml version="1.0" encoding="UTF-8" ?>
<RequestPayload>
<AppHdr
xmlns=
"urn:iso:std:iso:20022:tech:xsd:head.001.001.02"
>
<Fr>
<FIId>
<FinInstnId>
<BICFI>
RBOSGB2LXXX
</BICFI>
</FinInstnId>
</FIId>
</Fr>
<To>
<FIId>
<FinInstnId>
<BICFI>
NDEAFIHHXXX
</BICFI>
</FinInstnId>
</FIId>
</To>
<BizMsgIdr>
CSE-001
</BizMsgIdr>
<MsgDefIdr>
camt.056.001.08
</MsgDefIdr>
<BizSvc>
swift.cbprplus.02
</BizSvc>
<CreDt>
2022-07-22T10:19:54.195+08:00
</CreDt>
<PssblDplct>
false
</PssblDplct>
<Prty>
NORM
</Prty>
</AppHdr>
<Document
xmlns=
"urn:iso:std:iso:20022:tech:xsd:camt.056.001.08"
>
<FIToFIPmtCxlReq>
<Assgnmt>
<Id>
CSE-001
</Id>
<Assgnr>
<Agt>
<FinInstnId>
<BICFI>
RBOSGB2LXXX
</BICFI>
</FinInstnId>
</Agt>
</Assgnr>
<Assgne>
<Agt>
<FinInstnId>
<BICFI>
NDEAFIHHXXX
</BICFI>
</FinInstnId>
</Agt>
</Assgne>
<CreDtTm>
2022-07-22T10:19:54.195+08:00
</CreDtTm>
</Assgnmt>
<Undrlyg>
<TxInf>
<Case>
<Id>
CSE-001
</Id>
<Cretr>
<Agt>
<FinInstnId>
<Nm>
NOTPROVIDED
</Nm>
<PstlAdr>
<AdrLine>
NOTPROVIDED
</AdrLine>
</PstlAdr>
</FinInstnId>
</Agt>
</Cretr>
</Case>
<OrgnlGrpInf>
<OrgnlMsgId>
pacs8bizmsgidr01
</OrgnlMsgId>
<OrgnlMsgNmId>
pacs.008
</OrgnlMsgNmId>
<OrgnlCreDtTm>
2021-02-17T00:00:00Z
</OrgnlCreDtTm>
</OrgnlGrpInf>
<OrgnlInstrId>
pacs8bizmsgidr01
</OrgnlInstrId>
<OrgnlEndToEndId>
NOTPROVIDED
</OrgnlEndToEndId>
<OrgnlUETR>
8a562c67-ca16-48ba-b074-65581be6f001
</OrgnlUETR>
<OrgnlIntrBkSttlmAmt
Ccy=
"EUR"
>
1500000
</OrgnlIntrBkSttlmAmt>
<OrgnlIntrBkSttlmDt>
2021-02-17
</OrgnlIntrBkSttlmDt>
<CxlRsnInf>
<Rsn>
<Cd>
AM09
</Cd>
</Rsn>
<AddtlInf>
HELLO,WORLD.HELLO,WORLD.HELLO,WORLD.HELLO,WORLD.HELLO,WORLD.HELLO,WORLD.HELLO,WORLD.HELLO,WORLD.HELLO,WOR
</AddtlInf>
<AddtlInf>
LD.HELLO,WORLD.HELLO,WORLD.HELLO,WO
</AddtlInf>
</CxlRsnInf>
</TxInf>
</Undrlyg>
</FIToFIPmtCxlReq>
</Document>
</RequestPayload>
\ No newline at end of file
swiftCore/src/main/resources/template/agent.properties
0 → 100644
View file @
47105319
clrSysId
=
finInstnId.clrSysMmbId.mmbId
clrSysIdType
=
finInstnId.clrSysMmbId.clrSysId.cd
clrSysIdTypePrtry
=
finInstnId.clrSysMmbId.clrSysId.prtry
\ No newline at end of file
swiftCore/src/main/resources/template/camt029001.properties
0 → 100644
View file @
47105319
#APPLICATION HEADER
frBic
=
appHdr.fr.fiId.finInstnId.bicfi?appHdr.fr.orgId.id.orgId.anyBIC
toBic
=
appHdr.to.fiId.finInstnId.bicfi?appHdr.to.orgId.id.orgId.anyBIC
bizMsgIdr
=
rsltnOfInvstgtn.assgnmt.id?rsltnOfInvstgtn.cxlDtls.txInfAndSts.cxlStsId?appHdr.bizMsgIdr
msgDefIdr
=
appHdr.msgDefIdr
bizSvc
=
appHdr.bizSvc
creDt
=
rsltnOfInvstgtn.assgnmt.creDtTm?appHdr.creDt
priority
=
appHdr.prty
#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
orgnlMsgId
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.orgnlGrpInf.orgnlMsgId
cretrPty
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.rslvdCase.cretr.pty[prefix:cretr,type:party]
cretrAgt
=
rsltnOfInvstgtn.cxlDtls.txInfAndSts.rslvdCase.cretr.agt[prefix:cretr,type:agent]
\ No newline at end of file
swiftCore/src/main/resources/template/camt056001.properties
0 → 100644
View file @
47105319
#APPLICATION HEADER
frBic
=
appHdr.fr.fiId.finInstnId.bicfi?appHdr.fr.orgId.id.orgId.anyBIC
toBic
=
appHdr.to.fiId.finInstnId.bicfi?appHdr.to.orgId.id.orgId.anyBIC
bizMsgIdr
=
fiToFIPmtCxlReq.undrlyg.txInf.case.id?appHdr.bizMsgIdr
msgDefIdr
=
appHdr.msgDefIdr
bizSvc
=
appHdr.bizSvc
creDt
=
fiToFIPmtCxlReq.assgnmt.creDtTm?appHdr.creDt
priority
=
appHdr.prty
#BODY
#11S
orgnlMsgNmId
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlGrpInf.orgnlMsgNmId
orgnlCreDtTm
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlGrpInf.orgnlCreDtTm
#21
orgnlInstrId
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlInstrId
#32
orgnlIntrBkSttlmAmt
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlIntrBkSttlmAmt.value&bigdecimal
orgnlIntrBkSttlmCcy
=
fiToFIPmtCxlReq.undrlyg.txInf.orgnlIntrBkSttlmAmt.ccy
#76
rsnCd
=
fiToFIPmtCxlReq.undrlyg.txInf.cxlRsnInf.rsn.cd
rsnPrtry
=
fiToFIPmtCxlReq.undrlyg.txInf.cxlRsnInf.rsn.prtry
addtlInf
=
fiToFIPmtCxlReq.undrlyg.txInf.cxlRsnInf.addtlInf
#other
cretrPty
=
fiToFIPmtCxlReq.undrlyg.txInf.case.cretr.pty[prefix:cretr,type:party]
cretrAgt
=
fiToFIPmtCxlReq.undrlyg.txInf.case.cretr.agt[prefix:cretr,type:agent]
\ No newline at end of file
swiftCore/src/main/resources/template/party.properties
0 → 100644
View file @
47105319
prvtBirthDt
=
id.prvtId.dtAndPlcOfBirth.birthDt
prvtPrvcOfBirth
=
id.prvtId.dtAndPlcOfBirth.prvcOfBirth
prvtCityOfBirth
=
id.prvtId.dtAndPlcOfBirth.cityOfBirth
prvtCtryOfBirth
=
id.prvtId.dtAndPlcOfBirth.ctryOfBirth
prvtId
=
id.prvtId.othr.id
prvtIdType
=
id.prvtId.othr.schmeNm.cd
prvtIdTypePrtry
=
id.prvtId.othr.schmeNm.prtry
ctryOfRes
=
ctryOfRes
phneNb
=
ctctDtls.phneNb
mobNb
=
ctctDtls.mobNb
faxNb
=
ctctDtls.faxNb
emailAdr
=
ctctDtls.emailAdr
\ No newline at end of file
swiftCore/src/main/resources/template/partyAndAgent.properties
0 → 100644
View file @
47105319
nm
=
nm?finInstnId.nm
orgAnyBIC
=
id.orgId.anyBIC?finInstnId.bicfi
orgLei
=
id.orgId.lei?finInstnId.lei
orgOthrId
=
id.orgId.othr.id?finInstnId.othr.id
orgOthrIdType
=
id.orgId.othr.schmeNm.cd?finInstnId.othr.schmeNm.cd
orgOthrIdTypePrtry
=
id.orgId.othr.schmeNm.prtry?finInstnId.othr.schmeNm.prtry
pstlAdrType
=
pstlAdr.adrTp.cd?finInstnId.
pstlAdrCtry
=
pstlAdr.ctry?finInstnId.pstlAdr.ctry
pstlAdrDept
=
pstlAdr.dept?finInstnId.pstlAdr.dept
pstlAdrSubDept
=
pstlAdr.subDept?finInstnId.pstlAdr.subDept
pstlAdrStrtNm
=
pstlAdr.strtNm?finInstnId.pstlAdr.strtNm
pstlAdrBldgNb
=
pstlAdr.bldgNb?finInstnId.pstlAdr.bldgNb
pstlAdrBldgNm
=
pstlAdr.bldgNm?finInstnId.pstlAdr.bldgNm
pstlAdrFlr
=
pstlAdr.flr?finInstnId.pstlAdr.flr
pstlAdrRoom
=
pstlAdr.room?finInstnId.pstlAdr.room
pstlAdrTwnNm
=
pstlAdr.twnNm?finInstnId.pstlAdr.twnNm
pstlAdrPstBx
=
pstlAdr.pstBx?finInstnId.pstlAdr.pstBx
pstlAdrPstCd
=
pstlAdr.pstCd?finInstnId.pstlAdr.pstCd
adrLines
=
pstlAdr.adrLine?finInstnId.pstlAdr.adrLine
\ No newline at end of file
swiftCore/src/test/java/com/brilliance/mx2element/camt029001/Test196.java
0 → 100644
View file @
47105319
package
com
.
brilliance
.
mx2element
.
camt029001
;
import
com.brilliance.swift.SwiftTransfer
;
import
org.apache.commons.io.FileUtils
;
import
java.io.File
;
import
java.io.IOException
;
public
class
Test196
{
public
static
void
main
(
String
[]
args
)
throws
IOException
{
File
file
=
new
File
(
System
.
getProperty
(
"user.dir"
)+
"\\swiftCore\\src\\main\\resources\\swiftXml\\MxCamt02900108_196.xml"
);
//File file = new File("d:/test/MxPacs00800108.xml");
String
xmlStr
=
FileUtils
.
readFileToString
(
file
);
String
jsonStr
=
SwiftTransfer
.
mx2Element
(
xmlStr
);
System
.
out
.
println
(
jsonStr
);
}
}
swiftCore/src/test/java/com/brilliance/mx2element/camt056001/Test192.java
0 → 100644
View file @
47105319
package
com
.
brilliance
.
mx2element
.
camt056001
;
import
com.brilliance.swift.SwiftTransfer
;
import
org.apache.commons.io.FileUtils
;
import
java.io.File
;
import
java.io.IOException
;
public
class
Test192
{
public
static
void
main
(
String
[]
args
)
throws
IOException
{
File
file
=
new
File
(
System
.
getProperty
(
"user.dir"
)+
"\\swiftCore\\src\\main\\resources\\swiftXml\\MxCamt05600108_192.xml"
);
//File file = new File("d:/test/MxPacs00800108.xml");
String
xmlStr
=
FileUtils
.
readFileToString
(
file
);
String
jsonStr
=
SwiftTransfer
.
mx2Element
(
xmlStr
);
System
.
out
.
println
(
jsonStr
);
}
}
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