Quellcode durchsuchen

优化添加或修改宝宝信息接口

linhaohong vor 4 Monaten
Ursprung
Commit
f8019f1b71
1 geänderte Dateien mit 9 neuen und 23 gelöschten Zeilen
  1. 9 23
      Roomumy/Controller/BabyController.py

+ 9 - 23
Roomumy/Controller/BabyController.py

@@ -62,7 +62,7 @@ class BabyView(View):
         @param response: 响应对象
         @return: response
         """
-        serial_no = request_dict.get('serial_no', None)
+        serial_no = request_dict.get('serial_no', '')
         baby_id = request_dict.get('baby_id', None)
         nick_name = request_dict.get('nick_name', None)
         sex = request_dict.get('sex', None)
@@ -76,15 +76,18 @@ class BabyView(View):
         s3_url = 'https://{}.s3.{}.amazonaws.com.cn/'.format(bucket, REGION_NAME)
         try:
             with transaction.atomic():
-                device_id =  cls.check_user_serial(user_id, serial_no)
-                if not device_id:
-                    return response.json(14)
-
+                device_id = ""
+                if serial_no:
+                    device_info_qs = Device_Info.objects.filter(userID=user_id, serial_number=serial_no)
+                    if not device_info_qs.exists():
+                        return response.json(14)
+                    device_id = CommonService.query_uid_with_serial(serial_no)
                 if baby_id:
                     BabyUser.objects.filter(id=baby_id, user_id=user_id).update(is_default=is_default,
                                                                                 birthday=birthday,
                                                                                 nick_name=nick_name, sex=sex,
                                                                                 device_id=device_id,
+                                                                                serial_no=serial_no,
                                                                                 updated_time=now_time)
                 else:
                     if sex == '1':
@@ -92,7 +95,7 @@ class BabyView(View):
                     else:
                         icon_url = s3_url + 'Roomumy/girl.jpg'
                     baby_qs = BabyUser.objects.create(user_id=user_id, is_default=is_default, birthday=birthday,
-                                                      nick_name=nick_name, sex=sex, device_id=device_id,
+                                                      nick_name=nick_name, sex=sex, device_id=device_id, serial_no=serial_no,
                                                       created_time=now_time, updated_time=now_time, icon_url=icon_url)
                     baby_id = baby_qs.id
                 if icon:
@@ -214,20 +217,3 @@ class BabyView(View):
             return response.json(0, res)
         except Exception as e:
             return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
-
-    @staticmethod
-    def check_user_serial(user_id, serial_number):
-        """
-        确认序列号是否绑定用户,绑定返回uid
-        @param user_id: 用户user_id
-        @param serial_number: 序列号
-        @return:
-        """
-        device_info = Device_Info.objects.filter(
-            userID=user_id,
-            serial_number=serial_number
-        ).values('UID').first()
-
-        if device_info:
-            return device_info['UID'] or serial_number
-        return None