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 app.api.services.base_service import BaseService
|
||||||
from marshmallow import ValidationError
|
from marshmallow import ValidationError
|
||||||
from app.extensions import db
|
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 app.api.helpers.response_helper import ResponseHelper
|
||||||
from werkzeug.security import generate_password_hash, check_password_hash
|
from werkzeug.security import generate_password_hash, check_password_hash
|
||||||
from app.api.schemas.myproduct import MyProductSchema
|
from app.api.schemas.myproduct import MyProductSchema
|
||||||
@@ -40,30 +40,7 @@ class MyProductsService(BaseService):
|
|||||||
logger.info(f"GET HERE ******************************** : {data}", exc_info=True)
|
logger.info(f"GET HERE ******************************** : {data}", exc_info=True)
|
||||||
subscription = MembersProducts.get_member_product_by_product_member_id(member_id, product_id)
|
subscription = MembersProducts.get_member_product_by_product_member_id(member_id, product_id)
|
||||||
|
|
||||||
# if not subscription:
|
provision_activities = ProvisionActions.get_provision_action_by_member_id(member_id, 4)
|
||||||
# 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=[]
|
|
||||||
response_data = {
|
response_data = {
|
||||||
"subscription_uid": subscription.uid,
|
"subscription_uid": subscription.uid,
|
||||||
"subscription_id": subscription.id,
|
"subscription_id": subscription.id,
|
||||||
|
|||||||
@@ -17,8 +17,9 @@ from .members_products import MembersProducts
|
|||||||
from .members_actions import MembersActions
|
from .members_actions import MembersActions
|
||||||
from .members_pending import MembersPending
|
from .members_pending import MembersPending
|
||||||
from .products_details import ProductsDetails
|
from .products_details import ProductsDetails
|
||||||
|
from .provision_actions import ProvisionActions
|
||||||
|
|
||||||
__all__ = ['Members','Customer', 'Account', 'Products',
|
__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',
|
'LoanCharge', 'Offer', 'Charge', 'RACCheck', 'LoanRepaymentSchedule',
|
||||||
'TransactionOffer', 'RepaymentsData', 'Salary']
|
'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