Browse Source

修改验证注册码返回时间(统一300秒);新增调查问卷操作接口

guanhailong 2 years ago
parent
commit
dd788cc6bc

+ 29 - 16
Controller/Surveys/CloudStorageController.py

@@ -50,19 +50,20 @@ class CloudStorageView(View):
         ''' API '''
         logger.info('---- this user id:{},dict{}'.format(userID, request_dict))
         if operation == 'get/info':
-            return self.check_stock_user(userID, request_dict, response)
+            return self.check_stock_user(userID, 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(userID, request_dict, response)
+            self.cloud_vob_operate_log_save(status=2, userId=userID)
+        if operation == "entrance/cloud/storage/icon":
+            return self.entrance_cloud_storage_icon(userID, request_dict, response)
         return response.json(0)
 
-    def check_stock_user(self, user_id, request_dict, response):
+    def check_stock_user(self, user_id, 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)
@@ -74,10 +75,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=userID)
+                cloud_vod = CloudVodSurveysAnswer.objects.filter(title_id=surveys_title.id, user_id=user_id)
                 if cloud_vod.exists():
                     submit = 1
-            close = self.check_user_is_icon_close(userId=userID)
+            close = self.check_user_is_icon_close(userId=user_id)
             data = {
                 'no': result.no,
                 'title': 'Zosi Cloud Storage',
@@ -92,9 +93,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, userID)
+                self.surveys_user_log_save(status, user_id)
                 if not submit == 1:
-                    self.cloud_vob_operate_log_save(userID, request_dict, response)
+                    self.cloud_vob_operate_log_save(2 if close else submit, userId=user_id)
             return response.json(0, data)
         except Exception as e:
             print(e)
@@ -124,29 +125,26 @@ class CloudStorageView(View):
         return False
 
     @classmethod
-    def cloud_vob_operate_log_save(cls, userID, request_dict, response):
+    def cloud_vob_operate_log_save(cls, status=0, userId=''):
         """ 保存用户操作记录 """
-        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 status == 3 and not operate_log.status == status:
+                        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,
+                        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)
 
@@ -185,3 +183,18 @@ class CloudStorageView(View):
         except Exception as e:
             print(e)
             return response.json(500, repr(e))
+
+    @classmethod
+    def entrance_cloud_storage_icon(cls, userID, request_dict, response):
+        status = request_dict.get('status', None)
+        if not status:
+            return response.json(444, 'status')
+        status = int(status)
+        start_time, end_time = LocalDateTimeUtil.get_today_date(True)
+        if status == 3:  #
+            user_operate_qs = CloudVodSurveysOperateLog.objects.filter(user_id=userID, status=status,
+                                                                       created_time__gte=start_time,
+                                                                       created_time__lte=end_time)
+            if not user_operate_qs.exists():  # 判断用户是否已点开问卷
+                cls.cloud_vob_operate_log_save(status=status, userId=userID)
+        return response.json(0)

+ 2 - 2
Controller/UserController.py

@@ -832,7 +832,7 @@ class v2authCodeView(TemplateView):
         )
         if send_res is not True:
             return response.json(44)
-        if reds.set_data(key=email + '_identifyingCode', val=identifyingCode, expire=600) is not True:
+        if reds.set_data(key=email + '_identifyingCode', val=identifyingCode, expire=300) is not True:
             return response.json(10, 'error')
         return response.json(0)
         # return response.json(0, {'identifyingCode': identifyingCode})
@@ -869,7 +869,7 @@ class v2authCodeView(TemplateView):
         )
         if send_res is not True:
             return response.json(44)
-        if reds.set_data(key=email + '_identifyingCode', val=identifyingCode, expire=600) is not True:
+        if reds.set_data(key=email + '_identifyingCode', val=identifyingCode, expire=300) is not True:
             return response.json(10, 'error')
         return response.json(0)
 

+ 1 - 1
Controller/shareUserPermission.py

@@ -80,7 +80,7 @@ class searchUserView(View):
             sqlDict = dict(zip(["datas"], [sqlList]))
             return response.json(0, sqlDict)
         else:
-            return response.json(102)
+            return response.json(104)
 
     def searchUserPCSQL(self, fieldDict, response):
         try: