|
@@ -12,13 +12,16 @@
|
|
|
import time
|
|
|
|
|
|
from django.views.generic.base import View
|
|
|
+from obs import ObsClient
|
|
|
+
|
|
|
from Model.models import FreeEvaluationActivity, ActivityTime, ActivityUser, Device_User
|
|
|
from Object.AWS.AmazonS3Util import AmazonS3Util
|
|
|
from Object.Enums.RedisKeyConstant import RedisKeyConstant
|
|
|
from Object.RedisObject import RedisObject
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
from Object.TokenObject import TokenObject
|
|
|
-from Ansjer.config import SERVER_DOMAIN, LOGGER
|
|
|
+from Ansjer.config import SERVER_DOMAIN, LOGGER, HUAWEICLOUD_AK, HUAWEICLOUD_SK, HUAWEICLOUD_OBS_SERVER, \
|
|
|
+ HUAWEICLOUD_SERVER_BUKET
|
|
|
from Ansjer.cn_config.config_formal import SECRET_ACCESS_KEY, ACCESS_KEY_ID, REGION_NAME
|
|
|
from django.db import transaction
|
|
|
|
|
@@ -54,6 +57,8 @@ class EvaluationActivityView(View):
|
|
|
return self.add_activity_user(user_id, request_dict, response)
|
|
|
elif operation == 'editActivityUser':
|
|
|
return self.edit_activity_user(request_dict, response)
|
|
|
+ elif operation == 'addStoryCollectionUser': # 新增故事征集客户信息
|
|
|
+ return self.add_story_collection_user(user_id, request, request_dict, response)
|
|
|
else:
|
|
|
return response.json(404)
|
|
|
|
|
@@ -320,3 +325,60 @@ class EvaluationActivityView(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 add_story_collection_user(user_id, request, request_dict, response):
|
|
|
+ activity_id = request_dict.get('activity_id', None)
|
|
|
+ user_name = request_dict.get('user_name', None)
|
|
|
+ phone = request_dict.get('phone', None)
|
|
|
+ address = request_dict.get('address', None)
|
|
|
+ sex = request_dict.get('sex', None)
|
|
|
+ age = request_dict.get('age', None)
|
|
|
+ usage_environment = request_dict.get('usage_environment', None)
|
|
|
+ story = request_dict.get('story', None)
|
|
|
+ file_1 = request.FILES.get('file_1', None)
|
|
|
+ file_2 = request.FILES.get('file_2', None)
|
|
|
+
|
|
|
+ if not all([activity_id, user_name, phone, address, sex, age, usage_environment, story]):
|
|
|
+ return response.json(404)
|
|
|
+ now_time = int(time.time())
|
|
|
+ try:
|
|
|
+ file_1_name, file_2_name = '', ''
|
|
|
+ if file_2:
|
|
|
+ file_2_name = str(file_2)
|
|
|
+ # 上传文件到华为云OBS
|
|
|
+ obs_client = ObsClient(
|
|
|
+ access_key_id=HUAWEICLOUD_AK,
|
|
|
+ secret_access_key=HUAWEICLOUD_SK,
|
|
|
+ server=HUAWEICLOUD_OBS_SERVER
|
|
|
+ )
|
|
|
+ if file_1:
|
|
|
+ file_1_name = '{}/story-collection/{}'.format(user_id, str(file_1))
|
|
|
+ resp = obs_client.putObject(
|
|
|
+ bucketName=HUAWEICLOUD_SERVER_BUKET,
|
|
|
+ objectKey=file_1_name,
|
|
|
+ content=file_1
|
|
|
+ )
|
|
|
+ assert resp.status < 300
|
|
|
+ if file_2:
|
|
|
+ file_2_name = '{}/story-collection/{}'.format(user_id, str(file_2))
|
|
|
+ resp = obs_client.putObject(
|
|
|
+ bucketName=HUAWEICLOUD_SERVER_BUKET,
|
|
|
+ objectKey=file_2_name,
|
|
|
+ content=file_2
|
|
|
+ )
|
|
|
+ assert resp.status < 300
|
|
|
+
|
|
|
+ user = ActivityUser.objects.filter(user_id=user_id, activity_id=activity_id)
|
|
|
+ if user.exists():
|
|
|
+ user.update(phone=phone, address=address, sex=sex, user_name=user_name, story=story, age=age,
|
|
|
+ usage_environment=usage_environment, file_1_name=file_1_name, file_2_name=file_2_name,
|
|
|
+ update_time=now_time)
|
|
|
+ else:
|
|
|
+ ActivityUser.objects.create(activity_id=activity_id, user_id=user_id, phone=phone, address=address,
|
|
|
+ sex=sex, age=age, usage_environment=usage_environment, user_name=user_name,
|
|
|
+ story=story, file_1_name=file_1_name, file_2_name=file_2_name,
|
|
|
+ created_time=now_time, update_time=now_time)
|
|
|
+ return response.json(0)
|
|
|
+ except Exception as e:
|
|
|
+ return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|