Эх сурвалжийг харах

初始化用户地区相关

chenshibin 4 жил өмнө
parent
commit
9ecc392d31

+ 8 - 10
Ansjer/local_settings.py

@@ -73,17 +73,15 @@ TEMPLATES = [
 WSGI_APPLICATION = 'Ansjer.local_wsgi.application'
 
 # 服务器类型
-DATABASE_DATA = 'ansjertest'
-SERVER_HOST = '127.0.0.1'
-DATABASES_USER = 'root'
-DATABASES_PASS = 'mysqlfyzs9wl'
-
-DATABASE_DATA2 = 'ansjerpush'
-SERVER_HOST2 = '127.0.0.1'
-DATABASES_USER2 = 'root'
-DATABASES_PASS2 = '123456'
-
+DATABASE_DATA = 'AnsjerTest'
+SERVER_HOST = 'database-2.clraczw4p0yj.us-west-1.rds.amazonaws.com'
+DATABASES_USER = 'azrds'
+DATABASES_PASS = 'azrds.x.x'
 
+DATABASE_DATA2 = 'AnsjerTest'
+SERVER_HOST2 = 'ansjerpush.clraczw4p0yj.us-west-1.rds.amazonaws.com'
+DATABASES_USER2 = 'azrds'
+DATABASES_PASS2 = 'azrds.x.x'
 
 DATABASES = {
     'default': {

+ 56 - 0
Controller/IotCoreController.py

@@ -0,0 +1,56 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+import boto3
+from django.views import View
+
+from Model.models import Device_User
+from Object.IOTCore.IotObject import ChinaIOTClient, AsiaIOTClient, EuropeIOTClient, AmericaIOTClient
+from Object.ResponseObject import ResponseObject
+
+
+class IotCoreView(View):
+
+    def get(self, request, *args, **kwargs):
+        request.encoding = 'utf-8'
+        request_dict = request.GET
+        operation = kwargs.get('operation', None)
+        return self.validate(operation, request_dict)
+
+    def post(self, request, *args, **kwargs):
+        request.encoding = 'utf-8'
+        request_dict = request.POST
+        operation = kwargs.get('operation', None)
+        return self.validate(operation, request_dict)
+
+    def validate(self, operation, request_dict):
+
+        response = ResponseObject()
+
+        if operation == 'createProvisioningClaim':
+            return self.create_provisioning_claim(request_dict, response)
+        else:
+            return response.json(404)
+
+    # def create_provisioning_claim(self, request_dict, response):
+    #     uid = request_dict.get('uid', None)
+    #
+    #     if uid:
+    #
+    #         user_region_qs = UserRegionModel.objects.filter(user__device_info__UID=uid)
+    #         if user_region_qs.exists():
+    #             user_region = user_region_qs[0]
+    #
+    #             if user_region.region_id == 1:
+    #                 iotClient = AmericaIOTClient()
+    #                 return response.json(0, {'res': iotClient.create_provisioning_claim('Ansjer_Iot_Queue')})
+    #             elif user_region.region_id == 2:
+    #                 iotClient = AsiaIOTClient()
+    #                 return response.json(0, {'res': iotClient.create_provisioning_claim('Ansjer_Iot_Queue')})
+    #             elif user_region.region_id == 3:
+    #                 iotClient = EuropeIOTClient()
+    #                 return response.json(0, {'res': iotClient.create_provisioning_claim('Ansjer_Iot_Queue')})
+    #             else:
+    #                 iotClient = AmericaIOTClient()
+    #                 return response.json(0, {'res': iotClient.create_provisioning_claim('Ansjer_Iot_Queue')})
+    #     else:
+    #         return response.json(444)

+ 65 - 0
Controller/RegionCountryController.py

@@ -0,0 +1,65 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+import time
+
+from django.views import View
+
+from Model.models import Device_User, RegionCountryModel
+from Object.ResponseObject import ResponseObject
+from Object.TokenObject import TokenObject
+import  json
+
+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):
+        token = TokenObject(request_dict.get('token', None))
+
+        response = ResponseObject()
+
+        if token.code != 0:
+            return response.json(token.code)
+
+        if operation == 'initUserRegion':
+            return self.do_initUserRegion(token.userID, request_dict, response)
+        elif operation == 'initRegionDate':
+            return self.do_initRegionDate(token.userID, request_dict, response)
+        else:
+            return response.json(404)
+
+    def do_initUserRegion(self, userID, request_dict, response):
+        user_qs = Device_User.objects.filter(userID=userID)
+        number = request_dict.get('number', None)
+        if not user_qs.exists():
+            return response.json(309)
+        user_qs[0].update(regionCountry = number)
+
+    def do_initRegionDate(self, request_dict, response):
+        filepath = request_dict.get('filepath')
+        fobj = open(filepath)
+        region_list = json.loads(fobj)
+
+        now_time = int(time.time())
+
+        for region in region_list:
+            name = region['name']
+            region_id = region['region_id']
+
+            countries_list = region['countries']
+            for countries in countries_list:
+                cn = countries['cn']
+                en = countries['en']
+                number = countries['number']
+
+                RegionCountryModel.objects.create(number=number, region_id=region_id, name=name, cn=cn, en=en, add_time=now_time, update_time=now_time)

+ 28 - 10
Controller/TestApi.py

@@ -39,7 +39,7 @@ from django.contrib.auth.hashers import make_password, check_password  # 对密
 
 from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, OSS_ROLE_ARN, SERVER_DOMAIN, PAYPAL_CRD, \
     SERVER_DOMAIN_SSL
-from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, UID_Bucket
+from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, UID_Bucket, StsCrdModel
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.UidTokenObject import UidTokenObject
@@ -99,9 +99,15 @@ class testView(View):
         elif operation == 'generateToken':
             userID = '158943604783713800138000'
             return self.generate_token(request_dict,userID)
+        elif operation == 'generateUidToken':
+            userID = '158943604783713800138000'
+            return self.generate_uid_token(request_dict,userID)
         elif operation == 'test_upload_s3':
             userID = '158943604783713800138000'
             return self.test_upload_s3(request_dict)
+        elif operation == 'test_upload_s3_amazon_comprehend':
+            userID = '158943604783713800138000'
+            return self.test_upload_s3_amazon_comprehend(request_dict)
         else:
             return 123
 
@@ -119,7 +125,7 @@ class testView(View):
         s3_client = session.client('s3')
 
         #上传
-        # s3_client.put_object(Bucket="azvod1", Key="file/rule.txt", Body=open(r"E:\download\Shadowsocks-4.1.10.0\user-rule.txt", 'rb').read())
+        s3_client.put_object(Bucket="azvod1", Key="file/rule.txt", Body=open(r"E:\download\Shadowsocks-4.1.10.0\user-rule.txt", 'rb').read())
 
         #下载
         resp = s3_client.get_object(Bucket="azvod1", Key="file/rule.txt")
@@ -293,10 +299,10 @@ class testView(View):
     def do_test_get_sign_sts(self, request_dict, ip, response):
         # uid = 'GZL2PEFJPLY7W6BG111A'
         # channel = 2
-        uid = 'VVDHCVBYDKFMJRWA111A'
+        uid = 'M1BYBPCHNS92PBLG111A'
         channel = 1
         now_time = int(time.time())
-        ubqs = UID_Bucket.objects.filter(uid=uid, channel=channel, endTime__gte=now_time). \
+        ubqs = UID_Bucket.objects.filter(uid=uid, channel=channel). \
             values("bucket__mold", "bucket__bucket", "bucket__endpoint", "bucket__region", "endTime")
         if ubqs.exists():
             if ubqs[0]["bucket__mold"] == 0:
@@ -404,7 +410,7 @@ class testView(View):
                     ]
                 }
                 response = boto3_sts.get_federation_token(
-                    Name='{role_name}'.format(role_name=uid + '_' + channel),
+                    Name='{role_name}'.format(role_name=uid + '_' + str(channel)),
                     Policy=json.dumps(Policy),
                     DurationSeconds=7200
                 )
@@ -684,17 +690,29 @@ class testView(View):
         #UserIdToken
         tko = TokenObject()
         res = tko.generate(
-            data={'userID': 158943594633713800138000, 'lang': 'cn', 'user': '597471180@qq.com', 'm_code': '123413243214'})
+            data={'userID': 160868920610913800138000, 'lang': 'cn', 'user': '13923452707', 'm_code': '123413243214'})
 
         #uidToken
         # utko = UidTokenObject()
         # res = utko.generate(data={'uid': 'H2CMKET2LDC3ZBL4111A','channel': 1})
         return JsonResponse(status=200, data=res,safe=False)
 
+    def generate_uid_token(self, request_dict, userID):
+        # UserIdToken
+        # tko = TokenObject()
+        # res = tko.generate(
+        #     data={'userID': 158943594633713800138000, 'lang': 'cn', 'user': '597471180@qq.com',
+        #           'm_code': '123413243214'})
+
+        utko = UidTokenObject()
+        rr = utko.generate(data={'uid':'M1BYBPCHNS92PBLG111A','channel':1})
+        return JsonResponse(status=200, data=rr, safe=False)
+
+
     def test_upload_s3(self,request_dict):
-        aws_key = "ASIA2E67UIMD454ZXCKZ" #【你的 aws_access_key】
-        aws_secret = "4zqyp4xEc7kf+RVPxHN4pw2G6o1zPEeZjCFvsQg5" # 【你的 aws_secret_key】
-        aws_session_token = "FwoGZXIvYXdzEHUaDNFT8HDNEJnDk7sHyiLoAd7WDsGQtulT19i8BDTPPdG3O3ALMiUs1d/Am5U9ooWo+TNVvkgdI7VN2gcIFP+Ib5QH4IA8ikpYDHC0bxckkZwrBp9EmrZpHgDPEl6tOdpkyVRmquf+a4BcC1794uhpXF40dm46B+FV1Rr61tG741JResI826CZ9oIKxhLcnkT6E0KFZ4WodaRzOswjZpUoYJf5Et+mGQdoOhKTdnwe/o3rbgZ7IcI0m3w6QrFL6M5gb1I8K0uzUwIKcxnvrjPLcQU6TwH002+J51GnygMs8rGGTxaKOuyVgovTx2YpLSj79itEnpQhM64ohvmE/QUyKdTiqfyqacYXV8WkoUEMnw+UkW8QeLFJqCwf77UhWN9zP+SBuC0hhW20"
+        aws_key = "ASIA2E67UIMDTJFRF7UE" #【你的 aws_access_key】
+        aws_secret = "5u6MDvm3Fabdbc6EG9+JPJE3x07peNkrvok76Dqq" # 【你的 aws_secret_key】
+        aws_session_token = "FwoGZXIvYXdzEHQaDKQchZxanXOpNJ2UriLoARUmKF/Uf6HZMhB4Bdo1Df4BlirgpqOyXmMULjx1yvqah1+BKIV2rzEoxxaVmvjcvLjHMQamPR7QzLZYP/WgJ6biPTnfqJWy5rCVpIZtD3D2nmGWAf5RSedADILJgBQmrXumFX2jrnm6THbqfdyfT2eitKt5ZD82zvLOaHMWu7mzomzmye8Eimt28Dhj6jsLeZPxOhhHBLUi+gddHAMCQq8HmGbnsXN5OrOBvqreRAxdR/u6vuQHbVpV3b8V5nkAtTVhOCaGRcPETARB8F/jFuFRhW9tAjPZisP/SEa8vUDR32FoMNQeda4o5+7l/gUyKYlem5bIB96gywY6s4C8c1PAa3l09+5tdGNp5laAJf7vMUzMJckR2EgF"
         session = Session(aws_access_key_id=aws_key,
                           aws_secret_access_key=aws_secret,
                           aws_session_token=aws_session_token,
@@ -707,4 +725,4 @@ class testView(View):
         file_obj = s3.Bucket(bucket).put_object(Key=upload_key, Body=upload_data)
         print('--------')
         print(file_obj)
-        return JsonResponse(status=200, data=file_obj,safe=False)
+        return JsonResponse(status=200, data=file_obj, safe=False)