Explorar el Código

APP版本界面相关接口

locky hace 3 años
padre
commit
0bc989df6e
Se han modificado 1 ficheros con 127 adiciones y 1 borrados
  1. 127 1
      AdminController/VersionManagementController.py

+ 127 - 1
AdminController/VersionManagementController.py

@@ -2,10 +2,12 @@
 # -*- coding: utf-8 -*-
 import os
 import hashlib
+import time
+
 from django.views.generic.base import View
 
 from Ansjer.config import BASE_DIR
-from Model.models import Equipment_Version
+from Model.models import Equipment_Version, App_Info, AppSetModel
 from Object.TokenObject import TokenObject
 from Object.ResponseObject import ResponseObject
 from Service.CommonService import CommonService
@@ -41,6 +43,16 @@ class VersionManagement(View):
                 return self.editVersionInformation(request_dict, response)
             elif operation == 'deleteEquipmentVersion':
                 return self.deleteEquipmentVersion(request_dict, response)
+            elif operation == 'getAppVersionList':
+                return self.getAppVersionList(request_dict, response)
+            elif operation == 'addOrEditAppInfo':
+                return self.addOrEditAppInfo(request_dict, response)
+            elif operation == 'deleteAppVersion':
+                return self.deleteAppVersion(request_dict, response)
+            elif operation == 'getAppSet':
+                return self.getAppSet(request_dict, response)
+            elif operation == 'editAppSet':
+                return self.editAppSet(request_dict, response)
             else:
                 return response.json(404)
 
@@ -178,3 +190,117 @@ class VersionManagement(View):
             print(e)
             return response.json(500, repr(e))
 
+    def getAppVersionList(self, request_dict, response):
+        app_type = request_dict.get('app_type', None)
+        appName = request_dict.get('appName', None)
+        version = request_dict.get('version', None)
+        pageNo = request_dict.get('pageNo', None)
+        pageSize = request_dict.get('pageSize', None)
+
+        if not all([pageNo, pageSize]):
+            return response.json(444)
+
+        page = int(pageNo)
+        line = int(pageSize)
+
+        try:
+            app_info_qs = App_Info.objects.filter()
+            if app_type:
+                if app_type == 'IOS':
+                    app_type = 1
+                elif app_type == '安卓':
+                    app_type = 2
+                else:
+                    app_type = 3
+                app_info_qs = app_info_qs.filter(app_type=app_type)
+            if appName:
+                app_info_qs = app_info_qs.filter(appName__contains=appName)
+            if version:
+                app_info_qs = app_info_qs.filter(version__contains=version)
+
+            total = app_info_qs.count()
+            app_info_qs = app_info_qs.values()[(page - 1) * line:page * line]
+            app_info_list = CommonService.qs_to_list(app_info_qs)
+            return response.json(0, {'list': app_info_list, 'total': total})
+        except Exception as e:
+            print(e)
+            return response.json(500, repr(e))
+
+    def addOrEditAppInfo(self, request_dict, response):
+        id = request_dict.get('id', None)
+        appName = request_dict.get('appName', '')
+        appBundleId = request_dict.get('appBundleId', '')
+        bundleVersion = request_dict.get('bundleVersion', '')
+        newAppversion = request_dict.get('newAppversion', '')
+        minAppversion = request_dict.get('minAppversion', '')
+        content = request_dict.get('content', '')
+        app_type = request_dict.get('app_type', '')
+        downloadLink = request_dict.get('downloadLink', '')
+
+        try:
+            app_type = int(app_type)
+            data_dict = {'appName': appName, 'appBundleId': appBundleId, 'bundleVersion': bundleVersion,
+                         'newAppversion': newAppversion, 'minAppversion': minAppversion, 'content': content,
+                         'app_type': app_type, 'downloadLink': downloadLink}
+            if not id:      # 添加
+                App_Info.objects.create(**data_dict)
+            else:           # 编辑
+                app_info_qs = App_Info.objects.filter(id=id)
+                if not app_info_qs.exists():
+                    return response.json(173)
+                app_info_qs.update(**data_dict)
+            return response.json(0)
+        except Exception as e:
+            print(e)
+            return response.json(500, repr(e))
+
+    def deleteAppVersion(self, request_dict, response):
+        appBundleId = request_dict.get('appBundleId', None)
+
+        if not appBundleId:
+            return response.json(444)
+
+        try:
+            App_Info.objects.filter(appBundleId=appBundleId).delete()
+            AppSetModel.objects.filter(appBundleId=appBundleId).delete()
+            return response.json(0)
+        except Exception as e:
+            print(e)
+            return response.json(500, repr(e))
+
+    def getAppSet(self, request_dict, response):
+        appBundleId = request_dict.get('appBundleId', None)
+
+        if not appBundleId:
+            return response.json(444)
+
+        try:
+            app_set_qs = AppSetModel.objects.filter(appBundleId=appBundleId).values('content')
+            if app_set_qs.exists():
+                content = app_set_qs[0]['content']
+                return response.json(0, {'content': content})
+            else:
+                nowTime = int(time.time())
+                AppSetModel.objects.create(
+                    appBundleId=appBundleId,
+                    addTime=nowTime,
+                    updTime=nowTime
+                )
+                return response.json(0)
+        except Exception as e:
+            print(e)
+            return response.json(500, repr(e))
+
+    def editAppSet(self, request_dict, response):
+        appBundleId = request_dict.get('appBundleId', None)
+        content = request_dict.get('content', None)
+
+        if not all([appBundleId, content]):
+            return response.json(444)
+
+        try:
+            AppSetModel.objects.filter(appBundleId=appBundleId).update(content=content)
+            return response.json(0)
+        except Exception as e:
+            print(e)
+            return response.json(500, repr(e))