|
@@ -12,6 +12,7 @@ import time
|
|
|
from django.db import transaction
|
|
|
from django.views import View
|
|
|
from Ansjer.cn_config.config_formal import SECRET_ACCESS_KEY, ACCESS_KEY_ID, REGION_NAME
|
|
|
+from Model.models import Device_Info
|
|
|
|
|
|
from Object.AWS.AmazonS3Util import AmazonS3Util
|
|
|
from Roomumy.models import BabyUser, BabyGrowthStandard, DevelopmentalPoints
|
|
@@ -51,7 +52,7 @@ class BabyView(View):
|
|
|
@param request_dict: 请求参数
|
|
|
@param request: 请求
|
|
|
@param user_id: 用户id
|
|
|
- @request_dict device_id: 设备id
|
|
|
+ @request_dict serial_no: 设备序列号
|
|
|
@request_dict baby_id: 宝宝id
|
|
|
@request_dict nick_name: 昵称
|
|
|
@request_dict sex: 性别
|
|
@@ -61,7 +62,7 @@ class BabyView(View):
|
|
|
@param response: 响应对象
|
|
|
@return: response
|
|
|
"""
|
|
|
- device_id = request_dict.get('device_id', None)
|
|
|
+ serial_no = request_dict.get('serial_no', None)
|
|
|
baby_id = request_dict.get('baby_id', None)
|
|
|
nick_name = request_dict.get('nick_name', None)
|
|
|
sex = request_dict.get('sex', None)
|
|
@@ -75,6 +76,10 @@ 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)
|
|
|
+
|
|
|
if baby_id:
|
|
|
BabyUser.objects.filter(id=baby_id, user_id=user_id).update(is_default=is_default,
|
|
|
birthday=birthday,
|
|
@@ -120,7 +125,7 @@ class BabyView(View):
|
|
|
baby_qs = baby_qs.filter(id=baby_id)
|
|
|
count = baby_qs.count()
|
|
|
baby_list = list(
|
|
|
- baby_qs.values('id', 'nick_name', 'sex', 'birthday', 'icon_url', 'device_id', 'is_default'))
|
|
|
+ baby_qs.values('id', 'nick_name', 'sex', 'birthday', 'icon_url', 'device_id', 'is_default', 'serial_no'))
|
|
|
|
|
|
current_time = int(time.time()) # 获取当前时间戳
|
|
|
|
|
@@ -210,3 +215,19 @@ class BabyView(View):
|
|
|
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
|