Browse Source

重新修改接口

pengzhibo168 5 years ago
parent
commit
d4868126d2
4 changed files with 69 additions and 102 deletions
  1. 1 4
      Ansjer/urls.py
  2. 66 16
      Controller/AppSetController.py
  3. 0 80
      Controller/VersionControl.py
  4. 2 2
      Model/models.py

+ 1 - 4
Ansjer/urls.py

@@ -7,7 +7,7 @@ from Controller import FeedBack, EquipmentOTA, EquipmentInfo, AdminManage, AppIn
     EquipmentManager, LogManager, PermissionManager, OTAEquipment, shareUserPermission, UidSetController, \
     EquipmentManager, LogManager, PermissionManager, OTAEquipment, shareUserPermission, UidSetController, \
     UserManger, CheckUserData, \
     UserManger, CheckUserData, \
     UserController, CloudVod, OrderContrller, VodBucket, DetectController, DeviceShare, UserBrandController, \
     UserController, CloudVod, OrderContrller, VodBucket, DetectController, DeviceShare, UserBrandController, \
-    StsOssController, UIDPreview, OssCrd, SysMsg, UidUser, EquipmentManagerV2, PushDeploy, AppSetController, VersionControl
+    StsOssController, UIDPreview, OssCrd, SysMsg, UidUser, EquipmentManagerV2, PushDeploy, AppSetController
 
 
 urlpatterns = [
 urlpatterns = [
     url(r'^account/authcode$', UserController.authCodeView.as_view()),
     url(r'^account/authcode$', UserController.authCodeView.as_view()),
@@ -173,9 +173,6 @@ urlpatterns = [
 
 
     url(r'^oss_crd/(?P<operation>.*)$', OssCrd.OssCrdView.as_view()),
     url(r'^oss_crd/(?P<operation>.*)$', OssCrd.OssCrdView.as_view()),
     url(r'^push_deploy/(?P<operation>.*)$', PushDeploy.PushDeployView.as_view()),
     url(r'^push_deploy/(?P<operation>.*)$', PushDeploy.PushDeployView.as_view()),
-    # app的控制表接口
-    url(r'^version_control/(?P<operation>.*)$', VersionControl.VersionControlView.as_view()),
-
     url(r'^oalexa/auth', UserController.alexaAuthView.as_view()),
     url(r'^oalexa/auth', UserController.alexaAuthView.as_view()),
     url(r'^oalexa/discoveryuid', UserController.alexaUidView.as_view()),
     url(r'^oalexa/discoveryuid', UserController.alexaUidView.as_view()),
 
 

+ 66 - 16
Controller/AppSetController.py

@@ -11,13 +11,13 @@
 @file: AppSetController.py
 @file: AppSetController.py
 @Contact: chanjunkai@163.com
 @Contact: chanjunkai@163.com
 """
 """
-from Model.models import versionControlModel
+from Model.models import AppSetModel
 from django.views.generic.base import View
 from django.views.generic.base import View
-from cacheout import LFUCache
+from Object.RedisObject import RedisObject
+from Object.TokenObject import TokenObject
+from Service.ModelService import ModelService
 import time,json
 import time,json
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
-cache = LFUCache()
-
 class AppSetView(View):
 class AppSetView(View):
     def get(self, request, *args, **kwargs):
     def get(self, request, *args, **kwargs):
         request.encoding = 'utf-8'
         request.encoding = 'utf-8'
@@ -31,37 +31,52 @@ class AppSetView(View):
 
 
     def validation(self, request_dict, operation):
     def validation(self, request_dict, operation):
         response = ResponseObject()
         response = ResponseObject()
-        # token = request_dict.get('token', None)
-        # tko = TokenObject(token)
-        # userID = tko.userID
         if operation == 'query':
         if operation == 'query':
             return self.do_query(request_dict, response)
             return self.do_query(request_dict, response)
+        if operation == 'admin_query':
+            token = request_dict.get('token', None)
+            tko = TokenObject(token)
+            if tko.code == 0:
+                userID = tko.userID
+                return self.do_admin_query(userID, request_dict, response)
+            else:
+                return response.json(tko.code)
+        elif operation == 'admin_update':
+            token = request_dict.get('token', None)
+            tko = TokenObject(token)
+            if tko.code == 0:
+                userID = tko.userID
+                return self.do_admin_update(userID, request_dict, response)
+            else:
+                return response.json(tko.code)
         else:
         else:
             return response.json(414)
             return response.json(414)
+
     # 查询
     # 查询
     def do_query(self, request_dict, response):
     def do_query(self, request_dict, response):
         appBundleId = request_dict.get('appBundleId', None)
         appBundleId = request_dict.get('appBundleId', None)
         if not appBundleId:
         if not appBundleId:
             return response.json(444,'appBundleId')
             return response.json(444,'appBundleId')
-        if cache.get(appBundleId)==None:
-            print('添加到缓存')
+        redis = RedisObject()
+        redis_value = redis.get_data(key=appBundleId)
+        if redis_value == False:
+            # print('添加到缓存')
             # 查数据库
             # 查数据库
-            sm_qs = versionControlModel.objects.filter(appBundleId=appBundleId)
+            sm_qs = AppSetModel.objects.filter(appBundleId=appBundleId)
             count = sm_qs.count()
             count = sm_qs.count()
             if count > 0:
             if count > 0:
-                sm_qs = sm_qs.values( 'id', 'appBundleId', 'content', 'addTime', 'updTime')
+                sm_qs = sm_qs.values("content")
                 # 添加到缓存,缓存时间为3600秒------指的是一个钟后再次访问,就会刷新缓存一次
                 # 添加到缓存,缓存时间为3600秒------指的是一个钟后再次访问,就会刷新缓存一次
-                cache.set(appBundleId, {'content': list(sm_qs)}, ttl=3600)
-                # return response.json(0,list(sm_qs))
+                content_json_str = list(sm_qs)[0]['content'].replace("'", '"')
+                redis.set_data(key=appBundleId, val=content_json_str, expire=3600)
                 # 返回固定值
                 # 返回固定值
                 return response.json(0, json.loads(list(sm_qs)[0]['content']))
                 return response.json(0, json.loads(list(sm_qs)[0]['content']))
             else:
             else:
-                return response.json(0)
+                return response.json(173)
         else:
         else:
             # print('去缓存找')
             # print('去缓存找')
-            # return response.json(0, cache.get(appBundleId).get('content'))
             # 返回固定值
             # 返回固定值
-            return response.json(0, json.loads(cache.get(appBundleId).get('content')[0]['content']))
+            return response.json(0, json.loads(redis_value))
 
 
         # res = {}
         # res = {}
         # res['grade'] = 1
         # res['grade'] = 1
@@ -82,3 +97,38 @@ class AppSetView(View):
         # }
         # }
         # res['init_img'] = 'https://test.dvema.com/web/static/image/default_start'
         # res['init_img'] = 'https://test.dvema.com/web/static/image/default_start'
         # return response.json(0, res)
         # return response.json(0, res)
+
+    def do_admin_query(self, userID, request_dict, response):
+        # 查询和添加权限
+        own_perm = ModelService.check_perm(userID, 40)
+        if not own_perm:
+            return response.json(404)
+        appBundleId = request_dict.get('appBundleId', None)
+        sm_qs = AppSetModel.objects.filter(appBundleId=appBundleId)
+        count = sm_qs.count()
+        nowTime = int(time.time())
+        if count>0:
+            sm_qs = sm_qs.values('id', 'appBundleId', 'content', 'addTime', 'updTime')
+            return response.json(0, {'data': list(sm_qs), 'count': count})
+        else:
+            AppSetModel.objects.create(
+                appBundleId=appBundleId,
+                addTime=nowTime,
+                updTime=nowTime
+            )
+            return response.json(0)
+
+    def do_admin_update(self, userID, request_dict, response):
+        # 修改的权限
+        own_perm = ModelService.check_perm(userID, 50)
+        if not own_perm:
+            return response.json(404)
+        appBundleId = request_dict.get('appBundleId', None)
+        content = request_dict.get('content', None)
+        nowTime = int(time.time())
+        sm_qs = AppSetModel.objects.filter(appBundleId=appBundleId)
+        if sm_qs.exists():
+            sm_qs.update(content=content, updTime=nowTime)
+            return response.json(0)
+        else:
+            return response.json(173)

+ 0 - 80
Controller/VersionControl.py

@@ -1,80 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-"""
-@Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
-@AUTHOR: ASJRD018
-@NAME: AnsjerFormal
-@software: PyCharm
-@DATE: 2020/3/2 10:45
-@Version: python3.6
-@MODIFY DECORD:ansjer dev
-@file: VersionControl.py
-@Contact: pzb3076@163.com
-"""
-import time
-from django.views.generic.base import View
-from Model.models import versionControlModel
-from Object.ResponseObject import ResponseObject
-from Object.TokenObject import TokenObject
-from Service.ModelService import ModelService
-
-class VersionControlView(View):
-    def get(self, request, *args, **kwargs):
-        request.encoding = 'utf-8'
-        operation = kwargs.get('operation', None)
-        return self.validation(request.GET, operation)
-
-    def post(self, request, *args, **kwargs):
-        request.encoding = 'utf-8'
-        operation = kwargs.get('operation', None)
-        return self.validation(request.POST, operation)
-
-    def validation(self, request_dict, operation):
-        response = ResponseObject()
-        token = request_dict.get('token', None)
-        tko = TokenObject(token)
-        if tko.code == 0:
-            userID = tko.userID
-            if operation == 'query':
-                return self.do_query(userID, request_dict, response)
-            elif operation == 'update':
-                return self.do_update(userID, request_dict, response)
-            else:
-                return response.json(414)
-        else:
-            return response.json(tko.code)
-
-    def do_query(self, userID, request_dict, response):
-        # 查询和添加权限
-        own_perm = ModelService.check_perm(userID, 40)
-        if not own_perm:
-            return response.json(404)
-        appBundleId = request_dict.get('appBundleId', None)
-        sm_qs = versionControlModel.objects.filter(appBundleId=appBundleId)
-        count = sm_qs.count()
-        nowTime = int(time.time())
-        if count>0:
-            sm_qs = sm_qs.values('id', 'appBundleId', 'content', 'addTime', 'updTime')
-            return response.json(0, {'data': list(sm_qs), 'count': count})
-        else:
-            versionControlModel.objects.create(
-                appBundleId=appBundleId,
-                addTime=nowTime,
-                updTime=nowTime
-            )
-            return response.json(0)
-
-    def do_update(self, userID, request_dict, response):
-        # 修改的权限
-        own_perm = ModelService.check_perm(userID, 50)
-        if not own_perm:
-            return response.json(404)
-        appBundleId = request_dict.get('appBundleId', None)
-        content = request_dict.get('content', None)
-        nowTime = int(time.time())
-        sm_qs = versionControlModel.objects.filter(appBundleId=appBundleId)
-        if sm_qs.exists():
-            sm_qs.update(content=content, updTime=nowTime)
-            return response.json(0)
-        else:
-            return response.json(173)

+ 2 - 2
Model/models.py

@@ -773,7 +773,7 @@ class pushDeployModel(models.Model):
 
 
 
 
 
 
-class versionControlModel(models.Model):
+class AppSetModel(models.Model):
     id = models.AutoField(primary_key=True, verbose_name='主键自增id')
     id = models.AutoField(primary_key=True, verbose_name='主键自增id')
     appBundleId = models.CharField(max_length=64,default='', verbose_name=u'APPid')
     appBundleId = models.CharField(max_length=64,default='', verbose_name=u'APPid')
     content = models.TextField(default='', verbose_name=u'里面包含评分,用户帮助,ap添加方式,ap工具,广告模块等json字段值')
     content = models.TextField(default='', verbose_name=u'里面包含评分,用户帮助,ap添加方式,ap工具,广告模块等json字段值')
@@ -781,7 +781,7 @@ class versionControlModel(models.Model):
     updTime = models.IntegerField(verbose_name='修改时间', default=0)
     updTime = models.IntegerField(verbose_name='修改时间', default=0)
 
 
     class Meta:
     class Meta:
-        db_table = 'app_version_control'
+        db_table = 'app_set'
         verbose_name = 'app的各个版本控制表'
         verbose_name = 'app的各个版本控制表'
         verbose_name_plural = verbose_name
         verbose_name_plural = verbose_name
         ordering = ('-id',)
         ordering = ('-id',)