Browse Source

deviceUser

chenjunkai 5 years ago
parent
commit
539bda788b
4 changed files with 61 additions and 19 deletions
  1. 1 0
      Ansjer/urls.py
  2. 37 0
      Controller/EquipmentManager.py
  3. 22 18
      Controller/OTAEquipment.py
  4. 1 1
      Model/models.py

+ 1 - 0
Ansjer/urls.py

@@ -164,6 +164,7 @@ urlpatterns = [
 
     # 删除云存视频
     path('cv/del', CloudVod.deleteVodHls),
+    url(r'^equipment/judge', EquipmentManager.judgeInterface),
 
     # 路由加参数参考
     # url(r'^(?P<path>.*)/(?P<UID>.*)/lls$', Test.Test.as_view(), name=u'gg'),

+ 37 - 0
Controller/EquipmentManager.py

@@ -374,6 +374,43 @@ def addInterface(request):
         return response.json(444, {'param': 'UID,NickName,View_Account,View_Password,Type,ChannelIndex'})
 
 
+# 添加设备字段
+def judgeInterface(request):
+    request.encoding = 'utf-8'
+    response = ResponseObject()
+    if request.method == 'POST':
+        request_dict = request.POST
+    elif request.method == 'GET':
+        request_dict = request.GET
+    else:
+        return response.json(444)
+    token = request_dict.get('token', None)
+    UID = request_dict.get('UID', None)
+    if all([UID, token]):
+        tko = TokenObject(token)
+        response.lang = tko.lang
+        if tko.code == 0:
+            re_uid = re.compile(r'^[A-Za-z0-9]{20}$')
+            if re_uid.match(UID):
+                is_bind = Device_Info.objects.filter(UID=UID, isShare=False)
+                # 判断是否有已绑定用户
+                if is_bind:
+                    user = is_bind.values('userID__NickName', 'NickName')
+                    res = {
+                        'bind_user': user[0]['userID__NickName'],
+                        'bind_device_name': user[0]['NickName'],
+                    }
+                    return response.json(15, res=res)
+                else:
+                    return response.json(0, 'no bind user')
+            else:
+                return response.json(444, {'param': 'UID'})
+        else:
+            return response.json(tko.code)
+    else:
+        return response.json(444, {'param': 'UID,NickName,View_Account,View_Password,Type,ChannelIndex'})
+
+
 # 管理员添加
 def admin_addInterface(request):
     request.encoding = 'utf-8'

+ 22 - 18
Controller/OTAEquipment.py

@@ -475,8 +475,9 @@ def getNewVerInterface(request):
     code = request_dict.get('code', None)
     token = request_dict.get('token', None)
     lang = request_dict.get('lang', None)
-    if not code:
-        return response.json(444, 'code')
+    ver = request_dict.get('ver', None)
+    if not code or not ver:
+        return response.json(444, 'code,ver')
     tko = TokenObject(token)
     response.lang = tko.lang
     if tko.code != 0:
@@ -492,23 +493,26 @@ def getNewVerInterface(request):
         equipment = equipmentValid[0]
         file_path = equipment.filePath
         # 检测ip进行替换
-
-        # 创建url的token
-        tko = UrlTokenObject()
-        file_path = tko.generate(data={'Url': "ansjer/" + CommonService.RandomStr(6) + "/" + file_path})
-        if SERVER_TYPE == 'Ansjer.formal_settings':
-            url = SERVER_DOMAIN + 'dlotapack/' + file_path
-        else:
-            # 这里调用国内服务器进行下载,防止下载bug
-            if code == '18E201200CA' or code == '18E201200CZ':
-                url = 'http://www.zositech.xyz/dlotapack/' + file_path
-            else:
+        min_ver = equipment.min_ver
+        if ver >= min_ver:
+            # 创建url的token
+            tko = UrlTokenObject()
+            file_path = tko.generate(data={'Url': "ansjer/" + CommonService.RandomStr(6) + "/" + file_path})
+            if SERVER_TYPE == 'Ansjer.formal_settings':
                 url = SERVER_DOMAIN + 'dlotapack/' + file_path
-        return response.json(0, {
-            'ver': ver,
-            'url': url,
-            "Description": equipment.Description,
-        })
+            else:
+                # 这里调用国内服务器进行下载,防止下载bug
+                if code == '18E201200CA' or code == '18E201200CZ':
+                    url = 'http://www.zositech.xyz/dlotapack/' + file_path
+                else:
+                    url = SERVER_DOMAIN + 'dlotapack/' + file_path
+            return response.json(0, {
+                'ver': ver,
+                'url': url,
+                "Description": equipment.Description,
+            })
+        else:
+            return response.json(902)
     else:
         return response.json(902)
 

+ 1 - 1
Model/models.py

@@ -490,7 +490,7 @@ class Equipment_Version(models.Model):
     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='设备类型')
     img = models.TextField(blank=True, default='', verbose_name=u'图片路径')
-    # min_ver = models.CharField(default='',verbose_name='最小版本号')
+    min_ver = models.CharField(default='',max_length=16,verbose_name='最小版本号')
 
     def __str__(self):
         return self.eid