Provison actions
This commit is contained in:
@@ -3,7 +3,7 @@ from app.utils.logger import logger
|
||||
from app.api.services.base_service import BaseService
|
||||
from marshmallow import ValidationError
|
||||
from app.extensions import db
|
||||
from app.models import MembersProducts, Products, Members, ProductsDetails
|
||||
from app.models import MembersProducts, Products, Members, ProductsDetails, ProductsDetails, ProvisionActions
|
||||
from app.api.helpers.response_helper import ResponseHelper
|
||||
from werkzeug.security import generate_password_hash, check_password_hash
|
||||
from app.api.schemas.myproduct import MyProductSchema
|
||||
@@ -40,30 +40,7 @@ class MyProductsService(BaseService):
|
||||
logger.info(f"GET HERE ******************************** : {data}", exc_info=True)
|
||||
subscription = MembersProducts.get_member_product_by_product_member_id(member_id, product_id)
|
||||
|
||||
# if not subscription:
|
||||
# logger.error(f"Ready to add data to tables")
|
||||
# response_data = {
|
||||
# "subscription": mumberSub,
|
||||
# "member_id": member_id,
|
||||
# "error": "already_subscribed",
|
||||
# "uid": uid
|
||||
# }
|
||||
# return ResponseHelper.success(data=response_data)
|
||||
|
||||
# internal_url = str(random.randint(10000, 99999)) + ".devprov.mermsemr.com"
|
||||
#INSERT_NEW_PRODUCT = "INSERT INTO members_products (member_id ,product_id,status,internal_url) VALUES (%s, %s, %s, %s)"
|
||||
# val_insert = (member_id, product_id,6,internal_url)
|
||||
# status = 6
|
||||
# subscription = MembersProducts.create_subscription(member_id ,product_id,status,internal_url)
|
||||
|
||||
# response_data = {
|
||||
# "subscription_uid": subscription.uid,
|
||||
# "subscription_id": subscription.id,
|
||||
# "internal_url": subscription.internal_url,
|
||||
# "member_id": member_id,
|
||||
# "uid": uid
|
||||
# }
|
||||
provision_activities=[]
|
||||
provision_activities = ProvisionActions.get_provision_action_by_member_id(member_id, 4)
|
||||
response_data = {
|
||||
"subscription_uid": subscription.uid,
|
||||
"subscription_id": subscription.id,
|
||||
|
||||
@@ -17,8 +17,9 @@ from .members_products import MembersProducts
|
||||
from .members_actions import MembersActions
|
||||
from .members_pending import MembersPending
|
||||
from .products_details import ProductsDetails
|
||||
from .provision_actions import ProvisionActions
|
||||
|
||||
__all__ = ['Members','Customer', 'Account', 'Products',
|
||||
'MembersProducts', 'MembersActions', 'MembersPending', 'ProductsDetails', 'Loan', 'Transaction', 'Repayment',
|
||||
'MembersProducts', 'MembersActions', 'MembersPending', 'ProductsDetails', 'ProvisionActions', 'Loan', 'Transaction', 'Repayment',
|
||||
'LoanCharge', 'Offer', 'Charge', 'RACCheck', 'LoanRepaymentSchedule',
|
||||
'TransactionOffer', 'RepaymentsData', 'Salary']
|
||||
@@ -0,0 +1,62 @@
|
||||
from datetime import datetime, timezone, timedelta
|
||||
from itertools import product
|
||||
from app.extensions import db
|
||||
from sqlalchemy.exc import IntegrityError
|
||||
from sqlalchemy.orm import relationship
|
||||
from dateutil.relativedelta import relativedelta
|
||||
from datetime import timedelta
|
||||
import logging
|
||||
from sqlalchemy import and_, or_, not_
|
||||
from sqlalchemy.sql import func
|
||||
import json
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
class ProvisionActions(db.Model):
|
||||
__tablename__ = 'provision_actions'
|
||||
|
||||
id = db.Column(
|
||||
db.Integer,
|
||||
primary_key=True,
|
||||
autoincrement=True,
|
||||
)
|
||||
|
||||
uid = db.Column(db.String(150), nullable=True)
|
||||
member_id = db.Column(db.Integer, nullable=False)
|
||||
product_uid = db.Column(db.String(100), nullable=False)
|
||||
action = db.Column(db.String(100), nullable=False)
|
||||
added = db.Column(db.DateTime(timezone=True), server_default=func.now())
|
||||
|
||||
|
||||
|
||||
@classmethod
|
||||
def get_provision_action_by_member_id(cls, member_id, limit):
|
||||
provision_action = cls.query.all()
|
||||
provision_action = cls.query.filter_by(member_id=member_id).limit(limit).all()
|
||||
if not provision_action:
|
||||
return None
|
||||
return provision_action
|
||||
|
||||
@classmethod
|
||||
def get_provision_action_by_product_uid(cls, product_uid,limit):
|
||||
provision_action = cls.query.all()
|
||||
provision_action = cls.query.filter_by(product_uid=product_uid).limit(limit).all()
|
||||
if not provision_action:
|
||||
return None
|
||||
return provision_action
|
||||
|
||||
|
||||
def to_dict(self):
|
||||
"""
|
||||
Convert the Loan object to a dictionary format for JSON serialization.
|
||||
"""
|
||||
return {
|
||||
'id': self.id,
|
||||
'uid': self.uid,
|
||||
'product_uid': self.product_uid,
|
||||
'action': self.action,
|
||||
'added': self.added,
|
||||
}
|
||||
|
||||
def __repr__(self):
|
||||
return f'<ProvisionActions {self.id}>'
|
||||
Reference in New Issue
Block a user