|
@@ -10,11 +10,15 @@
|
|
|
import logging
|
|
|
import time
|
|
|
|
|
|
+from django.db import transaction
|
|
|
from django.utils.decorators import method_decorator
|
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
|
from django.views.generic.base import View
|
|
|
|
|
|
-from Model.models import Surveys, SurveysTitle, Order_Model, CloudVodSurveysAnswer, SurveysUserLog
|
|
|
+from Model.models import Surveys, SurveysTitle, Order_Model, CloudVodSurveysAnswer, SurveysUserLog, \
|
|
|
+ CloudVodSurveysOperateLog
|
|
|
+from Object.utils import LocalDateTimeUtil
|
|
|
+
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
from Object.TokenObject import TokenObject
|
|
|
from Service.CommonService import CommonService
|
|
@@ -50,15 +54,18 @@ class CloudStorageView(View):
|
|
|
if operation == 'cloud/answer/save':
|
|
|
ip = CommonService.get_ip_address(request)
|
|
|
return self.answer_save(userID, ip, request_dict, response)
|
|
|
+ if operation == "cloud/storage/ioc/close":
|
|
|
+ self.cloud_vob_operate_log_save(status=2, userId=userID)
|
|
|
+ return response.json(0)
|
|
|
|
|
|
def check_stock_user(self, user_id, response):
|
|
|
order = Order_Model.objects.filter(userID=user_id, status=1, order_type=0)
|
|
|
- if order.count() == 0:
|
|
|
+ if not order.exists() and order.count() == 0:
|
|
|
return response.json(10030)
|
|
|
try:
|
|
|
no = '01'
|
|
|
surveys = Surveys.objects.filter(no=no, user_type=1)
|
|
|
- if not all(surveys):
|
|
|
+ if not surveys.exists():
|
|
|
return response.json(173)
|
|
|
result = surveys[0]
|
|
|
surveys_title = SurveysTitle.objects.filter(surveys_id=result.id).order_by('-created_time')
|
|
@@ -82,6 +89,8 @@ class CloudStorageView(View):
|
|
|
}
|
|
|
status = True if submit == 1 else False
|
|
|
self.surveys_user_log_save(status, user_id)
|
|
|
+ if not submit == 1:
|
|
|
+ self.cloud_vob_operate_log_save(submit, userId=user_id)
|
|
|
return response.json(0, data)
|
|
|
except Exception as e:
|
|
|
print(e)
|
|
@@ -99,6 +108,30 @@ class CloudStorageView(View):
|
|
|
user_log = SurveysUserLog(user_id=userId, type=1, created_time=createdTime)
|
|
|
user_log.save()
|
|
|
|
|
|
+ @classmethod
|
|
|
+ def cloud_vob_operate_log_save(cls, status=0, userId=''):
|
|
|
+ """ 保存用户操作记录 """
|
|
|
+ try:
|
|
|
+ with transaction.atomic():
|
|
|
+ if userId:
|
|
|
+ start_time, end_time = LocalDateTimeUtil.get_today_date(True)
|
|
|
+ user_operate_qs = CloudVodSurveysOperateLog.objects.filter(user_id=userId,
|
|
|
+ created_time__gte=start_time,
|
|
|
+ created_time__lte=end_time)
|
|
|
+ local_time = int(time.time())
|
|
|
+ if user_operate_qs.exists():
|
|
|
+ operate_log = user_operate_qs.first()
|
|
|
+ if not operate_log.status == status:
|
|
|
+ operate_log.status = status
|
|
|
+ operate_log.updated_time = local_time
|
|
|
+ operate_log.save()
|
|
|
+ else:
|
|
|
+ operate_log = CloudVodSurveysOperateLog(user_id=userId, status=status, updated_time=local_time,
|
|
|
+ created_time=local_time)
|
|
|
+ operate_log.save()
|
|
|
+ except Exception as e:
|
|
|
+ print(e)
|
|
|
+
|
|
|
@classmethod
|
|
|
def answer_save(cls, userId, ip, request_dict, response):
|
|
|
try:
|
|
@@ -129,6 +162,7 @@ class CloudStorageView(View):
|
|
|
created_time=createdTime, country_name=country_name)
|
|
|
answer.save()
|
|
|
SurveysUserLog.objects.filter(user_id=userId, type=1).update(is_filled=1)
|
|
|
+ cls.cloud_vob_operate_log_save(status=1, userId=userId)
|
|
|
return response.json(0)
|
|
|
except Exception as e:
|
|
|
print(e)
|