Browse Source

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

peng 2 years ago
parent
commit
7934ae9529
1 changed files with 34 additions and 76 deletions
  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 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 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.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
 from Service.CommonService import CommonService
 from Service.ModelService import ModelService
 from Service.ModelService import ModelService
 from Object.AWS.AmazonS3Util import AmazonS3Util
 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):
 class FeedBackView(View):
@@ -61,7 +62,7 @@ class FeedBackView(View):
                 return self.do_delete_by_admin(userID, request_dict, response)
                 return self.do_delete_by_admin(userID, request_dict, response)
             elif operation == 'deleteImage':
             elif operation == 'deleteImage':
                 return self.do_delete_image(userID, request_dict, response)
                 return self.do_delete_image(userID, request_dict, response)
-            elif operation == 'aiRecognition':
+            elif operation == 'pushInaccurate':
                 return self.ai_recognition(userID, request_dict, response)
                 return self.ai_recognition(userID, request_dict, response)
             else:
             else:
                 return response.json(414)
                 return response.json(414)
@@ -307,82 +308,39 @@ class FeedBackView(View):
 
 
     @staticmethod
     @staticmethod
     def ai_recognition(user_id, request_dict, response):
     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)
             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:]
         equipment_info_id = equipment_info_id[1:]
         now_time = int(time.time())
         now_time = int(time.time())
+        is_st = int(is_st)
         try:
         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:
             if is_st != 3:
                 file_path = '{uid}/{channel}/{event_time}.jpeg'.format(uid=uid,
                 file_path = '{uid}/{channel}/{event_time}.jpeg'.format(uid=uid,
                                                                        channel=channel,
                                                                        channel=channel,
@@ -398,7 +356,7 @@ class FeedBackView(View):
             PushInaccurateFeedback.objects.create(equipment_info_id=equipment_info_id,
             PushInaccurateFeedback.objects.create(equipment_info_id=equipment_info_id,
                                                   user_id=user_id, event_type=event_type,
                                                   user_id=user_id, event_type=event_type,
                                                   uid=uid, channel=channel, add_time=now_time,
                                                   uid=uid, channel=channel, add_time=now_time,
-                                                  is_st=is_st)
+                                                  is_st=is_st, event_time=event_time)
             return response.json(0)
             return response.json(0)
         except Exception as e:
         except Exception as e:
             return response.json(500, repr(e))
             return response.json(500, repr(e))