package com.brilliance; import com.brilliance.swift.SwiftTransfer; import com.brilliance.swift.util.DateUtil; import com.prowidesoftware.swift.model.mt.AbstractMT; import com.prowidesoftware.swift.model.mt.mt1xx.MT103; import com.prowidesoftware.swift.model.mt.mt1xx.MT103_STP; import org.apache.commons.io.FileUtils; import org.junit.Test; import javax.xml.datatype.DatatypeConfigurationException; import java.io.File; import java.io.IOException; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone; public class JsonMxConvertTest { @Test public void json2MxTest() throws IOException { File file = FileUtils.toFile(Mx2MtTest.class.getResource("/mxjson/JSONpacs00800108.json")); String isoXml = SwiftTransfer.json2Mx(FileUtils.readFileToString(file, "UTF-8")); System.out.println(isoXml); } @Test public void mx2JsonTest() throws IOException { File file = FileUtils.toFile(Mx2MtTest.class.getResource("/mxjson/Pacs00800108.xml")); String isoJson = SwiftTransfer.mx2Json(FileUtils.readFileToString(file, "UTF-8")); System.out.println(isoJson); } @Test public void dateFormatTest() throws DatatypeConfigurationException, ParseException { String date="2023-12-10 20:10:11"; String isoDateTime = DateUtil.date2XMLGregorianCalendarStr(date); System.out.println(isoDateTime); } @Test public void testDate(){ TimeZone timezone = TimeZone.getTimeZone("UTC"); //"Z" indicates UTC, which means no timezone offset //2024-01-03T07:06:36.496+08:00 //标准的ISO 8601日期格式 yyyy-MM-ddThh:mm:ss.sss+/-hh:mm // 发报时,采用东八区时间,样例如2024-01-03T07:06:36.496+08:00 DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS"); dateFormat.setTimeZone(timezone); String ISODate = dateFormat.format(new Date()); System.out.println(ISODate+"+08:00"); } @Test public void testMt() throws IOException { File file = FileUtils.toFile(Mx2MtTest.class.getResource("/swiftTxt/MT103.txt")); String mtStr =FileUtils.readFileToString(file, "UTF-8"); AbstractMT abstractMT = AbstractMT.parse(mtStr); if(abstractMT!=null) { String mtType=abstractMT.getMessageType(); if("103".equals(mtType)) { if(abstractMT.getSwiftMessage().getBlock3().isSTP()) { MT103_STP mt103Stp= (MT103_STP) abstractMT; System.out.println("this is mt103_stp"); System.out.println(mt103Stp.message()); }else { MT103 mt103= (MT103) abstractMT; mt103.getField50A(); mt103.getField50F(); mt103.getField50K(); mt103.getField59(); mt103.getField59A(); mt103.getField59F(); System.out.println("this is mt103"); System.out.println(mt103.message()); } } } } }