Autopayment Scheme
The document details the procedures and components involved in managing cycles and autopayments within a billing system. It outlines the roles of various controllers such as AutopaymentController and CycleController in handling tasks like inserting cycles, getting active autopayments, and updating cycles.
Megnyitás
CycleController
-> void insertCycle(Cycle) Cycle
-> Calendar getStart() CycleController
-> Cycle generateCycle(Autopayment a) ConfigurationParser
-> IDictionary getStagesData(int cycleConfigId) CycleCalculator
-> Calendar calculateCycleStartDay(Service, Contract) ConfigurationParser
-> String getCycleStartDay(int cycleConfigId) ConfigurationParser
-> IDictionary getBindings() ServiceController
-> Service getService(Contract c) CycleController
-> boolean existActiveCycle(Autopayment a) AutopaymentController
-> List getActiveAutopayments(AutopaymentMode mode) ru.ufanet.bgbilling.dyn.module.sberbank
OperationType ru.ufanet.bgbilling.dyn.module.sberbank
Operation ru.bitel.bgbilling.common.bean
Autopayment ?
Service Cycle.Stage ru.ufanet.bgbilling.dyn.module.sberbank
CycleCalculator ru.ufanet.bgbilling.dyn.module.sberbank
ConfigurationParser ?
ServiceController OperationController BillingCalculator PlaceholderController stage 1: Fill Cycles CycleController CycleCalculator ConfigurationParser ServiceController AutopaymentController ru.ufanet.bgbilling.dyn.kernel
CachingBillingCalculator ru.ufanet.bgbilling.dyn.kernel
PlaceholderController ru.ufanet.bgbilling.dyn.module.sberbank
OperationController ru.ufanet.bgbilling.dyn.module.sberbank
CycleController ru.ufanet.bgbilling.dyn.module.sberbank
AutopaymentController ru.ufanet.bgbilling.dyn.module.sberbank
Cycle Table: recommended_sum_cashe Table: sberbank_autopaument_cycles_{mid} ru.bitel.bgbilling.common.bean
AutopaymentMode stage 2: Work With Cycles CycleController
-> updateCycle(Cycle) Cycle
-> void setStop(Calendar) Cycle
-> boolean nextStage() OperationController
-> bool doOperation(Operation o, Autopayment a) AutopaymentController
-> void doAutopayment(Contract c, int mode, BigDecimal sum) CachingBillingCalculator
-> BigDecimal getRecommendedSum(Contract c, bool fromCache, long freshTime) Operation: autopayment PlaceholderController
-> String processString(String s, Contract c) -> String replace_nextAutopaymentDate(Contract c) -> String replace_prevAutopaymentDate(Contract c) -> String replace_recommendedSum(Contract c) -> String replace_contract(Contract c) Autopayment
-> int getContractId() ConfigurationParser
-> String getSmsText(int smsId) Operation: sms Operation
-> int getId() Operation
-> OperationType getType() bool isPossibleOperation(Operation o, Autopayment a) AutopaymentController
-> Autopayment getAutopayment(int autopaymentId) Cycle
-> int getAutopaymentId() Stage
-> Calendar getDate() Cycle
-> Stage getCurrentStage() CycleController
-> List getActiveCycles() Autopayment