summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhandingkang <[email protected]>2024-01-12 20:19:49 +0800
committerhandingkang <[email protected]>2024-01-12 20:19:49 +0800
commit200cd83d621eb30f04808c4ab028d119a1a81dcc (patch)
treed684311ccd5e68d485ad2b0b53dad86eb3a261cb
parentb97ed22b805c40abc27c689cc307deb364312902 (diff)
sys接口开发尝试
-rw-r--r--apps/sys.py63
1 files changed, 62 insertions, 1 deletions
diff --git a/apps/sys.py b/apps/sys.py
index 0027566..cce9986 100644
--- a/apps/sys.py
+++ b/apps/sys.py
@@ -1 +1,62 @@
-# 处理系统信息,包括状态,已运行时间 \ No newline at end of file
+# 处理系统信息,包括状态,已运行时间
+import datetime
+
+import pymysql
+from apiflask import APIBlueprint
+from neomodel import db, config
+
+bp = APIBlueprint('sys', __name__, url_prefix='/sys', description='获取系统运行时间、v6&双栈数据总数、每日增长')
+
+
+class DataAccess():
+ def __init__(self):
+ # mysql连接
+ dbname = "configcache"
+ self.tabname = "config"
+ conn = pymysql.connect(host='localhost', user='root', password='Hdk19990815')
+ self.cursor = conn.cursor()
+
+ # 初始化sql语句
+ dbsql = "CREATE DATABASE IF NOT EXISTS %s" % dbname
+
+ tablesql = """
+ CREATE TABLE IF NOT EXISTS %s (
+ id INT auto_increment PRIMARY KEY ,
+ name VARCHAR(50) NOT NULL,
+ info VARCHAR(100)
+ )ENGINE=innodb DEFAULT CHARSET=utf8; """ % self.tabname
+
+ # 执行sql语句
+ self.cursor.execute(dbsql)
+ conn.select_db(dbname)
+ self.cursor.execute(tablesql)
+
+ # neo4j连接
+ url = "neo4j://neo4j:[email protected]:7678"
+ config.DATABASE_URL = url
+ db.set_connection(url)
+
+
+da = DataAccess()
+
+
+def sysdays():
+ sql = "SELECT info FROM %s WHERE name=%s" % (da.tabname, "startday")
+ da.cursor.execute(sql)
+ result = da.cursor.fetchall()
+ # 不存在结果,插入当天日期
+ if len(result) == 0:
+ sql = "INSERT INTO %s(name,info) VALUES (%s,%s)" % (da.tabname, "startday", str(datetime.date.today()))
+ da.cursor.execute(sql)
+ sday = datetime.date.today()
+ else:
+ sday = datetime.date.strftime(str(result[0][0]))
+ # 计算相距时间并返回
+ difftime = (datetime.date.today() - sday).days
+ return difftime if difftime > 0 else 1
+
+
[email protected]("/v6count")
+def sysv6count():
+ cypher = ""