Bladeren bron

新增AVSS检查版本接口

locky 2 jaren geleden
bovenliggende
commit
73e1c78fd8
2 gewijzigde bestanden met toevoegingen van 33 en 2 verwijderingen
  1. 24 2
      Controller/PcInfo.py
  2. 9 0
      Model/models.py

+ 24 - 2
Controller/PcInfo.py

@@ -12,7 +12,7 @@ from django.http import HttpResponse
 from django.views.generic.base import View
 
 from Controller.PctestController import TokenObject1
-from Model.models import Pc_Info, PctestlogModel
+from Model.models import Pc_Info, PctestlogModel, AVSSVersion
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
@@ -71,6 +71,8 @@ class PcInfo(View):
                 return self.download(request_dict, response)
             elif operation == 'delete':
                 return self.delete(request_dict, response)
+            elif operation == 'AVSS/check-version':
+                return self.check_version(request_dict, response)
             else:
                 return response.json(414)
 
@@ -643,6 +645,27 @@ class PcInfo(View):
         else:
             return response.json(0)
 
+    @staticmethod
+    def check_version(request_dict, response):
+        """
+        AVSS检查版本
+        @param request_dict: 请求数据
+        @request_dict version: 当前版本
+        @param response: 响应
+        @return: response
+        """
+        version = request_dict.get('version', None)
+        if version is None:
+            return response.json(444)
+        avss_version_qs = AVSSVersion.objects.filter().values('online_version')
+        if not avss_version_qs.exists():
+            return response.json(173)
+        # 比较当前版本和线上版本
+        if version < avss_version_qs[0]['version']:
+            return response.json(0, "avss_version_qs[0]['version']")
+        else:
+            return response.json(0)
+
 def compareVersion(s1: str, s2: str) -> Union[str, int]:
     i, j = 0, 0
     while i < len(s1) or j < len(s2):
@@ -693,4 +716,3 @@ def getMD5orSHA265(fileName, encryptionType='MD5'):
 
         f.close()
         return encryption.hexdigest()
-

+ 9 - 0
Model/models.py

@@ -847,6 +847,15 @@ class Equipment_Version(models.Model):
         db_table = 'equipment_version'
 
 
+class AVSSVersion(models.Model):
+    id = models.AutoField(primary_key=True, verbose_name='主键')
+    online_version = models.CharField(default='', max_length=32, verbose_name='线上版本')
+
+    class Meta:
+        verbose_name = 'AVSS版本'
+        db_table = 'avss_version'
+
+
 class App_Info(models.Model):
     id = models.AutoField(primary_key=True, verbose_name=u'自增标记ID')
     appBundleId = models.CharField(blank=True, max_length=32, verbose_name=u'appID')