浏览代码

获取喂养要点接口

locky 4 月之前
父节点
当前提交
585ba54674
共有 3 个文件被更改,包括 71 次插入17 次删除
  1. 43 7
      Roomumy/Controller/BabyController.py
  2. 6 6
      Roomumy/Controller/FeedDiaryController.py
  3. 22 4
      Roomumy/models.py

+ 43 - 7
Roomumy/Controller/BabyController.py

@@ -7,17 +7,14 @@
 @Software: PyCharm
 """
 
-import json
 import time
 
 from django.db import transaction
-from django.db.models import F, Q, Count
 from django.views import View
 from Ansjer.cn_config.config_formal import SECRET_ACCESS_KEY, ACCESS_KEY_ID, REGION_NAME
 
 from Object.AWS.AmazonS3Util import AmazonS3Util
-from Roomumy.models import BabyUser, BabyGrowthStandard
-from Object.ResponseObject import ResponseObject
+from Roomumy.models import BabyUser, BabyGrowthStandard, DevelopmentalPoints
 from Service.CommonService import CommonService
 
 
@@ -37,11 +34,13 @@ class BabyView(View):
         if token_code != 0:
             return response.json(token_code)
         if operation == 'addOrEdit':  # 添加修改宝宝信息
-            return self.add_or_edit_baby(request, request_dict, user_id, ResponseObject('cn'))
+            return self.add_or_edit_baby(request, request_dict, user_id, response)
         elif operation == 'query':  # 获取宝宝信息
-            return self.query_baby_info(request_dict, user_id, ResponseObject('cn'))
+            return self.query_baby_info(request_dict, user_id, response)
         elif operation == 'delete':  # 删除宝宝信息
-            return self.delete_baby(request_dict, user_id, ResponseObject('cn'))
+            return self.delete_baby(request_dict, user_id, response)
+        elif operation == 'getDevelopmentalPoints':  # 获取发育要点
+            return self.get_developmental_points(request_dict, response)
         else:
             return response.json(414)
 
@@ -176,3 +175,40 @@ class BabyView(View):
             return response.json(0)
         except Exception as e:
             return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
+
+    @staticmethod
+    def get_developmental_points(request_dict, response):
+        """
+        获取喂养要点
+        @param request_dict: 请求参数
+        @request_dict month: 月份信息
+        @param response: 响应对象
+        @return: response
+        """
+        month = request_dict.get('month', None)
+
+        try:
+            if not month:
+                return response.json(444)
+            developmental_points_qs = DevelopmentalPoints.objects.filter(month).values()
+            if not developmental_points_qs.exists():
+                return response.json(173)
+            title = developmental_points_qs[0]['title']
+            weight = developmental_points_qs[0]['weight']
+            height = developmental_points_qs[0]['height']
+            head_circumference = developmental_points_qs[0]['head_circumference']
+            advice = developmental_points_qs[0]['advice']
+            content = developmental_points_qs[0]['content']
+
+            res = {
+                'title': title,
+                'weight': weight,
+                'height': height,
+                'head_circumference': head_circumference,
+                'advice': advice,
+                'content': content
+            }
+            return response.json(0, res)
+        except Exception as e:
+            return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
+

+ 6 - 6
Roomumy/Controller/FeedDiaryController.py

@@ -34,17 +34,17 @@ class FeedDiaryView(View):
         if token_code != 0:
             return response.json(token_code)
         if operation == 'query':  # 查询喂养记录
-            return self.get_feed_diary_data(request_dict, ResponseObject('cn'))
+            return self.get_feed_diary_data(request_dict, response)
         elif operation == 'queryStatistics':  # 查询喂养统计
-            return self.get_statistics_data(request_dict, ResponseObject('cn'))
+            return self.get_statistics_data(request_dict, response)
         elif operation == 'addOrEdit':  # 查询喂养统计
-            return self.add_or_edit_feed_diary(request_dict, ResponseObject('cn'))
+            return self.add_or_edit_feed_diary(request_dict, response)
         elif operation == 'delete':  # 查询喂养统计
-            return self.delete_feed_diary(request_dict, ResponseObject('cn'))
+            return self.delete_feed_diary(request_dict, response)
         elif operation == 'getFeedList':  # 查询喂养列表
-            return self.get_feed_list(request_dict, ResponseObject('cn'))
+            return self.get_feed_list(request_dict, response)
         elif operation == 'feedTypeConfig':
-            return self.feed_type_config(request_dict, ResponseObject('cn'))
+            return self.feed_type_config(request_dict, response)
         else:
             return response.json(414)
 

+ 22 - 4
Roomumy/models.py

@@ -41,8 +41,7 @@ class FeedType(models.Model):
 class FeedDiary(models.Model):
     id = models.AutoField(primary_key=True, verbose_name='自增id')
     baby_id = models.IntegerField(default=0, verbose_name='关联宝宝id')
-    feed_type = models.ForeignKey(FeedType, to_field='id', on_delete=models.CASCADE, default='',
-                                  verbose_name='喂养类型')
+    feed_type = models.ForeignKey(FeedType, to_field='id', on_delete=models.CASCADE, default='', verbose_name='喂养类型')
     # 1:母乳亲喂 2:母乳瓶喂 3:奶粉 4:辅食 5:换尿布 6:身高体重 7:户外活动 8:育儿日记 9:自定义
     feed_content = models.JSONField(null=True, verbose_name='事件内容')
     # 当类型为5时,sub_event_type为 1:嘘嘘 2:臭臭 3:嘘嘘+臭臭 4:干爽
@@ -79,6 +78,7 @@ class TimeAlbum(models.Model):
     album_title = models.TextField(default=0, verbose_name='相册标题')
     created_time = models.IntegerField(default=0, verbose_name='创建时间')
     updated_time = models.IntegerField(default=0, verbose_name='更新时间')
+
     class Meta:
         db_table = 'time_album'
         verbose_name = '设备时光相册表'
@@ -103,7 +103,7 @@ class AlbumMedia(models.Model):
     id = models.AutoField(primary_key=True)
     time_album_id = models.IntegerField(default=0, verbose_name=u'时光相册表id', db_index=True)
     time_diary = models.ForeignKey(TimeDiary, to_field='id', on_delete=models.CASCADE, default=None,
-                                      verbose_name='关联时光日记表', db_constraint=False, null=True)
+                                   verbose_name='关联时光日记表', db_constraint=False, null=True)
     baby_id = models.IntegerField(default=0, verbose_name='关联宝宝id')
     image = models.CharField(max_length=255, default='', verbose_name='图片地址')
     video = models.CharField(max_length=255, default='', verbose_name='视频地址')
@@ -121,6 +121,7 @@ class AlbumMedia(models.Model):
         verbose_name_plural = verbose_name
         app_label = 'Roomumy'
 
+
 class BabyGrowthStandard(models.Model):
     age_min = models.IntegerField(verbose_name="最小年龄(天)", help_text="单位:天")
     age_max = models.IntegerField(verbose_name="最大年龄(天)", help_text="单位:天")
@@ -138,4 +139,21 @@ class BabyGrowthStandard(models.Model):
         db_table = "baby_growth_standard"
         verbose_name = "婴儿成长标准表"
         verbose_name_plural = verbose_name
-        app_label = 'Roomumy'
+        app_label = 'Roomumy'
+
+
+class DevelopmentalPoints(models.Model):
+    id = models.AutoField(primary_key=True, verbose_name='自增id')
+    month = models.CharField(default='', max_length=32, verbose_name='月龄')
+    title = models.CharField(default='', max_length=32, verbose_name='标题')
+    weight = models.CharField(default='', max_length=32, verbose_name='体重')
+    height = models.CharField(default='', max_length=32, verbose_name='身高')
+    head_circumference = models.CharField(default='', max_length=32, verbose_name='头围')
+    advice = models.CharField(default='',  max_length=32, verbose_name='早教建议')
+    content = models.TextField(default='', verbose_name='内容')
+
+    class Meta:
+        db_table = "developmental_points"
+        verbose_name = "发育要点"
+        verbose_name_plural = verbose_name
+        app_label = 'Roomumy'