|
@@ -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))
|