Skip to content

Microservice Internal Views

Per-service breakdown of controllers, services, repositories, Kafka topics, and Redis keys. These reflect the actual package structure in cbms-ai-microservies/.


Customer Service :8082

Controller Endpoints Description
CustomerController POST, GET, PUT /api/v1/customers Individual customer CRUD
CorporateCustomerController POST, GET, PUT /api/v1/customers/corporate Corporate customer management
CustomerIdController POST /api/v1/customers/check-id, PUT /api/v1/customers/{custId}/change-id ID operations
DeathMarkingController POST /api/v1/customers/{custId}/death-marking Deceased marking
CustomerSecurityController GET, PUT /api/v1/customers/{custId}/security Security and watchlist
BlockListController POST, DELETE /api/v1/customers/{custId}/block Block list management
CustomerNomineeController POST, GET /api/v1/customers/{custId}/nominees Nominee management
Service Class Responsibility
CustomerService Create / update / retrieve customer master
CustomerValidationService PAN / Aadhaar format, age check, duplicate detection
CustomerSearchService Multi-criteria search with pagination
DeathMarkingService Status transition to DECEASED, nominee unlock
BlockListService Watchlist / blacklist management
CustomerEventPublisher Publishes customer-created, customer-updated to Kafka
Repository Entity Table
CustomerRepository CustomerMaster customer_master
CustomerKycRepository CustomerKyc customer_kyc
CustomerAddressRepository CustomerAddress customer_address
CustomerContactRepository CustomerContact customer_contact
CustomerNomineeRepository CustomerNominee customer_nominee
CustomerSecurityRepository CustomerSecurity customer_security
CustomerBlockListRepository CustomerBlockList customer_block_list
DeathMarkingRepository CustomerDeathMarking customer_death_marking

Kafka topics published:

Topic Trigger
customer-created New customer saved
customer-updated Customer profile updated
customer-deceased Death marking applied

Redis keys:

Key Pattern TTL Content
customer:{custId} 600s Full customer detail response
customer:search:{hashOfParams} 120s Search result page

Deposit Service :8081

Controller Endpoints Description
TermDepositController POST, GET, PUT /api/v1/deposits/term-deposits Term deposit CRUD
DepositAuthorizeController POST /{depositNumber}/authorize Authorization workflow
DepositClosingController POST /{depositNumber}/close Closure processing
DepositRenewalController POST /{depositNumber}/renew Renewal processing
DepositJointHolderController POST, GET /{depositNumber}/joint-holders Joint holder management
DepositNomineeController POST, GET /{depositNumber}/nominees Nominee management
TDSController POST /calculate-tds TDS computation
Service Class Responsibility
TermDepositService Core create/update/retrieve with product and customer validation
DepositAuthorizeService Authorizer role check, transaction posting via ms-transaction
DepositClosingService Accrued interest from ms-periodic-activity, penalty, payout
DepositRenewalService New deposit creation, sub-account link
TDSCalculationService TDS rate, exemption limit, deduction amount
DepositNumberGenerator Generates TD-{branch}-{date}-{seq}
DepositEventPublisher Publishes deposit-created, deposit-closed, deposit-renewed
Repository Entity Table
TermDepositRepository TermDeposit term_deposit
DepositAuthorizeRepository DepositAuthorize deposit_authorize
DepositClosingRepository DepositClosing deposit_closing
DepositJointHolderRepository DepositJointHolder deposit_joint_holder
DepositNomineeRepository DepositNominee deposit_nominee
DepositSubAcinfoRepository DepositSubAcinfo deposit_sub_acinfo

Kafka topics published:

Topic Trigger
deposit-created New term deposit booked
deposit-authorized Deposit authorized
deposit-closed Deposit closed (maturity or premature)
deposit-renewed Deposit renewed

Feign clients (outgoing):

Client Service Usage
CustomerServiceClient ms-customer :8082 Customer validation
ProductServiceClient ms-product :8083 Scheme and rate lookup
PeriodicActivityServiceClient ms-periodic-activity :8087 Accrued interest
TransactionServiceClient ms-transaction :8085 Transaction posting

Product Service :8083

Controller Endpoints Description
DepositSchemeController POST, GET, PUT /api/v1/products/deposit-scheme Deposit scheme CRUD
DepositRateSlabController POST, GET /{schemeCode}/rate-slabs Rate slab management
DepositRenewalParamsController POST, GET /{schemeCode}/renewal-params Renewal params
DepositACHeadController POST, GET /{schemeCode}/ac-head GL account linkage
LoanProductController POST, GET, PUT /api/v1/products/loan-product Loan product CRUD
LoanClassificationController POST, GET /{productCode}/npa-classification NPA rules
LoanSubsidyController POST, GET /{productCode}/subsidy Subsidy config
GroupLoanController POST, GET /api/v1/products/group-loan Group loan products
Service Class Responsibility
DepositSchemeService Scheme validation, rate slab overlap check, GL linkage via Feign
LoanProductService Loan product CRUD, NPA and subsidy management
RateSlabService Slab non-overlap enforcement, effective date management
Repository Entity Table
DepositSchemeRepository DepositScheme deposit_scheme
DepositRateSlabRepository DepositRateSlab deposit_rate_slab
DepositRenewalParamsRepository DepositRenewalParams deposit_renewal_params
DepositACHeadRepository DepositACHead deposit_ac_head
LoanProductRepository LoanProduct loan_product
LoanNPAClassificationRepository LoanNpaClassification loan_npa_classification
LoanSubsidyRepository LoanSubsidy loan_subsidy

Transaction Service :8085

Controller Endpoints Description
TransactionController POST, GET /api/v1/transactions Transaction CRUD
CashTransactionController POST /api/v1/transactions/cash Cash vouchers
TransferController POST /api/v1/transactions/transfers Transfer/DD/PO
TransAllController POST, GET /api/v1/transactions/transall Composite GL postings
TransactionExceptionController POST /api/v1/transactions/exceptions Exception handling
TransactionReversalController POST /{transactionRef}/reverse Reversal
Service Class Responsibility
TransactionService Core create with duplicate prevention
CashTransactionService Denomination breakup, vault cash management
TransferService Inter-account, inter-branch, DD/PO modes
TransAllService Composite entry balance validation
TransactionEventPublisher Publishes transaction-created, transaction-reversed

Kafka topics published:

Topic Trigger
transaction-created Any new transaction
transaction-reversed Reversal posted
transall-posted TransAll batch completed

General Ledger Service :8088

Controller Endpoints Description
MajorHeadController POST, GET, PUT /api/v1/general-ledger/major-head Major head management
SubHeadController POST, GET, PUT /api/v1/general-ledger/sub-head Sub head management
AccountHeadController POST, GET, PUT /api/v1/general-ledger/account-head Account head CRUD
GLLimitController POST, GET /api/v1/general-ledger/gl-limit Debit/credit limits
BranchwiseGLController GET /api/v1/general-ledger/branchwise Branch-wise GL view
GLPostingController POST, GET /api/v1/general-ledger/posting Posting entries

Kafka topics published:

Topic Trigger
gl-account-created New account head created
gl-posting-made GL posting entry recorded

Periodic Activity Service :8087

Controller Endpoints Description
InterestRateGroupController POST, GET, PUT /api/v1/periodic-activity/interest-rate-groups Rate group CRUD
ClosingPositionController GET /api/v1/periodic-activity/closing-position/{depositNumber} Accrued interest
EODController POST /api/v1/periodic-activity/eod End-of-day processing trigger
MonthEndController POST /api/v1/periodic-activity/month-end Month-end interest posting

Kafka topics published:

Topic Trigger
eod-completed EOD processing done
interest-accrued Daily interest accrual
month-end-completed Month-end interest posting complete

System Setup Service :8089

Controller Endpoints Description
SystemConfigurationController POST, GET, PUT /api/v1/system-setup/configuration System params
PasswordPolicyController GET, PUT /api/v1/system-setup/configuration/pwd-rules Password rules

Bank & Branch Service :8090

Controller Endpoints Description
BankInfoController POST, GET, PUT /api/v1/bank-branch/bank-info Bank master
BranchController POST, GET, PUT /api/v1/bank-branch/branches Branch management
BranchHierarchyController GET /api/v1/bank-branch/hierarchy Branch tree

Common Service :8091

Controller Endpoints Description
LookupController GET /api/v1/common/lookup/{type} Lookup code values
HolidayCalendarController POST, GET /api/v1/common/holidays Holiday management
SystemParamController GET, PUT /api/v1/common/system-params System parameters

Kafka topics consumed:

Topic Consumer Group Action
customer-created common-service-group Sync to common lookup cache
deposit-created common-service-group Update activity log

Redis keys:

Key Pattern TTL Content
lookup:{type} 3600s All lookup values for a type
holiday:{branchCode}:{year} 86400s Holiday list for branch/year