From fff86c1dd51478b340df978a7843a701f2540526 Mon Sep 17 00:00:00 2001 From: chengjie Date: Mon, 16 Dec 2024 15:10:27 +0800 Subject: [PATCH] initial commit --- .gitignore | 97 + CHANGELOG | 2 + README.adoc | 0 app.engine.rwa/README.adoc | 0 app.engine.rwa/build-common.gradle | 19 + app.engine.rwa/build-jetty.gradle | 15 + app.engine.rwa/build-tomcat.gradle | 7 + app.engine.rwa/build-undertow.gradle | 15 + app.engine.rwa/build.gradle | 103 + app.engine.rwa/gradle.properties | 0 .../main/java/app/engine/rwa/Application.java | 16 + .../META-INF/platform/plugins/messages.json | 5 + .../app/engine/rwa/i18n/messages.properties | 3 + .../engine/rwa/i18n/messages_zh_CN.properties | 3 + .../src/main/resources/datasource.ini | 11 + .../main/resources/running-mode.properties | 1 + .../app.engine.rwa/images/background.svg | 1 + .../static/app.engine.rwa/images/logo.svg | 5 + build-version.gradle | 201 + build.gradle | 835 +++ gradle.properties | 88 + gradlew | 249 + gradlew.bat | 92 + io.sc.engine.rwa.calculator/CHANGELOG | 0 io.sc.engine.rwa.calculator/README.adoc | 0 io.sc.engine.rwa.calculator/build.gradle | 13 + io.sc.engine.rwa.calculator/gradle.properties | 1 + .../rwa/calculator/IrsRWACalculator.java | 77 + .../engine/rwa/calculator/RWACalculator.java | 71 + .../sc/engine/rwa/calculator/RWAReportor.java | 17 + .../rwa/calculator/RWATestDataGenerator.java | 229 + .../rwa/calculator/cache/CacheException.java | 7 + .../engine/rwa/calculator/cache/KeyValue.java | 22 + .../rwa/calculator/cache/KeyValueCache.java | 17 + .../calculator/cache/KeyValueIterator.java | 8 + .../calculator/cache/impl/RocksDbCache.java | 121 + .../cache/impl/RocksDbIterator.java | 41 + .../cache/impl/StringAndLongRocksDbCache.java | 35 + .../controller/RwaCalculateController.java | 153 + .../RwaCalculatorWithDBController.java | 39 + .../calculator/data/SourceAssetMagProd.java | 308 + .../engine/rwa/calculator/data/SourceBh.java | 271 + .../rwa/calculator/data/SourceCommitment.java | 295 + .../rwa/calculator/data/SourceCredit.java | 315 + .../rwa/calculator/data/SourceCreditCard.java | 307 + .../rwa/calculator/data/SourceCustomer.java | 745 ++ .../rwa/calculator/data/SourceDebt.java | 594 ++ .../rwa/calculator/data/SourceDiscount.java | 308 + .../rwa/calculator/data/SourceExchRate.java | 101 + .../calculator/data/SourceGuarDebtRela.java | 94 + .../rwa/calculator/data/SourceGuarantee.java | 229 + .../rwa/calculator/data/SourceIBOut.java | 272 + .../engine/rwa/calculator/data/SourceLgd.java | 164 + .../rwa/calculator/data/SourceOthAsset.java | 305 + .../engine/rwa/calculator/data/SourcePd.java | 153 + .../rwa/calculator/data/SourcePled.java | 326 + .../rwa/calculator/data/SourceRepo.java | 405 ++ .../data/SourceSecurityPosition.java | 349 + .../rwa/calculator/data/SourceTrade.java | 283 + .../calculator/data/SourceWeightResult.java | 341 + .../calculator/domain/AccordRiskToolDtl.java | 96 + .../calculator/domain/AccordRiskToolMain.java | 71 + .../domain/AccordRiskToolParam.java | 326 + .../domain/AccordRiskToolRecogn.java | 248 + .../domain/AccordRiskToolResult.java | 154 + .../rwa/calculator/domain/BnfxqzParam.java | 448 ++ .../rwa/calculator/domain/BwztfxzqParam.java | 237 + .../domain/CircCounterpartyParam.java | 119 + .../rwa/calculator/domain/CustomerParam.java | 321 + .../calculator/domain/DataCheckRuleMain.java | 107 + .../rwa/calculator/domain/DebtGuarRel.java | 48 + .../calculator/domain/DebtRiskClsResult.java | 255 + .../rwa/calculator/domain/DebtRiskParam.java | 549 ++ .../rwa/calculator/domain/ParamRuleDtl.java | 104 + .../rwa/calculator/domain/ParamRuleMain.java | 103 + .../calculator/domain/RiskExpoWideResult.java | 324 + .../calculator/domain/RiskMitigResult.java | 504 ++ .../domain/RiskToolMappingParam.java | 104 + .../domain/RwaConfigRiskExpoRule.java | 67 + .../calculator/domain/RwaIrsCorpSizeRule.java | 186 + .../rwa/calculator/domain/RwaIrsDebt.java | 442 ++ .../calculator/domain/RwaIrsExposureRule.java | 284 + .../rwa/calculator/domain/RwaIrsLgd.java | 155 + .../rwa/calculator/domain/RwaIrsNameList.java | 94 + .../rwa/calculator/domain/RwaIrsPd.java | 89 + .../domain/RwaIrsPledgeCashRule.java | 107 + .../domain/RwaIrsPledgeClassRule.java | 115 + .../domain/RwaIrsPledgeDistribution.java | 133 + .../domain/RwaIrsRatingModelGrade.java | 101 + .../rwa/calculator/domain/RwaIrsResult.java | 257 + .../calculator/domain/RwaMGuarDebtRela.java | 91 + .../calculator/domain/RwaMIrsCustomer.java | 218 + .../rwa/calculator/domain/RwaMIrsDebt.java | 431 ++ .../calculator/domain/RwaMWeightResult.java | 331 + .../calculator/domain/RwaOrgAreaMapping.java | 85 + .../calculator/domain/RwaRequireParam.java | 138 + .../rwa/calculator/domain/RwaRptG4E.java | 184 + .../rwa/calculator/domain/RwaRptG4E1.java | 304 + .../rwa/calculator/domain/RwaRptG4E2.java | 304 + .../rwa/calculator/domain/RwaRptG4E4.java | 404 ++ .../rwa/calculator/domain/RwaRptG4E5.java | 183 + .../rwa/calculator/domain/RwaRptG4E7.java | 153 + .../rwa/calculator/domain/RwaRptParam.java | 162 + .../calculator/domain/TableMappingList.java | 94 + .../calculator/domain/TableMappingParam.java | 123 + .../domain/TableMappingRuleDtl.java | 184 + .../domain/TableMappingRuleMain.java | 164 + .../rwa/calculator/enums/CollRiskType.java | 18 + .../engine/rwa/calculator/enums/CollType.java | 15 + .../engine/rwa/calculator/enums/DataType.java | 15 + .../rwa/calculator/enums/ExpoRuleType.java | 18 + .../rwa/calculator/enums/IntervalType.java | 12 + .../rwa/calculator/enums/MappingType.java | 13 + .../rwa/calculator/enums/MatchType.java | 12 + .../rwa/calculator/enums/OnOffType.java | 12 + .../sc/engine/rwa/calculator/enums/Valid.java | 12 + .../exceptions/CacheNotFoundException.java | 10 + .../exceptions/ExpressionErrorException.java | 10 + .../exceptions/FieldNotFoundException.java | 10 + .../rwa/calculator/importor/CSVImporter.java | 117 + .../rwa/calculator/importor/config/Field.java | 27 + .../rwa/calculator/importor/config/Table.java | 39 + .../rwa/calculator/init/Initializer.java | 93 + .../jpa/entity/RwaAccordRiskToolDtl.java | 96 + .../jpa/entity/RwaAccordRiskToolMain.java | 73 + .../jpa/entity/RwaAccordRiskToolRecogn.java | 227 + .../calculator/jpa/entity/RwaBnfxqzCtl.java | 387 ++ .../calculator/jpa/entity/RwaBwfxqzCtl.java | 217 + .../calculator/jpa/entity/RwaExpoRuleDtl.java | 96 + .../jpa/entity/RwaExpoRuleMain.java | 95 + .../jpa/entity/RwaIrsExposureRuleEntity.java | 210 + .../jpa/entity/RwaIrsNameListEntity.java | 58 + .../jpa/entity/RwaIrsResultEntity.java | 201 + .../jpa/entity/RwaRiskMigitResult.java | 417 ++ .../jpa/entity/vo/RwaAccordRiskToolDtlVo.java | 74 + .../entity/vo/RwaAccordRiskToolMainVo.java | 58 + .../entity/vo/RwaAccordRiskToolRecognVo.java | 200 + .../jpa/entity/vo/RwaBnfxqzCtlVo.java | 344 + .../jpa/entity/vo/RwaBwfxqzCtlVo.java | 191 + .../jpa/entity/vo/RwaExpoRuleDtlVo.java | 73 + .../jpa/entity/vo/RwaExpoRuleMainVo.java | 76 + .../jpa/entity/vo/RwaIrsExposureRuleVo.java | 160 + .../jpa/entity/vo/RwaIrsNameListVo.java | 43 + .../jpa/entity/vo/RwaIrsResultVo.java | 156 + .../jpa/entity/vo/RwaRiskMigitResultVo.java | 241 + .../RwaAccordRiskToolDtlRepository.java | 7 + .../RwaAccordRiskToolMainRepository.java | 7 + .../RwaAccordRiskToolRecognRepository.java | 7 + .../repository/RwaBnfxqzCtlRepository.java | 10 + .../repository/RwaBwfxqzCtlRepository.java | 10 + .../repository/RwaExpoRuleDtlRepository.java | 7 + .../repository/RwaExpoRuleMainRepository.java | 7 + .../RwaIrsExposureRuleRepository.java | 10 + .../RwaIrsNameListEntityRepository.java | 11 + .../RwaIrsResultEntityRepository.java | 7 + .../originaldata/EtlRetailInfo.java | 129 + .../service/RwaBnfxqzCtlService.java | 11 + .../calculator/service/RwaCalcLocService.java | 18 + .../service/RwaCalcParamCacheService.java | 20 + .../service/RwaIrsCalcLocService.java | 34 + .../service/RwaIrsExposureRuleService.java | 11 + .../service/RwaIrsNameListEntityService.java | 11 + .../service/RwaIrsParamCacheService.java | 5 + .../service/RwaIrsResultEntityService.java | 8 + .../service/impl/RwaBnfxqzCtlServiceImpl.java | 17 + .../service/impl/RwaCalcLocServiceImpl.java | 141 + .../impl/RwaCalcParamCacheServiceImpl.java | 162 + .../impl/RwaIrsCalcLocServiceImpl.java | 246 + .../impl/RwaIrsExposureRuleServiceImpl.java | 17 + .../impl/RwaIrsNameListEntityServiceImpl.java | 18 + .../impl/RwaIrsParamCacheServiceImpl.java | 74 + .../impl/RwaIrsResultEntityServiceImpl.java | 11 + .../engine/rwa/calculator/step/BaseStep.java | 212 + .../rwa/calculator/step/ParamCache.java | 610 ++ .../rwa/calculator/step/ParamCacheFromDB.java | 605 ++ .../sc/engine/rwa/calculator/step/Step04.java | 233 + .../sc/engine/rwa/calculator/step/Step05.java | 115 + .../sc/engine/rwa/calculator/step/Step1.java | 367 + .../sc/engine/rwa/calculator/step/Step2.java | 323 + .../sc/engine/rwa/calculator/step/Step3.java | 218 + .../sc/engine/rwa/calculator/step/Step4.java | 240 + .../sc/engine/rwa/calculator/step/Step5.java | 140 + .../sc/engine/rwa/calculator/step/Step6.java | 139 + .../step/irs/IrsInitParameters.java | 164 + .../calculator/step/irs/IrsParamCache.java | 556 ++ .../rwa/calculator/step/irs/IrsStep1.java | 407 ++ .../rwa/calculator/step/irs/IrsStep2.java | 363 + .../rwa/calculator/step/irs/IrsStep3.java | 365 + .../rwa/calculator/step/irs/IrsStep4.java | 371 + .../rwa/calculator/step/irs/IrsStep5.java | 99 + .../rwa/calculator/step/irs/IrsStep6.java | 1156 ++++ .../rwa/calculator/support/BaseEntity.java | 37 + .../support/TableMappingColumns.java | 96 + .../rwa/calculator/support/WsRequestBody.java | 31 + .../calculator/support/WsResponseBody.java | 35 + .../rwa/calculator/utils/ArrayUtil.java | 67 + .../engine/rwa/calculator/utils/CsvUtil.java | 127 + .../engine/rwa/calculator/utils/DateUtil.java | 112 + .../rwa/calculator/utils/EntityUtil.java | 34 + .../engine/rwa/calculator/utils/FuncUtil.java | 389 ++ .../calculator/utils/RwaCalcStringUtils.java | 156 + .../rwa/calculator/ws/WsRWACalculator.java | 113 + .../rwa/calculator/ws/data/SourceBh.java | 264 + .../calculator/ws/data/SourceCommitment.java | 285 + .../rwa/calculator/ws/data/SourceCredit.java | 307 + .../calculator/ws/data/SourceCreditCard.java | 296 + .../calculator/ws/data/SourceCustomer.java | 728 ++ .../rwa/calculator/ws/data/SourceDebt.java | 589 ++ .../calculator/ws/data/SourceDiscount.java | 296 + .../calculator/ws/data/SourceGuarantee.java | 224 + .../rwa/calculator/ws/data/SourceIBOut.java | 263 + .../rwa/calculator/ws/data/SourceLgd.java | 157 + .../calculator/ws/data/SourceOthAsset.java | 273 + .../rwa/calculator/ws/data/SourcePd.java | 146 + .../rwa/calculator/ws/data/SourcePled.java | 309 + .../rwa/calculator/ws/data/SourceRepo.java | 396 ++ .../ws/data/SourceSecurityPosition.java | 340 + .../rwa/calculator/ws/data/SourceTrade.java | 274 + .../ws/data/SourceWeightResult.java | 311 + .../META-INF/platform/plugins/components.json | 16 + .../META-INF/platform/plugins/liquibase.json | 12 + .../META-INF/platform/plugins/parameters.json | 20 + .../platform/plugins/repositories.json | 16 + .../main/resources/META-INF/spring.factories | 3 + .../config/csv-table-mapping-init-data.json | 214 + .../resources/config/csv-table-mapping.json | 13 + .../resources/config/csvdatadir.properties | 5 + .../src/main/resources/config/datasource.ini | 11 + .../main/resources/config/rocksdb.properties | 45 + .../src/main/resources/data.zip | Bin 0 -> 28430 bytes .../data/RWA_C_ACCORD_RISK_TOOL_PARAM.csv | 1000 +++ .../main/resources/data/RWA_C_CUST_PARAM.csv | 200 + .../resources/data/RWA_C_DEBT_RISK_PARAM.csv | 2200 ++++++ .../data/RWA_P_ACCORD_RISK_TOOL_RECOGN.csv | 165 + .../data/RWA_P_BASE_TABLE_MAPPING_DTL.csv | 148 + .../data/RWA_P_BASE_TABLE_MAPPING_LIST.csv | 11 + .../data/RWA_P_BASE_TABLE_MAPPING_MAIN.csv | 399 ++ .../main/resources/data/RWA_P_BNFXQZ_CTL.csv | 222 + .../resources/data/RWA_P_BWZTFXQZ_CTL.csv | 74 + .../data/RWA_P_CIRC_COUNTERPARTY.csv | 5987 +++++++++++++++++ .../data/RWA_P_DATA_CHECK_RULE_MAIN.csv | 9 + .../data/RWA_P_RISK_TOOL_MAPPING.csv | 35 + .../main/resources/data/RWA_P_RWA_REQUIRE.csv | 1 + .../data/RWA_P_TABLE_MAPPING_PARAM.csv | 29 + .../data/RWA_R_ACCORD_RISK_TOOL_RESULT.csv | 0 .../data/RWA_R_RISK_EXPO_CLS_RES.csv | 22 + .../data/RWA_R_RISK_MIGIT_RESULT.csv | 2200 ++++++ .../src/main/resources/data/RWA_SAMPLE.csv | 3 + .../src/main/resources/data/RWA_S_BH.csv | 0 .../main/resources/data/RWA_S_COMMITMENT.csv | 0 .../src/main/resources/data/RWA_S_CREDIT.csv | 66 + .../main/resources/data/RWA_S_CREDIT_CARD.csv | 0 .../main/resources/data/RWA_S_CUSTOMER.csv | 120 + .../src/main/resources/data/RWA_S_DEBT.csv | 17 + .../main/resources/data/RWA_S_DISCOUNT.csv | 0 .../main/resources/data/RWA_S_GUARANTEE.csv | 0 .../src/main/resources/data/RWA_S_IBOUT.csv | 0 .../main/resources/data/RWA_S_OTH_ASSET.csv | 0 .../src/main/resources/data/RWA_S_PLED.csv | 6 + .../src/main/resources/data/RWA_S_REPO.csv | 0 .../data/RWA_S_SECURITY_POSITION.csv | 2 + .../src/main/resources/data/RWA_S_TRADE.csv | 0 .../src/main/resources/ehcache-core-3.10.xsd | 602 ++ .../src/main/resources/ehcache.xml | 19 + .../RWA_1.0.0_20231201.2_CREATE_TABLE.xml | 1015 +++ .../RWA_1.0.0_20240424_TABLES_DATA.xml | 44 + .../RWA_1.0.0_20240507.1_CREATE_TABLE.xml | 701 ++ .../data/RWA_P_ACCORD_RISK_TOOL_RECOGN.csv | 166 + .../data/RWA_P_BASE_TABLE_MAPPING_DTL.csv | 149 + .../data/RWA_P_BASE_TABLE_MAPPING_LIST.csv | 12 + .../data/RWA_P_BASE_TABLE_MAPPING_MAIN.csv | 400 ++ .../liquibase/data/RWA_P_BNFXQZ_CTL.csv | 223 + .../liquibase/data/RWA_P_BWZTFXQZ_CTL.csv | 75 + .../data/RWA_P_CIRC_COUNTERPARTY.csv | 38 + .../data/RWA_P_DATA_CHECK_RULE_MAIN.csv | 10 + .../data/RWA_P_RISK_TOOL_MAPPING.csv | 36 + .../liquibase/data/RWA_P_RWA_REQUIRE.csv | 2 + .../data/RWA_P_TABLE_MAPPING_PARAM.csv | 30 + .../sql/rwa_p_accord_risk_tool_dtl.sql | 2640 ++++++++ .../sql/rwa_p_accord_risk_tool_main.sql | 165 + .../sql/rwa_p_accord_risk_tool_recogn.sql | 165 + .../sql/rwa_p_base_table_mapping_dtl.sql | 148 + .../sql/rwa_p_base_table_mapping_list.sql | 11 + .../sql/rwa_p_base_table_mapping_main.sql | 399 ++ .../liquibase/sql/rwa_p_bnfxqz_ctl.sql | 222 + .../liquibase/sql/rwa_p_bwztfxqz_ctl.sql | 74 + .../liquibase/sql/rwa_p_circ_counterparty.sql | 37 + .../sql/rwa_p_data_check_rule_main.sql | 9 + .../liquibase/sql/rwa_p_expo_rule_dtl.sql | 666 ++ .../liquibase/sql/rwa_p_expo_rule_main.sql | 74 + .../liquibase/sql/rwa_p_risk_tool_mapping.sql | 35 + .../liquibase/sql/rwa_p_rwa_require.sql | 1 + .../sql/rwa_p_table_mapping_param.sql | 29 + .../liquibase/sql/rwa_r_risk_migit_result.sql | 87 + .../main/resources/liquibase/sql/rwa_s_bh.sql | 100 + .../liquibase/sql/rwa_s_commitment.sql | 100 + .../resources/liquibase/sql/rwa_s_credit.sql | 166 + .../liquibase/sql/rwa_s_credit_card.sql | 1000 +++ .../liquibase/sql/rwa_s_customer.sql | 320 + .../resources/liquibase/sql/rwa_s_debt.sql | 717 ++ .../liquibase/sql/rwa_s_discount.sql | 0 .../liquibase/sql/rwa_s_guarantee.sql | 700 ++ .../resources/liquibase/sql/rwa_s_ibout.sql | 100 + .../liquibase/sql/rwa_s_oth_asset.sql | 0 .../resources/liquibase/sql/rwa_s_pled.sql | 306 + .../resources/liquibase/sql/rwa_s_repo.sql | 0 .../liquibase/sql/rwa_s_security_position.sql | 102 + .../resources/liquibase/sql/rwa_s_trade.sql | 0 .../src/main/resources/wsdata/RWA_S_BH.csv | 100 + .../resources/wsdata/RWA_S_COMMITMENT.csv | 100 + .../main/resources/wsdata/RWA_S_CREDIT.csv | 100 + .../resources/wsdata/RWA_S_CREDIT_CARD.csv | 1000 +++ .../main/resources/wsdata/RWA_S_CUSTOMER.csv | 200 + .../src/main/resources/wsdata/RWA_S_DEBT.csv | 700 ++ .../main/resources/wsdata/RWA_S_DISCOUNT.csv | 0 .../main/resources/wsdata/RWA_S_GUARANTEE.csv | 700 ++ .../src/main/resources/wsdata/RWA_S_IBOUT.csv | 100 + .../main/resources/wsdata/RWA_S_OTH_ASSET.csv | 0 .../src/main/resources/wsdata/RWA_S_PLED.csv | 300 + .../src/main/resources/wsdata/RWA_S_REPO.csv | 0 .../wsdata/RWA_S_SECURITY_POSITION.csv | 100 + .../src/main/resources/wsdata/RWA_S_TRADE.csv | 0 io.sc.engine.rwa.exporter/CHANGELOG | 0 io.sc.engine.rwa.exporter/README.adoc | 0 io.sc.engine.rwa.exporter/build.gradle | 6 + io.sc.engine.rwa.exporter/gradle.properties | 0 io.sc.engine.rwa.importer/CHANGELOG | 1 + io.sc.engine.rwa.importer/README.adoc | 0 io.sc.engine.rwa.importer/build.gradle | 9 + io.sc.engine.rwa.importer/gradle.properties | 0 .../engine/rwa/importer/ConvertException.java | 7 + .../io/sc/engine/rwa/importer/Converter.java | 5 + .../rwa/importer/CsvConverterGenerator.java | 43 + .../sc/engine/rwa/importer/CsvImporter.java | 50 + .../rwa/importer/DbConverterGenerator.java | 41 + .../io/sc/engine/rwa/importer/DbImporter.java | 55 + .../io/sc/engine/rwa/importer/Importer.java | 12 + .../ImporterConfigureController.java | 45 + .../AttributeConfigureEntityVoConverter.java | 38 + .../ImporterConfigureEntityVoConverter.java | 86 + .../rwa/importer/executor/CsvExecutor.java | 50 + .../jpa/entity/AttributeConfigureEntity.java | 117 + .../entity/CsvImporterConfigureEntity.java | 45 + .../jpa/entity/DbImporterConfigureEntity.java | 45 + .../jpa/entity/ImporterConfigureEntity.java | 118 + .../AttributeConfigureRepository.java | 8 + .../ImporterConfigureRepository.java | 10 + .../rwa/importer/plugins/PluginManager.java | 57 + .../plugins/PluginSpiServiceImpl.java | 12 + .../plugins/item/ImporterExample.java | 105 + .../service/ImporterConfigureService.java | 13 + .../service/ImporterManagerService.java | 11 + .../impl/ImporterConfigureServiceImpl.java | 99 + .../impl/ImporterManagerServiceImpl.java | 51 + .../io/sc/engine/rwa/importer/test/Test.java | 101 + .../rwa/importer/vo/AttributeConfigure.java | 76 + .../rwa/importer/vo/CsvImporterConfigure.java | 36 + .../rwa/importer/vo/DbImporterConfigure.java | 36 + .../rwa/importer/vo/ImporterConfigure.java | 69 + .../META-INF/platform/plugins/components.json | 16 + .../META-INF/platform/plugins/liquibase.json | 10 + .../platform/plugins/repositories.json | 16 + .../plugins/rwa-example-importer.json | 10 + .../platform/plugins/web-security.json | 14 + ...ine.rwa.importer.converter.RecordConverter | 2 + .../main/resources/META-INF/spring.factories | 3 + .../src/main/resources/data/billinfo.csv | 1 + .../src/main/resources/data/user.csv | 500 ++ .../src/main/resources/datasource.ini | 11 + .../converter/template/CsvConverter.java.ftl | 15 + .../converter/template/DbConverter.java.ftl | 14 + .../importer/sample/importer-configure.json | 29 + .../SourceEntity.java.ftl | 15 + .../liquibase/DATA_IMPORTER_20240529_DDL.xml | 34 + ..._8.0.0_20220606__DATA_IMPORTER_CFG_DDL.xml | 78 + io.sc.engine.rwa.model/CHANGELOG | 0 io.sc.engine.rwa.model/README.adoc | 0 io.sc.engine.rwa.model/build.gradle | 5 + io.sc.engine.rwa.model/gradle.properties | 0 .../main/java/io/sc/engine/rwa/model/Bh.java | 202 + .../io/sc/engine/rwa/model/Commitment.java | 212 + .../java/io/sc/engine/rwa/model/Credit.java | 222 + .../io/sc/engine/rwa/model/CreditCard.java | 166 + .../java/io/sc/engine/rwa/model/Customer.java | 472 ++ .../java/io/sc/engine/rwa/model/Debt.java | 390 ++ .../java/io/sc/engine/rwa/model/Discount.java | 242 + .../io/sc/engine/rwa/model/GuaranteeInfo.java | 76 + .../java/io/sc/engine/rwa/model/Ibout.java | 182 + .../io/sc/engine/rwa/model/PledgeInfo.java | 130 + .../java/io/sc/engine/rwa/model/Repo.java | 322 + .../sc/engine/rwa/model/SecurityPosition.java | 242 + .../java/io/sc/engine/rwa/model/Trade.java | 212 + .../java/io/sc/engine/rwa/model/User.java | 30 + io.sc.engine.rwa.spliter/CHANGELOG | 0 io.sc.engine.rwa.spliter/README.adoc | 0 io.sc.engine.rwa.spliter/build.gradle | 5 + io.sc.engine.rwa.spliter/gradle.properties | 0 io.sc.engine.rwa.validator/CHANGELOG | 0 io.sc.engine.rwa.validator/README.adoc | 0 io.sc.engine.rwa.validator/build.gradle | 5 + io.sc.engine.rwa.validator/gradle.properties | 0 io.sc.engine.rwa.ws/README.adoc | 0 io.sc.engine.rwa.ws/build.gradle | 5 + io.sc.engine.rwa.ws/gradle.properties | 0 .../ws/controller/WebServiceController.java | 175 + .../rwa/ws/jpa/entity/EsbInterfaceLog.java | 173 + .../ws/jpa/exception/WebServiceException.java | 15 + .../repository/EsbInterfaceLogRepository.java | 9 + .../ws/service/EsbInterfaceLogService.java | 13 + .../impl/EsbInterfaceLogServiceImpl.java | 35 + .../rwa/ws/service/support/AppHeader.java | 35 + .../ws/service/support/ESBRequestUtil.java | 92 + .../rwa/ws/service/support/EsbConstant.java | 29 + .../rwa/ws/service/support/LocalHeader.java | 71 + .../rwa/ws/service/support/RequestBody.java | 31 + .../rwa/ws/service/support/RequestXml.java | 44 + .../rwa/ws/service/support/ResponseBody.java | 185 + .../rwa/ws/service/support/ResponseXml.java | 44 + .../sc/engine/rwa/ws/service/support/Ret.java | 19 + .../sc/engine/rwa/ws/service/support/Sdo.java | 26 + .../rwa/ws/service/support/SysHeader.java | 134 + .../io/sc/engine/rwa/ws/utils/DateUtil.java | 489 ++ .../plugins/application-properties.json | 25 + .../META-INF/platform/plugins/components.json | 16 + .../platform/plugins/directories.json | 17 + .../platform/plugins/json-serializers.json | 25 + .../META-INF/platform/plugins/liquibase.json | 25 + .../META-INF/platform/plugins/messages.json | 16 + .../META-INF/platform/plugins/p6spy.json | 15 + .../META-INF/platform/plugins/parameters.json | 37 + .../platform/plugins/repositories.json | 16 + .../platform/plugins/restart-properties.json | 20 + .../META-INF/platform/plugins/security.json | 15 + .../META-INF/platform/plugins/swagger.json | 19 + .../platform/plugins/system-properties.json | 12 + .../sc/engine/rwa/ws/i18n/messages.properties | 0 .../rwa/ws/i18n/messages_zh_CN.properties | 0 io.sc.engine.rwa/build.gradle | 10 + settings.gradle | 9 + 439 files changed, 72772 insertions(+) create mode 100644 .gitignore create mode 100644 CHANGELOG create mode 100644 README.adoc create mode 100644 app.engine.rwa/README.adoc create mode 100644 app.engine.rwa/build-common.gradle create mode 100644 app.engine.rwa/build-jetty.gradle create mode 100644 app.engine.rwa/build-tomcat.gradle create mode 100644 app.engine.rwa/build-undertow.gradle create mode 100644 app.engine.rwa/build.gradle create mode 100644 app.engine.rwa/gradle.properties create mode 100644 app.engine.rwa/src/main/java/app/engine/rwa/Application.java create mode 100644 app.engine.rwa/src/main/resources/META-INF/platform/plugins/messages.json create mode 100644 app.engine.rwa/src/main/resources/app/engine/rwa/i18n/messages.properties create mode 100644 app.engine.rwa/src/main/resources/app/engine/rwa/i18n/messages_zh_CN.properties create mode 100644 app.engine.rwa/src/main/resources/datasource.ini create mode 100644 app.engine.rwa/src/main/resources/running-mode.properties create mode 100644 app.engine.rwa/src/main/resources/static/app.engine.rwa/images/background.svg create mode 100644 app.engine.rwa/src/main/resources/static/app.engine.rwa/images/logo.svg create mode 100644 build-version.gradle create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 io.sc.engine.rwa.calculator/CHANGELOG create mode 100644 io.sc.engine.rwa.calculator/README.adoc create mode 100644 io.sc.engine.rwa.calculator/build.gradle create mode 100644 io.sc.engine.rwa.calculator/gradle.properties create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/IrsRWACalculator.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/RWACalculator.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/RWAReportor.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/RWATestDataGenerator.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/cache/CacheException.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/cache/KeyValue.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/cache/KeyValueCache.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/cache/KeyValueIterator.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/cache/impl/RocksDbCache.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/cache/impl/RocksDbIterator.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/cache/impl/StringAndLongRocksDbCache.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/controller/RwaCalculateController.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/controller/RwaCalculatorWithDBController.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/data/SourceAssetMagProd.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/data/SourceBh.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/data/SourceCommitment.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/data/SourceCredit.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/data/SourceCreditCard.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/data/SourceCustomer.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/data/SourceDebt.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/data/SourceDiscount.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/data/SourceExchRate.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/data/SourceGuarDebtRela.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/data/SourceGuarantee.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/data/SourceIBOut.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/data/SourceLgd.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/data/SourceOthAsset.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/data/SourcePd.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/data/SourcePled.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/data/SourceRepo.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/data/SourceSecurityPosition.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/data/SourceTrade.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/data/SourceWeightResult.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/AccordRiskToolDtl.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/AccordRiskToolMain.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/AccordRiskToolParam.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/AccordRiskToolRecogn.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/AccordRiskToolResult.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/BnfxqzParam.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/BwztfxzqParam.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/CircCounterpartyParam.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/CustomerParam.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/DataCheckRuleMain.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/DebtGuarRel.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/DebtRiskClsResult.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/DebtRiskParam.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/ParamRuleDtl.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/ParamRuleMain.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RiskExpoWideResult.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RiskMitigResult.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RiskToolMappingParam.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaConfigRiskExpoRule.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaIrsCorpSizeRule.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaIrsDebt.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaIrsExposureRule.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaIrsLgd.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaIrsNameList.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaIrsPd.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaIrsPledgeCashRule.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaIrsPledgeClassRule.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaIrsPledgeDistribution.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaIrsRatingModelGrade.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaIrsResult.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaMGuarDebtRela.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaMIrsCustomer.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaMIrsDebt.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaMWeightResult.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaOrgAreaMapping.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaRequireParam.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaRptG4E.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaRptG4E1.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaRptG4E2.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaRptG4E4.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaRptG4E5.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaRptG4E7.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/RwaRptParam.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/TableMappingList.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/TableMappingParam.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/TableMappingRuleDtl.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/domain/TableMappingRuleMain.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/enums/CollRiskType.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/enums/CollType.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/enums/DataType.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/enums/ExpoRuleType.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/enums/IntervalType.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/enums/MappingType.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/enums/MatchType.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/enums/OnOffType.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/enums/Valid.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/exceptions/CacheNotFoundException.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/exceptions/ExpressionErrorException.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/exceptions/FieldNotFoundException.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/importor/CSVImporter.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/importor/config/Field.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/importor/config/Table.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/init/Initializer.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/entity/RwaAccordRiskToolDtl.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/entity/RwaAccordRiskToolMain.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/entity/RwaAccordRiskToolRecogn.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/entity/RwaBnfxqzCtl.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/entity/RwaBwfxqzCtl.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/entity/RwaExpoRuleDtl.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/entity/RwaExpoRuleMain.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/entity/RwaIrsExposureRuleEntity.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/entity/RwaIrsNameListEntity.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/entity/RwaIrsResultEntity.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/entity/RwaRiskMigitResult.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/entity/vo/RwaAccordRiskToolDtlVo.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/entity/vo/RwaAccordRiskToolMainVo.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/entity/vo/RwaAccordRiskToolRecognVo.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/entity/vo/RwaBnfxqzCtlVo.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/entity/vo/RwaBwfxqzCtlVo.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/entity/vo/RwaExpoRuleDtlVo.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/entity/vo/RwaExpoRuleMainVo.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/entity/vo/RwaIrsExposureRuleVo.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/entity/vo/RwaIrsNameListVo.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/entity/vo/RwaIrsResultVo.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/entity/vo/RwaRiskMigitResultVo.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/repository/RwaAccordRiskToolDtlRepository.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/repository/RwaAccordRiskToolMainRepository.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/repository/RwaAccordRiskToolRecognRepository.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/repository/RwaBnfxqzCtlRepository.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/repository/RwaBwfxqzCtlRepository.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/repository/RwaExpoRuleDtlRepository.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/repository/RwaExpoRuleMainRepository.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/repository/RwaIrsExposureRuleRepository.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/repository/RwaIrsNameListEntityRepository.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/jpa/repository/RwaIrsResultEntityRepository.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/originaldata/EtlRetailInfo.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/service/RwaBnfxqzCtlService.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/service/RwaCalcLocService.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/service/RwaCalcParamCacheService.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/service/RwaIrsCalcLocService.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/service/RwaIrsExposureRuleService.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/service/RwaIrsNameListEntityService.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/service/RwaIrsParamCacheService.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/service/RwaIrsResultEntityService.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/service/impl/RwaBnfxqzCtlServiceImpl.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/service/impl/RwaCalcLocServiceImpl.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/service/impl/RwaCalcParamCacheServiceImpl.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/service/impl/RwaIrsCalcLocServiceImpl.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/service/impl/RwaIrsExposureRuleServiceImpl.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/service/impl/RwaIrsNameListEntityServiceImpl.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/service/impl/RwaIrsParamCacheServiceImpl.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/service/impl/RwaIrsResultEntityServiceImpl.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/step/BaseStep.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/step/ParamCache.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/step/ParamCacheFromDB.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/step/Step04.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/step/Step05.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/step/Step1.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/step/Step2.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/step/Step3.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/step/Step4.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/step/Step5.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/step/Step6.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/step/irs/IrsInitParameters.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/step/irs/IrsParamCache.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/step/irs/IrsStep1.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/step/irs/IrsStep2.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/step/irs/IrsStep3.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/step/irs/IrsStep4.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/step/irs/IrsStep5.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/step/irs/IrsStep6.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/support/BaseEntity.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/support/TableMappingColumns.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/support/WsRequestBody.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/support/WsResponseBody.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/utils/ArrayUtil.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/utils/CsvUtil.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/utils/DateUtil.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/utils/EntityUtil.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/utils/FuncUtil.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/utils/RwaCalcStringUtils.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/ws/WsRWACalculator.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/ws/data/SourceBh.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/ws/data/SourceCommitment.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/ws/data/SourceCredit.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/ws/data/SourceCreditCard.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/ws/data/SourceCustomer.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/ws/data/SourceDebt.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/ws/data/SourceDiscount.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/ws/data/SourceGuarantee.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/ws/data/SourceIBOut.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/ws/data/SourceLgd.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/ws/data/SourceOthAsset.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/ws/data/SourcePd.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/ws/data/SourcePled.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/ws/data/SourceRepo.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/ws/data/SourceSecurityPosition.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/ws/data/SourceTrade.java create mode 100644 io.sc.engine.rwa.calculator/src/main/java/io/sc/engine/rwa/calculator/ws/data/SourceWeightResult.java create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/META-INF/platform/plugins/components.json create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/META-INF/platform/plugins/liquibase.json create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/META-INF/platform/plugins/parameters.json create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/META-INF/platform/plugins/repositories.json create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/META-INF/spring.factories create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/config/csv-table-mapping-init-data.json create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/config/csv-table-mapping.json create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/config/csvdatadir.properties create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/config/datasource.ini create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/config/rocksdb.properties create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data.zip create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_C_ACCORD_RISK_TOOL_PARAM.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_C_CUST_PARAM.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_C_DEBT_RISK_PARAM.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_P_ACCORD_RISK_TOOL_RECOGN.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_P_BASE_TABLE_MAPPING_DTL.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_P_BASE_TABLE_MAPPING_LIST.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_P_BASE_TABLE_MAPPING_MAIN.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_P_BNFXQZ_CTL.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_P_BWZTFXQZ_CTL.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_P_CIRC_COUNTERPARTY.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_P_DATA_CHECK_RULE_MAIN.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_P_RISK_TOOL_MAPPING.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_P_RWA_REQUIRE.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_P_TABLE_MAPPING_PARAM.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_R_ACCORD_RISK_TOOL_RESULT.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_R_RISK_EXPO_CLS_RES.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_R_RISK_MIGIT_RESULT.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_SAMPLE.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_S_BH.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_S_COMMITMENT.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_S_CREDIT.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_S_CREDIT_CARD.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_S_CUSTOMER.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_S_DEBT.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_S_DISCOUNT.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_S_GUARANTEE.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_S_IBOUT.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_S_OTH_ASSET.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_S_PLED.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_S_REPO.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_S_SECURITY_POSITION.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/data/RWA_S_TRADE.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/ehcache-core-3.10.xsd create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/ehcache.xml create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/RWA_1.0.0_20231201.2_CREATE_TABLE.xml create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/RWA_1.0.0_20240424_TABLES_DATA.xml create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/RWA_1.0.0_20240507.1_CREATE_TABLE.xml create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/data/RWA_P_ACCORD_RISK_TOOL_RECOGN.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/data/RWA_P_BASE_TABLE_MAPPING_DTL.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/data/RWA_P_BASE_TABLE_MAPPING_LIST.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/data/RWA_P_BASE_TABLE_MAPPING_MAIN.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/data/RWA_P_BNFXQZ_CTL.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/data/RWA_P_BWZTFXQZ_CTL.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/data/RWA_P_CIRC_COUNTERPARTY.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/data/RWA_P_DATA_CHECK_RULE_MAIN.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/data/RWA_P_RISK_TOOL_MAPPING.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/data/RWA_P_RWA_REQUIRE.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/data/RWA_P_TABLE_MAPPING_PARAM.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_p_accord_risk_tool_dtl.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_p_accord_risk_tool_main.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_p_accord_risk_tool_recogn.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_p_base_table_mapping_dtl.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_p_base_table_mapping_list.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_p_base_table_mapping_main.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_p_bnfxqz_ctl.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_p_bwztfxqz_ctl.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_p_circ_counterparty.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_p_data_check_rule_main.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_p_expo_rule_dtl.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_p_expo_rule_main.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_p_risk_tool_mapping.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_p_rwa_require.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_p_table_mapping_param.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_r_risk_migit_result.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_s_bh.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_s_commitment.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_s_credit.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_s_credit_card.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_s_customer.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_s_debt.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_s_discount.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_s_guarantee.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_s_ibout.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_s_oth_asset.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_s_pled.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_s_repo.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_s_security_position.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/liquibase/sql/rwa_s_trade.sql create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/wsdata/RWA_S_BH.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/wsdata/RWA_S_COMMITMENT.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/wsdata/RWA_S_CREDIT.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/wsdata/RWA_S_CREDIT_CARD.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/wsdata/RWA_S_CUSTOMER.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/wsdata/RWA_S_DEBT.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/wsdata/RWA_S_DISCOUNT.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/wsdata/RWA_S_GUARANTEE.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/wsdata/RWA_S_IBOUT.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/wsdata/RWA_S_OTH_ASSET.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/wsdata/RWA_S_PLED.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/wsdata/RWA_S_REPO.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/wsdata/RWA_S_SECURITY_POSITION.csv create mode 100644 io.sc.engine.rwa.calculator/src/main/resources/wsdata/RWA_S_TRADE.csv create mode 100644 io.sc.engine.rwa.exporter/CHANGELOG create mode 100644 io.sc.engine.rwa.exporter/README.adoc create mode 100644 io.sc.engine.rwa.exporter/build.gradle create mode 100644 io.sc.engine.rwa.exporter/gradle.properties create mode 100644 io.sc.engine.rwa.importer/CHANGELOG create mode 100644 io.sc.engine.rwa.importer/README.adoc create mode 100644 io.sc.engine.rwa.importer/build.gradle create mode 100644 io.sc.engine.rwa.importer/gradle.properties create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/ConvertException.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/Converter.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/CsvConverterGenerator.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/CsvImporter.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/DbConverterGenerator.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/DbImporter.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/Importer.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/controller/ImporterConfigureController.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/converter/AttributeConfigureEntityVoConverter.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/converter/ImporterConfigureEntityVoConverter.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/executor/CsvExecutor.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/jpa/entity/AttributeConfigureEntity.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/jpa/entity/CsvImporterConfigureEntity.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/jpa/entity/DbImporterConfigureEntity.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/jpa/entity/ImporterConfigureEntity.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/jpa/repository/AttributeConfigureRepository.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/jpa/repository/ImporterConfigureRepository.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/plugins/PluginManager.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/plugins/PluginSpiServiceImpl.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/plugins/item/ImporterExample.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/service/ImporterConfigureService.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/service/ImporterManagerService.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/service/impl/ImporterConfigureServiceImpl.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/service/impl/ImporterManagerServiceImpl.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/test/Test.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/vo/AttributeConfigure.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/vo/CsvImporterConfigure.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/vo/DbImporterConfigure.java create mode 100644 io.sc.engine.rwa.importer/src/main/java/io/sc/engine/rwa/importer/vo/ImporterConfigure.java create mode 100644 io.sc.engine.rwa.importer/src/main/resources/META-INF/platform/plugins/components.json create mode 100644 io.sc.engine.rwa.importer/src/main/resources/META-INF/platform/plugins/liquibase.json create mode 100644 io.sc.engine.rwa.importer/src/main/resources/META-INF/platform/plugins/repositories.json create mode 100644 io.sc.engine.rwa.importer/src/main/resources/META-INF/platform/plugins/rwa-example-importer.json create mode 100644 io.sc.engine.rwa.importer/src/main/resources/META-INF/platform/plugins/web-security.json create mode 100644 io.sc.engine.rwa.importer/src/main/resources/META-INF/services/io.sc.engine.rwa.importer.converter.RecordConverter create mode 100644 io.sc.engine.rwa.importer/src/main/resources/META-INF/spring.factories create mode 100644 io.sc.engine.rwa.importer/src/main/resources/data/billinfo.csv create mode 100644 io.sc.engine.rwa.importer/src/main/resources/data/user.csv create mode 100644 io.sc.engine.rwa.importer/src/main/resources/datasource.ini create mode 100644 io.sc.engine.rwa.importer/src/main/resources/io/sc/engine/rwa/importer/converter/template/CsvConverter.java.ftl create mode 100644 io.sc.engine.rwa.importer/src/main/resources/io/sc/engine/rwa/importer/converter/template/DbConverter.java.ftl create mode 100644 io.sc.engine.rwa.importer/src/main/resources/io/sc/engine/rwa/importer/sample/importer-configure.json create mode 100644 io.sc.engine.rwa.importer/src/main/resources/io/sc/engine/rwa/importer/sourceentity.template/SourceEntity.java.ftl create mode 100644 io.sc.engine.rwa.importer/src/main/resources/liquibase/DATA_IMPORTER_20240529_DDL.xml create mode 100644 io.sc.engine.rwa.importer/src/main/resources/liquibase/TDC_8.0.0_20220606__DATA_IMPORTER_CFG_DDL.xml create mode 100644 io.sc.engine.rwa.model/CHANGELOG create mode 100644 io.sc.engine.rwa.model/README.adoc create mode 100644 io.sc.engine.rwa.model/build.gradle create mode 100644 io.sc.engine.rwa.model/gradle.properties create mode 100644 io.sc.engine.rwa.model/src/main/java/io/sc/engine/rwa/model/Bh.java create mode 100644 io.sc.engine.rwa.model/src/main/java/io/sc/engine/rwa/model/Commitment.java create mode 100644 io.sc.engine.rwa.model/src/main/java/io/sc/engine/rwa/model/Credit.java create mode 100644 io.sc.engine.rwa.model/src/main/java/io/sc/engine/rwa/model/CreditCard.java create mode 100644 io.sc.engine.rwa.model/src/main/java/io/sc/engine/rwa/model/Customer.java create mode 100644 io.sc.engine.rwa.model/src/main/java/io/sc/engine/rwa/model/Debt.java create mode 100644 io.sc.engine.rwa.model/src/main/java/io/sc/engine/rwa/model/Discount.java create mode 100644 io.sc.engine.rwa.model/src/main/java/io/sc/engine/rwa/model/GuaranteeInfo.java create mode 100644 io.sc.engine.rwa.model/src/main/java/io/sc/engine/rwa/model/Ibout.java create mode 100644 io.sc.engine.rwa.model/src/main/java/io/sc/engine/rwa/model/PledgeInfo.java create mode 100644 io.sc.engine.rwa.model/src/main/java/io/sc/engine/rwa/model/Repo.java create mode 100644 io.sc.engine.rwa.model/src/main/java/io/sc/engine/rwa/model/SecurityPosition.java create mode 100644 io.sc.engine.rwa.model/src/main/java/io/sc/engine/rwa/model/Trade.java create mode 100644 io.sc.engine.rwa.model/src/main/java/io/sc/engine/rwa/model/User.java create mode 100644 io.sc.engine.rwa.spliter/CHANGELOG create mode 100644 io.sc.engine.rwa.spliter/README.adoc create mode 100644 io.sc.engine.rwa.spliter/build.gradle create mode 100644 io.sc.engine.rwa.spliter/gradle.properties create mode 100644 io.sc.engine.rwa.validator/CHANGELOG create mode 100644 io.sc.engine.rwa.validator/README.adoc create mode 100644 io.sc.engine.rwa.validator/build.gradle create mode 100644 io.sc.engine.rwa.validator/gradle.properties create mode 100644 io.sc.engine.rwa.ws/README.adoc create mode 100644 io.sc.engine.rwa.ws/build.gradle create mode 100644 io.sc.engine.rwa.ws/gradle.properties create mode 100644 io.sc.engine.rwa.ws/src/main/java/io/sc/engine/rwa/ws/controller/WebServiceController.java create mode 100644 io.sc.engine.rwa.ws/src/main/java/io/sc/engine/rwa/ws/jpa/entity/EsbInterfaceLog.java create mode 100644 io.sc.engine.rwa.ws/src/main/java/io/sc/engine/rwa/ws/jpa/exception/WebServiceException.java create mode 100644 io.sc.engine.rwa.ws/src/main/java/io/sc/engine/rwa/ws/jpa/repository/EsbInterfaceLogRepository.java create mode 100644 io.sc.engine.rwa.ws/src/main/java/io/sc/engine/rwa/ws/service/EsbInterfaceLogService.java create mode 100644 io.sc.engine.rwa.ws/src/main/java/io/sc/engine/rwa/ws/service/impl/EsbInterfaceLogServiceImpl.java create mode 100644 io.sc.engine.rwa.ws/src/main/java/io/sc/engine/rwa/ws/service/support/AppHeader.java create mode 100644 io.sc.engine.rwa.ws/src/main/java/io/sc/engine/rwa/ws/service/support/ESBRequestUtil.java create mode 100644 io.sc.engine.rwa.ws/src/main/java/io/sc/engine/rwa/ws/service/support/EsbConstant.java create mode 100644 io.sc.engine.rwa.ws/src/main/java/io/sc/engine/rwa/ws/service/support/LocalHeader.java create mode 100644 io.sc.engine.rwa.ws/src/main/java/io/sc/engine/rwa/ws/service/support/RequestBody.java create mode 100644 io.sc.engine.rwa.ws/src/main/java/io/sc/engine/rwa/ws/service/support/RequestXml.java create mode 100644 io.sc.engine.rwa.ws/src/main/java/io/sc/engine/rwa/ws/service/support/ResponseBody.java create mode 100644 io.sc.engine.rwa.ws/src/main/java/io/sc/engine/rwa/ws/service/support/ResponseXml.java create mode 100644 io.sc.engine.rwa.ws/src/main/java/io/sc/engine/rwa/ws/service/support/Ret.java create mode 100644 io.sc.engine.rwa.ws/src/main/java/io/sc/engine/rwa/ws/service/support/Sdo.java create mode 100644 io.sc.engine.rwa.ws/src/main/java/io/sc/engine/rwa/ws/service/support/SysHeader.java create mode 100644 io.sc.engine.rwa.ws/src/main/java/io/sc/engine/rwa/ws/utils/DateUtil.java create mode 100644 io.sc.engine.rwa.ws/src/main/resources/META-INF/platform/plugins/application-properties.json create mode 100644 io.sc.engine.rwa.ws/src/main/resources/META-INF/platform/plugins/components.json create mode 100644 io.sc.engine.rwa.ws/src/main/resources/META-INF/platform/plugins/directories.json create mode 100644 io.sc.engine.rwa.ws/src/main/resources/META-INF/platform/plugins/json-serializers.json create mode 100644 io.sc.engine.rwa.ws/src/main/resources/META-INF/platform/plugins/liquibase.json create mode 100644 io.sc.engine.rwa.ws/src/main/resources/META-INF/platform/plugins/messages.json create mode 100644 io.sc.engine.rwa.ws/src/main/resources/META-INF/platform/plugins/p6spy.json create mode 100644 io.sc.engine.rwa.ws/src/main/resources/META-INF/platform/plugins/parameters.json create mode 100644 io.sc.engine.rwa.ws/src/main/resources/META-INF/platform/plugins/repositories.json create mode 100644 io.sc.engine.rwa.ws/src/main/resources/META-INF/platform/plugins/restart-properties.json create mode 100644 io.sc.engine.rwa.ws/src/main/resources/META-INF/platform/plugins/security.json create mode 100644 io.sc.engine.rwa.ws/src/main/resources/META-INF/platform/plugins/swagger.json create mode 100644 io.sc.engine.rwa.ws/src/main/resources/META-INF/platform/plugins/system-properties.json create mode 100644 io.sc.engine.rwa.ws/src/main/resources/io/sc/engine/rwa/ws/i18n/messages.properties create mode 100644 io.sc.engine.rwa.ws/src/main/resources/io/sc/engine/rwa/ws/i18n/messages_zh_CN.properties create mode 100644 io.sc.engine.rwa/build.gradle create mode 100644 settings.gradle diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a522f44 --- /dev/null +++ b/.gitignore @@ -0,0 +1,97 @@ +# 前端============================================== +# Logs +**/logs/ +**/*.log +**/npm-debug.log* +**/yarn-debug.log* +**/yarn-error.log* +**/pnpm-debug.log* +**/lerna-debug.log* + +**/node_modules/ +**/dist/ +**/dist-ssr/ +**/coverage/ +**/*.local +**/package-lock.json +**/pnpm-lock.yaml +**/contribution/frontend-components.json +**/java-src/main/resources/ui/*.html + +**/cypress/videos/ +**/cypress/screenshots/ + +# Editor directories and files +**/.vscode/* +!**/.vscode/extensions.json +**/.idea/ +**/*.suo +**/*.ntvs* +**/*.njsproj +**/*.sln +**/*.sw? + +**/test-results/ +**/playwright-report/ + +# 后端============================================== +# mac os 隐藏文件 +**/.DS_Store + +# 缓存缩略图文件 +**/Thumbs.db + +# gradle 文件夹 +**/.gradle/ + +# svn 文件夹 +**/.svn/ + +# cvs 文件夹及文件 +**/.checkstyle +**/.cvsignore + +# eclipse project 文件夹及文件 +**/.settings/ +**/.classpath +**/.project + +# idea project 文件夹及文件 +**/*.ipr +**/*.iws +**/*.iml +**/.shelf + +# eclipse 构建文件夹 +**/bin/ + +# idea 构建文件夹 +**/out/ +**/work/ + +# gradle 构建文件夹 +**/build/ + +# 第三方工具自动产生的源代码文件夹 +**/src/generated/ + +# spring boot 框架应用运行时自动生成的文件夹 +**/app.*/config/ +**/app.*/logs/ +**/app.*/work/ +**/app.*/tmp/ + +# 日志文件夹及文件 +**/logs/ +**/*.log + +# 所有 jar 文件 +**/*.jar + +# 所有 jrebel 文件 +**/rebel.xml + +# 保留 gradle wrapper 的 jar 文件 +!gradle/wrapper/gradle-wrapper.jar + + diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 0000000..c9ebbed --- /dev/null +++ b/CHANGELOG @@ -0,0 +1,2 @@ += 6.0.0(2022-04-29) +. 初始版本发布 diff --git a/README.adoc b/README.adoc new file mode 100644 index 0000000..e69de29 diff --git a/app.engine.rwa/README.adoc b/app.engine.rwa/README.adoc new file mode 100644 index 0000000..e69de29 diff --git a/app.engine.rwa/build-common.gradle b/app.engine.rwa/build-common.gradle new file mode 100644 index 0000000..b1acd61 --- /dev/null +++ b/app.engine.rwa/build-common.gradle @@ -0,0 +1,19 @@ +/** + * 设置打包文件的运行时目标环境(target) + * 设置方式: 通过命令行 -D 传入目标环境参数 + * 打包命令如下: + * 1. gradle bootwar # 默认, target=tomcat + * 2. gradle bootwar -Dtarget=undertow # undertow, target=undertow + * 3. gradle bootwar -Dtarget=jetty # jetty, target=jetty + */ +def target =System.getProperty("target") ?: "tomcat"; +System.setProperty('target',target); + +// 根据 targetRuntime 变量的值执行实际的 build.gradle +apply from: "build-${target}.gradle" + +// 应用启动项目无需发布到仓库中 +publishPublicationPublicationToMavenRepository.enabled=false + +// 开启 docker 镜像生成任务 +jibBuildTar.enabled =true \ No newline at end of file diff --git a/app.engine.rwa/build-jetty.gradle b/app.engine.rwa/build-jetty.gradle new file mode 100644 index 0000000..6cf0205 --- /dev/null +++ b/app.engine.rwa/build-jetty.gradle @@ -0,0 +1,15 @@ +println "[Jetty] 环境 ......" + +configurations { + all*.exclude group: "org.springframework.boot", module: "spring-boot-starter-tomcat" + all*.exclude group: "org.apache.tomcat.embed", module: "tomcat-embed-core" + all*.exclude group: "org.apache.tomcat.embed", module: "tomcat-embed-websocket" +} + +dependencies { + implementation("org.springframework.boot:spring-boot-starter-jetty") + + providedRuntime( + "org.springframework.boot:spring-boot-starter-jetty", + ) +} diff --git a/app.engine.rwa/build-tomcat.gradle b/app.engine.rwa/build-tomcat.gradle new file mode 100644 index 0000000..a9d85e4 --- /dev/null +++ b/app.engine.rwa/build-tomcat.gradle @@ -0,0 +1,7 @@ +println "[Tomcat] 环境 ......" + +dependencies { + providedRuntime( + "org.springframework.boot:spring-boot-starter-tomcat", + ) +} diff --git a/app.engine.rwa/build-undertow.gradle b/app.engine.rwa/build-undertow.gradle new file mode 100644 index 0000000..00d3b49 --- /dev/null +++ b/app.engine.rwa/build-undertow.gradle @@ -0,0 +1,15 @@ +println "[Undertow] 环境 ......" + +configurations { + all*.exclude group: "org.springframework.boot", module: "spring-boot-starter-tomcat" + all*.exclude group: "org.apache.tomcat.embed", module: "tomcat-embed-core" + all*.exclude group: "org.apache.tomcat.embed", module: "tomcat-embed-websocket" +} + +dependencies { + implementation("org.springframework.boot:spring-boot-starter-undertow") + + providedRuntime( + "org.springframework.boot:spring-boot-starter-undertow", + ) +} diff --git a/app.engine.rwa/build.gradle b/app.engine.rwa/build.gradle new file mode 100644 index 0000000..1381f8f --- /dev/null +++ b/app.engine.rwa/build.gradle @@ -0,0 +1,103 @@ +apply plugin: 'war' +apply plugin: 'com.google.cloud.tools.jib' + +apply from: "build-common.gradle" + +dependencies { + implementation("org.springframework.boot:spring-boot-starter-web"){ + exclude group: "org.springframework.boot", module: "spring-boot-starter-tomcat" + } +} + +dependencies { + implementation ( + project(":io.sc.engine.rwa"), + + "io.sc:io.sc.platform.app:${platform_version}", + "io.sc:io.sc.platform.security.loginform:${platform_version}", + "io.sc:io.sc.platform.developer:${platform_version}", + ) +} + +/** + * replace [application.version] in i18n message file + */ +processResources { + filesMatching('**/messages*.properties') { + println 'replace ${version} in [' + it + ']' + filteringCharset = 'iso8859-1' + filter(org.apache.tools.ant.filters.ReplaceTokens, beginToken: '$version', endToken: '',tokens: [version: '' + project.version]) + } + + doLast{ + // 为了能够兼容 eclipse 和 idea 两种开发环境,调整如下: + // 1. 将 environment.properties 文件放在了 src/main/resources 目录中 + // 2. 在打包时,将该文件删除 + delete "$buildDir/resources/main/running-mode.properties" + } + +} + +bootWar{ + mainClass = "${project.name}.Application" + //launchScript() + manifest { + attributes 'Implementation-Version': archiveVersion, + 'Implementation-Title': project.name + } +} + +bootJar{ + mainClass = "${project.name}.Application" + //launchScript() + manifest { + attributes 'Implementation-Version': archiveVersion, + 'Implementation-Title': project.name + } +} + + +jib { + outputPaths { + tar = "build/libs/${project.name}-${project.version}-image.tar" + } + from { + image = "openjdk:8u342-slim" + //image = "eclipse-temurin:8u382-b05-jdk-focal" + platforms { + platform { + architecture ="arm64" + os ="linux" + } + } + } + to { + image = "${project.name}:${project.version}" + } + extraDirectories { + paths { + path { + from = "build/libs/" + into = "/opt/${project.name}/" + includes = ["${project.name}-${project.version}.war"] + } + } + } + container { + /** + * 设置jvm的启动参数 + * user.timezone - 解决Java程序的时区问题 + */ + jvmFlags = ["-Duser.timezone=Asia/Shanghai"] + creationTime = "USE_CURRENT_TIMESTAMP" + ports = ["8080"] + entrypoint = [ + "java", + "-jar", + "/opt/" + project.name + "/" + project.name + "-" + project.version + ".war", + "--" + project.name + ".home.dir=" + "/opt/" + project.name + ] + //entrypoint = "java -version" + //appRoot = "/usr/local/tomcat/webapps/ROOT" + } +} diff --git a/app.engine.rwa/gradle.properties b/app.engine.rwa/gradle.properties new file mode 100644 index 0000000..e69de29 diff --git a/app.engine.rwa/src/main/java/app/engine/rwa/Application.java b/app.engine.rwa/src/main/java/app/engine/rwa/Application.java new file mode 100644 index 0000000..6c47cf6 --- /dev/null +++ b/app.engine.rwa/src/main/java/app/engine/rwa/Application.java @@ -0,0 +1,16 @@ +package app.engine.rwa; + +import io.sc.platform.core.ApplicationLauncher; +import io.sc.platform.core.PlatformSpringBootServletInitializer; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.web.WebApplicationInitializer; + +/** + * 应用程序入口 + */ +@SpringBootApplication(proxyBeanMethods = false) +public class Application extends PlatformSpringBootServletInitializer implements WebApplicationInitializer { + public static void main(String[] args) throws Exception { + ApplicationLauncher.run(Application.class,args); + } +} diff --git a/app.engine.rwa/src/main/resources/META-INF/platform/plugins/messages.json b/app.engine.rwa/src/main/resources/META-INF/platform/plugins/messages.json new file mode 100644 index 0000000..39f16f7 --- /dev/null +++ b/app.engine.rwa/src/main/resources/META-INF/platform/plugins/messages.json @@ -0,0 +1,5 @@ +{ + "includes":[ + "app/engine/rwa/i18n/messages" + ] +} \ No newline at end of file diff --git a/app.engine.rwa/src/main/resources/app/engine/rwa/i18n/messages.properties b/app.engine.rwa/src/main/resources/app/engine/rwa/i18n/messages.properties new file mode 100644 index 0000000..8de427e --- /dev/null +++ b/app.engine.rwa/src/main/resources/app/engine/rwa/i18n/messages.properties @@ -0,0 +1,3 @@ +application.title=RWA Metering Engine +application.version=$version +application.copyright=Copyright \u00A9 2019\u20132022 \ No newline at end of file diff --git a/app.engine.rwa/src/main/resources/app/engine/rwa/i18n/messages_zh_CN.properties b/app.engine.rwa/src/main/resources/app/engine/rwa/i18n/messages_zh_CN.properties new file mode 100644 index 0000000..f3973ad --- /dev/null +++ b/app.engine.rwa/src/main/resources/app/engine/rwa/i18n/messages_zh_CN.properties @@ -0,0 +1,3 @@ +application.title=RWA \u8BA1\u91CF\u5F15\u64CE +application.version=$version +application.copyright=Copyright \u00A9 2019\u20132022 \ No newline at end of file diff --git a/app.engine.rwa/src/main/resources/datasource.ini b/app.engine.rwa/src/main/resources/datasource.ini new file mode 100644 index 0000000..880d2c8 --- /dev/null +++ b/app.engine.rwa/src/main/resources/datasource.ini @@ -0,0 +1,11 @@ +[engine] +JdbcDriver=org.sqlite.JDBC +JdbcUrl=jdbc:sqlite:/Users/wangshaoping/wspsc/workspace/wangshaoping/v11/engine-rwa/work/db/rwa.db +Username= +Password= + +[app] +JdbcDriver=com.mysql.cj.jdbc.Driver +JdbcUrl=jdbc:mysql://localhost:3306/platform?autoReconnect=true&allowPublicKeyRetrieval=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai +Username=platform +Password=platform \ No newline at end of file diff --git a/app.engine.rwa/src/main/resources/running-mode.properties b/app.engine.rwa/src/main/resources/running-mode.properties new file mode 100644 index 0000000..e5b12e7 --- /dev/null +++ b/app.engine.rwa/src/main/resources/running-mode.properties @@ -0,0 +1 @@ +development=true \ No newline at end of file diff --git a/app.engine.rwa/src/main/resources/static/app.engine.rwa/images/background.svg b/app.engine.rwa/src/main/resources/static/app.engine.rwa/images/background.svg new file mode 100644 index 0000000..9d88e3a --- /dev/null +++ b/app.engine.rwa/src/main/resources/static/app.engine.rwa/images/background.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app.engine.rwa/src/main/resources/static/app.engine.rwa/images/logo.svg b/app.engine.rwa/src/main/resources/static/app.engine.rwa/images/logo.svg new file mode 100644 index 0000000..c8191d8 --- /dev/null +++ b/app.engine.rwa/src/main/resources/static/app.engine.rwa/images/logo.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/build-version.gradle b/build-version.gradle new file mode 100644 index 0000000..817a8e9 --- /dev/null +++ b/build-version.gradle @@ -0,0 +1,201 @@ +/*********************************************************************** + * 覆盖 springboot 默认包版本 + **********************************************************************/ +subprojects { + // ext['activemq.version'] = + // ext['antlr2.version'] = + // ext['appengine-sdk.version'] = + // ext['artemis.version'] = + // ext['aspectj.version'] = + // ext['assertj.version'] = + // ext['atomikos.version'] = + // ext['awaitility.version'] = + // ext['bitronix.version'] = + // ext['build-helper-maven-plugin.version'] = + // ext['byte-buddy.version'] = + // ext['caffeine.version'] = + // ext['cassandra-driver.version'] = + // ext['classmate.version'] = + // ext['commons-codec.version'] = + // ext['commons-dbcp2.version'] = + // ext['commons-lang3.version'] = + // ext['commons-pool.version'] = + // ext['commons-pool2.version'] = + // ext['couchbase-client.version'] = + // ext['db2-jdbc.version'] = + // ext['dependency-management-plugin.version'] = + // ext['derby.version'] = + // ext['dropwizard-metrics.version'] = + // ext['ehcache.version'] = + // ext['ehcache3.version'] = + // ext['elasticsearch.version'] = + // ext['embedded-mongo.version'] = + // ext['flyway.version'] = + // ext['freemarker.version'] = + // ext['git-commit-id-plugin.version'] = + // ext['glassfish-el.version'] = + // ext['glassfish-jaxb.version'] = + // ext['groovy.version'] = + // ext['gson.version'] = + // ext['h2.version'] = + // ext['hamcrest.version'] = + // ext['hazelcast.version'] = + // ext['hazelcast-hibernate5.version'] = + // ext['hibernate.version'] = + // ext['hibernate-validator.version'] = + // ext['hikaricp.version'] = + // ext['hsqldb.version'] = + // ext['htmlunit.version'] = + // ext['httpasyncclient.version'] = + // ext['httpclient.version'] = + // ext['httpcore.version'] = + // ext['infinispan.version'] = + // ext['influxdb-java.version'] = + // ext['jackson-bom.version'] = + // ext['jakarta-activation.version'] = + // ext['jakarta-annotation.version'] = + // ext['jakarta-jms.version'] = + // ext['jakarta-json.version'] = + // ext['jakarta-json-bind.version'] = + // ext['jakarta-mail.version'] = + // ext['jakarta-persistence.version'] = + // ext['jakarta-servlet.version'] = + // ext['jakarta-servlet-jsp-jstl.version'] = + // ext['jakarta-transaction.version'] = + // ext['jakarta-validation.version'] = + // ext['jakarta-websocket.version'] = + // ext['jakarta-ws-rs.version'] = + // ext['jakarta-xml-bind.version'] = + // ext['jakarta-xml-soap.version'] = + // ext['jakarta-xml-ws.version'] = + // ext['janino.version'] = + // ext['javax-activation.version'] = + // ext['javax-annotation.version'] = + // ext['javax-cache.version'] = + // ext['javax-jaxb.version'] = + // ext['javax-jaxws.version'] = + // ext['javax-jms.version'] = + // ext['javax-json.version'] = + // ext['javax-jsonb.version'] = + // ext['javax-mail.version'] = + // ext['javax-money.version'] = + // ext['javax-persistence.version'] = + // ext['javax-transaction.version'] = + // ext['javax-validation.version'] = + // ext['javax-websocket.version'] = + // ext['jaxen.version'] = + // ext['jaybird.version'] = + // ext['jboss-logging.version'] = + // ext['jboss-transaction-spi.version'] = + // ext['jdom2.version'] = + // ext['jedis.version'] = + // ext['jersey.version'] = + // ext['jetty.version'] = + // ext['jetty-el.version'] = + // ext['jetty-jsp.version'] = + // ext['jetty-reactive-httpclient.version'] = + // ext['jmustache.version'] = + // ext['johnzon.version'] = + // ext['jolokia.version'] = + // ext['jooq.version'] = + // ext['json-path.version'] = + // ext['json-smart.version'] = + // ext['jsonassert.version'] = + // ext['jstl.version'] = + // ext['jtds.version'] = + // ext['junit.version'] = + // ext['junit-jupiter.version'] = + // ext['kafka.version'] = + // ext['kotlin.version'] = + // ext['kotlin-coroutines.version'] = + // ext['lettuce.version'] = + // ext['liquibase.version'] = + // ext['log4j2.version'] = + // ext['logback.version'] = + // ext['lombok.version'] = + // ext['mariadb.version'] = + // ext['maven-antrun-plugin.version'] = + // ext['maven-assembly-plugin.version'] = + // ext['maven-clean-plugin.version'] = + // ext['maven-compiler-plugin.version'] = + // ext['maven-dependency-plugin.version'] = + // ext['maven-deploy-plugin.version'] = + // ext['maven-enforcer-plugin.version'] = + // ext['maven-failsafe-plugin.version'] = + // ext['maven-help-plugin.version'] = + // ext['maven-install-plugin.version'] = + // ext['maven-invoker-plugin.version'] = + // ext['maven-jar-plugin.version'] = + // ext['maven-javadoc-plugin.version'] = + // ext['maven-resources-plugin.version'] = + // ext['maven-shade-plugin.version'] = + // ext['maven-source-plugin.version'] = + // ext['maven-surefire-plugin.version'] = + // ext['maven-war-plugin.version'] = + // ext['micrometer.version'] = + // ext['mimepull.version'] = + // ext['mockito.version'] = + // ext['mongodb.version'] = + // ext['mssql-jdbc.version'] = + // ext['mysql.version'] = + // ext['nekohtml.version'] = + // ext['neo4j-java-driver.version'] = + // ext['netty.version'] = + // ext['netty-tcnative.version'] = + // ext['nimbus-jose-jwt.version'] = + // ext['oauth2-oidc-sdk.version'] = + // ext['ojdbc.version'] = + // ext['okhttp3.version'] = + // ext['oracle-database.version'] ='12.2.0.1' + // ext['pooled-jms.version'] = + // ext['postgresql.version'] = + // ext['prometheus-pushgateway.version'] = + // ext['quartz.version'] = + // ext['querydsl.version'] = + // ext['r2dbc-bom.version'] = + // ext['rabbit-amqp-client.version'] = + // ext['reactive-streams.version'] = + // ext['reactor-bom.version'] = + // ext['rest-assured.version'] = + // ext['rsocket.version'] = + // ext['rxjava.version'] = + // ext['rxjava-adapter.version'] = + // ext['rxjava2.version'] = + // ext['saaj-impl.version'] = + // ext['selenium.version'] = + // ext['selenium-htmlunit.version'] = + // ext['sendgrid.version'] = + // ext['servlet-api.version'] = + // ext['slf4j.version'] = + // ext['snakeyaml.version'] = + // ext['solr.version'] = + // ext['spring-amqp.version'] = + // ext['spring-batch.version'] = + // ext['spring-data-bom.version'] = + // ext['spring-framework.version'] = + // ext['spring-hateoas.version'] = + // ext['spring-integration.version'] = + // ext['spring-kafka.version'] = + // ext['spring-ldap.version'] = + // ext['spring-restdocs.version'] = + // ext['spring-retry.version'] = + // ext['spring-security.version'] = + // ext['spring-session-bom.version'] = + // ext['spring-ws.version'] = + // ext['sqlite-jdbc.version'] = + // ext['sun-mail.version'] = + // ext['thymeleaf.version'] = + // ext['thymeleaf-extras-data-attribute.version'] = + // ext['thymeleaf-extras-java8time.version'] = + // ext['thymeleaf-extras-springsecurity.version'] = + // ext['thymeleaf-layout-dialect.version'] = + // ext['tomcat.version'] = + // ext['unboundid-ldapsdk.version'] = + // ext['undertow.version'] = + // ext['versions-maven-plugin.version'] = + // ext['webjars-hal-browser.version'] = + // ext['webjars-locator-core.version'] = + // ext['wsdl4j.version'] = + // ext['xml-maven-plugin.version'] = + // ext['xmlunit2.version'] = +} diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..16f0ad3 --- /dev/null +++ b/build.gradle @@ -0,0 +1,835 @@ +apply from: "build-version.gradle" + +def isFrontendProject(currentDir){ + return file(currentDir.getAbsolutePath() + '/package.json').exists() && !file(currentDir.getAbsolutePath() + '/webpack.env.lib.cjs').exists(); +} + +/*********************************************************************** + * gradle 插件 + **********************************************************************/ +buildscript { + repositories { + maven { + allowInsecureProtocol = true + url "${repository_url}" + } + } + dependencies { + classpath "org.springframework.boot:org.springframework.boot.gradle.plugin:${spring_boot_version}" + classpath "io.sc:io.sc.platform.gradle:${platform_plugin_version}" + classpath "org.asciidoctor:asciidoctor-gradle-jvm:${asciidoctor_version}" + classpath "com.google.cloud.tools:jib-gradle-plugin:${jib_version}" + } +} + +/*********************************************************************** + * 所有项目(根项目及其子项目)都应用的插件 + **********************************************************************/ +allprojects { + apply plugin: 'idea' + apply plugin: 'io.sc.platform.gradle' +} + +/*********************************************************************** + * 所有子项目应用的插件 + **********************************************************************/ +subprojects { + apply plugin: 'java' + apply plugin: 'java-library' + apply plugin: 'eclipse' + apply plugin: 'maven-publish' + apply plugin: 'org.springframework.boot' + apply plugin: 'io.spring.dependency-management' + apply plugin: "org.asciidoctor.jvm.convert" + + configurations.all { + //设置 gradle 拉取依赖包的缓存策略为不进行缓存,可保证每次拉取最新的依赖包 + //resolutionStrategy.cacheDynamicVersionsFor 0, 'seconds' //动态版本: 1.1.+ + //resolutionStrategy.cacheChangingModulesFor 0, 'seconds' //静态版本: 1.1.2 + + //排除不需要的外部依赖 + exclude group: "org.apache.logging.log4j", module: "log4j-api" + exclude group: "org.apache.logging.log4j", module: "log4j-to-slf4j" + exclude group: "org.slf4j", module: "slf4j-jdk14" + exclude group: "org.slf4j", module: "slf4j-nop" + } + + dependencyManagement { + resolutionStrategy { + //设置 gradle 拉取依赖包的缓存策略为不进行缓存,可保证每次拉取最新的依赖包 + //cacheDynamicVersionsFor 0, 'seconds' //动态版本: 1.1.+ + //cacheChangingModulesFor 0, 'seconds' //静态版本: 1.1.2 + } + imports { + //mavenBom "org.springframework.cloud:spring-cloud-dependencies:${spring_cloud_version}" + mavenBom "com.alibaba.cloud:spring-cloud-alibaba-dependencies:${spring_cloud_alibaba_version}" + mavenBom "org.springframework.statemachine:spring-statemachine-bom:${spring_statemachine_version}" + } + } + + /*----------------------------------------------------------------- + * 配置构建时所需依赖的仓库 url + * 将仓库 url 都定位到 ${repository_url} 指定的本地私有仓库地址 + *----------------------------------------------------------------*/ + repositories { + all { ArtifactRepository repo -> + if(repo instanceof MavenArtifactRepository){ + def url = repo.url.toString() + if ( + url.startsWith('https://repo1.maven.org/maven2') + || url.startsWith('https://jcenter.bintray.com/') + || url.startsWith('https://maven.aliyun.com') + ) { + remove repo + } + } + } + maven { + allowInsecureProtocol = true + url "${repository_url}" + } + } + + /*----------------------------------------------------------------- + * java 编译时选项 + *----------------------------------------------------------------*/ + sourceCompatibility ="${java_version}" + targetCompatibility ="${java_version}" + compileJava.options.encoding ="${java_encoding}" + compileTestJava.options.encoding ="${java_encoding}" + + tasks.withType(JavaCompile) { + options.compilerArgs += ["-Xlint:deprecation","-Xlint:unchecked"] + } + + /*----------------------------------------------------------------- + * 配置项目基本信息 + *----------------------------------------------------------------*/ + group ="${application_group}" + version ="${application_version}" + + if(file('package.json').exists()){ + mkdir 'java-src/main/java'; + mkdir 'java-src/main/resources'; + mkdir 'dist'; + sourceSets.main.java.srcDir 'java-src/main/java' + sourceSets.main.resources.srcDir 'java-src/main/resources' + sourceSets.main.resources.srcDir 'dist' + } + + /*----------------------------------------------------------------- + * 源代码打包配置 + *----------------------------------------------------------------*/ + task sourcesJar (type : Jar) { + from sourceSets.main.allJava + archiveClassifier = 'sources' + } + + /*----------------------------------------------------------------- + * Java 文档打包配置 + *----------------------------------------------------------------*/ + javadoc { + options.encoding = 'UTF-8' + // 为了能够尽量规范 java doc 文档编写, 指定如果 java doc 中有错误,会报错,并且无法发布到仓库中 + failOnError=false + } + + task javadocJar (type: Jar) { + from javadoc + archiveClassifier = 'javadoc' + } + + clean { + delete 'dist' //删除前端自动生成的资源目录 + delete 'bin' //删除 eclipse 编译的 bin 目录 + delete 'build' //删除 gradle 构建目录 + } + + /*----------------------------------------------------------------- + * 配置 eclipse 插件 + *----------------------------------------------------------------*/ + eclipse{ + jdt{ + sourceCompatibility ="${java_version}" + targetCompatibility ="${java_version}" + } + } + + /*----------------------------------------------------------------- + * springboot 插件配置 + *----------------------------------------------------------------*/ + jar { + //可以生成普通的 jar + enabled = true + archiveClassifier.set("") + manifest { + attributes 'Manifest-Version' : '1.0', + 'Implementation-Title' : name, + 'Implementation-Vendor' : group, + 'Implementation-Version': archiveVersion + } + } + + /*----------------------------------------------------------------- + * asciidoctor 插件配置,用于生成 asciidoc 文档,用于打包到 jar 中 + *----------------------------------------------------------------*/ + asciidoctor { + baseDirFollowsSourceDir() + outputs.upToDateWhen { true } + + logDocuments = true + sourceDir = file('asciidoc') + sources { + include '*.adoc' + } + outputDir = file("dist/help/" + project.name) + resources { + from(sourceDir) { + include 'resources/**' + } + } + } + + asciidoctorj { + modules { + diagram.use() + } + } + + /*----------------------------------------------------------------- + * 自定义任务,用于生成 asciidoc 文档到 web 服务器,以便实时查看效果 + *----------------------------------------------------------------*/ + task doc(type: org.asciidoctor.gradle.jvm.AsciidoctorTask){ + baseDirFollowsSourceDir() + outputs.upToDateWhen { true } + + logDocuments = true + sourceDir = file('asciidoc') + sources { + include '*.adoc' + } + outputDir = file("$asciidoc_deploy_dir" + project.name) + + // 拷贝 asciidoc 自定义资源 + // 设置方式: 通过命令行 -D 传入目标环境参数 + // gradle doc -DdocResource=true # 需要拷贝自定义资源 + // gradle doc -DdocResource=false # 不需要拷贝自定义资源 + def docResource =System.getProperty("docResource")?:"true"; + if(docResource=="true"){ + resources { + from(sourceDir) { + include 'resources/**' + } + } + } + } + + /*----------------------------------------------------------------- + * 资源处理前执行 asciidoctor + *----------------------------------------------------------------*/ + processResources { + dependsOn asciidoctor + doLast{ + //打包时移除 jrebel 相关的文件 + delete "$buildDir/resources/main/rebel.xml" + } + } + + /*----------------------------------------------------------------- + * 用于自动生成 jrebel.xml 文件的自定义任务(eclipse) + *----------------------------------------------------------------*/ + task jrebelEclipse() {} + tasks.jrebelEclipse.doLast { + File resourcesFile =file('src/main/resources') + if(resourcesFile!=null && resourcesFile.exists()){ + File rebelFile = file('src/main/resources/rebel.xml') + rebelFile.withWriter('UTF-8') { writer -> + writer.write('\n'); + writer.write('\n'); + writer.write('\t\n'); + if(file(project.name + '/src/main').exists()){ + writer.write('\t\t\n'); + } + if(file(project.name + '/src/generated').exists()){ + writer.write('\t\t\n'); + } + writer.write('\t\n'); + writer.write(''); + } + } + } + + /*----------------------------------------------------------------- + * 用于自动生成 jrebel.xml 文件的自定义任务(idea) + *----------------------------------------------------------------*/ + task jrebelIdea() {} + tasks.jrebelIdea.doLast { + if(isFrontendProject(file('.'))) { + File resourcesFile = file('java-src/main/resources') + if (resourcesFile != null && resourcesFile.exists()) { + File rebelFile = file('java-src/main/resources/rebel.xml') + rebelFile.withWriter('UTF-8') { writer -> + writer.write('\n'); + writer.write('\n'); + writer.write('\t\n'); + if (file(project.name + '/java-src/main').exists()) { + writer.write('\t\t\n'); + } + writer.write('\t\n'); + writer.write(''); + } + } + }else { + File resourcesFile = file('src/main/resources') + if (resourcesFile != null && resourcesFile.exists()) { + File rebelFile = file('src/main/resources/rebel.xml') + rebelFile.withWriter('UTF-8') { writer -> + writer.write('\n'); + writer.write('\n'); + writer.write('\t\n'); + if (file(project.name + '/src/main').exists()) { + writer.write('\t\t\n'); + } + writer.write('\t\n'); + writer.write(''); + } + } + } + } + + /*----------------------------------------------------------------- + * maven publish 插件配置 + *----------------------------------------------------------------*/ + publishing { + repositories { + maven { + allowInsecureProtocol = true //允许采用 http 协议发布 + url = version.contains('SNAPSHOT') ? "${repository_snapshot_url}" : "${repository_release_url}" + credentials { + username = (version.contains('SNAPSHOT') ? "${repository_snapshot_username}" : "${repository_release_username}") + password = (version.contains('SNAPSHOT') ? "${repository_snapshot_password}" : "${repository_release_password}") + } + } + } + publications{ + publication(MavenPublication){ + from components.java + //artifact sourcesJar + //artifact javadocJar + versionMapping { + usage('java-api') { + fromResolutionOf('runtimeClasspath') + } + usage('java-runtime') { + fromResolutionResult() + } + } + } + } + } + + /*----------------------------------------------------------------- + * 更新前端模块的 package.json 文件,同步其中的 name 和 version + *----------------------------------------------------------------*/ + task frontendUpdatePackageJson(){} + tasks.frontendUpdatePackageJson.doFirst { + if(isFrontendProject(file('.'))) { + println '开始执行 frontendUpdatePackageJson ......' + } + } + tasks.frontendUpdatePackageJson.doLast { + if(isFrontendProject(file('.'))){ + String content =file('package.json').text; + def packageJson = new groovy.json.JsonSlurper().parseText(content); + if(packageJson!=null){ + println packageJson.dependencies; + packageJson.name =project.name; + packageJson.version =project.version; + packageJson.dependencies['platform-core']=platform_core_frontend_version; + def json = groovy.json.JsonOutput.toJson(packageJson); + file('package.json').withWriter('UTF-8') { writer -> + writer.write(groovy.json.JsonOutput.prettyPrint(json)); + } + } + } + } + + /*----------------------------------------------------------------- + * pnpm install + *----------------------------------------------------------------*/ + task frontendNpmInstall(type:Exec){ + if(isFrontendProject(file('.'))){ + workingDir '.' + if(org.gradle.internal.os.OperatingSystem.current().isWindows()){ + commandLine 'cmd', '/c', 'pnpm', 'install' + }else{ + commandLine 'pnpm', 'install' + } + }else{ + if(org.gradle.internal.os.OperatingSystem.current().isWindows()){ + commandLine 'cmd', '/c', 'cd', '.' + }else{ + commandLine 'cd', '.' + } + } + } + tasks.frontendNpmInstall.doFirst { + if(isFrontendProject(file('.'))) { + println '开始执行 pnpm install ......'; + } + } + + /*----------------------------------------------------------------- + * pnpm sync + *----------------------------------------------------------------*/ + task frontendNpmSync(type:Exec){ + if(isFrontendProject(file('.')) && !project.name.contains("io.sc.platform.security.frontend")){ + workingDir '.' + if(org.gradle.internal.os.OperatingSystem.current().isWindows()){ + commandLine 'cmd', '/c', 'pnpm', 'sync' + }else{ + commandLine 'pnpm', 'sync' + } + }else{ + if(org.gradle.internal.os.OperatingSystem.current().isWindows()){ + commandLine 'cmd', '/c', 'cd', '.' + }else{ + commandLine 'cd', '.' + } + } + } + tasks.frontendNpmSync.doFirst { + if(isFrontendProject(file('.'))) { + println '开始执行 pnpm sync ......'; + } + } + + /*----------------------------------------------------------------- + * pnpm run build + *----------------------------------------------------------------*/ + task frontendNpmBuild(type:Exec) { + if(isFrontendProject(file('.'))){ + workingDir '.' + if(org.gradle.internal.os.OperatingSystem.current().isWindows()){ + commandLine 'cmd', '/c', 'pnpm', 'run', 'build' + }else{ + commandLine 'pnpm', 'run', 'build' + } + }else{ + if(org.gradle.internal.os.OperatingSystem.current().isWindows()){ + commandLine 'cmd', '/c', 'cd', '.' + }else{ + commandLine 'cd', '.' + } + } + } + tasks.frontendNpmBuild.doFirst { + if (isFrontendProject(file('.'))) { + println '开始执行 pnpm run build ......' + } + } + + /*----------------------------------------------------------------- + * pnpm run prod + *----------------------------------------------------------------*/ + task frontendNpmProd(type:Exec) { + if(isFrontendProject(file('.'))){ + workingDir '.' + if(org.gradle.internal.os.OperatingSystem.current().isWindows()){ + commandLine 'cmd', '/c', 'pnpm', 'run', 'prod' + }else{ + commandLine 'pnpm', 'run', 'prod' + } + }else{ + if(org.gradle.internal.os.OperatingSystem.current().isWindows()){ + commandLine 'cmd', '/c', 'cd', '.' + }else{ + commandLine 'cd', '.' + } + } + } + tasks.frontendNpmProd.doFirst { + if(isFrontendProject(file('.'))){ + println '开始执行 pnpm run prod ......' + } + } + + /*----------------------------------------------------------------- + * 将入口前端 dist/public/模块名 目录下 index.html 文件复制到 classpath:/templates/模块名.html + * 提供给 thymeleaf 作为视图模板使用 + *----------------------------------------------------------------*/ + task frontendGenerateThymeleafTemplate {} + tasks.frontendGenerateThymeleafTemplate.doFirst { + if(isFrontendProject(file('.'))) { + println '开始执行 frontendGenerateThymeleafTemplate ......' + delete "java-src/main/resources/templates" + mkdir "java-src/main/resources/templates" + } + } + tasks.frontendGenerateThymeleafTemplate.doLast { + if(isFrontendProject(file('.'))) { + def content = file("dist/public/${project.name}/index.html").text; + content = content.replace('