chenjunkai 6 年之前
父節點
當前提交
119ece4c2d
共有 3 個文件被更改,包括 116 次插入127 次删除
  1. 11 6
      Controller/EquipmentManager.py
  2. 42 51
      Controller/EquipmentOTA.py
  3. 63 70
      Controller/MealManage.py

+ 11 - 6
Controller/EquipmentManager.py

@@ -21,9 +21,7 @@ def addNewUserEquipment(userID, deviceContent, response):
             else:
                 UID = deviceData.get('UID', None)
                 if UID != None:
-                    # is_bind = Device_Info.objects.filter(UID=UID, isShare=False)
-                    # if is_bind:
-                    #     return response.json(175)
+
                     dValid = Device_Info.objects.filter(userID=userID, UID=UID)
                     if dValid:
                         return response.json(174)
@@ -35,9 +33,16 @@ def addNewUserEquipment(userID, deviceContent, response):
                         UID = deviceData['UID']
                         re_uid = re.compile(r'^[A-Za-z0-9]{20}$')
                         if re_uid.match(UID):
-                            userDevice = Device_Info(id=CommonService.getUserID(getUser=False), userID_id=userID,
-                                                 **deviceData)
-                            userDevice.save()
+                            is_bind = Device_Info.objects.filter(UID=UID, isShare=False)
+                            # 判断是否有绑定
+                            if is_bind:
+                                # return response.json(175)
+                                userDevice = Device_Info(id=CommonService.getUserID(getUser=False),isShare=True,userID_id=userID,**deviceData)
+                                userDevice.save()
+                            else:
+                                userDevice = Device_Info(id=CommonService.getUserID(getUser=False), userID_id=userID,
+                                                         **deviceData)
+                                userDevice.save()
                         else:
                             return response.json(180)
                 else:

+ 42 - 51
Controller/EquipmentOTA.py

@@ -5,14 +5,13 @@ from Service.ModelService import ModelService
 from Service.CommonService import CommonService
 from Model.models import Equipment_Version
 from django.utils import timezone
-import os,simplejson as json
+import os, simplejson as json
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Ansjer.config import BASE_DIR
 from Ansjer.config import SERVER_DOMAIN
 import time
 
-
 '''
 http://192.168.136.45:8077/equipment/OTA?token=test&operation=query&page=1&line=10
 http://192.168.136.45:8077/equipment/OTA?token=test&operation=find&page=1&line=10&content={}
@@ -37,32 +36,29 @@ class EquipmentOTA(View):
     def validation(self, request_dict, *args, **kwargs):
         token = request_dict.get('token', None)
         response = ResponseObject()
-        if token is not None:
-            tko = TokenObject(token)
-            tko.valid()
-            response.lang = tko.lang
-            if tko.code == 0:
-                userID = tko.userID
-                if userID is not None:
-                    operation = request_dict.get('operation', None)
-                    if operation is not None:
-                        if operation == 'delete':
-                            return self.delete(request_dict, userID, response)
-                        elif operation == 'query':
-                            return self.query(request_dict, userID, response)
-                        elif operation == 'find':
-                            return self.find(request_dict, userID, response)
-                        elif operation == 'update':
-                            return self.update(request_dict, userID, response)
-                    return response.json(444, 'operation')
-                else:
-                    return response.json(309)
-            else:
-                return response.json(tko.code)
-        else:
+        if token is None:
+            return response.json(309)
+        tko = TokenObject(token)
+        tko.valid()
+        response.lang = tko.lang
+        if tko.code != 0:
+            return response.json(tko.code)
+        userID = tko.userID
+        if userID is None:
             return response.json(309)
+        operation = request_dict.get('operation', None)
+        if operation == 'delete':
+            return self.delete(request_dict, userID, response)
+        elif operation == 'query':
+            return self.query(request_dict, userID, response)
+        elif operation == 'find':
+            return self.find(request_dict, userID, response)
+        elif operation == 'update':
+            return self.update(request_dict, userID, response)
+        else:
+            return response.json(444, 'operation')
 
-    def delete(self, request_dict, userID,response):
+    def delete(self, request_dict, userID, response):
         eid = request_dict.get('eid', None)
         param_flag = CommonService.get_param_flag(data=[eid])
         if param_flag is True:
@@ -85,27 +81,28 @@ class EquipmentOTA(View):
                 return response.json(404)
         return response.json(444)
 
-    def query(self, request_dict, userID,response):
+    def query(self, request_dict, userID, response):
         page = int(request_dict.get('page', None))
         line = int(request_dict.get('line', None))
-        param_flag = CommonService.get_param_flag(data=[page, line])
-        if param_flag is True:
-            own_permission = ModelService.check_permission(userID=userID, permID=240)
-            if own_permission is True:
-                equipment_version_queryset = Equipment_Version.objects.all().order_by('-data_joined')
-                if equipment_version_queryset.exists():
-                    count = equipment_version_queryset.count()
-                    res = equipment_version_queryset[(page - 1) * line:page * line]
-                    send_json = CommonService.qs_to_dict(res)
-                    send_json['count'] = count
-                    return response.json(0, send_json)
-                return response.json(0)
-            else:
-                return response.json(404)
+        lang = request_dict.get('lang', None)
+        if page is None or line is None:
+            return response.json(444, 'page,line')
+        own_permission = ModelService.check_permission(userID=userID, permID=240)
+        if own_permission is not True:
+            return response.json(404)
+        if lang is None:
+            qs = Equipment_Version.objects.all().order_by('-data_joined')
         else:
-            return response.json(444)
-
-    def find(self, request_dict, userID,response):
+            qs = Equipment_Version.objects.filter(lang=lang).order_by('-data_joined')
+        if qs.exists():
+            count = qs.count()
+            res = qs[(page - 1) * line:page * line]
+            send_json = CommonService.qs_to_dict(res)
+            send_json['count'] = count
+            return response.json(0, send_json)
+        return response.json(0)
+
+    def find(self, request_dict, userID, response):
         page = int(request_dict.get('page', None))
         line = int(request_dict.get('line', None))
         content = request_dict.get('content', None)
@@ -129,7 +126,7 @@ class EquipmentOTA(View):
         else:
             return response.json(444)
 
-    def update(self, request_dict, userID,response):
+    def update(self, request_dict, userID, response):
         eid = request_dict.get('eid', None)
         param_flag = CommonService.get_param_flag(data=[eid])
         if param_flag is True:
@@ -148,9 +145,3 @@ class EquipmentOTA(View):
             else:
                 return response.json(404)
         return response.json(444)
-
-
-
-
-
-

+ 63 - 70
Controller/MealManage.py

@@ -46,87 +46,80 @@ class MealManage(View):
     def validation(self, request_dict, *args, **kwargs):
         response = ResponseObject()
         token = request_dict.get('token', None)
-        if token is not None:
-            tko = TokenObject(token)
-            tko.valid()
-            response.lang = tko.lang
-            if tko.code == 0:
-                userID = tko.userID
-                if userID is not None:
-                    operation = request_dict.get('operation', None)
-                    if operation == 'query':
-                        return self.query(request_dict, response)
-                    elif operation == 'add':
-                        return self.add(request_dict, userID, response)
-                    elif operation == 'update':
-                        return self.update(request_dict, userID, response)
-                    elif operation == 'delete':
-                        return self.delete(request_dict, userID, response)
-                    elif operation == 'find':
-                        return self.find(request_dict, userID, response)
-                    else:
-                        return response.json(444, 'operation')
-                else:
-                    return response.json(309)
-            else:
-                return response.json(tko.code)
-        else:
+        operation = request_dict.get('operation', None)
+        if token is None:
             return response.json(309)
+        tko = TokenObject(token)
+        tko.valid()
+        response.lang = tko.lang
+        if tko.code != 0:
+            return response.json(tko.code)
+        userID = tko.userID
+        if userID is None:
+            return response.json(309)
+        if operation == 'query':
+            return self.query(request_dict, response)
+        elif operation == 'add':
+            return self.add(request_dict, userID, response)
+        elif operation == 'update':
+            return self.update(request_dict, userID, response)
+        elif operation == 'delete':
+            return self.delete(request_dict, userID, response)
+        elif operation == 'find':
+            return self.find(request_dict, userID, response)
+        else:
+            return response.json(444, 'operation')
 
     def add(self, request_dict, userID, response):
         own_perm = ModelService.check_permission(userID=userID, permID=40)
-        if own_perm is True:
-            title = request_dict.get('title', None)
-            id = request_dict.get('id', None)
-            price = request_dict.get('price', None)
-            content = request_dict.get('content', None)
-            day = request_dict.get('day', None)
-            param_flag = CommonService.get_param_flag(data=[title, price, content])
-            if param_flag is True:
-                try:
-                    store_meal = Store_Meal(
-                        id=id,
-                        title=title,
-                        price=price,
-                        content=content,
-                        day=day,
-                    )
-                    store_meal.save()
-                except Exception:
-                    errorInfo = traceback.format_exc()
-                    print(errorInfo)
-                    return response.json(500, {'details': errorInfo})
-                else:
-                    if store_meal.id:
-                        return response.json(0, {
-                            'id': store_meal.id,
-                            'title': store_meal.title,
-                            'price': store_meal.price,
-                            'content': store_meal.content,
-                            'day': store_meal.day,
-                            'add_time': str(store_meal.add_time),
-                            'update_time': str(store_meal.update_time),
-                        })
-
+        if own_perm is not None:
+            return response.json(404)
+        title = request_dict.get('title', None)
+        id = request_dict.get('id', None)
+        price = request_dict.get('price', None)
+        content = request_dict.get('content', None)
+        day = request_dict.get('day', None)
+        param_flag = CommonService.get_param_flag(data=[title, price, content])
+        if param_flag is not True:
             return response.json(444)
+        try:
+            store_meal = Store_Meal(
+                id=id,
+                title=title,
+                price=price,
+                content=content,
+                day=day,
+            )
+            store_meal.save()
+        except Exception:
+            errorInfo = traceback.format_exc()
+            print(errorInfo)
+            return response.json(500, {'details': errorInfo})
         else:
-            return response.json(404)
+            if store_meal.id:
+                return response.json(0, {
+                    'id': store_meal.id,
+                    'title': store_meal.title,
+                    'price': store_meal.price,
+                    'content': store_meal.content,
+                    'day': store_meal.day,
+                    'add_time': str(store_meal.add_time),
+                    'update_time': str(store_meal.update_time)})
+
 
     def query(self, request_dict, response):
         page = int(request_dict.get('page', None))
         line = int(request_dict.get('line', None))
-        param_flag = CommonService.get_param_flag(data=[page, line])
-        if param_flag is True:
-            queryset = Store_Meal.objects.all()
-            if queryset.exists():
-                count = queryset.count()
-                res = queryset[(page - 1) * line:page * line]
-                send_json = CommonService.qs_to_dict(res)
-                send_json['count'] = count
-                return response.json(0, send_json)
-            return response.json(0)
-        else:
+        if page is None or line is None:
             return response.json(444)
+        queryset = Store_Meal.objects.all()
+        if queryset.exists():
+            count = queryset.count()
+            res = queryset[(page - 1) * line:page * line]
+            send_json = CommonService.qs_to_dict(res)
+            send_json['count'] = count
+            return response.json(0, send_json)
+        return response.json(0)
 
     def update(self, request_dict, userID, response):
         own_perm = ModelService.check_permission(userID=userID, permID=30)