Billing Service v 2

INTRODUCTION



An eGov core application which handles creating demand and bill for the services provided by the ULB like property tax, water charges etc...

Requirements:

  1. Prior Knowledge of Java/J2EE.

  2. Prior Knowledge of Spring Boot.

  3. Prior Knowledge of KAFKA

  4. Prior Knowledge of REST APIs and related concepts like path parameters, headers, JSON etc.

  5. Prior knowledge of demand based system.

  6. MDMS service, id Gen, eGov-user of eGov core applications.



Functionality: 

eGov billing service creates and maintains demands, bills for citizens based on the services they consume from the tenant(ULB) and generate bills on demand.

 

Feature List: 

 

  1. Master data search
    APIs to provide master data fetched from mdms service

  2. Demand
    Create and update for storing demand in the system, provides search for other application to access the demand.

  3. Bill 
    Generate bill to provide new bills on requirement, fetch bill api to provide a valid bill but not necessarily a new one.

 

FLOW DIAGRAM 

SETUP AND USAGE:

The Application is present in billing services folder available in the Business-services git repository.  The spring boot application but needs lombok* extension added in your ide to load it. Once the application is up and running API requests can be posted to the url and ids can be generated. 

  • *in case of intellij the plugin can be installed directly, for eclipse the lombok jar location has to be added in eclipse.ini file in this format

  • javaagent:lombok.jar

.

For the API information please refer the swagger yaml 

GOTO : https://editor.swagger.io/  and click on file -> import url, then add the raw url of the API doc in the pop up. 

https://raw.githubusercontent.com/egovernments/business-services/master/Docs/billingservice/V-2.0.yml

Incase the url is unavailable, please go to the docs folder of municipal services repo and find the yaml for billing service.

 

ACCESS:

Please make use of the following postman collection to access the apis

https://github.com/egovernments/business-services/tree/master/Docs

 

Configs to be updated in the Application properties

 

  • user service

user.service.hostname = http://egov-user:8080/

  • id gen

egov.idgen.hostname = http://egov-idgen:8080

  • mdms

  • fetch bill API internal calculate API’s provided by respective modules

 

If the URL has been provided the respective module the fetch bill API will make a call to get the updated demands for new bill generation. if not present then new bill will be generated without making any changes to the demand.

  • IdGen format for bill number

bs.bill.billnumber.format = BILLNO-{module}-[SEQ_egbs_billnumber{tenantid}]