Pārlūkot izejas kodu

新增推送证书、不同地区删除相同用户和设备

peng 2 gadi atpakaļ
vecāks
revīzija
fd907c9a3a

+ 3 - 0
Ansjer/cn_config/config_formal.py

@@ -134,5 +134,8 @@ APNS_CONFIG = {
     },
     'com.ansjer.customizedc': {
         'pem_path': 'Ansjer/file/apns_pem/customizedc.pem',
+    },
+    'com.cloudlife.commissionf': {
+        'pem_path': 'Ansjer/file/apns_pem/commissionf.pem',
     }
 }

+ 3 - 0
Ansjer/cn_config/config_test.py

@@ -138,5 +138,8 @@ APNS_CONFIG = {
     },
     'com.ansjer.customizedc': {
         'pem_path': 'Ansjer/file/apns_pem/customizedc.pem',
+    },
+    'com.cloudlife.commissionf': {
+        'pem_path': 'Ansjer/file/apns_pem/commissionf-dev.pem',
     }
 }

+ 3 - 0
Ansjer/eur_config/config_formal.py

@@ -134,5 +134,8 @@ APNS_CONFIG = {
     },
     'com.ansjer.customizedc': {
         'pem_path': 'Ansjer/file/apns_pem/customizedc.pem',
+    },
+    'com.cloudlife.commissionf': {
+        'pem_path': 'Ansjer/file/apns_pem/commissionf.pem',
     }
 }

+ 3 - 0
Ansjer/local_config/config_local.py

@@ -78,4 +78,7 @@ APNS_CONFIG = {
     'com.ansjer.customizede': {
         'pem_path': 'Ansjer/file/apns_pem/ZhouShi-dev.pem',
     },
+    'com.cloudlife.commissionf': {
+        'pem_path': 'Ansjer/file/apns_pem/commissionf-dev.pem',
+    }
 }

+ 3 - 0
Ansjer/us_config/config_formal.py

@@ -134,5 +134,8 @@ APNS_CONFIG = {
     },
     'com.ansjer.customizedc': {
         'pem_path': 'Ansjer/file/apns_pem/customizedc.pem',
+    },
+    'com.cloudlife.commissionf': {
+        'pem_path': 'Ansjer/file/apns_pem/commissionf.pem',
     }
 }

+ 2 - 43
Controller/DetectControllerV2.py

@@ -1,33 +1,15 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-"""
-@Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
-@AUTHOR: ASJRD018
-@NAME: AnsjerFormal
-@software: PyCharm
-@DATE: 2019/1/14 15:57
-@Version: python3.6
-@MODIFY DECORD:ansjer dev
-@file: DetectController.py
-@Contact: chanjunkai@163.com
-"""
 import json
-import os
 import time
 
-import apns2
 import boto3
 import botocore
-import jpush as jpush
 import oss2
 from botocore import client
 from django.http import JsonResponse
 from django.views.generic.base import View
-from pyfcm import FCMNotification
 
 from Ansjer.config import DETECT_PUSH_DOMAIN, DETECT_PUSH_DOMAINS, DETECT_PUSH_DOMAIN_JIUAN, DETECT_PUSH_DOMAINS_JIUAN, \
-    OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, \
-    JPUSH_CONFIG, FCM_CONFIG, APNS_CONFIG, BASE_DIR, APNS_MODE, SERVER_TYPE
+    OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
 from Ansjer.config import PUSH_REDIS_ADDRESS
 from Model.models import Device_Info, VodHlsModel, Equipment_Info, UidSetModel, UidPushModel, CompanyModel, SysMsgModel, \
     AiService
@@ -35,7 +17,6 @@ from Object.ETkObject import ETkObject
 from Object.RedisObject import RedisObject
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
-from Object.UidTokenObject import UidTokenObject
 from Service.CommonService import CommonService
 from Service.EquipmentInfoService import EquipmentInfoService
 
@@ -68,7 +49,6 @@ class DetectControllerViewV2(View):
             userID = tko.userID
             # 修改推送设置
             if operation == 'changeStatus':
-                print("进入changeStatus")
                 return self.do_change_status(userID, request_dict, response)
             # 查询推送信息
             elif operation == 'queryInfo':
@@ -89,11 +69,10 @@ class DetectControllerViewV2(View):
         status = request_dict.get('status', None)
         m_code = request_dict.get('m_code', None)
         uid = request_dict.get('uid', None)
-        # 设备语言
         lang = request_dict.get('lang', 'en')
         tz = request_dict.get('tz', '0')
         company_secrete = request_dict.get('company_secrete', None)
-        region = request_dict.get('region', None)  # app必须传:2:国内 1:国外
+        region = request_dict.get('region', None)  # app必须传:1:国外,2:国内
         electricity_status = request_dict.get('electricity_status', None)
         if not region:
             return response.json(444, 'region')
@@ -117,22 +96,8 @@ class DetectControllerViewV2(View):
         # 关闭推送
         if not all([appBundleId, app_type, token_val, uid, m_code]):
             return response.json(444, 'appBundleId,app_type,token_val,uid,m_code')
-        # 判断推送类型对应key是否存在
-        print('push_type:', push_type)
 
         try:
-            if push_type == '0':
-                if appBundleId not in APNS_CONFIG.keys():
-                    return response.json(904)
-            elif push_type == '1':
-                if appBundleId not in FCM_CONFIG.keys():
-                    return response.json(904)
-            elif push_type == '2':
-                if appBundleId not in JPUSH_CONFIG.keys():
-                    return response.json(904)
-            else:
-                return response.json(173)
-
             # 判断用户是否拥有设备
             device_info_qs = Device_Info.objects.filter(userID_id=userID, UID=uid)
             if not device_info_qs.exists():
@@ -227,7 +192,6 @@ class DetectControllerViewV2(View):
                     }
                     uid_push_qs.update(**uid_push_update_dict)
                 else:
-                    # uid_set_id = uid_set_qs[0].id
                     uid_push_create_dict = {
                         'uid_set_id': uid_set_id,
                         'userID_id': userID,
@@ -248,9 +212,6 @@ class DetectControllerViewV2(View):
                     self.do_delete_redis(uid, interval)
                 else:
                     self.do_delete_redis(uid)
-                # utko = UidTokenObject()
-                # # right
-                # utko.generate(data={'uid': uid})
                 etkObj = ETkObject(etk='')
                 etk = etkObj.encrypt(uid)
 
@@ -440,8 +401,6 @@ class DetectControllerViewV2(View):
             print(repr(e))
             return response.json(474)
 
-
-
     def do_update_interval(self, userID, request_dict, response):
         uid = request_dict.get('uid', None)
         interval = request_dict.get('interval', None)

+ 26 - 19
Controller/UserController.py

@@ -15,6 +15,7 @@ import base64
 import datetime
 import logging
 import random
+import threading
 import time
 import traceback
 from io import BytesIO
@@ -37,7 +38,8 @@ from jwt.algorithms import RSAAlgorithm
 from ratelimit.decorators import ratelimit
 
 from Ansjer.config import AuthCode_Expire, SERVER_DOMAIN, APNS_CONFIG, JPUSH_CONFIG, FCM_CONFIG, TUTK_PUSH_DOMAIN
-from Ansjer.config import BASE_DIR, CONFIG_US, CONFIG_EUR, CONFIG_INFO, SERVER_DOMAIN_US, SERVER_DOMAIN_EUR
+from Ansjer.config import BASE_DIR, CONFIG_US, CONFIG_EUR, CONFIG_INFO, SERVER_DOMAIN_US, SERVER_DOMAIN_EUR, CONFIG_CN, \
+    CONFIG_TEST, SERVER_DOMAIN_CN, SERVER_DOMAIN_TEST
 from Controller.CheckUserData import DataValid, date_handler, RandomStr
 from Model.models import Device_User, Role, UidPushModel, UserOauth2Model, UserExModel, Device_Info, UidSetModel, \
     UserAppFrequencyModel, CountryIPModel, CountryModel, UidChannelSetModel, Order_Model, UID_Bucket, Unused_Uid_Meal, \
@@ -685,6 +687,16 @@ class refreshTokenViewV3(TemplateView):
         request_dict = request.GET
         return self.validation(request_dict)
 
+    @staticmethod
+    def delete_user_and_device(user_id):
+        # 删除不同区域相同用户
+        data = {'userID': user_id}
+        url_list = CommonService.get_orders_domain_name_list()
+        if SERVER_DOMAIN_EUR in url_list:
+            url_list.remove(SERVER_DOMAIN_EUR)
+        for url in url_list:
+            requests.post(url=url+'v3/account/deleteUser', data=data, timeout=3)
+
     def validation(self, request_dict):
         token = request_dict.get('token', None)
         lang = request_dict.get('lang', None)
@@ -705,15 +717,6 @@ class refreshTokenViewV3(TemplateView):
                 return response.json(tko.code)
             userID = tko.userID
             tko.lang = lang
-
-            # 删除不同区域相同用户
-            headers = {'Authorization': token}
-            if CONFIG_INFO == CONFIG_US:
-                url = SERVER_DOMAIN_EUR + 'v3/account/deleteUser'
-                # requests.get(url=url, headers=headers)
-            elif CONFIG_INFO == CONFIG_EUR:
-                url = SERVER_DOMAIN_US + 'v3/account/deleteUser'
-                # requests.get(url=url, headers=headers)
             if password:  # 检验密码
                 password = password.strip()
                 # 解密
@@ -737,6 +740,9 @@ class refreshTokenViewV3(TemplateView):
                     'region': lang
                 }
                 user_ex_qs.update(**update_dict)
+            # 删除相同用户
+            request_thread = threading.Thread(target=self.delete_user_and_device, args=(userID,))
+            request_thread.start()
             return response.json(0, res)
         except Exception as e:
             print(e)
@@ -1480,7 +1486,6 @@ class v2forgetPwdCodeView(TemplateView):
 
         return response.json(0, res)
 
-
     def do_send_email_code(self, email, response, number, lang):
         data_valid = DataValid()
         if data_valid.email_validate(email) is not True:
@@ -4347,11 +4352,13 @@ class DeleteUser(View):
         return self.validate(request, request_dict)
 
     def validate(self, request, request_dict):
-        token_code, user_id, response = CommonService.verify_token_get_user_id(request_dict, request)
-
-        if token_code != 0:
-            return response.json(token_code)
-        user_qs = Device_User.objects.filter(userID=user_id)
-        if user_qs.exists():
-            user_qs.delete()
-        return response.json(0)
+        response = ResponseObject('cn')
+        try:
+            user_id = request_dict.get('userID', None)
+            if not user_id:
+                return response.json(444)
+            Device_User.objects.filter(userID=user_id).delete()
+            Device_Info.objects.filter(userID=user_id).delete()
+            return response.json(0)
+        except Exception as e:
+            return response.json(500, repr(e))