浏览代码

优化用户反馈识别失败接口

peng 2 年之前
父节点
当前提交
7934ae9529
共有 1 个文件被更改,包括 34 次插入76 次删除
  1. 34 76
      Controller/FeedBack.py

+ 34 - 76
Controller/FeedBack.py

@@ -21,13 +21,14 @@ from django.db import transaction
 from django.views.generic.base import View
 
 from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
-from Model.models import FeedBackModel, StatResModel, EquipmentInfoMonday, EquipmentInfoTuesday, EquipmentInfoWednesday, \
-    EquipmentInfoThursday, EquipmentInfoFriday, EquipmentInfoSaturday, EquipmentInfoSunday, PushInaccurateFeedback
+from Model.models import FeedBackModel, StatResModel, PushInaccurateFeedback
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
 from Service.ModelService import ModelService
 from Object.AWS.AmazonS3Util import AmazonS3Util
+from Ansjer.config import CONFIG_TEST, CONFIG_CN, CONFIG_US, CONFIG_EUR, CONFIG_INFO, AWS_IOT_SES_ACCESS_CHINA_REGION, \
+    AWS_SES_ACCESS_REGION
 
 
 class FeedBackView(View):
@@ -61,7 +62,7 @@ class FeedBackView(View):
                 return self.do_delete_by_admin(userID, request_dict, response)
             elif operation == 'deleteImage':
                 return self.do_delete_image(userID, request_dict, response)
-            elif operation == 'aiRecognition':
+            elif operation == 'pushInaccurate':
                 return self.ai_recognition(userID, request_dict, response)
             else:
                 return response.json(414)
@@ -307,82 +308,39 @@ class FeedBackView(View):
 
     @staticmethod
     def ai_recognition(user_id, request_dict, response):
-        equipment_info_id = request_dict.get('equipmentInfoId', None)
-        region_id = request_dict.get('regionId', None)
-        if not all([equipment_info_id, region_id]):
+        equipment_info_id = request_dict.get('equipment_info_id', None)
+        uid = request_dict.get('uid', None)
+        is_st = request_dict.get('is_st', None)
+        event_type = request_dict.get('event_type', None)
+        event_time = request_dict.get('event_time', None)
+        channel = request_dict.get('channel', None)
+        if not all([equipment_info_id, uid, is_st, event_type, event_time, channel]):
             return response.json(444)
-        region_id = int(region_id)
-        week = int(equipment_info_id[0])
+        if CONFIG_INFO == CONFIG_TEST or CONFIG_INFO == CONFIG_CN:  # 国内
+            region_name = AWS_IOT_SES_ACCESS_CHINA_REGION
+            s3 = AmazonS3Util(
+                aws_access_key_id=AWS_ACCESS_KEY_ID[0],
+                secret_access_key=AWS_SECRET_ACCESS_KEY[0],
+                region_name=region_name
+            )
+        elif CONFIG_INFO == CONFIG_US:  # 国外
+            region_name = AWS_SES_ACCESS_REGION
+            s3 = AmazonS3Util(
+                aws_access_key_id=AWS_ACCESS_KEY_ID[1],
+                secret_access_key=AWS_SECRET_ACCESS_KEY[1],
+                region_name=region_name
+            )
+        else:
+            region_name = ''
+            s3 = AmazonS3Util(
+                aws_access_key_id=AWS_ACCESS_KEY_ID[1],
+                secret_access_key=AWS_SECRET_ACCESS_KEY[1],
+                region_name=region_name
+            )
         equipment_info_id = equipment_info_id[1:]
         now_time = int(time.time())
+        is_st = int(is_st)
         try:
-            if region_id == 1:  # 国内
-                s3 = AmazonS3Util(
-                    aws_access_key_id=AWS_ACCESS_KEY_ID[0],
-                    secret_access_key=AWS_SECRET_ACCESS_KEY[0],
-                    region_name='cn-northwest-1'
-                )
-            else:  # 国外
-                s3 = AmazonS3Util(
-                    aws_access_key_id=AWS_ACCESS_KEY_ID[1],
-                    secret_access_key=AWS_SECRET_ACCESS_KEY[1],
-                    region_name='us-east-1'
-                )
-            if week == 1:
-                equipment_info_qs = EquipmentInfoMonday.objects.filter(id=equipment_info_id).values('device_uid',
-                                                                                                    'channel',
-                                                                                                    'event_time',
-                                                                                                    'event_type',
-                                                                                                    'is_st')
-            elif week == 2:
-                equipment_info_qs = EquipmentInfoMonday.objects.filter(id=equipment_info_id).values('device_uid',
-                                                                                                    'channel',
-                                                                                                    'event_time',
-                                                                                                    'event_type',
-                                                                                                    'is_st')
-
-            elif week == 3:
-                equipment_info_qs = EquipmentInfoWednesday.objects.filter(id=equipment_info_id).values('device_uid',
-                                                                                                       'channel',
-                                                                                                       'event_time',
-                                                                                                       'event_type',
-                                                                                                       'is_st')
-
-            elif week == 4:
-                equipment_info_qs = EquipmentInfoThursday.objects.filter(id=equipment_info_id).values('device_uid',
-                                                                                                      'channel',
-                                                                                                      'event_time',
-                                                                                                      'event_type',
-                                                                                                      'is_st')
-
-            elif week == 5:
-                equipment_info_qs = EquipmentInfoFriday.objects.filter(id=equipment_info_id).values('device_uid',
-                                                                                                    'channel',
-                                                                                                    'event_time',
-                                                                                                    'event_type',
-                                                                                                    'is_st')
-
-            elif week == 6:
-                equipment_info_qs = EquipmentInfoSaturday.objects.filter(id=equipment_info_id).values('device_uid',
-                                                                                                      'channel',
-                                                                                                      'event_time',
-                                                                                                      'event_type',
-                                                                                                      'is_st')
-
-            else:
-                equipment_info_qs = EquipmentInfoSunday.objects.filter(id=equipment_info_id).values('device_uid',
-                                                                                                    'channel',
-                                                                                                    'event_time',
-                                                                                                    'event_type',
-                                                                                                    'is_st')
-            if not equipment_info_qs.exists():
-                return response.json(173)
-            equipment_info = equipment_info_qs.first()
-            uid = equipment_info['device_uid']
-            channel = equipment_info['channel']
-            event_time = equipment_info['event_time']
-            event_type = equipment_info['event_type']
-            is_st = equipment_info['is_st']
             if is_st != 3:
                 file_path = '{uid}/{channel}/{event_time}.jpeg'.format(uid=uid,
                                                                        channel=channel,
@@ -398,7 +356,7 @@ class FeedBackView(View):
             PushInaccurateFeedback.objects.create(equipment_info_id=equipment_info_id,
                                                   user_id=user_id, event_type=event_type,
                                                   uid=uid, channel=channel, add_time=now_time,
-                                                  is_st=is_st)
+                                                  is_st=is_st, event_time=event_time)
             return response.json(0)
         except Exception as e:
             return response.json(500, repr(e))