New reports
This commit is contained in:
@@ -94,6 +94,23 @@ CREATE TABLE products (
|
|||||||
ALTER TABLE ONLY products_details
|
ALTER TABLE ONLY products_details
|
||||||
ADD CONSTRAINT products_details_id_key UNIQUE (id);
|
ADD CONSTRAINT products_details_id_key UNIQUE (id);
|
||||||
|
|
||||||
|
CREATE TABLE member_product_refresh(
|
||||||
|
id SERIAL,
|
||||||
|
uid uuid DEFAULT uuid_generate_v4(),
|
||||||
|
member_id INT REFERENCES members(id),
|
||||||
|
product_id VARCHAR(25) NOT NULL,
|
||||||
|
subscription_uid VARCHAR(100) UNIQUE NOT NULL,
|
||||||
|
status INT DEFAULT 0,
|
||||||
|
added timestamp without time zone DEFAULT now(),
|
||||||
|
updated timestamp without time zone DEFAULT now()
|
||||||
|
);
|
||||||
|
|
||||||
|
ALTER TABLE ONLY member_product_refresh
|
||||||
|
ADD CONSTRAINT member_product_refresh_id_key UNIQUE (id);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ALTER TABLE products_details OWNER TO merms_panel;
|
ALTER TABLE products_details OWNER TO merms_panel;
|
||||||
|
|
||||||
--- ALTER TABLE products_details ADD sale_text TEXT;
|
--- ALTER TABLE products_details ADD sale_text TEXT;
|
||||||
|
|||||||
@@ -234,6 +234,15 @@ def get_dashboard():
|
|||||||
# Call the dashboard service
|
# Call the dashboard service
|
||||||
result = OfficeDashboardService.get_dashboard_data()
|
result = OfficeDashboardService.get_dashboard_data()
|
||||||
return jsonify(result)
|
return jsonify(result)
|
||||||
|
|
||||||
|
@api.route('/office/transaction', methods=['GET'])
|
||||||
|
# @token_required
|
||||||
|
def get_subscription_office():
|
||||||
|
# Call the dashboard service
|
||||||
|
result = OfficeDashboardService.get_subscriptions_data()
|
||||||
|
return jsonify(result)
|
||||||
|
|
||||||
|
|
||||||
#=====================================================
|
#=====================================================
|
||||||
|
|
||||||
# # EligibilityCheck Endpoint
|
# # EligibilityCheck Endpoint
|
||||||
|
|||||||
@@ -8,6 +8,10 @@ from app.models import MembersProducts, Products, Members, ProductsDetails, Prod
|
|||||||
|
|
||||||
|
|
||||||
class OfficeDashboardService(BaseService):
|
class OfficeDashboardService(BaseService):
|
||||||
|
@staticmethod
|
||||||
|
def get_subscriptions_data():
|
||||||
|
pass
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_dashboard_data():
|
def get_dashboard_data():
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ from marshmallow import ValidationError
|
|||||||
# from app.api.enums import TransactionType
|
# from app.api.enums import TransactionType
|
||||||
# from app.api.integrations import SimbrellaIntegration
|
# from app.api.integrations import SimbrellaIntegration
|
||||||
from app.extensions import db
|
from app.extensions import db
|
||||||
from app.models import MembersProducts, Products, Members
|
from app.models import MembersProducts, Products, Members, MembersProductsRefresh
|
||||||
|
|
||||||
# from app.api.services.offer_analysis import OfferAnalysis
|
# from app.api.services.offer_analysis import OfferAnalysis
|
||||||
from app.api.helpers.response_helper import ResponseHelper
|
from app.api.helpers.response_helper import ResponseHelper
|
||||||
@@ -143,6 +143,29 @@ class ProductsService(BaseService):
|
|||||||
member_data = Members.get_member_by_uid(uid)
|
member_data = Members.get_member_by_uid(uid)
|
||||||
member_id = member_data.id
|
member_id = member_data.id
|
||||||
subscription_uid = validated_data.get('subscription_uid')
|
subscription_uid = validated_data.get('subscription_uid')
|
||||||
|
product_id = validated_data.get('product_id')
|
||||||
|
|
||||||
|
memberSubscription = MembersProducts.get_member_product_by_product_member_id(member_id, product_id)
|
||||||
|
logger.info(f"memberSubscription UID ****** *****: {memberSubscription.uid} , subscription_uid == {subscription_uid}")
|
||||||
|
if memberSubscription is None :
|
||||||
|
response_data = {
|
||||||
|
"error": "Product not found",
|
||||||
|
"member_id": member_id,
|
||||||
|
"uid": member_data.uid,
|
||||||
|
}
|
||||||
|
return ResponseHelper.success(data=response_data)
|
||||||
|
|
||||||
|
if str(memberSubscription.uid) != subscription_uid :
|
||||||
|
response_data = {
|
||||||
|
"error": "Invalid product call",
|
||||||
|
"member_id": member_id,
|
||||||
|
"uid": member_data.uid,
|
||||||
|
}
|
||||||
|
return ResponseHelper.success(data=response_data)
|
||||||
|
|
||||||
|
MembersProductsRefresh.create_subscription_refresh(member_id,product_id, subscription_uid)
|
||||||
|
# if memberSubscription.uid != subscription_uid :
|
||||||
|
|
||||||
|
|
||||||
#products = MembersProducts.get_member_productlist_by_member_id(member_id)
|
#products = MembersProducts.get_member_productlist_by_member_id(member_id)
|
||||||
|
|
||||||
|
|||||||
@@ -19,9 +19,11 @@ from .members_pending import MembersPending
|
|||||||
from .products_details import ProductsDetails
|
from .products_details import ProductsDetails
|
||||||
from .provision_actions import ProvisionActions
|
from .provision_actions import ProvisionActions
|
||||||
from .password_reset import PasswordReset
|
from .password_reset import PasswordReset
|
||||||
|
from .member_product_refresh import MembersProductsRefresh
|
||||||
|
|
||||||
|
|
||||||
__all__ = ['Members','Customer', 'Account', 'Products',
|
__all__ = ['Members','Customer', 'Account', 'Products',
|
||||||
'MembersProducts', 'MembersActions', 'MembersPending', 'ProductsDetails', 'ProvisionActions', 'PasswordReset','Loan', 'Transaction', 'Repayment',
|
'MembersProducts', 'MembersActions', 'MembersPending', 'ProductsDetails', 'ProvisionActions', 'MembersProductsRefresh',
|
||||||
|
'PasswordReset','Loan', 'Transaction', 'Repayment',
|
||||||
'LoanCharge', 'Offer', 'Charge', 'RACCheck', 'LoanRepaymentSchedule',
|
'LoanCharge', 'Offer', 'Charge', 'RACCheck', 'LoanRepaymentSchedule',
|
||||||
'TransactionOffer', 'RepaymentsData', 'Salary']
|
'TransactionOffer', 'RepaymentsData', 'Salary']
|
||||||
@@ -37,7 +37,7 @@ class MembersActions(db.Model):
|
|||||||
@classmethod
|
@classmethod
|
||||||
def get_recent_member_actions(cls, member_id):
|
def get_recent_member_actions(cls, member_id):
|
||||||
# member_actions = cls.query.limit(4).all()
|
# member_actions = cls.query.limit(4).all()
|
||||||
member_actions = cls.query.filter_by(member_id=member_id).limit(4).all()
|
member_actions = cls.query.filter_by(member_id=member_id).order_by(cls.id.desc()).limit(4).all()
|
||||||
|
|
||||||
if not member_actions:
|
if not member_actions:
|
||||||
raise ValueError(f"No Member Actions")
|
raise ValueError(f"No Member Actions")
|
||||||
|
|||||||
Reference in New Issue
Block a user