Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature/1218 Settlement Model Handler Design #176

Merged
merged 6 commits into from
Feb 28, 2020
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -415,7 +415,7 @@ CREATE TABLE `migration` (
`batch` int(11) DEFAULT NULL,
`migration_time` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=155 DEFAULT CHARSET=utf8;
) ENGINE=InnoDB AUTO_INCREMENT=157 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
Expand Down Expand Up @@ -448,7 +448,7 @@ CREATE TABLE `participant` (
`createdBy` varchar(128) NOT NULL,
PRIMARY KEY (`participantId`),
UNIQUE KEY `participant_name_unique` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8;
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
Expand Down Expand Up @@ -498,7 +498,7 @@ CREATE TABLE `participantCurrency` (
CONSTRAINT `participantcurrency_currencyid_foreign` FOREIGN KEY (`currencyId`) REFERENCES `currency` (`currencyid`),
CONSTRAINT `participantcurrency_ledgeraccounttypeid_foreign` FOREIGN KEY (`ledgerAccountTypeId`) REFERENCES `ledgerAccountType` (`ledgeraccounttypeid`),
CONSTRAINT `participantcurrency_participantid_foreign` FOREIGN KEY (`participantId`) REFERENCES `participant` (`participantid`)
) ENGINE=InnoDB AUTO_INCREMENT=51 DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
Expand All @@ -521,7 +521,7 @@ CREATE TABLE `participantEndpoint` (
KEY `participantendpoint_endpointtypeid_index` (`endpointTypeId`),
CONSTRAINT `participantendpoint_endpointtypeid_foreign` FOREIGN KEY (`endpointTypeId`) REFERENCES `endpointType` (`endpointtypeid`),
CONSTRAINT `participantendpoint_participantid_foreign` FOREIGN KEY (`participantId`) REFERENCES `participant` (`participantid`)
) ENGINE=InnoDB AUTO_INCREMENT=120 DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
Expand All @@ -548,7 +548,7 @@ CREATE TABLE `participantLimit` (
CONSTRAINT `participantlimit_participantcurrencyid_foreign` FOREIGN KEY (`participantCurrencyId`) REFERENCES `participantCurrency` (`participantcurrencyid`),
CONSTRAINT `participantlimit_participantlimittypeid_foreign` FOREIGN KEY (`participantLimitTypeId`) REFERENCES `participantLimitType` (`participantlimittypeid`),
CONSTRAINT `participantlimit_startafterparticipantpositionchangeid_foreign` FOREIGN KEY (`startAfterParticipantPositionChangeId`) REFERENCES `participantPositionChange` (`participantpositionchangeid`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
Expand Down Expand Up @@ -603,7 +603,7 @@ CREATE TABLE `participantPosition` (
PRIMARY KEY (`participantPositionId`),
KEY `participantposition_participantcurrencyid_index` (`participantCurrencyId`),
CONSTRAINT `participantposition_participantcurrencyid_foreign` FOREIGN KEY (`participantCurrencyId`) REFERENCES `participantCurrency` (`participantcurrencyid`)
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
Expand All @@ -625,7 +625,7 @@ CREATE TABLE `participantPositionChange` (
KEY `participantpositionchange_transferstatechangeid_index` (`transferStateChangeId`),
CONSTRAINT `participantpositionchange_participantpositionid_foreign` FOREIGN KEY (`participantPositionId`) REFERENCES `participantPosition` (`participantpositionid`),
CONSTRAINT `participantpositionchange_transferstatechangeid_foreign` FOREIGN KEY (`transferStateChangeId`) REFERENCES `transferStateChange` (`transferstatechangeid`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
Expand Down Expand Up @@ -991,7 +991,7 @@ CREATE TABLE `segment` (
`changedDate` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`segmentId`),
KEY `segment_keys_index` (`segmentType`,`enumeration`,`tableName`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
Expand Down Expand Up @@ -1119,6 +1119,7 @@ CREATE TABLE `settlementModel` (
`currencyId` varchar(3) DEFAULT NULL,
`requireLiquidityCheck` tinyint(1) NOT NULL DEFAULT '1',
`ledgerAccountTypeId` int(10) unsigned NOT NULL,
`autoPositionReset` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`settlementModelId`),
UNIQUE KEY `settlementmodel_name_unique` (`name`),
KEY `settlementmodel_settlementgranularityid_index` (`settlementGranularityId`),
Expand Down Expand Up @@ -1570,7 +1571,7 @@ CREATE TABLE `transferExtension` (
PRIMARY KEY (`transferExtensionId`),
KEY `transferextension_transferid_foreign` (`transferId`),
CONSTRAINT `transferextension_transferid_foreign` FOREIGN KEY (`transferId`) REFERENCES `transfer` (`transferid`)
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
Expand Down Expand Up @@ -1625,16 +1626,19 @@ CREATE TABLE `transferParticipant` (
`ledgerEntryTypeId` int(10) unsigned NOT NULL,
`amount` decimal(18,4) NOT NULL,
`createdDate` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`currentStateChangeId` bigint(20) unsigned DEFAULT NULL,
PRIMARY KEY (`transferParticipantId`),
KEY `transferparticipant_transferid_index` (`transferId`),
KEY `transferparticipant_participantcurrencyid_index` (`participantCurrencyId`),
KEY `transferparticipant_transferparticipantroletypeid_index` (`transferParticipantRoleTypeId`),
KEY `transferparticipant_ledgerentrytypeid_index` (`ledgerEntryTypeId`),
KEY `transferparticipant_currentstatechangeid_foreign` (`currentStateChangeId`),
CONSTRAINT `transferparticipant_currentstatechangeid_foreign` FOREIGN KEY (`currentStateChangeId`) REFERENCES `transferParticipantStateChange` (`transferparticipantstatechangeid`),
CONSTRAINT `transferparticipant_ledgerentrytypeid_foreign` FOREIGN KEY (`ledgerEntryTypeId`) REFERENCES `ledgerEntryType` (`ledgerentrytypeid`),
CONSTRAINT `transferparticipant_participantcurrencyid_foreign` FOREIGN KEY (`participantCurrencyId`) REFERENCES `participantCurrency` (`participantcurrencyid`),
CONSTRAINT `transferparticipant_transferid_foreign` FOREIGN KEY (`transferId`) REFERENCES `transfer` (`transferid`),
CONSTRAINT `transferparticipant_transferparticipantroletypeid_foreign` FOREIGN KEY (`transferParticipantRoleTypeId`) REFERENCES `transferParticipantRoleType` (`transferparticipantroletypeid`)
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
Expand All @@ -1655,6 +1659,27 @@ CREATE TABLE `transferParticipantRoleType` (
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table `transferParticipantStateChange`
--

DROP TABLE IF EXISTS `transferParticipantStateChange`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `transferParticipantStateChange` (
`transferParticipantStateChangeId` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`transferParticipantId` bigint(20) unsigned NOT NULL,
`settlementWindowStateId` varchar(50) NOT NULL,
`reason` varchar(512) DEFAULT NULL,
`createdDate` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`transferParticipantStateChangeId`),
KEY `transferparticipantstatechange_transferparticipantid_index` (`transferParticipantId`),
KEY `transferparticipantstatechange_settlementwindowstateid_index` (`settlementWindowStateId`),
CONSTRAINT `transferparticipantstatechange_settlementwindowstateid_foreign` FOREIGN KEY (`settlementWindowStateId`) REFERENCES `settlementWindowState` (`settlementwindowstateid`),
CONSTRAINT `transferparticipantstatechange_transferparticipantid_foreign` FOREIGN KEY (`transferParticipantId`) REFERENCES `transferParticipant` (`transferparticipantid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table `transferRules`
--
Expand Down Expand Up @@ -1708,7 +1733,7 @@ CREATE TABLE `transferStateChange` (
KEY `transferstatechange_transferstateid_index` (`transferStateId`),
CONSTRAINT `transferstatechange_transferid_foreign` FOREIGN KEY (`transferId`) REFERENCES `transfer` (`transferid`),
CONSTRAINT `transferstatechange_transferstateid_foreign` FOREIGN KEY (`transferStateId`) REFERENCES `transferState` (`transferstateid`)
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
Expand All @@ -1726,7 +1751,7 @@ CREATE TABLE `transferTimeout` (
PRIMARY KEY (`transferTimeoutId`),
UNIQUE KEY `transfertimeout_transferid_unique` (`transferId`),
CONSTRAINT `transfertimeout_transferid_foreign` FOREIGN KEY (`transferId`) REFERENCES `transfer` (`transferid`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
Expand Down Expand Up @@ -1792,4 +1817,4 @@ CREATE TABLE `transferTimeout` (
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2020-01-23 19:33:54
-- Dump completed on 2020-02-20 22:51:43
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<diagram version="1" name="cl_settlement.erd" time="202001071109">
<diagram version="1" name="cl_settlement.erd" time="202002202249">
<entities>
<data-source id="mysql5-165de388ac0-4a3e261fc1d1cb30">
<entity id="1" name="contactType" fq-name="central_ledger.contactType" order="0" color-bg="254,251,0" x="1970" y="210">
Expand Down Expand Up @@ -35,10 +35,10 @@
<entity id="11" name="transferStateChange" fq-name="central_ledger.transferStateChange" order="10" color-bg="133,133,133" x="290" y="430">
<path name="central_ledger"/>
</entity>
<entity id="12" name="transfer" fq-name="central_ledger.transfer" order="11" color-bg="133,133,133" x="700" y="400">
<entity id="12" name="transfer" fq-name="central_ledger.transfer" order="11" color-bg="133,133,133" x="680" y="390">
<path name="central_ledger"/>
</entity>
<entity id="13" name="settlement" fq-name="central_ledger.settlement" order="12" color-bg="255,38,0" x="1450" y="720">
<entity id="13" name="settlement" fq-name="central_ledger.settlement" order="12" color-bg="255,38,0" x="1440" y="746">
<path name="central_ledger"/>
</entity>
<entity id="14" name="participantLimit" fq-name="central_ledger.participantLimit" order="13" color-bg="0,249,0" x="300" y="20">
Expand All @@ -47,7 +47,7 @@
<entity id="15" name="participantLimitType" fq-name="central_ledger.participantLimitType" order="14" color-bg="0,150,255" x="20" y="20">
<path name="central_ledger"/>
</entity>
<entity id="16" name="transferParticipant" fq-name="central_ledger.transferParticipant" order="15" color-bg="145,145,145" x="880" y="380">
<entity id="16" name="transferParticipant" fq-name="central_ledger.transferParticipant" order="15" color-bg="145,145,145" x="860" y="390">
<path name="central_ledger"/>
</entity>
<entity id="17" name="transferParticipantRoleType" fq-name="central_ledger.transferParticipantRoleType" order="16" color-bg="0,150,255" x="1490" y="230">
Expand All @@ -59,7 +59,7 @@
<entity id="19" name="transferFulfilment" fq-name="central_ledger.transferFulfilment" order="19" color-bg="145,145,145" x="480" y="1000">
<path name="central_ledger"/>
</entity>
<entity id="20" name="settlementWindow" fq-name="central_ledger.settlementWindow" order="20" color-bg="255,38,0" x="1630" y="860">
<entity id="20" name="settlementWindow" fq-name="central_ledger.settlementWindow" order="20" color-bg="255,38,0" x="1648" y="856">
<path name="central_ledger"/>
</entity>
<entity id="21" name="transferDuplicateCheck" fq-name="central_ledger.transferDuplicateCheck" order="21" color-bg="145,145,145" x="360" y="600">
Expand Down Expand Up @@ -104,10 +104,10 @@
<entity id="34" name="settlementStateChange" fq-name="central_ledger.settlementStateChange" order="34" color-bg="255,38,0" x="1893" y="589">
<path name="central_ledger"/>
</entity>
<entity id="35" name="settlementSettlementWindow" fq-name="central_ledger.settlementSettlementWindow" order="35" color-bg="255,38,0" x="1130" y="740">
<entity id="35" name="settlementSettlementWindow" fq-name="central_ledger.settlementSettlementWindow" order="35" color-bg="255,38,0" x="1130" y="814">
<path name="central_ledger"/>
</entity>
<entity id="36" name="settlementParticipantCurrency" fq-name="central_ledger.settlementParticipantCurrency" order="36" color-bg="255,38,0" x="1450" y="420">
<entity id="36" name="settlementParticipantCurrency" fq-name="central_ledger.settlementParticipantCurrency" order="36" color-bg="255,38,0" x="1460" y="410">
<path name="central_ledger"/>
</entity>
<entity id="37" name="settlementParticipantCurrencyStateChange" fq-name="central_ledger.settlementParticipantCurrencyStateChange" order="37" color-bg="255,38,0" x="1760" y="410">
Expand All @@ -128,7 +128,7 @@
<entity id="42" name="settlementWindowContentStateChange" fq-name="central_ledger.settlementWindowContentStateChange" order="42" color-bg="255,38,0" x="1460" y="1020">
<path name="central_ledger"/>
</entity>
<entity id="43" name="settlementContentAggregation" fq-name="central_ledger.settlementContentAggregation" order="43" color-bg="255,38,0" x="1140" y="430">
<entity id="43" name="settlementContentAggregation" fq-name="central_ledger.settlementContentAggregation" order="43" color-bg="255,38,0" x="1140" y="551">
<path name="central_ledger"/>
</entity>
<entity id="44" name="settlementModel" fq-name="central_ledger.settlementModel" order="44" color-bg="0,150,255" x="860" y="680">
Expand All @@ -146,6 +146,9 @@
<entity id="48" name="expiringTransfer" fq-name="central_ledger.expiringTransfer" order="46" color-bg="146,146,146" x="420" y="800">
<path name="central_ledger"/>
</entity>
<entity id="49" name="transferParticipantStateChange" fq-name="central_ledger.transferParticipantStateChange" order="49" color-bg="255,38,0" x="1140" y="370">
<path name="central_ledger"/>
</entity>
</data-source>
</entities>
<relations>
Expand All @@ -169,12 +172,14 @@
<relation name="ilppacket_transferid_foreign" fq-name="central_ledger.ilpPacket.ilppacket_transferid_foreign" type="fk" pk-ref="12" fk-ref="27"/>
<relation name="transferfulfilmentduplicatecheck_transferid_foreign" fq-name="central_ledger.transferFulfilmentDuplicateCheck.transferfulfilmentduplicatecheck_transferid_foreign" type="fk" pk-ref="12" fk-ref="29"/>
<relation name="transfererrorduplicatecheck_transferid_foreign" fq-name="central_ledger.transferErrorDuplicateCheck.transfererrorduplicatecheck_transferid_foreign" type="fk" pk-ref="12" fk-ref="40"/>
<relation name="expiringtransfer_transferid_foreign" fq-name="central_ledger.expiringTransfer.expiringtransfer_transferid_foreign" type="fk" pk-ref="12" fk-ref="48"/>
<relation name="settlementstatechange_settlementid_foreign" fq-name="central_ledger.settlementStateChange.settlementstatechange_settlementid_foreign" type="fk" pk-ref="13" fk-ref="34"/>
<relation name="settlementsettlementwindow_settlementid_foreign" fq-name="central_ledger.settlementSettlementWindow.settlementsettlementwindow_settlementid_foreign" type="fk" pk-ref="13" fk-ref="35"/>
<relation name="settlementparticipantcurrency_settlementid_foreign" fq-name="central_ledger.settlementParticipantCurrency.settlementparticipantcurrency_settlementid_foreign" type="fk" pk-ref="13" fk-ref="36"/>
<relation name="settlementwindowcontent_settlementid_foreign" fq-name="central_ledger.settlementWindowContent.settlementwindowcontent_settlementid_foreign" type="fk" pk-ref="13" fk-ref="41"/>
<relation name="settlementcontentaggregation_settlementid_foreign" fq-name="central_ledger.settlementContentAggregation.settlementcontentaggregation_settlementid_foreign" type="fk" pk-ref="13" fk-ref="43"/>
<relation name="participantlimit_participantlimittypeid_foreign" fq-name="central_ledger.participantLimit.participantlimit_participantlimittypeid_foreign" type="fk" pk-ref="15" fk-ref="14"/>
<relation name="transferparticipantstatechange_transferparticipantid_foreign" fq-name="central_ledger.transferParticipantStateChange.transferparticipantstatechange_transferparticipantid_foreign" type="fk" pk-ref="16" fk-ref="49"/>
<relation name="transferparticipant_transferparticipantroletypeid_foreign" fq-name="central_ledger.transferParticipant.transferparticipant_transferparticipantroletypeid_foreign" type="fk" pk-ref="17" fk-ref="16"/>
<relation name="sca_transferparticipantroletypeid_foreign" fq-name="central_ledger.settlementContentAggregation.sca_transferparticipantroletypeid_foreign" type="fk" pk-ref="17" fk-ref="43"/>
<relation name="transferfulfilment_settlementwindowid_foreign" fq-name="central_ledger.transferFulfilment.transferfulfilment_settlementwindowid_foreign" type="fk" pk-ref="20" fk-ref="19"/>
Expand All @@ -194,7 +199,8 @@
<relation name="transferfulfilment_transferid_foreign" fq-name="central_ledger.transferFulfilment.transferfulfilment_transferid_foreign" type="fk" pk-ref="29" fk-ref="19"/>
<relation name="settlementwindowstatechange_settlementwindowstateid_foreign" fq-name="central_ledger.settlementWindowStateChange.settlementwindowstatechange_settlementwindowstateid_foreign" type="fk" pk-ref="31" fk-ref="32"/>
<relation name="sws1_settlementwindowstateid_foreign" fq-name="central_ledger.settlementWindowContentStateChange.sws1_settlementwindowstateid_foreign" type="fk" pk-ref="31" fk-ref="42"/>
<relation name="settlementcontentaggregation_settlementwindowstateid_foreign" fq-name="central_ledger.settlementContentAggregation.settlementcontentaggregation_settlementwindowstateid_foreign" type="fk" pk-ref="31" fk-ref="43"/>
<relation name="settlementcontentaggregation_currentstateid_foreign" fq-name="central_ledger.settlementContentAggregation.settlementcontentaggregation_currentstateid_foreign" type="fk" pk-ref="31" fk-ref="43"/>
<relation name="transferparticipantstatechange_settlementwindowstateid_foreign" fq-name="central_ledger.transferParticipantStateChange.transferparticipantstatechange_settlementwindowstateid_foreign" type="fk" pk-ref="31" fk-ref="49"/>
<relation name="settlementwindow_currentstatechangeid_foreign" fq-name="central_ledger.settlementWindow.settlementwindow_currentstatechangeid_foreign" type="fk" pk-ref="32" fk-ref="20"/>
<relation name="settlementstatechange_settlementstateid_foreign" fq-name="central_ledger.settlementStateChange.settlementstatechange_settlementstateid_foreign" type="fk" pk-ref="33" fk-ref="34"/>
<relation name="spcsc_settlementstateid_foreign" fq-name="central_ledger.settlementParticipantCurrencyStateChange.spcsc_settlementstateid_foreign" type="fk" pk-ref="33" fk-ref="37"/>
Expand All @@ -212,6 +218,7 @@
<relation name="settlementmodel_settlementdelayid_foreign" fq-name="central_ledger.settlementModel.settlementmodel_settlementdelayid_foreign" type="fk" pk-ref="45" fk-ref="44"/>
<relation name="settlementmodel_settlementinterchangeid_foreign" fq-name="central_ledger.settlementModel.settlementmodel_settlementinterchangeid_foreign" type="fk" pk-ref="46" fk-ref="44"/>
<relation name="settlementmodel_settlementgranularityid_foreign" fq-name="central_ledger.settlementModel.settlementmodel_settlementgranularityid_foreign" type="fk" pk-ref="47" fk-ref="44"/>
<relation name="transferparticipant_currentstatechangeid_foreign" fq-name="central_ledger.transferParticipant.transferparticipant_currentstatechangeid_foreign" type="fk" pk-ref="49" fk-ref="16"/>
</relations>
<notes>
<note order="18" x="1900" y="20" w="204" h="151">COLOR LEGEND:
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading