瀏覽代碼

添加一个表,和相应的接口,修改了部分的权限控制接口。

pengzhibo168 5 年之前
父節點
當前提交
70ffcab366
共有 6 個文件被更改,包括 143 次插入28 次删除
  1. 1 1
      Ansjer/local_settings.py
  2. 3 1
      Ansjer/urls.py
  3. 2 2
      Controller/SysMsg.py
  4. 80 0
      Controller/VersionControl.py
  5. 40 22
      Controller/VodBucket.py
  6. 17 2
      Model/models.py

+ 1 - 1
Ansjer/local_settings.py

@@ -76,7 +76,7 @@ WSGI_APPLICATION = 'Ansjer.local_wsgi.application'
 DATABASE_DATA = 'AnsjerLocal'
 DATABASE_DATA = 'AnsjerLocal'
 SERVER_HOST = '192.168.136.45'
 SERVER_HOST = '192.168.136.45'
 DATABASES_USER = 'ansjer'
 DATABASES_USER = 'ansjer'
-DATABASES_PASS = '1234'
+DATABASES_PASS = 'ansjer.x.x'
 # DATABASE_DATA = 'AnsjerLocal'
 # DATABASE_DATA = 'AnsjerLocal'
 # SERVER_HOST = 'localhost'
 # SERVER_HOST = 'localhost'
 # DATABASES_USER = 'root'
 # DATABASES_USER = 'root'

+ 3 - 1
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
+    StsOssController, UIDPreview, OssCrd, SysMsg, UidUser, EquipmentManagerV2,PushDeploy,VersionControl
 
 
 urlpatterns = [
 urlpatterns = [
     url(r'^account/authcode$', UserController.authCodeView.as_view()),
     url(r'^account/authcode$', UserController.authCodeView.as_view()),
@@ -172,6 +172,8 @@ 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()),
 
 

+ 2 - 2
Controller/SysMsg.py

@@ -60,7 +60,7 @@ class SysMsgView(View):
             return response.json(tko.code)
             return response.json(tko.code)
 
 
     def do_query_mass_push(self, userID, request_dict, response):
     def do_query_mass_push(self, userID, request_dict, response):
-        own_perm = ModelService.check_perm(userID, 10)
+        own_perm = ModelService.check_perm(userID, 30)
         sender = request_dict.get('sender', None)
         sender = request_dict.get('sender', None)
         page = int(request_dict.get('page', None))
         page = int(request_dict.get('page', None))
         line = int(request_dict.get('line', None))
         line = int(request_dict.get('line', None))
@@ -161,7 +161,7 @@ class SysMsgView(View):
             return response.json(444, 'page,line')
             return response.json(444, 'page,line')
 
 
     def do_query_by_admin(self, userID, request_dict, response):
     def do_query_by_admin(self, userID, request_dict, response):
-        own_perm = ModelService.check_perm(userID, 20)
+        own_perm = ModelService.check_perm(userID, 30)
         if own_perm:
         if own_perm:
             page = request_dict.get('page', None)
             page = request_dict.get('page', None)
             line = request_dict.get('line', None)
             line = request_dict.get('line', None)

+ 80 - 0
Controller/VersionControl.py

@@ -0,0 +1,80 @@
+#!/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)

+ 40 - 22
Controller/VodBucket.py

@@ -52,21 +52,21 @@ class VodBucketView(View):
         if tko.code != 0:
         if tko.code != 0:
             return response.json(tko.code)
             return response.json(tko.code)
         userID = tko.userID
         userID = tko.userID
-        own_perm = ModelService.check_perm(userID, 50)
-        if not own_perm:
-            return response.json(404)
         if operation == 'add':
         if operation == 'add':
-            return self.do_add(request_dict, response)
+            return self.do_add(request_dict, response, userID)
         elif operation == 'delete':
         elif operation == 'delete':
-            return self.do_delete(request_dict, response)
+            return self.do_delete(request_dict, response, userID)
         elif operation == 'update':
         elif operation == 'update':
-            return self.do_update(request_dict, response)
+            return self.do_update(request_dict, response, userID)
         elif operation == 'query':
         elif operation == 'query':
-            return self.do_query(response)
+            return self.do_query(response, userID)
         else:
         else:
             return response.json(414)
             return response.json(414)
 
 
-    def do_add(self, request_dict, response):
+    def do_add(self, request_dict, response, userID):
+        own_perm = ModelService.check_perm(userID, 40)
+        if not own_perm:
+            return response.json(404)
         request_dict.pop('token')
         request_dict.pop('token')
         nowTime = int(time.time())
         nowTime = int(time.time())
         try:
         try:
@@ -76,11 +76,17 @@ class VodBucketView(View):
         res = list(VodBucketModel.objects.values())
         res = list(VodBucketModel.objects.values())
         return response.json(0, res)
         return response.json(0, res)
 
 
-    def do_query(self, response):
+    def do_query(self, response, userID):
+        own_perm = ModelService.check_perm(userID, 30)
+        if not own_perm:
+            return response.json(404)
         res = list(VodBucketModel.objects.values())
         res = list(VodBucketModel.objects.values())
         return response.json(0, res)
         return response.json(0, res)
 
 
-    def do_update(self, request_dict, response):
+    def do_update(self, request_dict, response, userID):
+        own_perm = ModelService.check_perm(userID, 50)
+        if not own_perm:
+            return response.json(404)
         request_dict.pop('token')
         request_dict.pop('token')
         nowTime = int(time.time())
         nowTime = int(time.time())
         id = request_dict.get('id', None)
         id = request_dict.get('id', None)
@@ -91,7 +97,10 @@ class VodBucketView(View):
         # res = list(VodBucketModel.objects.values())
         # res = list(VodBucketModel.objects.values())
         return response.json(0, {'updTime': nowTime})
         return response.json(0, {'updTime': nowTime})
 
 
-    def do_delete(self, request, response):
+    def do_delete(self, request, response, userID):
+        own_perm = ModelService.check_perm(userID, 10)
+        if not own_perm:
+            return response.json(404)
         id = request.get('id', None)
         id = request.get('id', None)
         try:
         try:
             VodBucketModel.objects.filter(id=id).delete()
             VodBucketModel.objects.filter(id=id).delete()
@@ -128,21 +137,21 @@ class UidBucketView(View):
         if tko.code != 0:
         if tko.code != 0:
             return response.json(tko.code)
             return response.json(tko.code)
         userID = tko.userID
         userID = tko.userID
-        own_perm = ModelService.check_perm(userID, 50)
-        if not own_perm:
-            return response.json(404)
         if operation == 'add':
         if operation == 'add':
-            return self.do_add(request_dict, response)
+            return self.do_add(request_dict, response, userID)
         elif operation == 'delete':
         elif operation == 'delete':
-            return self.do_delete(request_dict, response)
+            return self.do_delete(request_dict, respons, userIDe)
         elif operation == 'update':
         elif operation == 'update':
-            return self.do_update(request_dict, response)
+            return self.do_update(request_dict, response,userID)
         elif operation == 'query':
         elif operation == 'query':
-            return self.do_query(request_dict, response)
+            return self.do_query(request_dict, response,userID)
         else:
         else:
             return response.json(414)
             return response.json(414)
 
 
-    def do_add(self, request_dict, response):
+    def do_add(self, request_dict, response, userID):
+        own_perm = ModelService.check_perm(userID, 40)
+        if not own_perm:
+            return response.json(404)
         rank = request_dict.get('rank', None)
         rank = request_dict.get('rank', None)
         uid = request_dict.get('uid', None)
         uid = request_dict.get('uid', None)
         channel = request_dict.get('channel', None)
         channel = request_dict.get('channel', None)
@@ -187,7 +196,10 @@ class UidBucketView(View):
         else:
         else:
             return response.json(0, {'endTime': endTime})
             return response.json(0, {'endTime': endTime})
 
 
-    def do_query(self, request_dict, response):
+    def do_query(self, request_dict, response, userID):
+        own_perm = ModelService.check_perm(userID, 30)
+        if not own_perm:
+            return response.json(404)
         page = int(request_dict.get('page', None))
         page = int(request_dict.get('page', None))
         line = int(request_dict.get('line', None))
         line = int(request_dict.get('line', None))
         uid = request_dict.get('uid', None)
         uid = request_dict.get('uid', None)
@@ -202,7 +214,10 @@ class UidBucketView(View):
         }
         }
         return response.json(0, res)
         return response.json(0, res)
 
 
-    def do_update(self, request_dict, response):
+    def do_update(self, request_dict, response, userID):
+        own_perm = ModelService.check_perm(userID, 50)
+        if not own_perm:
+            return response.json(404)
         status = request_dict.get('status', None)
         status = request_dict.get('status', None)
         id = request_dict.get('id', None)
         id = request_dict.get('id', None)
         ubqs = UID_Bucket.objects.filter(id=id).values('endTime')
         ubqs = UID_Bucket.objects.filter(id=id).values('endTime')
@@ -216,7 +231,10 @@ class UidBucketView(View):
         else:
         else:
             return response.json(10, '过期了')
             return response.json(10, '过期了')
 
 
-    def do_delete(self, request_dict, response):
+    def do_delete(self, request_dict, response, userID):
+        own_perm = ModelService.check_perm(userID, 10)
+        if not own_perm:
+            return response.json(404)
         try:
         try:
             id = request_dict.get('id', None)
             id = request_dict.get('id', None)
             page = int(request_dict.get('page', None))
             page = int(request_dict.get('page', None))

+ 17 - 2
Model/models.py

@@ -453,7 +453,7 @@ class Equipment_Version(models.Model):
     update_time = models.DateTimeField(blank=True, verbose_name=u'更新时间', auto_now=True)
     update_time = models.DateTimeField(blank=True, verbose_name=u'更新时间', auto_now=True)
     lang = models.CharField(blank=True, default='en', max_length=32, verbose_name=u'ota包内置语言')
     lang = models.CharField(blank=True, default='en', max_length=32, verbose_name=u'ota包内置语言')
     mci = models.CharField(default='', blank=True, max_length=10, verbose_name='设备类型')
     mci = models.CharField(default='', blank=True, max_length=10, verbose_name='设备类型')
-    img = models.TextField(blank=True, default='', verbose_name=u'图片路径')
+    img = models.CharField(max_length=300,blank=True, default='', verbose_name=u'图片路径')
     max_ver = models.CharField(default='', max_length=16, verbose_name='最大版本号')
     max_ver = models.CharField(default='', max_length=16, verbose_name='最大版本号')
 
 
     def __str__(self):
     def __str__(self):
@@ -477,7 +477,7 @@ class App_Info(models.Model):
     app_type = models.IntegerField(default=0, blank=True, verbose_name=u'app类型')  # ios 1,android 2
     app_type = models.IntegerField(default=0, blank=True, verbose_name=u'app类型')  # ios 1,android 2
     add_time = models.DateTimeField(blank=True, null=True, verbose_name=u'加入时间', auto_now_add=True)
     add_time = models.DateTimeField(blank=True, null=True, verbose_name=u'加入时间', auto_now_add=True)
     update_time = models.DateTimeField(blank=True, verbose_name=u'更新时间', auto_now=True)
     update_time = models.DateTimeField(blank=True, verbose_name=u'更新时间', auto_now=True)
-    downloadLink = models.TextField(blank=True, default='', verbose_name='升级')
+    downloadLink = models.CharField(max_length=300,blank=True, default='', verbose_name='升级')
     img = models.CharField(default='', max_length=128, verbose_name='图片路径')
     img = models.CharField(default='', max_length=128, verbose_name='图片路径')
 
 
     def __str__(self):
     def __str__(self):
@@ -766,3 +766,18 @@ class pushDeployModel(models.Model):
         verbose_name = '推送配置表'
         verbose_name = '推送配置表'
         verbose_name_plural = verbose_name
         verbose_name_plural = verbose_name
         ordering = ('-id',)
         ordering = ('-id',)
+
+
+
+class versionControlModel(models.Model):
+    id = models.AutoField(primary_key=True, verbose_name='主键自增id')
+    appBundleId = models.CharField(max_length=64,default='', verbose_name=u'APPid')
+    content = models.TextField(default='', verbose_name=u'里面包含评分,用户帮助,ap添加方式,ap工具,广告模块等json字段值')
+    addTime = models.IntegerField(verbose_name='添加时间', default=0)
+    updTime = models.IntegerField(verbose_name='修改时间', default=0)
+
+    class Meta:
+        db_table = 'app_version_control'
+        verbose_name = 'app的各个版本控制表'
+        verbose_name_plural = verbose_name
+        ordering = ('-id',)