From 72a8a0a1ad6b79b8e9fb2facef121f9b5d584666 Mon Sep 17 00:00:00 2001
From: xuyonghao <898441624@qq.com>
Date: 星期六, 08 二月 2025 10:56:30 +0800
Subject: [PATCH] 报表合并历史记录功能
---
app/service/common/app_register.py | 53 +++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 47 insertions(+), 6 deletions(-)
diff --git a/app/service/common/app_register.py b/app/service/common/app_register.py
index 1ea947c..e30816b 100644
--- a/app/service/common/app_register.py
+++ b/app/service/common/app_register.py
@@ -1,12 +1,53 @@
-from app.models.app_model import AppRegisterModel
+from app.models.public_api_model import AppRegisterModel
+from Log import logger
+from app.models import current_time
+from sqlalchemy.orm import Session
+from typing import Type
-class AppRegister:
- app = AppRegisterModel
- def __init__(self, db):
+class AppRegisterDao:
+ def __init__(self, db: Session):
self.db = db
+ def get_app_by_id(self, api_id: str) -> Type[AppRegisterModel] | None:
+ session = self.db.query(AppRegisterModel).filter_by(id=api_id).first()
- def get_app(self):
+ return session
- return [i.app_type for i in self.db.query(self.app).filter_by(status=1).all()]
\ No newline at end of file
+ def update_app(self, app_id: str, status: int):
+
+ logger.error("鏇存柊鏁版嵁: app register---------------------------")
+ try:
+ self.db.query(AppRegisterModel).filter(AppRegisterModel.id==app_id).update({"status":status, "updated_at": current_time()})
+ self.db.commit()
+ except Exception as e:
+ logger.error(e)
+ self.db.rollback()
+ raise Exception("鏇存柊澶辫触锛�")
+
+ def insert_app(self, app_id: str, status: int):
+ logger.error("鏂板鏁版嵁: app register---------------------------")
+ new_session = AppRegisterModel(
+ id=app_id,
+ status=status
+ )
+ self.db.add(new_session)
+ self.db.commit()
+ self.db.refresh(new_session)
+ return new_session
+
+
+ def update_and_insert_app(self, app_id: str, status: int):
+
+ logger.error("鏇存柊鎴栬�呮坊鍔犳暟鎹�: app register---------------------------")
+ token_boj = self.get_app_by_id(app_id)
+ if token_boj:
+ self.update_app(app_id, status)
+ else:
+ self.insert_app(app_id, status)
+
+
+ def get_apps(self):
+ app_list = self.db.query(AppRegisterModel).filter_by(status=1).all()
+
+ return [i.to_dict() for i in app_list]
\ No newline at end of file
--
Gitblit v1.8.0