From cdb5f8bf45f117831959291c89e0694606ebb479 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期三, 04 十二月 2024 17:28:58 +0800
Subject: [PATCH] 增加公开api

---
 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