peng 8 mēneši atpakaļ
vecāks
revīzija
622f0a3814

+ 16 - 2
Ansjer/cn_config/formal_settings.py

@@ -77,13 +77,13 @@ WSGI_APPLICATION = 'Ansjer.cn_config.formal_wsgi.application'
 
 # 业务数据库
 DATABASE_DATA = 'ansjer_server_cn'
-SERVER_HOST = '192.168.0.51'
+SERVER_HOST = '123.60.128.52'
 DATABASES_USER = 'root'
 DATABASES_PASS = 'Ansjer123'
 
 # 推送数据库
 DATABASE_DATA2 = 'ansjer_push_cn'
-SERVER_HOST2 = '192.168.0.50'
+SERVER_HOST2 = '123.60.93.45'
 DATABASES_USER2 = 'root'
 DATABASES_PASS2 = 'Ansjer123'
 
@@ -270,6 +270,15 @@ LOGGING = {
             'formatter': 'standard',
             'encoding': 'utf-8',
         },
+        'token': {
+            'level': 'INFO',
+            'class': 'logging.handlers.TimedRotatingFileHandler',
+            'filename': BASE_DIR + '/static/log/token/token.log',
+            'backupCount': 60,
+            'when': 'D',
+            'formatter': 'standard',
+            'encoding': 'utf-8',
+        },
     },
     'loggers': {
         'django': {
@@ -298,5 +307,10 @@ LOGGING = {
             'level': 'INFO',
             'propagate': False
         },
+        'token': {
+            'handlers': ['token'],
+            'level': 'INFO',
+            'propagate': False
+        },
     }
 }

+ 14 - 0
Ansjer/cn_config/test_settings.py

@@ -260,6 +260,15 @@ LOGGING = {
             'formatter': 'standard',
             'encoding': 'utf-8',
         },
+        'token': {
+            'level': 'INFO',
+            'class': 'logging.handlers.TimedRotatingFileHandler',
+            'filename': BASE_DIR + '/static/log/token/token.log',
+            'backupCount': 60,
+            'when': 'D',
+            'formatter': 'standard',
+            'encoding': 'utf-8',
+        },
     },
     'loggers': {
         'django': {
@@ -283,5 +292,10 @@ LOGGING = {
             'level': 'INFO',
             'propagate': False
         },
+        'token': {
+            'handlers': ['token'],
+            'level': 'INFO',
+            'propagate': False
+        },
     }
 }

+ 14 - 0
Ansjer/eur_config/formal_settings.py

@@ -277,6 +277,15 @@ LOGGING = {
             'formatter': 'standard',
             'encoding': 'utf-8',
         },
+        'token': {
+            'level': 'INFO',
+            'class': 'logging.handlers.TimedRotatingFileHandler',
+            'filename': BASE_DIR + '/static/log/token/token.log',
+            'backupCount': 60,
+            'when': 'D',
+            'formatter': 'standard',
+            'encoding': 'utf-8',
+        },
     },
     'loggers': {
         'django': {
@@ -310,5 +319,10 @@ LOGGING = {
             'level': 'INFO',
             'propagate': False
         },
+        'token': {
+            'handlers': ['token'],
+            'level': 'INFO',
+            'propagate': False
+        },
     }
 }

+ 14 - 0
Ansjer/us_config/formal_settings.py

@@ -279,6 +279,15 @@ LOGGING = {
             'formatter': 'standard',
             'encoding': 'utf-8',
         },
+        'token': {
+            'level': 'INFO',
+            'class': 'logging.handlers.TimedRotatingFileHandler',
+            'filename': BASE_DIR + '/static/log/token/token.log',
+            'backupCount': 60,
+            'when': 'D',
+            'formatter': 'standard',
+            'encoding': 'utf-8',
+        },
     },
     'loggers': {
         'django': {
@@ -312,5 +321,10 @@ LOGGING = {
             'level': 'INFO',
             'propagate': False
         },
+        'token': {
+            'handlers': ['token'],
+            'level': 'INFO',
+            'propagate': False
+        },
     }
 }

+ 2 - 17
Model/models.py

@@ -4995,6 +4995,7 @@ class StsFrequency(models.Model):
     id = models.AutoField(primary_key=True, verbose_name=u'自增标记ID')
     uid = models.CharField(max_length=20, verbose_name='设备UID', db_index=True)
     frequency = models.IntegerField(verbose_name='频率', default=0)
+    type = models.SmallIntegerField(default=1, verbose_name='预警类型')  # 1:sts 2:token
     addTime = models.IntegerField(verbose_name='添加时间', default=0)
     updateTime = models.IntegerField(verbose_name='更新时间', default=0)
 
@@ -5119,22 +5120,6 @@ class CustomCustomerDevice(models.Model):
         verbose_name = '定制客户设备'
 
 
-class TokenRecord(models.Model):
-    id = models.AutoField(primary_key=True, verbose_name='自增标记ID')
-    user_id = models.CharField(default='', max_length=32, db_index=True, verbose_name='用户id')
-    data = models.JSONField(verbose_name=u'加密信息', null=True)
-    access_token = models.TextField(default='', verbose_name='请求token')
-    refresh_token = models.TextField(default='', verbose_name='刷新token')
-    code = models.IntegerField(default=0, verbose_name=u'响应码')
-    error_info = models.TextField(verbose_name='报错信息', default='', )
-    created_time = models.IntegerField(default=0, verbose_name='创建时间')
-    updated_time = models.IntegerField(default=0, verbose_name='更新时间')
-
-    class Meta:
-        db_table = 'token_record'
-        verbose_name = 'token记录表'
-
-
 class SerialUnbindUID(models.Model):
     id = models.AutoField(primary_key=True, verbose_name='自增标记ID')
     serial = models.CharField(default='', max_length=9, db_index=True, verbose_name='序列号')
@@ -5169,7 +5154,7 @@ class InAppRefund(models.Model):
     uid = models.CharField(default='', max_length=32, db_index=True, verbose_name='设备uid')
     transaction_id = models.CharField(default='', max_length=32, verbose_name='苹果事务id')
     orderID = models.CharField(blank=True, max_length=20, verbose_name=u'订单id')
-    app_type = models.SmallIntegerField(default=0, verbose_name='应用类型') # 1是zosiSmart 2是Vsees
+    app_type = models.SmallIntegerField(default=0, verbose_name='应用类型')  # 1是zosiSmart 2是Vsees
     # 0不同意 1同意
     refund_preference = models.IntegerField(default=0, verbose_name='是否同意退款')
     # 0申请退款 1已提交退款建议 2退款成功 3退款失败 4提前添加退款建议

+ 18 - 25
Object/TokenObject.py

@@ -1,11 +1,15 @@
+import logging
 import jwt
 import time
 import requests
+import datetime
 
-from Model.models import TokenRecord
 from Object.RedisObject import RedisObject
 from Ansjer.config import OAUTH_ACCESS_TOKEN_SECRET, OAUTH_REFRESH_TOKEN_SECRET, OAUTH_ACCESS_TOKEN_TIME, \
     OAUTH_REFRESH_TOKEN_TIME, DETECT_PUSH_DOMAINS, LOGGER
+from Model.models import StsFrequency
+
+logger = logging.getLogger('token')
 
 
 class TokenObject:
@@ -15,6 +19,9 @@ class TokenObject:
             token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySUQiOiIxNTg0MzUxODk2MjgyMTM4MDAxMzgwMDAiLCJsYW5nIjoiZW4iLCJ1c2VyIjoiMTM2ODAzMTc1OTYiLCJtX2NvZGUiOiIxMjM0MTMyNDMyMTQiLCJleHAiOjE1ODcyNzcwNjB9.c0LV_XyxwbzUlYqMJqx7vw9f19Jv-0kGnUHuu_go-mo'
         if token == 'test':
             token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyIjoiMTM4MDAxMzgwMDEiLCJleHAiOjE1Njk5OTg4OTYsInVzZXJJRCI6IjE1MTU2NDI2MjMzNzkzOTUxMzgwMDEzODAwMSIsImxhbmciOiJlbiIsIm1fY29kZSI6IjEyMzQxMzI0MzIxNCJ9.VAQtT9AbCCfXcrNj9DL5cvVasMDoI7AP8ptgU1GoMu8'
+        today = datetime.datetime.today()
+        today_date = datetime.datetime(today.year, today.month, today.day)
+        self.today_timestamp = int(today_date.timestamp())
         self.token = token
         self.lang = None
         self.userID = None
@@ -42,16 +49,16 @@ class TokenObject:
 
         except jwt.ExpiredSignatureError as e:
             self.code = 309
-            # self.update_token(repr(e))
+            logger.info('errLine:{}, errMsg:{}, token:{}'.format(e.__traceback__.tb_lineno, repr(e), self.token))
             return
         except Exception as e:
             self.code = 309
-            # self.update_token(repr(e))
+            logger.info('errLine:{}, errMsg:{}, token:{}'.format(e.__traceback__.tb_lineno, repr(e), self.token))
             return
         else:
             if not self.userID:
                 self.code = 309
-                # self.update_token('缺少用户ID')
+                logger.info('errMsg:{}, token:{}'.format('缺少用户ID', self.token))
                 return
             else:
                 if self.userID:
@@ -61,10 +68,9 @@ class TokenObject:
                     self.code = 309
                     return
 
-    def generate(self, old_refresh_token=None, data=None):
+    def generate(self, data=None):
         if data is None:
             data = {}
-        now_time = int(time.time())
         try:
             access_expire = int(OAUTH_ACCESS_TOKEN_TIME.total_seconds())
             refresh_expire = int(OAUTH_REFRESH_TOKEN_TIME.total_seconds())
@@ -95,21 +101,11 @@ class TokenObject:
                     'refresh_expire': refresh_expire,
                     'refresh_token': refresh_token,
                 }
-            # if old_refresh_token:
-            #     token_qs = TokenRecord.objects.filter(refresh_token=old_refresh_token, user_id=data['userID'])
-            #     if token_qs.exists():
-            #         token_qs.update(refresh_token=refresh_token, access_token=access_token, updated_time=now_time)
-            #     else:
-            #         TokenRecord.objects.create(access_token=access_token, refresh_token=refresh_token, data=data,
-            #                                    created_time=now_time, updated_time=now_time, user_id=data['userID'])
-            # else:
-            #     TokenRecord.objects.create(access_token=access_token, refresh_token=refresh_token, data=data,
-            #                                created_time=now_time, updated_time=now_time, user_id=data['userID'])
+            logger.info(
+                '用户登录信息, data:{}, access_token:{}, refresh_token:{}'.format(data, access_token, refresh_token))
         except Exception as e:
             self.code = 309
-            # if old_refresh_token:
-            #     TokenRecord.objects.filter(refresh_token=old_refresh_token, user_id=data['userID']).update(
-            #         code=self.code, error_info=e, update_time=now_time)
+            logger.info('errLine:{}, errMsg:{}, token:{}'.format(e.__traceback__.tb_lineno, repr(e), self.token))
             print(repr(e))
         else:
             self.code = 0
@@ -144,10 +140,10 @@ class TokenObject:
             print('过期')
             print(repr(e))
             self.code = 309
-            # self.update_token(repr(e))
+            logger.info('errLine:{}, errMsg:{}, token:{}'.format(e.__traceback__.tb_lineno, repr(e), self.token))
         except Exception as e:
             self.code = 309
-            # self.update_token(repr(e))
+            logger.info('errLine:{}, errMsg:{}, token:{}'.format(e.__traceback__.tb_lineno, repr(e), self.token))
             print(repr(e))
         else:
             self.code = 0
@@ -156,9 +152,6 @@ class TokenObject:
             lang = self.lang
             self.userID = userID
             self.user = user
-            refreshRes = self.generate(self.token, data={'userID': userID, 'lang': lang, 'user': user})
+            refreshRes = self.generate(data={'userID': userID, 'lang': lang, 'user': user})
             return refreshRes
 
-    def update_token(self, e):
-        TokenRecord.objects.filter(access_token=self.token).update(code=self.code, error_info=e,
-                                                                   updated_time=int(time.time()))