|
@@ -5,9 +5,8 @@ import oss2
|
|
|
from django.db import transaction
|
|
|
from django.views.generic.base import View
|
|
|
|
|
|
-from Ansjer.config import CONFIG_TEST, CONFIG_CN, CONFIG_INFO, AWS_IOT_SES_ACCESS_CHINA_REGION, \
|
|
|
- AWS_SES_ACCESS_REGION
|
|
|
-from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
|
|
|
+from Ansjer.config import ACCESS_KEY_ID, SECRET_ACCESS_KEY, REGION_NAME, PUSH_BUCKET, PUSH_INACCURATE_BUCKET
|
|
|
+from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET
|
|
|
from Model.models import FeedBackModel, StatResModel, PushInaccurateFeedback
|
|
|
from Object.AWS.AmazonS3Util import AmazonS3Util
|
|
|
from Object.ResponseObject import ResponseObject
|
|
@@ -49,7 +48,7 @@ class FeedBackView(View):
|
|
|
return self.do_delete_image(userID, request_dict, response)
|
|
|
elif operation == 'submitted': # 查询是否已提交过推送图片反馈
|
|
|
return self.submitted(userID, request_dict, response)
|
|
|
- elif operation == 'pushInaccurate': # 用户反馈推送不准确
|
|
|
+ elif operation == 'pushInaccurate': # 用户反馈推送不准确
|
|
|
return self.push_inaccurate(userID, request_dict, response)
|
|
|
else:
|
|
|
return response.json(414)
|
|
@@ -307,32 +306,23 @@ class FeedBackView(View):
|
|
|
# 查询数据是否存在
|
|
|
push_inaccurate_feedback_qs = PushInaccurateFeedback.objects.filter(equipment_info_id=equipment_info_id,
|
|
|
user_id=user_id, uid=uid, channel=channel,
|
|
|
- event_type=event_type, event_time=event_time,
|
|
|
+ event_type=event_type,
|
|
|
+ event_time=event_time,
|
|
|
is_st=is_st)
|
|
|
if push_inaccurate_feedback_qs.exists():
|
|
|
return response.json(174)
|
|
|
# 查询图片是否存在s3
|
|
|
- if CONFIG_INFO == CONFIG_TEST or CONFIG_INFO == CONFIG_CN: # 国内
|
|
|
- region_name = AWS_IOT_SES_ACCESS_CHINA_REGION
|
|
|
- aws_access_key_id = AWS_ACCESS_KEY_ID[0]
|
|
|
- secret_access_key = AWS_SECRET_ACCESS_KEY[0]
|
|
|
- bucket = 'push'
|
|
|
- else: # 国外
|
|
|
- region_name = AWS_SES_ACCESS_REGION
|
|
|
- aws_access_key_id = AWS_ACCESS_KEY_ID[1]
|
|
|
- secret_access_key = AWS_SECRET_ACCESS_KEY[1]
|
|
|
- bucket = 'foreignpush'
|
|
|
if is_st == 3:
|
|
|
key = '{uid}/{channel}/{event_time}_0.jpeg'.format(uid=uid, channel=channel, event_time=event_time)
|
|
|
else:
|
|
|
key = '{uid}/{channel}/{event_time}.jpeg'.format(uid=uid, channel=channel, event_time=event_time)
|
|
|
try:
|
|
|
s3 = AmazonS3Util(
|
|
|
- aws_access_key_id=aws_access_key_id,
|
|
|
- secret_access_key=secret_access_key,
|
|
|
- region_name=region_name
|
|
|
+ aws_access_key_id=ACCESS_KEY_ID,
|
|
|
+ secret_access_key=SECRET_ACCESS_KEY,
|
|
|
+ region_name=REGION_NAME
|
|
|
)
|
|
|
- have_object = s3.get_object(bucket, key)
|
|
|
+ have_object = s3.get_object(PUSH_BUCKET, key)
|
|
|
if have_object:
|
|
|
return response.json(0)
|
|
|
else:
|
|
@@ -351,37 +341,26 @@ class FeedBackView(View):
|
|
|
if not all([equipment_info_id, uid, is_st, event_type, event_time, channel]):
|
|
|
return response.json(444)
|
|
|
|
|
|
- if CONFIG_INFO == CONFIG_TEST or CONFIG_INFO == CONFIG_CN: # 国内
|
|
|
- region_name = AWS_IOT_SES_ACCESS_CHINA_REGION
|
|
|
- aws_access_key_id = AWS_ACCESS_KEY_ID[0]
|
|
|
- secret_access_key = AWS_SECRET_ACCESS_KEY[0]
|
|
|
- source_bucket = 'push'
|
|
|
- else: # 国外
|
|
|
- region_name = AWS_SES_ACCESS_REGION
|
|
|
- aws_access_key_id = AWS_ACCESS_KEY_ID[1]
|
|
|
- secret_access_key = AWS_SECRET_ACCESS_KEY[1]
|
|
|
- source_bucket = 'foreignpush'
|
|
|
-
|
|
|
now_time = int(time.time())
|
|
|
is_st = int(is_st)
|
|
|
try:
|
|
|
s3 = AmazonS3Util(
|
|
|
- aws_access_key_id=aws_access_key_id,
|
|
|
- secret_access_key=secret_access_key,
|
|
|
- region_name=region_name
|
|
|
+ aws_access_key_id=ACCESS_KEY_ID,
|
|
|
+ secret_access_key=SECRET_ACCESS_KEY,
|
|
|
+ region_name=REGION_NAME
|
|
|
)
|
|
|
if is_st != 3:
|
|
|
file_path = '{uid}/{channel}/{event_time}.jpeg'.format(uid=uid,
|
|
|
channel=channel,
|
|
|
event_time=event_time)
|
|
|
- s3.copy_obj(source_bucket, 'push-inaccurate', file_path)
|
|
|
+ s3.copy_obj(PUSH_BUCKET, PUSH_INACCURATE_BUCKET, file_path)
|
|
|
else:
|
|
|
for index in range(3):
|
|
|
file_path = '{uid}/{channel}/{event_time}_{index}.jpeg'.format(uid=uid,
|
|
|
channel=channel,
|
|
|
event_time=event_time,
|
|
|
index=index)
|
|
|
- s3.copy_obj(source_bucket, 'push-inaccurate', file_path)
|
|
|
+ s3.copy_obj(PUSH_BUCKET, PUSH_INACCURATE_BUCKET, file_path)
|
|
|
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,
|