Pārlūkot izejas kodu

Merge branch 'dev' into lang

lang 4 gadi atpakaļ
vecāks
revīzija
209daa25c0

+ 9 - 3
Ansjer/config_formal.py

@@ -16,11 +16,17 @@ SERVER_DOMAIN_SSL = 'https://www.dvema.com/'
 SERVER_DOMAIN = 'http://www.dvema.com/'
 DOMAIN_HOST = 'www.dvema.com'
 SERVER_HOST = 'localhost'
+# PAYPAL_CRD = {
+#     "mode": "live",  # sandbox or live
+#     "client_id": "AdSRd6WBn-qLl9OiQHQuNYTDFSx0ZX0RUttqa58au8bPzoGYQUrt8bc6591RmH8_pEAIPijdvVYSVXyI",
+#     "client_secret": "ENT-J08N3Fw0B0uAokg4RukljAwO9hFHPf8whE6-Dwd8oBWJO8AWMgpdTKpfB1pOy89t4bsFEzMWDowm"
+# }
 PAYPAL_CRD = {
-    "mode": "live",  # sandbox or live
-    "client_id": "AdSRd6WBn-qLl9OiQHQuNYTDFSx0ZX0RUttqa58au8bPzoGYQUrt8bc6591RmH8_pEAIPijdvVYSVXyI",
-    "client_secret": "ENT-J08N3Fw0B0uAokg4RukljAwO9hFHPf8whE6-Dwd8oBWJO8AWMgpdTKpfB1pOy89t4bsFEzMWDowm"
+    "mode": "sandbox",  # sandbox or live
+    "client_id": "AVLoQVq3xHZ6FrF4mxHwlCPgVBAw4Fw5RtMkuxmYd23SkUTIY643n2g3KdK-Al8wV05I28lza5uoQbAA",
+    "client_secret": "EO8kRc8yioDk0i2Qq-QMcVFfwkmyMJorTvBSLDTnxDJJ_wb9VoM_0jkUY9iEng2Flp1ze8wQOGpH5nB2"
 }
+
 DETECT_PUSH_DOMAIN = 'http://push.dvema.com/'
 # 数据库dyanamo品牌日志数据库
 USER_BRAND = 'user_brand'

+ 6 - 6
Ansjer/config_test.py

@@ -23,15 +23,15 @@ OAUTH_REFRESH_TOKEN_SECRET = 'test_r+jbgnw%@1%zy^=@dn62%'
 DOMAIN_HOST = 'test.dvema.com'
 SERVER_HOST = 'localhost'
 PAYPAL_CRD = {
-    "mode": "live",  # sandbox or live
-    "client_id": "AdSRd6WBn-qLl9OiQHQuNYTDFSx0ZX0RUttqa58au8bPzoGYQUrt8bc6591RmH8_pEAIPijdvVYSVXyI",
-    "client_secret": "ENT-J08N3Fw0B0uAokg4RukljAwO9hFHPf8whE6-Dwd8oBWJO8AWMgpdTKpfB1pOy89t4bsFEzMWDowm"
+    # "mode": "live",  # sandbox or live
+    # "client_id": "AdSRd6WBn-qLl9OiQHQuNYTDFSx0ZX0RUttqa58au8bPzoGYQUrt8bc6591RmH8_pEAIPijdvVYSVXyI",
+    # "client_secret": "ENT-J08N3Fw0B0uAokg4RukljAwO9hFHPf8whE6-Dwd8oBWJO8AWMgpdTKpfB1pOy89t4bsFEzMWDowm"
     # "mode": "sandbox",  # sandbox or live
     # "client_id": "AeuhR7FHisO-lOd2OwtzyDu7PSLMmDZoDLgmzuEQ12WCtTu_8Z1AzcD4gG5SnymnuvJs-n5KBB8H9Z_G",
     # "client_secret": "EGkMCB3RWTcUGJGDYahJ9mCO0AQzEn2AvFfx1GAFjfyyn7-8a0NObcZks89QorlFpvNWTsDXVa2INRNM"
-    # "mode": "sandbox",  # sandbox or live
-    # "client_id": "AVLoQVq3xHZ6FrF4mxHwlCPgVBAw4Fw5RtMkuxmYd23SkUTIY643n2g3KdK-Al8wV05I28lza5uoQbAA",
-    # "client_secret": "EO8kRc8yioDk0i2Qq-QMcVFfwkmyMJorTvBSLDTnxDJJ_wb9VoM_0jkUY9iEng2Flp1ze8wQOGpH5nB2"
+    "mode": "sandbox",  # sandbox or live
+    "client_id": "AVLoQVq3xHZ6FrF4mxHwlCPgVBAw4Fw5RtMkuxmYd23SkUTIY643n2g3KdK-Al8wV05I28lza5uoQbAA",
+    "client_secret": "EO8kRc8yioDk0i2Qq-QMcVFfwkmyMJorTvBSLDTnxDJJ_wb9VoM_0jkUY9iEng2Flp1ze8wQOGpH5nB2"
 }
 # PAYPAL_CRD = {
 #     "mode": "sandbox",  # sandbox or live

+ 6 - 2
Ansjer/urls.py

@@ -13,10 +13,11 @@ from Controller import FeedBack, EquipmentOTA, EquipmentInfo, AdminManage, AppIn
     ApplicationController, UserExController, CloudStorage, TestApi, UserBrandControllerV2, \
     StatisticsController, Alexa, FAQController, AppLogController, EquipmentVersionLimit, VoicePromptController, \
     CDKController, \
-    DeviceTypeController, CloudTransfer, Cloudsum, IotCoreController, OperatingLogs, ProcessInfo, RegionCountryController, \
+    DeviceTypeController, CloudTransfer, Cloudsum, IotCoreController, OperatingLogs, ProcessInfo, \
+    RegionCountryController, \
     VerifyCodeController, FileController, UIDController, LogController, SalesController, \
     OrderTaskController, HistoryUIDController, UIDManageUserController, SerialNumberController, CompanyController, \
-    RegionController, VPGController, LanguageController, TestController, DeviceConfirmRegion
+    RegionController, VPGController, LanguageController, TestController, DeviceConfirmRegion, S3GetStsController
 
 urlpatterns = [
     url(r'^testApi/(?P<operation>.*)$', TestApi.testView.as_view()),
@@ -276,6 +277,9 @@ urlpatterns = [
     #Iot Core
     url(r'iot/(?P<operation>.*)$', IotCoreController.IotCoreView.as_view()),
 
+    #S3预签名
+    url(r's3_getsts/(?P<operation>.*)$', S3GetStsController.S3GetStsView.as_view()),
+
     # 云分配UID
     path('admin/', admin.site.urls),
     re_path('user/(?P<operation>.*)', UIDManageUserController.UserView.as_view()),

+ 28 - 28
Controller/CloudStorage.py

@@ -776,13 +776,13 @@ class CloudStorageView(View):
                         }
                         dvq.update(**dvq_set_update_dict)
 
-                    uid_main_exist = UIDMainUser.objects.filter(UID=UID)
-                    if not uid_main_exist.exists():
-                        uid_main_dict = {
-                            'UID': UID,
-                            'user_id': userid
-                        }
-                        UIDMainUser.objects.create(**uid_main_dict)
+                    # uid_main_exist = UIDMainUser.objects.filter(UID=UID)
+                    # if not uid_main_exist.exists():
+                    #     uid_main_dict = {
+                    #         'UID': UID,
+                    #         'user_id': userid
+                    #     }
+                    #     UIDMainUser.objects.create(**uid_main_dict)
 
                     order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
                     sys_msg_text_list = ['成功购买云存', 'Successful purchase of cloud storage']
@@ -881,13 +881,13 @@ class CloudStorageView(View):
                     }
                     dvq.update(**dvq_set_update_dict)
 
-                uid_main_exist = UIDMainUser.objects.filter(UID=UID)
-                if not uid_main_exist.exists():
-                    uid_main_dict = {
-                        'UID': UID,
-                        'user_id': userid
-                    }
-                    UIDMainUser.objects.create(**uid_main_dict)
+                # uid_main_exist = UIDMainUser.objects.filter(UID=UID)
+                # if not uid_main_exist.exists():
+                #     uid_main_dict = {
+                #         'UID': UID,
+                #         'user_id': userid
+                #     }
+                #     UIDMainUser.objects.create(**uid_main_dict)
 
                 order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
                 sys_msg_text_list = ['成功购买云存','Successful purchase of cloud storage']
@@ -981,13 +981,13 @@ class CloudStorageView(View):
                         }
                         dvq.update(**dvq_set_update_dict)
 
-                    uid_main_exist = UIDMainUser.objects.filter(UID=UID)
-                    if not uid_main_exist.exists():
-                        uid_main_dict = {
-                            'UID': UID,
-                            'user_id': userid
-                        }
-                        UIDMainUser.objects.create(**uid_main_dict)
+                    # uid_main_exist = UIDMainUser.objects.filter(UID=UID)
+                    # if not uid_main_exist.exists():
+                    #     uid_main_dict = {
+                    #         'UID': UID,
+                    #         'user_id': userid
+                    #     }
+                    #     UIDMainUser.objects.create(**uid_main_dict)
 
                     order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
                     sys_msg_text_list = ['成功购买云存', 'Successful purchase of cloud storage']
@@ -1261,13 +1261,13 @@ class CloudStorageView(View):
                     }
                     dvq.update(**dvq_set_update_dict)
 
-                uid_main_exist = UIDMainUser.objects.filter(UID=uid)
-                if not uid_main_exist.exists():
-                    uid_main_dict = {
-                        'UID': uid,
-                        'user_id': userID
-                    }
-                    UIDMainUser.objects.create(**uid_main_dict)
+                # uid_main_exist = UIDMainUser.objects.filter(UID=uid)
+                # if not uid_main_exist.exists():
+                #     uid_main_dict = {
+                #         'UID': uid,
+                #         'user_id': userID
+                #     }
+                #     UIDMainUser.objects.create(**uid_main_dict)
 
                 sys_msg_text_list = ['成功购买云存', 'Successful purchase of cloud storage']
                 # return response.json(0)

+ 11 - 11
Controller/CloudTransfer.py

@@ -76,11 +76,11 @@ class cloudTestView(View):
             if vodPrimaryUserID != '' and vodPrimaryUserID != oldUserID:
                 return response.json(10037)
 
-            uid_mian = UIDMainUser.objects.filter(UID=uid).values('UID', 'user_id')
-            if uid_mian.exists():
-                vodPrimaryUserID = uid_mian[0]['user_id']
-                if vodPrimaryUserID != '' and vodPrimaryUserID != oldUserID:
-                    return response.json(10037)
+            # uid_mian = UIDMainUser.objects.filter(UID=uid).values('UID', 'user_id')
+            # if uid_mian.exists():
+            #     vodPrimaryUserID = uid_mian[0]['user_id']
+            #     if vodPrimaryUserID != '' and vodPrimaryUserID != oldUserID:
+            #         return response.json(10037)
 
             # 判断新用户是否已有此设备
             new_deviceInfo_qs = Device_Info.objects.filter(userID_id=newUserID, UID=uid, isExist=1)
@@ -99,12 +99,12 @@ class cloudTestView(View):
                 Device_Info.objects.filter(UID=uid).update(vodPrimaryUserID=vodPrimaryUserID, vodPrimaryMaster=vodPrimaryMaster)
                 VodHlsModel.objects.filter(uid=uid).delete()
 
-                UIDMainUser.objects.filter(UID=uid).delete()
-                uid_main_dict = {
-                    'UID': uid,
-                    'user_id': newUserID
-                }
-                UIDMainUser.objects.create(**uid_main_dict)
+                # UIDMainUser.objects.filter(UID=uid).delete()
+                # uid_main_dict = {
+                #     'UID': uid,
+                #     'user_id': newUserID
+                # }
+                # UIDMainUser.objects.create(**uid_main_dict)
 
         except Exception as e:
             # print(e)

+ 9 - 1
Controller/DeviceShare.py

@@ -66,7 +66,7 @@ class DeviceShareView(View):
     def do_generate_token_url(self, userID, request_dict, response):
         UID = request_dict.get('UID', None)
         dvqs = Device_Info.objects.filter(UID=UID, userID_id=userID, isShare=False).values('NickName')
-        userqs = Device_User.objects.filter(userID=userID).values('username', 'userEmail', 'phone')
+        userqs = Device_User.objects.filter(userID=userID).values('username', 'userEmail', 'phone', 'userIconPath')
         if dvqs:
             data = {'sharer': userID, 'UID': UID}
             # -----------------
@@ -85,10 +85,18 @@ class DeviceShareView(View):
                 share_user = userqs[0]['phone']
             else:
                 share_user = ''
+
+            userIconPath = userqs[0]['userIconPath']
+            if userIconPath:
+                if userIconPath.find('static/') != -1:
+                    userIconPath = userIconPath.replace('static/', '').replace('\\', '/')
+                    userIconUrl = SERVER_DOMAIN + 'account/getAvatar/' + userIconPath
+
             return response.json(0, {
                 'shareToken': share_token,
                 'deviceName': dvqs[0]['NickName'],
                 'shareUser': share_user,
+                'userIconPath': userIconPath
             })
 
         else:

+ 15 - 13
Controller/EquipmentManager.py

@@ -162,6 +162,7 @@ def delUserEquipmentInterface(request):
         dv_qs = Device_Info.objects.filter(userID_id=userID, id=id)
         # redisObj = RedisObject(db=8)
         # redisObj.del_data(key='uid_qs_' + userID)
+
         if dv_qs.exists():
             uid = dv_qs[0].UID
             asy = threading.Thread(target=ModelService.add_log, args=(CommonService.get_ip_address(request), userID, 'deleteV1'))
@@ -170,6 +171,7 @@ def delUserEquipmentInterface(request):
             print('删除')
             UID_Preview.objects.filter(uid=uid).delete()
             dv_qs.delete()
+            Device_Info.objects.filter(UID=uid).update(vodPrimaryUserID='', vodPrimaryMaster='')
             asy = threading.Thread(target=ModelService.del_eq_info, args=(userID, uid))
             asy.start()
 
@@ -421,13 +423,13 @@ def addInterface(request):
                 if is_bind and isvodPrimaryUserID != userID and isvodPrimaryUserID != '':
                     isusermain = True
 
-                uid_main_exist = UIDMainUser.objects.filter(UID=UID).values('UID', 'user_id')
-                if uid_main_exist.exists():
-                    vodPrimaryUserID = uid_main_exist[0]['user_id']
-                    vodPrimaryMaster = Device_User.objects.get(userID=vodPrimaryUserID).username
-
-                    if vodPrimaryUserID != userID:
-                        isusermain = True
+                # uid_main_exist = UIDMainUser.objects.filter(UID=UID).values('UID', 'user_id')
+                # if uid_main_exist.exists():
+                #     vodPrimaryUserID = uid_main_exist[0]['user_id']
+                #     vodPrimaryMaster = Device_User.objects.get(userID=vodPrimaryUserID).username
+                #
+                #     if vodPrimaryUserID != userID:
+                #         isusermain = True
 
                 # 判断是否有已绑定用户
                 if isCheckMainUser == '1' and isusermain:
@@ -496,12 +498,12 @@ def addInterface(request):
                     else:
                         Device_Info.objects.filter(UID=UID).update(vodPrimaryUserID=vodPrimaryUserID,
                                                                    vodPrimaryMaster=vodPrimaryMaster)
-                    if isCheckMainUser == '1':
-                        uid_main_dict = {
-                            'UID': UID,
-                            'user_id': vodPrimaryUserID
-                        }
-                        UIDMainUser.objects.create(**uid_main_dict)
+                    # if isCheckMainUser == '1':
+                    #     uid_main_dict = {
+                    #         'UID': UID,
+                    #         'user_id': vodPrimaryUserID
+                    #     }
+                    #     UIDMainUser.objects.create(**uid_main_dict)
                 # redisObj = RedisObject(db=8)
                     # redisObj.del_data(key='uid_qs_' + userID)
                 except Exception as e:

+ 18 - 18
Controller/EquipmentManagerV3.py

@@ -126,13 +126,13 @@ class EquipmentManagerV3(View):
                     if is_bind and isvodPrimaryUserID != userID and isvodPrimaryUserID != '':
                         isusermain = True
 
-                    uid_main_exist = UIDMainUser.objects.filter(UID=UID).values('UID', 'user_id')
-                    if uid_main_exist.exists():
-                        vodPrimaryUserID = uid_main_exist[0]['user_id']
-                        vodPrimaryMaster = Device_User.objects.get(userID=vodPrimaryUserID).username
-
-                        if vodPrimaryUserID != userID:
-                            isusermain = True
+                    # uid_main_exist = UIDMainUser.objects.filter(UID=UID).values('UID', 'user_id')
+                    # if uid_main_exist.exists():
+                    #     vodPrimaryUserID = uid_main_exist[0]['user_id']
+                    #     vodPrimaryMaster = Device_User.objects.get(userID=vodPrimaryUserID).username
+                    #
+                    #     if vodPrimaryUserID != userID:
+                    #         isusermain = True
 
 
 
@@ -205,12 +205,12 @@ class EquipmentManagerV3(View):
                             Device_Info.objects.filter(UID=UID).update(vodPrimaryUserID=vodPrimaryUserID,
                                                                        vodPrimaryMaster=vodPrimaryMaster)
 
-                        if isCheckMainUser == '1':
-                            uid_main_dict = {
-                                'UID': UID,
-                                'user_id': vodPrimaryUserID
-                            }
-                            UIDMainUser.objects.create(**uid_main_dict)
+                        # if isCheckMainUser == '1':
+                        #     uid_main_dict = {
+                        #         'UID': UID,
+                        #         'user_id': vodPrimaryUserID
+                        #     }
+                        #     UIDMainUser.objects.create(**uid_main_dict)
 
                         if not us_qs.exists():
                             us_qs = UidSetModel.objects.filter(uid=UID)
@@ -738,11 +738,11 @@ class EquipmentManagerV3(View):
             qs = Device_User.objects.filter(userID=dvq[0]['vodPrimaryUserID']).values('userID', 'NickName', 'username', 'userEmail', 'phone')
             qs = CommonService.qs_to_list(qs)
 
-        if not qs:
-            uidq = UIDMainUser.objects.filter(UID=UID).values('user_id')
-            if uidq.exists():
-                qs = Device_User.objects.filter(userID=uidq[0]['user_id']).values('userID', 'NickName', 'username', 'userEmail', 'phone')
-                qs = CommonService.qs_to_list(qs)
+        # if not qs:
+        #     uidq = UIDMainUser.objects.filter(UID=UID).values('user_id')
+        #     if uidq.exists():
+        #         qs = Device_User.objects.filter(userID=uidq[0]['user_id']).values('userID', 'NickName', 'username', 'userEmail', 'phone')
+        #         qs = CommonService.qs_to_list(qs)
 
         return response.json(0, qs)
 

+ 5 - 2
Controller/MealManage.py

@@ -95,6 +95,7 @@ class MealManage(View):
         discount_price = request_dict.get('discount_price', None)
         expire = request_dict.get('expire', None)
         symbol = request_dict.get('symbol', None)
+        is_show = request_dict.get('is_show', None)
 
         # if not title or not id or not price or not day or not content:
         if not id or not price or not day:
@@ -108,7 +109,7 @@ class MealManage(View):
                 return response.json(10, '已存在')
             store_meal = Store_Meal(id=id, price=price, day=day, bucket_id=bucketID, commodity_code=commodity_code,
                                     currency=currency, virtual_price=virtual_price, is_discounts=is_discounts,
-                                    discount_price=discount_price, expire=expire, symbol=symbol)
+                                    discount_price=discount_price, expire=expire, symbol=symbol, is_show=is_show)
             store_meal.save()
             paytype = paytype.split(',')
             if len(paytype) > 0:
@@ -140,7 +141,7 @@ class MealManage(View):
         qs = qs.annotate(title=F('lang__title'), content=F('lang__content'))
         qs = qs.values("id", "title", "price", "day", "add_time", "update_time", "currency", "expire", "symbol"
                        , "commodity_type", "commodity_code", "virtual_price", "is_discounts", "discount_price"
-                       , "bucket_id", "bucket__bucket", "bucket__area", "bucket__storeDay", "bucket__mold")
+                       , "bucket_id", "bucket__bucket", "bucket__area", "bucket__storeDay", "bucket__mold", "is_show")
         res = {}
         items_list = []
         if qs.exists():
@@ -175,6 +176,7 @@ class MealManage(View):
         expire = request_dict.get('expire', None)
         symbol = request_dict.get('symbol', None)
         type = request_dict.get('type', None)
+        is_show = request_dict.get('is_show', None)
         # if not id or not title or not price or not content or not day or not type:
         if not id or not price or not day or not type:
             # return response.json(444, 'id, title, price, content, day,type')
@@ -196,6 +198,7 @@ class MealManage(View):
             store_meal.discount_price = discount_price
             store_meal.expire = expire
             store_meal.symbol = symbol
+            store_meal.is_show = is_show
             store_meal.day = day
             if bucketID:
                 store_meal.bucket_id = bucketID

+ 98 - 0
Controller/S3GetStsController.py

@@ -0,0 +1,98 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+import hashlib
+import json
+import time
+import uuid
+
+import boto3
+from django.http import HttpResponse, JsonResponse
+from django.views import View
+
+from Ansjer.config import AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_ARN
+from Controller.DeviceConfirmRegion import Device_Region
+from Model.models import Device_User, Device_Info, iotdeviceInfoModel, UIDCompanySerialModel, \
+    SerialNumberModel
+from Object.IOTCore.IotObject import IOTClient
+from Object.ResponseObject import ResponseObject
+from Service.CommonService import CommonService
+
+
+class S3GetStsView(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, request)
+
+    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, request)
+
+    def validate(self, operation, request_dict, request):
+
+        response = ResponseObject()
+
+        if operation == 'ota':
+            return self.ota(request_dict, response, request)
+        else:
+            return response.json(404)
+
+
+    # 授权ota升级s3预签名
+    def ota(self, request_dict, response, request):
+        mold = request_dict.get('mold', None)  #0国内, 1国外
+        region_name = request_dict.get('region_name', None)
+        bucket_name = request_dict.get('bucket_name', None)
+        endpoint = request_dict.get('endpoint', None)
+        filepath = request_dict.get('filepath', None)
+        role_name = request_dict.get('jobname', None)
+        mold = int(mold)
+        try:
+            aws_access_key_id = AWS_ACCESS_KEY_ID[mold]
+            aws_secret_access_key = AWS_SECRET_ACCESS_KEY[mold]
+            aws_arn = AWS_ARN[mold]
+        except:
+            res = {'code': 404, 'msg': 'mold not exists!'}
+            return HttpResponse(json.dumps(res, ensure_ascii=False), content_type="application/json,charset=utf-8")
+
+        ###############
+        boto3_sts = boto3.client(
+            'sts',
+            aws_access_key_id=aws_access_key_id,
+            aws_secret_access_key=aws_secret_access_key,
+            region_name=region_name
+        )
+        Policy = {
+            "Version": "2012-10-17",
+            "Statement": [
+                {
+                    "Effect": "Allow",
+                    "Action": "s3:*",
+                    "Resource": ["{aws_arn}:::{bucket_name}/{filepath}*".
+                                     format(aws_arn=aws_arn, bucket_name=bucket_name, filepath=filepath)]
+                }
+            ]
+        }
+        response = boto3_sts.get_federation_token(
+            Name='{role_name}'.format(role_name=role_name),
+            Policy=json.dumps(Policy),
+            DurationSeconds=7200
+        )
+        ##############
+        res = {
+            'AccessKeyId': response['Credentials']['AccessKeyId'],
+            'AccessKeySecret': response['Credentials']['SecretAccessKey'],
+            'SessionToken': response['Credentials']['SessionToken'],
+            'Expiration': response['Credentials']['Expiration'],
+            'expire': 900,
+            'endpoint': endpoint,
+            'bucket_name': bucket_name,
+            'arn': response['FederatedUser']['Arn'],
+            'region': region_name,
+            'bucket_mold': mold
+        }
+        return JsonResponse(status=200, data=res)

+ 2 - 1
Controller/UidSetController.py

@@ -24,7 +24,7 @@ from django.views.generic.base import View
 
 from Model.models import UidSetModel, Device_User, Device_Info, UidPushModel, Equipment_Info, UID_Preview, UID_Bucket, \
     VodHlsModel, Order_Model, OssCrdModel, UidUserModel, UidChannelSetModel, User_Brand, ExperienceContextModel, \
-    StsCrdModel, Unused_Uid_Meal
+    StsCrdModel, Unused_Uid_Meal, UIDMainUser
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
@@ -500,6 +500,7 @@ class UidSetView(View):
                     StsCrdModel.objects.filter(uid=uid).delete()
                     VodHlsModel.objects.filter(uid=uid).delete()
                     ExperienceContextModel.objects.filter(uid=uid).delete()
+                    # UIDMainUser.objects.filter(UID=uid).delete()
                     Device_Info.objects.filter(UID=uid).update(vodPrimaryUserID='', vodPrimaryMaster='')
             except Exception as e:
                 print(e)

+ 1 - 0
Model/models.py

@@ -438,6 +438,7 @@ class Store_Meal(models.Model):
                                default=1, verbose_name='存储空间')
     commodity_type = models.SmallIntegerField(default=0, verbose_name='云存储套餐类型')  # 0:事件型 1:连续型
     commodity_code = models.CharField(default='', max_length=32, verbose_name='套餐规格码')
+    is_show = models.SmallIntegerField(default=0, verbose_name=u'该套餐是否隐藏 [0=否,1是]')
     # lang = models.CharField(default='', max_length=20, verbose_name='语言/国家')
     lang = models.ManyToManyField(to='Lang', verbose_name='套餐语言', db_table='store_meal_lang')