Commit 89b0adae by zhanghou

完成900,910,swiftDto转mt

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