Browse Source

Merge remote-tracking branch 'remotes/origin/dev' into test

tanghongbin 4 years ago
parent
commit
b6f04e1721
1 changed files with 16 additions and 3 deletions
  1. 16 3
      Controller/DetectController.py

+ 16 - 3
Controller/DetectController.py

@@ -253,7 +253,7 @@ class DetectControllerView(View):
                 # ykey = '{uid}_redis_qs'.format(uid=uid)
                 # redisObj = RedisObject(db=6, SERVER_HOST='push.dvema.com')
                 # redisObj.del_data(key=ykey)
-                self.do_delete_redis(uid)
+
                 if uid_push_qs.exists():
                     uid_push_update_dict = {
                         'appBundleId': appBundleId,
@@ -282,6 +282,11 @@ class DetectControllerView(View):
                     }
                     # 绑定设备推送
                     UidPushModel.objects.create(**uid_push_create_dict)
+
+                if interval:
+                    self.do_delete_redis(uid, int(interval))
+                else:
+                    self.do_delete_redis(uid)
                 # utko = UidTokenObject()
                 # # right
                 # utko.generate(data={'uid': uid})
@@ -293,13 +298,21 @@ class DetectControllerView(View):
         else:
             return response.json(14)
 
-    def do_delete_redis(self, uid):
+    def do_delete_redis(self, uid, detect_interval=0):
         keyPattern = '{uid}*'.format(uid=uid)
         redisObj = RedisObject(db=6, SERVER_HOST='push.dvema.com')
         keys = redisObj.get_keys(keyPattern)
         if keys:
             for key in keys:
-                redisObj.del_data(key=key.decode())
+                key = key.decode()
+                if detect_interval == 0:
+                    redisObj.del_data(key=key)
+                elif key.find('plt') != -1:
+                    continue
+                elif key.find('flag') != -1:
+                    redisObj.set_data(key=key, val=1, expire=detect_interval)
+                else:
+                    redisObj.del_data(key=key)
 
     def do_update_interval(self, userID, request_dict, response):
         uid = request_dict.get('uid', None)