New reports
This commit is contained in:
@@ -94,6 +94,23 @@ CREATE TABLE products (
|
||||
ALTER TABLE ONLY products_details
|
||||
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 ADD sale_text TEXT;
|
||||
|
||||
@@ -234,6 +234,15 @@ def get_dashboard():
|
||||
# Call the dashboard service
|
||||
result = OfficeDashboardService.get_dashboard_data()
|
||||
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
|
||||
|
||||
@@ -8,6 +8,10 @@ from app.models import MembersProducts, Products, Members, ProductsDetails, Prod
|
||||
|
||||
|
||||
class OfficeDashboardService(BaseService):
|
||||
@staticmethod
|
||||
def get_subscriptions_data():
|
||||
pass
|
||||
|
||||
@staticmethod
|
||||
def get_dashboard_data():
|
||||
try:
|
||||
|
||||
@@ -8,7 +8,7 @@ from marshmallow import ValidationError
|
||||
# from app.api.enums import TransactionType
|
||||
# from app.api.integrations import SimbrellaIntegration
|
||||
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.helpers.response_helper import ResponseHelper
|
||||
@@ -143,6 +143,29 @@ class ProductsService(BaseService):
|
||||
member_data = Members.get_member_by_uid(uid)
|
||||
member_id = member_data.id
|
||||
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)
|
||||
|
||||
|
||||
@@ -19,9 +19,11 @@ from .members_pending import MembersPending
|
||||
from .products_details import ProductsDetails
|
||||
from .provision_actions import ProvisionActions
|
||||
from .password_reset import PasswordReset
|
||||
from .member_product_refresh import MembersProductsRefresh
|
||||
|
||||
|
||||
__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',
|
||||
'TransactionOffer', 'RepaymentsData', 'Salary']
|
||||
@@ -37,7 +37,7 @@ class MembersActions(db.Model):
|
||||
@classmethod
|
||||
def get_recent_member_actions(cls, member_id):
|
||||
# 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:
|
||||
raise ValueError(f"No Member Actions")
|
||||
|
||||
Reference in New Issue
Block a user