| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 | 
							- import time
 
- import requests
 
- from django.views import View
 
- from Model.models import Device_User, Order_Model, CountryModel, SysMsgModel
 
- from Object.AWS.S3Email import S3Email
 
- from Ansjer.config import CONFIG_INFO, CONFIG_US
 
- from Object.ResponseObject import ResponseObject
 
- from Object.TokenObject import TokenObject
 
- class RegionCountryView(View):
 
-     def get(self, request, *args, **kwargs):
 
-         request.encoding = 'utf-8'
 
-         operation = kwargs.get('operation', None)
 
-         request_dict = request.GET
 
-         return self.validate(request_dict, operation)
 
-     def post(self, request, *args, **kwargs):
 
-         request.encoding = 'utf-8'
 
-         operation = kwargs.get('operation', None)
 
-         request_dict = request.POST
 
-         return self.validate(request_dict, operation)
 
-     def validate(self, request_dict, operation):
 
-         response = ResponseObject()
 
-         if operation == 'sendSysMsg':
 
-             return self.send_sys_msg(request_dict, response)
 
-         token = TokenObject(request_dict.get('token', None))
 
-         if token.code != 0:
 
-             return response.json(token.code)
 
-         if operation == 'initUserRegion':
 
-             return self.init_user_region(token.userID, request_dict, response)
 
-         else:
 
-             return response.json(414)
 
-     @staticmethod
 
-     def init_user_region(user_id, request_dict, response):
 
-         """
 
-         初始化用户地区
 
-         @param user_id: 用户id
 
-         @param request_dict: 请求数据
 
-         @request_dict number: 国家id
 
-         @param response: 响应
 
-         @return: response
 
-         """
 
-         region_country = request_dict.get('number', None)
 
-         if not region_country:
 
-             return response.json(444)
 
-         device_user_qs = Device_User.objects.filter(userID=user_id).values('region_country')
 
-         if not device_user_qs.exists():
 
-             return response.json(104)
 
-         region_country = int(region_country)
 
-         # 云存用户切换为欧洲地区,发邮件提醒和系统消息
 
-         if CONFIG_INFO == CONFIG_US:
 
-             country_qs = CountryModel.objects.filter(id=region_country).values('region_id')
 
-             if country_qs.exists():
 
-                 if country_qs[0]['region_id'] == 4:
 
-                     order_qs = Order_Model.objects.filter(userID_id=user_id, payType=1, status=1)
 
-                     if order_qs.exists():
 
-                         email_content = '云存用户切换为欧洲地区,请处理云存数据,user_id:{}'.format(user_id)
 
-                         S3Email().faEmail(email_content, '1073329609@qq.com')
 
-                         # 请求欧洲服发送系统消息
 
-                         url = 'https://api.zositeche.com/regionCountry/sendSysMsg'
 
-                         data = {'user_id': user_id}
 
-                         requests.post(url=url, data=data, timeout=5)
 
-         device_user_qs.update(region_country=region_country, region_status=True)
 
-         return response.json(0)
 
-     @staticmethod
 
-     def send_sys_msg(request_dict, response):
 
-         user_id = request_dict.get('user_id', None)
 
-         if not user_id:
 
-             return response.json(444)
 
-         now_time = int(time.time())
 
-         msg = 'System upgrading. It may have influence on the cloud storage usage.' \
 
-               'Please feel free to contact Zosi customer service if you have any questions anytime.'
 
-         SysMsgModel.objects.create(userID_id=user_id, msg=msg, addTime=now_time, updTime=now_time)
 
-         return response.json(0)
 
 
  |