Просмотр исходного кода

推送配置修改
增加多app 单一用户

chenjunkai 6 лет назад
Родитель
Сommit
92246339b5
3 измененных файлов с 28 добавлено и 15 удалено
  1. 5 5
      Controller/EquipmentManager.py
  2. 13 8
      Controller/UserController.py
  3. 10 2
      Service/ModelService.py

+ 5 - 5
Controller/EquipmentManager.py

@@ -693,12 +693,12 @@ def uid_status(request):
     if qs.exists():
         # 获取uid推送是否添加过
         us_id = qs[0]['id']
-        if UidPushModel.objects.filter(uid_set_id=us_id, userID_id=userID).exists():
-            detect_status = qs[0]['detect_status']
-        else:
-            detect_status = 0
+        # if UidPushModel.objects.filter(uid_set_id=us_id, userID_id=userID).exists():
+        #     detect_status = qs[0]['detect_status']
+        # else:
+        #     detect_status = 0
         data = {
-            'push_status': detect_status,  # 推送状态
+            'push_status': qs[0]['detect_status'],  # 推送状态
             'push_interval': qs[0]['detect_interval'],  # 推送间隔
             'ucode': qs[0]['ucode'],
             'version': qs[0]['version'],

+ 13 - 8
Controller/UserController.py

@@ -24,7 +24,7 @@ from django.views.decorators.csrf import csrf_exempt
 from django.views.generic import TemplateView
 from ratelimit.decorators import ratelimit
 
-from Ansjer.config import AuthCode_Expire, SERVER_DOMAIN,APNS_CONFIG,JPUSH_CONFIG,FCM_CONFIG
+from Ansjer.config import AuthCode_Expire, SERVER_DOMAIN, APNS_CONFIG, JPUSH_CONFIG, FCM_CONFIG
 from Controller.CheckUserData import DataValid, date_handler, RandomStr
 from Model.models import Device_User, Role, SysMsgModel, UidPushModel, UidSetModel
 from Object.AWS.SesClassObject import SesClassObject
@@ -303,7 +303,7 @@ class LogoutView(TemplateView):
             if m_code:
                 userID = tko.userID
                 try:
-                    UidPushModel.objects.filter(userID_id=userID).delete()
+                    UidPushModel.objects.filter(userID_id=userID, m_code=m_code).delete()
                 except Exception as e:
                     pass
                 else:
@@ -913,15 +913,15 @@ class v2forgetPwdCodeView(TemplateView):
         if phone is not None:
             phone = phone.strip()
             if country_code is None:
-                return self.do_send_phone_code(phone, response,sign_name)
+                return self.do_send_phone_code(phone, response, sign_name)
             else:
-                return self.do_v2_send_phone_code(country_code, phone, response,sign_name)
+                return self.do_v2_send_phone_code(country_code, phone, response, sign_name)
         elif email is not None:
             return self.do_send_email_code(email, response)
         else:
             return response.json(444, 'phone')
 
-    def do_send_phone_code(self, phone, response,sign_name):
+    def do_send_phone_code(self, phone, response, sign_name):
         data_valid = DataValid()
         if data_valid.mobile_validate(phone) is not True:
             return response.json(100)
@@ -952,7 +952,7 @@ class v2forgetPwdCodeView(TemplateView):
         else:
             return response.json(10, res["Message"])
 
-    def do_v2_send_phone_code(self, country_code, phone, response,sign_name):
+    def do_v2_send_phone_code(self, country_code, phone, response, sign_name):
         data_valid = DataValid()
         if data_valid.mobile_validate(phone) is not True:
             return response.json(100)
@@ -1276,8 +1276,13 @@ class InitInfoView(View):
                     return response.json(904)
             else:
                 return response.json(173)
-            UidPushModel.objects.filter(userID_id=userID, m_code=m_code). \
-                update(token_val=token_val, push_type=push_type)
+            uid_list = ModelService.get_uid_list(userID=userID)
+            if uid_list:
+                uid_set_id_list = UidSetModel.objects.filter(uid__in=uid_list, detect_status=1).values_list('id',
+                                                                                                            flat=True)
+                if uid_set_id_list:
+                    UidPushModel.objects.filter(userID_id=userID, m_code=m_code, uid_set_id__in=uid_set_id_list). \
+                        update(token_val=token_val, push_type=push_type)
         res = {
             'usmsg': sm_count
         }

+ 10 - 2
Service/ModelService.py

@@ -121,9 +121,17 @@ class ModelService:
         return userID_list
 
     @staticmethod
-    def del_eq_info(userID,uid):
+    def del_eq_info(userID, uid):
         ei_qs = Equipment_Info.objects.filter(userID_id=userID, devUid=uid)
         ei_qs.delete()
         # ei_count = ei_qs.count()
         # while (ei_count > 1000):
-        #     ei_qs[0:1000].delete()
+        #     ei_qs[0:1000].delete()
+
+        # 根据设备主键ID判断是否拥有该设备
+
+    # 获取绑定用户设备列表
+    @staticmethod
+    def get_uid_list(userID):
+        uid_list = Device_Info.objects.filter(userID_id=userID).values_list('UID', flat=True)
+        return list(uid_list)