Browse Source

fix:new rule for interface get ota version

chenjunkai 6 years ago
parent
commit
41d5a6a843
2 changed files with 53 additions and 7 deletions
  1. 52 6
      Controller/EquipmentOTA.py
  2. 1 1
      Model/models.py

+ 52 - 6
Controller/EquipmentOTA.py

@@ -191,24 +191,20 @@ class EquipmentVersionView(View):
             if ov > eqs[0].softwareVersion:
             if ov > eqs[0].softwareVersion:
                 return response.json(0, {'softwareVersion': ov})
                 return response.json(0, {'softwareVersion': ov})
         file_path = eqs[0].filePath
         file_path = eqs[0].filePath
-        urls = []
         if file_path.find('static/Upgrade/') != -1:
         if file_path.find('static/Upgrade/') != -1:
             path = file_path.replace('static/Upgrade/', '').replace('\\', '/')
             path = file_path.replace('static/Upgrade/', '').replace('\\', '/')
             url = SERVER_DOMAIN + 'OTA/downloads/' + path + '?time=' + str(time.time())
             url = SERVER_DOMAIN + 'OTA/downloads/' + path + '?time=' + str(time.time())
-            urls.append(url)
         elif file_path.find('static/otapack') != -1:
         elif file_path.find('static/otapack') != -1:
             url = SERVER_DOMAIN + 'OTA/downloadsPack/' + file_path + '?time=' + str(time.time())
             url = SERVER_DOMAIN + 'OTA/downloadsPack/' + file_path + '?time=' + str(time.time())
-            urls.append(url)
         res = {
         res = {
-            "urlCount": len(urls),
-            "url": urls,
+            "url": url,
             "fileSize": eqs[0].fileSize,
             "fileSize": eqs[0].fileSize,
             "Description": eqs[0].Description,
             "Description": eqs[0].Description,
             "softwareVersion": eqs[0].softwareVersion
             "softwareVersion": eqs[0].softwareVersion
         }
         }
         return response.json(0, res)
         return response.json(0, res)
 
 
-    def do_query(self, request_dict, response):
+    def do_query1(self, request_dict, response):
         mci = request_dict.get('mci', None)
         mci = request_dict.get('mci', None)
         page = request_dict.get('page', None)
         page = request_dict.get('page', None)
         line = request_dict.get('line', None)
         line = request_dict.get('line', None)
@@ -241,3 +237,53 @@ class EquipmentVersionView(View):
             'count': count
             'count': count
         }
         }
         return response.json(0, res)
         return response.json(0, res)
+
+    def do_query(self, request_dict, response):
+        mci = request_dict.get('mci', None)
+        page = request_dict.get('page', None)
+        line = request_dict.get('line', None)
+        if not page or not line:
+            return response.json(444, 'page,line')
+        else:
+            page = int(page)
+            line = int(line)
+        datas = {}
+        if mci is not None:
+            cv_qs = Equipment_Version.objects.order_by('code').filter(mci=mci).values('code', 'lang').distinct()
+            count = cv_qs.count()
+            cv_qs = cv_qs[(page - 1) * line:page * line]
+            code_list = []
+            for cv in cv_qs:
+                code_list.append(cv['code'])
+            ev_qs = Equipment_Version.objects.filter(code__in=code_list).values()
+            datas = {}
+            # 组装数据
+            for ev in ev_list:
+                for code in cv_qs:
+                    if code not in datas.keys():
+                        datas[code] = []
+                    if code == ev['code']:
+                        datas[code].append(ev)
+            for cv in cv_qs:
+                ev_qs = Equipment_Version.objects.filter(code=cv['code'], lang=cv['lang'])
+                if cv['code'] not in datas.keys():
+                    datas[cv['code']] = []
+                else:
+                    ev_qs
+                    if code not in datas.keys():
+                        datas[code] = []
+                    if code == ev['code']:
+                        datas[code].append(ev)
+        else:
+            pass
+        # return response.json(0, cv_qs)
+        ev_qs = Equipment_Version.objects.filter(code__in=list(cv_qs)).values()
+        ev_list = CommonService.qs_to_list(ev_qs)
+        datas = {}
+        # 组装数据
+
+        res = {
+            'datas': datas,
+            'count': count
+        }
+        return response.json(0, res)

+ 1 - 1
Model/models.py

@@ -438,7 +438,7 @@ class Equipment_Version(models.Model):
     eid = models.CharField(blank=True, max_length=32, primary_key=True)
     eid = models.CharField(blank=True, max_length=32, primary_key=True)
     ESN = models.CharField(blank=True, max_length=32, verbose_name=u'设备规格名称')
     ESN = models.CharField(blank=True, max_length=32, verbose_name=u'设备规格名称')
     code = models.CharField(blank=True, max_length=32, verbose_name=u'设备规格代码')
     code = models.CharField(blank=True, max_length=32, verbose_name=u'设备规格代码')
-    version = models.CharField(blank=True, max_length=32, verbose_name=u'设备版本')
+    version = models.CharField(blank=True, max_length=64, verbose_name=u'设备版本')
     softwareVersion = models.CharField(blank=True, max_length=32, verbose_name=u'软件版本')
     softwareVersion = models.CharField(blank=True, max_length=32, verbose_name=u'软件版本')
     chipModelList2Code = models.CharField(max_length=32, blank=True, verbose_name=u'主芯片码')
     chipModelList2Code = models.CharField(max_length=32, blank=True, verbose_name=u'主芯片码')
     channel = models.IntegerField(blank=True, verbose_name=u'通道数')
     channel = models.IntegerField(blank=True, verbose_name=u'通道数')