Эх сурвалжийг харах

优化云存浮窗关闭记录接口(增加状态)

guanhailong 2 жил өмнө
parent
commit
8d0dd140ce

+ 16 - 12
Controller/Surveys/CloudStorageController.py

@@ -50,18 +50,19 @@ class CloudStorageView(View):
         ''' API '''
         logger.info('---- this user id:{},dict{}'.format(userID, request_dict))
         if operation == 'get/info':
-            return self.check_stock_user(userID, response)
+            return self.check_stock_user(userID, request_dict, response)
         if operation == 'cloud/answer/save':
             ip = CommonService.get_ip_address(request)
             return self.answer_save(userID, ip, request_dict, response)
         if operation == "cloud/storage/icon/close":
-            self.cloud_vob_operate_log_save(status=2, userId=userID)
+            self.cloud_vob_operate_log_save(userID, request_dict, response)
         return response.json(0)
 
-    def check_stock_user(self, user_id, response):
+    def check_stock_user(self, user_id, request_dict, response):
         order = Order_Model.objects.filter(userID=user_id, status=1, order_type=0)
         if not order.exists() and order.count() == 0:
             return response.json(10030)
+        userID = user_id
         try:
             no = '01'
             surveys = Surveys.objects.filter(no=no, user_type=1)
@@ -73,10 +74,10 @@ class CloudStorageView(View):
             submit = 0
             if surveys_title.exists():
                 surveys_title = surveys_title[0]
-                cloud_vod = CloudVodSurveysAnswer.objects.filter(title_id=surveys_title.id, user_id=user_id)
+                cloud_vod = CloudVodSurveysAnswer.objects.filter(title_id=surveys_title.id, user_id=userID)
                 if cloud_vod.exists():
                     submit = 1
-            close = self.check_user_is_icon_close(userId=user_id)
+            close = self.check_user_is_icon_close(userId=userID)
             data = {
                 'no': result.no,
                 'title': 'Zosi Cloud Storage',
@@ -91,9 +92,9 @@ class CloudStorageView(View):
             localTime = int(time.time())
             if result.start_time <= localTime <= result.end_time:
                 status = True if submit == 1 else False
-                self.surveys_user_log_save(status, user_id)
+                self.surveys_user_log_save(status, userID)
                 if not submit == 1:
-                    self.cloud_vob_operate_log_save(2 if close else submit, userId=user_id)
+                    self.cloud_vob_operate_log_save(userID, request_dict, response)
             return response.json(0, data)
         except Exception as e:
             print(e)
@@ -123,26 +124,29 @@ class CloudStorageView(View):
         return False
 
     @classmethod
-    def cloud_vob_operate_log_save(cls, status=0, userId=''):
+    def cloud_vob_operate_log_save(cls, userID, request_dict, response):
         """ 保存用户操作记录 """
+        status = request_dict.get('status', '2')
+        status = int(status)
         try:
             with transaction.atomic():
-                if userId:
+                if userID:
                     start_time, end_time = LocalDateTimeUtil.get_today_date(True)
-                    user_operate_qs = CloudVodSurveysOperateLog.objects.filter(user_id=userId,
+                    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:
+                        if status == 3 and 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,
+                        operate_log = CloudVodSurveysOperateLog(user_id=userID, status=status, updated_time=local_time,
                                                                 created_time=local_time)
                         operate_log.save()
+                return response.json(0)
         except Exception as e:
             print(e)