from app.eco.enums.transaction_type import TransactionType from app.eco.services.base_service import BaseService from app.eco.schemas.collect_loan import CollectLoanSchema from marshmallow import ValidationError from app.eco.helpers.response_helper import ResponseHelper class CollectLoanService(BaseService): TRANSACTION_TYPE = TransactionType.COLLECT_LOAN @staticmethod def process_request(data): """ Process the loan collection request. Args: data (dict): The request data. Returns: dict: A standardized response. """ try: validated_data = CollectLoanService.validate_data(data, CollectLoanSchema()) response_data = { "transactionId": "01135062", "amountCollected": 900.0, } return ResponseHelper.success(data=response_data) except ValidationError as err: return ResponseHelper.unprocessable_entity(result_description="Validation exception") except Exception as e: return ResponseHelper.internal_server_error()