Commit 89b0adae by zhanghou

完成900,910,swiftDto转mt

parent e832ca40
package com.brilliance.swift.mt2SwiftDto; package com.brilliance.swift.mt2SwiftDto;
import com.brilliance.swift.exception.SwiftException; import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2SwiftDto.camt053001.Mt2Mx940950Creator; import com.brilliance.swift.mt2SwiftDto.camt053001.Mt2SwiftDtoPCamt053001Creator;
import com.brilliance.swift.mt2SwiftDto.camt054001.Mt2Mx900910Creator; import com.brilliance.swift.mt2SwiftDto.camt054001.Mt2SwiftDtoPCamt054001Creator;
import com.brilliance.swift.mt2SwiftDto.pacs008001.Mt2SwiftDtoPacs008001Creator; import com.brilliance.swift.mt2SwiftDto.pacs008001.Mt2SwiftDtoPacs008001Creator;
import com.brilliance.swift.mt2SwiftDto.pacs009001.Mt2SwiftDtoPacs009001Creator; import com.brilliance.swift.mt2SwiftDto.pacs009001.Mt2SwiftDtoPacs009001Creator;
import com.brilliance.swift.vo.SwiftDto; import com.brilliance.swift.vo.SwiftDto;
...@@ -75,9 +75,9 @@ public class Mt2SwiftDtoCreateManager { ...@@ -75,9 +75,9 @@ public class Mt2SwiftDtoCreateManager {
} else if ("202".equals(messageType)) { } else if ("202".equals(messageType)) {
return new Mt2SwiftDtoPacs009001Creator(); return new Mt2SwiftDtoPacs009001Creator();
} else if("900".equals(messageType)||"910".equals(messageType)){ } else if("900".equals(messageType)||"910".equals(messageType)){
return new Mt2Mx900910Creator(); return new Mt2SwiftDtoPCamt054001Creator();
} else if("940".equals(messageType)||"950".equals(messageType)){ } else if("940".equals(messageType)||"950".equals(messageType)){
return new Mt2Mx940950Creator(); return new Mt2SwiftDtoPCamt053001Creator();
} else { } else {
throw new SwiftException("Invalid message type"); throw new SwiftException("Invalid message type");
} }
......
...@@ -17,7 +17,7 @@ import java.util.List; ...@@ -17,7 +17,7 @@ import java.util.List;
* @author zh * @author zh
* @create 2022-04-24 17:06 * @create 2022-04-24 17:06
*/ */
public class Mt2Mx940950Creator extends AbstractMt2SwiftDtoCreator { public class Mt2SwiftDtoPCamt053001Creator extends AbstractMt2SwiftDtoCreator {
@Override @Override
public void preProcess() throws SwiftException { public void preProcess() throws SwiftException {
try { try {
......
...@@ -17,7 +17,7 @@ import java.util.List; ...@@ -17,7 +17,7 @@ import java.util.List;
* @author zh * @author zh
* @create 2022-04-24 14:50 * @create 2022-04-24 14:50
*/ */
public class Mt2Mx900910Creator extends AbstractMt2SwiftDtoCreator { public class Mt2SwiftDtoPCamt054001Creator extends AbstractMt2SwiftDtoCreator {
@Override @Override
public void preProcess() throws SwiftException { public void preProcess() throws SwiftException {
......
...@@ -22,14 +22,14 @@ public class Camt054001Parse20Field extends AbstractMt2SwiftDtoParseFields { ...@@ -22,14 +22,14 @@ public class Camt054001Parse20Field extends AbstractMt2SwiftDtoParseFields {
Field20 field20 = mt900.getField20(); Field20 field20 = mt900.getField20();
if(field20!=null){ if(field20!=null){
bankToCustomerDebitCreditNotification.setMessageId(field20.getValue()); bankToCustomerDebitCreditNotification.setMessageId(field20.getValue());
bankToCustomerDebitCreditNotification.setMtType("900"); bankToCustomerDebitCreditNotification.setCdtDbtCode("DBIT");
} }
}else { }else {
MT910 mt910 = (MT910) context.get(AbstractMT.class); MT910 mt910 = (MT910) context.get(AbstractMT.class);
Field20 field20 = mt910.getField20(); Field20 field20 = mt910.getField20();
if(field20!=null){ if(field20!=null){
bankToCustomerDebitCreditNotification.setMessageId(field20.getValue()); bankToCustomerDebitCreditNotification.setMessageId(field20.getValue());
bankToCustomerDebitCreditNotification.setMtType("910"); bankToCustomerDebitCreditNotification.setCdtDbtCode("CRDT");
} }
} }
}catch (Exception e) { }catch (Exception e) {
......
...@@ -3,6 +3,7 @@ package com.brilliance.swift.mt2SwiftDto.camt054001.impl; ...@@ -3,6 +3,7 @@ package com.brilliance.swift.mt2SwiftDto.camt054001.impl;
import com.brilliance.swift.exception.SwiftException; import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2SwiftDto.AbstractMt2SwiftDtoParseFields; import com.brilliance.swift.mt2SwiftDto.AbstractMt2SwiftDtoParseFields;
import com.brilliance.swift.vo.BankToCustomerDebitCreditNotification; import com.brilliance.swift.vo.BankToCustomerDebitCreditNotification;
import com.brilliance.swift.vo.common.PartyAccount;
import com.prowidesoftware.swift.model.field.Field25; import com.prowidesoftware.swift.model.field.Field25;
import com.prowidesoftware.swift.model.mt.AbstractMT; import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt9xx.MT900; import com.prowidesoftware.swift.model.mt9xx.MT900;
...@@ -21,13 +22,17 @@ public class Camt054001Parse25aField extends AbstractMt2SwiftDtoParseFields { ...@@ -21,13 +22,17 @@ public class Camt054001Parse25aField extends AbstractMt2SwiftDtoParseFields {
MT900 mt900 = (MT900) context.get(AbstractMT.class); MT900 mt900 = (MT900) context.get(AbstractMT.class);
Field25 field25 = mt900.getField25(); Field25 field25 = mt900.getField25();
if(field25!=null){ if(field25!=null){
bankToCustomerDebitCreditNotification.setIbanId(field25.getValue()); PartyAccount account =new PartyAccount();
account.setAccount(field25.getValue());
bankToCustomerDebitCreditNotification.setAccount(account);
} }
}else { }else {
MT910 mt910 = (MT910) context.get(AbstractMT.class); MT910 mt910 = (MT910) context.get(AbstractMT.class);
Field25 field25 = mt910.getField25(); Field25 field25 = mt910.getField25();
if(field25!=null){ if(field25!=null){
bankToCustomerDebitCreditNotification.setIbanId(field25.getValue()); PartyAccount account =new PartyAccount();
account.setAccount(field25.getValue());
bankToCustomerDebitCreditNotification.setAccount(account);
} }
} }
}catch (Exception e){ }catch (Exception e){
......
...@@ -23,7 +23,7 @@ public class Camt054001Parse32aField extends AbstractMt2SwiftDtoParseFields { ...@@ -23,7 +23,7 @@ public class Camt054001Parse32aField extends AbstractMt2SwiftDtoParseFields {
MT900 mt900 = (MT900) context.get(AbstractMT.class); MT900 mt900 = (MT900) context.get(AbstractMT.class);
Field32A field32A = mt900.getField32A(); Field32A field32A = mt900.getField32A();
if(field32A!=null){ if(field32A!=null){
bankToCustomerDebitCreditNotification.setDate(DateUtil.parseDate("20"+field32A.getDate(), "yyyyMMdd")); bankToCustomerDebitCreditNotification.setValueDate(DateUtil.parseDate("20"+field32A.getDate(), "yyyyMMdd"));
CcyFormatAmount cfa = new CcyFormatAmount(); CcyFormatAmount cfa = new CcyFormatAmount();
cfa.setCcy(field32A.getCurrency()); cfa.setCcy(field32A.getCurrency());
cfa.setAmt(field32A.amount()); cfa.setAmt(field32A.amount());
...@@ -33,7 +33,7 @@ public class Camt054001Parse32aField extends AbstractMt2SwiftDtoParseFields { ...@@ -33,7 +33,7 @@ public class Camt054001Parse32aField extends AbstractMt2SwiftDtoParseFields {
MT910 mt910 = (MT910) context.get(AbstractMT.class); MT910 mt910 = (MT910) context.get(AbstractMT.class);
Field32A field32A = mt910.getField32A(); Field32A field32A = mt910.getField32A();
if(field32A!=null){ if(field32A!=null){
bankToCustomerDebitCreditNotification.setDate(DateUtil.parseDate("20"+field32A.getDate(), "yyyyMMdd")); bankToCustomerDebitCreditNotification.setValueDate(DateUtil.parseDate("20"+field32A.getDate(), "yyyyMMdd"));
CcyFormatAmount cfa = new CcyFormatAmount(); CcyFormatAmount cfa = new CcyFormatAmount();
cfa.setCcy(field32A.getCurrency()); cfa.setCcy(field32A.getCurrency());
cfa.setAmt(field32A.amount()); cfa.setAmt(field32A.amount());
......
...@@ -26,7 +26,7 @@ public class Camt054001Parse50aField extends AbstractMt2SwiftDtoParseFields { ...@@ -26,7 +26,7 @@ public class Camt054001Parse50aField extends AbstractMt2SwiftDtoParseFields {
Field50A field50A = mt910.getField50A(); Field50A field50A = mt910.getField50A();
partyDto = new PartyDto(); partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field50A.getAccount())) { if (StringUtil.isNotEmpty(field50A.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field50A.getAccount())); partyDto = buildPartyAccount(partyDto, field50A.getLine(1));
} }
partyDto.setPartyBic(field50A.getBIC()); partyDto.setPartyBic(field50A.getBIC());
}else if (mt910.getField50F()!=null){ }else if (mt910.getField50F()!=null){
...@@ -35,7 +35,7 @@ public class Camt054001Parse50aField extends AbstractMt2SwiftDtoParseFields { ...@@ -35,7 +35,7 @@ public class Camt054001Parse50aField extends AbstractMt2SwiftDtoParseFields {
Field50K field50K = mt910.getField50K(); Field50K field50K = mt910.getField50K();
partyDto = new PartyDto(); partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field50K.getAccount())) { if (StringUtil.isNotEmpty(field50K.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field50K.getAccount())); partyDto = buildPartyAccount(partyDto, field50K.getLine(1));
} }
partyDto.setPartyName(field50K.getNameAndAddressLine1()); partyDto.setPartyName(field50K.getNameAndAddressLine1());
if (StringUtil.isNotEmpty(field50K.getNameAndAddressLine2())) { if (StringUtil.isNotEmpty(field50K.getNameAndAddressLine2())) {
...@@ -49,7 +49,7 @@ public class Camt054001Parse50aField extends AbstractMt2SwiftDtoParseFields { ...@@ -49,7 +49,7 @@ public class Camt054001Parse50aField extends AbstractMt2SwiftDtoParseFields {
} }
} }
if(partyDto!=null){ if(partyDto!=null){
bankToCustomerDebitCreditNotification.setCustomerParty(partyDto); bankToCustomerDebitCreditNotification.setDebitParty(partyDto);
} }
} }
}catch (Exception e){ }catch (Exception e){
......
...@@ -25,12 +25,15 @@ public class Camt054001Parse52aField extends AbstractMt2SwiftDtoParseFields { ...@@ -25,12 +25,15 @@ public class Camt054001Parse52aField extends AbstractMt2SwiftDtoParseFields {
if(mt900.getField52A()!=null){ if(mt900.getField52A()!=null){
Field52A field52A = mt900.getField52A(); Field52A field52A = mt900.getField52A();
partyDto = new PartyDto(); partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field52A.getAccount())) {
partyDto = buildPartyAccount(partyDto, field52A.getLine(1));
}
partyDto.setPartyBic(field52A.getBIC()); partyDto.setPartyBic(field52A.getBIC());
}else if (mt900.getField52D() != null) { }else if (mt900.getField52D() != null) {
Field52D field52D = mt900.getField52D(); Field52D field52D = mt900.getField52D();
partyDto = new PartyDto(); partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field52D.getAccount())) { if (StringUtil.isNotEmpty(field52D.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field52D.getAccount())); partyDto = buildPartyAccount(partyDto, field52D.getLine(1));
} }
partyDto.setPartyName(field52D.getNameAndAddressLine1()); partyDto.setPartyName(field52D.getNameAndAddressLine1());
if (StringUtil.isNotEmpty(field52D.getNameAndAddressLine2())) { if (StringUtil.isNotEmpty(field52D.getNameAndAddressLine2())) {
...@@ -44,7 +47,7 @@ public class Camt054001Parse52aField extends AbstractMt2SwiftDtoParseFields { ...@@ -44,7 +47,7 @@ public class Camt054001Parse52aField extends AbstractMt2SwiftDtoParseFields {
} }
} }
if (partyDto != null) { if (partyDto != null) {
bankToCustomerDebitCreditNotification.setInstitutionParty(partyDto); bankToCustomerDebitCreditNotification.setDebitAgtParty(partyDto);
} }
} }
}catch (Exception e) { }catch (Exception e) {
......
...@@ -25,11 +25,16 @@ public class Camt054001Parse56aField extends AbstractMt2SwiftDtoParseFields { ...@@ -25,11 +25,16 @@ public class Camt054001Parse56aField extends AbstractMt2SwiftDtoParseFields {
if(mt910.getField56A()!=null){ if(mt910.getField56A()!=null){
Field56A field56A = mt910.getField56A(); Field56A field56A = mt910.getField56A();
partyDto = new PartyDto(); partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field56A.getAccount())) {
partyDto = buildPartyAccount(partyDto, field56A.getLine(1));
}
partyDto.setPartyBic(field56A.getBIC()); partyDto.setPartyBic(field56A.getBIC());
partyDto.setPartyAcct(buildPartyAccount(field56A.getAccount()));
}else if(mt910.getField56D()!=null){ }else if(mt910.getField56D()!=null){
Field56D field56D = mt910.getField56D(); Field56D field56D = mt910.getField56D();
partyDto = new PartyDto(); partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field56D.getAccount())) {
partyDto = buildPartyAccount(partyDto, field56D.getLine(1));
}
partyDto.setPartyName(field56D.getNameAndAddressLine1()); partyDto.setPartyName(field56D.getNameAndAddressLine1());
if (StringUtil.isNotEmpty(field56D.getNameAndAddressLine2())) { if (StringUtil.isNotEmpty(field56D.getNameAndAddressLine2())) {
partyDto.addAddress(field56D.getNameAndAddressLine2()); partyDto.addAddress(field56D.getNameAndAddressLine2());
...@@ -43,7 +48,7 @@ public class Camt054001Parse56aField extends AbstractMt2SwiftDtoParseFields { ...@@ -43,7 +48,7 @@ public class Camt054001Parse56aField extends AbstractMt2SwiftDtoParseFields {
partyDto.setPartyAcct(buildPartyAccount(field56D.getAccount())); partyDto.setPartyAcct(buildPartyAccount(field56D.getAccount()));
} }
if(partyDto!=null){ if(partyDto!=null){
bankToCustomerDebitCreditNotification.setIntermediaryParty(partyDto); bankToCustomerDebitCreditNotification.setIntrmyAgtParty(partyDto);
} }
} }
}catch (Exception e) { }catch (Exception e) {
......
...@@ -3,6 +3,7 @@ package com.brilliance.swift.swiftdto2mt; ...@@ -3,6 +3,7 @@ package com.brilliance.swift.swiftdto2mt;
import com.brilliance.swift.exception.SwiftException; import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.swiftdto2mt.mt103.SwiftDto2Mt103Creator; import com.brilliance.swift.swiftdto2mt.mt103.SwiftDto2Mt103Creator;
import com.brilliance.swift.swiftdto2mt.mt202.SwiftDto2Mt202Creator; import com.brilliance.swift.swiftdto2mt.mt202.SwiftDto2Mt202Creator;
import com.brilliance.swift.swiftdto2mt.mt900910.SwiftDto2Mt900910Creator;
import com.brilliance.swift.util.StringUtil; import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.SwiftDto; import com.brilliance.swift.vo.SwiftDto;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
...@@ -50,6 +51,8 @@ public class SwiftDto2MtCreatorManager { ...@@ -50,6 +51,8 @@ public class SwiftDto2MtCreatorManager {
return new SwiftDto2Mt103Creator(); return new SwiftDto2Mt103Creator();
} else if ("pacs.009.001".equals(messageType)) { } else if ("pacs.009.001".equals(messageType)) {
return new SwiftDto2Mt202Creator(); return new SwiftDto2Mt202Creator();
}else if("camt.054.001".equals(messageType)){
return new SwiftDto2Mt900910Creator();
} else { } else {
throw new SwiftException("Invalid message type"); throw new SwiftException("Invalid message type");
} }
......
package com.brilliance.swift.swiftdto2mt.mt900910.impl;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.swiftdto2mt.AbstractSwiftDto2MtTagGenerate;
import com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.BankToCustomerDebitCreditNotification;
import com.prowidesoftware.swift.model.SwiftMessage;
import com.prowidesoftware.swift.model.Tag;
import java.util.List;
public class Tag20Generate extends AbstractSwiftDto2MtTagGenerate {
private String name = "20";
@Override
public void tagGenerate() throws SwiftException {
BankToCustomerDebitCreditNotification bankToCustomerDebitCreditNotification = (BankToCustomerDebitCreditNotification)context.get(SwiftDto2MtContextIdentifier.SWIFT_DTO_OBJ, true);
SwiftMessage swiftMessage = context.get(SwiftMessage.class);
List<Tag> tags = swiftMessage.getBlock4().getTags();
if (StringUtil.isNotEmpty(bankToCustomerDebitCreditNotification.getMessageId())) {
tags.add(new Tag(name, bankToCustomerDebitCreditNotification.getMessageId()));
}
}
}
...@@ -11,10 +11,6 @@ import java.util.Date; ...@@ -11,10 +11,6 @@ import java.util.Date;
* @create 2022-04-21 16:36 * @create 2022-04-21 16:36
*/ */
public class BankToCustomerDebitCreditNotification extends SwiftDto{ public class BankToCustomerDebitCreditNotification extends SwiftDto{
@Deprecated
protected String mtType;
/** /**
* CRDT -- MT910 * CRDT -- MT910
* DBIT -- MT900 * DBIT -- MT900
...@@ -23,41 +19,26 @@ public class BankToCustomerDebitCreditNotification extends SwiftDto{ ...@@ -23,41 +19,26 @@ public class BankToCustomerDebitCreditNotification extends SwiftDto{
protected String endToEndId; protected String endToEndId;
@Deprecated
protected String ibanId;
protected PartyAccount account; protected PartyAccount account;
@Deprecated
protected Date date;
protected Date valueDate; protected Date valueDate;
protected CcyFormatAmount valueAmount; protected CcyFormatAmount valueAmount;
@Deprecated
protected PartyDto customerParty;
protected PartyDto debitParty; protected PartyDto debitParty;
@Deprecated
protected PartyDto institutionParty;
protected PartyDto debitAgtParty; protected PartyDto debitAgtParty;
@Deprecated
protected PartyDto intermediaryParty;
protected PartyDto intrmyAgtParty; protected PartyDto intrmyAgtParty;
protected String addtlTxInf; protected String addtlTxInf;
public String getMtType() { public String getCdtDbtCode() {
return mtType; return cdtDbtCode;
} }
public void setMtType(String mtType) { public void setCdtDbtCode(String cdtDbtCode) {
this.mtType = mtType; this.cdtDbtCode = cdtDbtCode;
} }
public String getEndToEndId() { public String getEndToEndId() {
...@@ -68,20 +49,20 @@ public class BankToCustomerDebitCreditNotification extends SwiftDto{ ...@@ -68,20 +49,20 @@ public class BankToCustomerDebitCreditNotification extends SwiftDto{
this.endToEndId = endToEndId; this.endToEndId = endToEndId;
} }
public String getIbanId() { public PartyAccount getAccount() {
return ibanId; return account;
} }
public void setIbanId(String ibanId) { public void setAccount(PartyAccount account) {
this.ibanId = ibanId; this.account = account;
} }
public Date getDate() { public Date getValueDate() {
return date; return valueDate;
} }
public void setDate(Date date) { public void setValueDate(Date valueDate) {
this.date = date; this.valueDate = valueDate;
} }
public CcyFormatAmount getValueAmount() { public CcyFormatAmount getValueAmount() {
...@@ -92,28 +73,28 @@ public class BankToCustomerDebitCreditNotification extends SwiftDto{ ...@@ -92,28 +73,28 @@ public class BankToCustomerDebitCreditNotification extends SwiftDto{
this.valueAmount = valueAmount; this.valueAmount = valueAmount;
} }
public PartyDto getCustomerParty() { public PartyDto getDebitParty() {
return customerParty; return debitParty;
} }
public void setCustomerParty(PartyDto customerParty) { public void setDebitParty(PartyDto debitParty) {
this.customerParty = customerParty; this.debitParty = debitParty;
} }
public PartyDto getInstitutionParty() { public PartyDto getDebitAgtParty() {
return institutionParty; return debitAgtParty;
} }
public void setInstitutionParty(PartyDto institutionParty) { public void setDebitAgtParty(PartyDto debitAgtParty) {
this.institutionParty = institutionParty; this.debitAgtParty = debitAgtParty;
} }
public PartyDto getIntermediaryParty() { public PartyDto getIntrmyAgtParty() {
return intermediaryParty; return intrmyAgtParty;
} }
public void setIntermediaryParty(PartyDto intermediaryParty) { public void setIntrmyAgtParty(PartyDto intrmyAgtParty) {
this.intermediaryParty = intermediaryParty; this.intrmyAgtParty = intrmyAgtParty;
} }
public String getAddtlTxInf() { public String getAddtlTxInf() {
......
...@@ -22,6 +22,8 @@ public class SwiftDtoAdapter implements JsonSerializer<SwiftDto>, JsonDeserializ ...@@ -22,6 +22,8 @@ public class SwiftDtoAdapter implements JsonSerializer<SwiftDto>, JsonDeserializ
className = "com.brilliance.swift.vo.VoCustomerCreditTransfer"; className = "com.brilliance.swift.vo.VoCustomerCreditTransfer";
} else if ("pacs.009.001".equals(prim.getAsString())) { } else if ("pacs.009.001".equals(prim.getAsString())) {
className = "com.brilliance.swift.vo.VoFinancialInstitutionCreditTransfer"; className = "com.brilliance.swift.vo.VoFinancialInstitutionCreditTransfer";
}else if("camt.054.001".equals(prim.getAsString())){
className = "com.brilliance.swift.vo.BankToCustomerDebitCreditNotification";
} }
klass = Class.forName(className); klass = Class.forName(className);
} catch (ClassNotFoundException e) { } catch (ClassNotFoundException e) {
......
package com.brilliance.mt2swiftdto.camt053001; package com.brilliance.mt2swiftdto.camt053001;
public class TestCamt053001 { import com.brilliance.swift.mt2SwiftDto.Mt2SwiftDtoCreateManager;
import com.brilliance.swift.vo.SwiftDto;
public static void main(String[] args) { import java.io.File;
public class Test900Camt053001 {
public static void main(String[] args) {
File file = new File(System.getProperty("user.dir")+"\\swiftCore\\src\\main\\resources\\swiftTxt\\MT900.txt");
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment