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

设备添加新表 记录主次用户

chenshibin 4 жил өмнө
parent
commit
215d44754a

+ 35 - 1
Controller/CloudStorage.py

@@ -40,7 +40,7 @@ from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, OSS_ROLE_AR
     JPUSH_CONFIG, FCM_CONFIG, OAUTH_ACCESS_TOKEN_SECRET
     JPUSH_CONFIG, FCM_CONFIG, OAUTH_ACCESS_TOKEN_SECRET
 from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, UID_Bucket, StsCrdModel, \
 from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, UID_Bucket, StsCrdModel, \
     ExperienceContextModel, Pay_Type, CDKcontextModel, Device_User, SysMassModel, SysMsgModel, UidPushModel, \
     ExperienceContextModel, Pay_Type, CDKcontextModel, Device_User, SysMassModel, SysMsgModel, UidPushModel, \
-    Unused_Uid_Meal
+    Unused_Uid_Meal, UIDMainUser
 from Object.AliPayObject import AliPayObject
 from Object.AliPayObject import AliPayObject
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.TokenObject import TokenObject
@@ -775,6 +775,14 @@ class CloudStorageView(View):
                         }
                         }
                         dvq.update(**dvq_set_update_dict)
                         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,
+                            'userID': userid
+                        }
+                        UIDMainUser.objects.create(**uid_main_dict)
+
                     order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
                     order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
                     sys_msg_text_list = ['成功购买云存', 'Successful purchase of cloud storage']
                     sys_msg_text_list = ['成功购买云存', 'Successful purchase of cloud storage']
                     self.do_vod_msg_Notice(UID, channel, userid, lang, sys_msg_text_list)
                     self.do_vod_msg_Notice(UID, channel, userid, lang, sys_msg_text_list)
@@ -871,6 +879,15 @@ class CloudStorageView(View):
                         'vodPrimaryMaster': username
                         'vodPrimaryMaster': username
                     }
                     }
                     dvq.update(**dvq_set_update_dict)
                     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,
+                        'userID': userid
+                    }
+                    UIDMainUser.objects.create(**uid_main_dict)
+
                 order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
                 order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
                 sys_msg_text_list = ['成功购买云存','Successful purchase of cloud storage']
                 sys_msg_text_list = ['成功购买云存','Successful purchase of cloud storage']
                 self.do_vod_msg_Notice(UID, channel, userid, lang, sys_msg_text_list)
                 self.do_vod_msg_Notice(UID, channel, userid, lang, sys_msg_text_list)
@@ -962,6 +979,15 @@ class CloudStorageView(View):
                             'vodPrimaryMaster': username
                             'vodPrimaryMaster': username
                         }
                         }
                         dvq.update(**dvq_set_update_dict)
                         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,
+                            'userID': userid
+                        }
+                        UIDMainUser.objects.create(**uid_main_dict)
+
                     order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
                     order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
                     sys_msg_text_list = ['成功购买云存', 'Successful purchase of cloud storage']
                     sys_msg_text_list = ['成功购买云存', 'Successful purchase of cloud storage']
                     self.do_vod_msg_Notice(UID, channel, userid, lang, sys_msg_text_list)
                     self.do_vod_msg_Notice(UID, channel, userid, lang, sys_msg_text_list)
@@ -1234,6 +1260,14 @@ class CloudStorageView(View):
                     }
                     }
                     dvq.update(**dvq_set_update_dict)
                     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,
+                        'userID': userID
+                    }
+                    UIDMainUser.objects.create(**uid_main_dict)
+
                 sys_msg_text_list = ['成功购买云存', 'Successful purchase of cloud storage']
                 sys_msg_text_list = ['成功购买云存', 'Successful purchase of cloud storage']
                 # return response.json(0)
                 # return response.json(0)
                 returnurl = "{SERVER_DOMAIN_SSL}cloudstorage/payOK?lang={lang}".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL,lang=lang)
                 returnurl = "{SERVER_DOMAIN_SSL}cloudstorage/payOK?lang={lang}".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL,lang=lang)

+ 8 - 1
Controller/CloudTransfer.py

@@ -14,7 +14,7 @@ from Service.CommonService import CommonService
 from Service.ModelService import ModelService
 from Service.ModelService import ModelService
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
 from Model.models import Device_User, Device_Info, Order_Model, UID_Bucket, StsCrdModel, VodHlsModel, Unused_Uid_Meal, \
 from Model.models import Device_User, Device_Info, Order_Model, UID_Bucket, StsCrdModel, VodHlsModel, Unused_Uid_Meal, \
-    VodBucketModel
+    VodBucketModel, UIDMainUser
 
 
 
 
 class cloudTestView(View):
 class cloudTestView(View):
@@ -75,6 +75,13 @@ class cloudTestView(View):
             vodPrimaryUserID = old_deviceInfo_qs[0]['vodPrimaryUserID']
             vodPrimaryUserID = old_deviceInfo_qs[0]['vodPrimaryUserID']
             if vodPrimaryUserID != '' and vodPrimaryUserID != oldUserID:
             if vodPrimaryUserID != '' and vodPrimaryUserID != oldUserID:
                 return response.json(10037)
                 return response.json(10037)
+
+            uid_mian = UIDMainUser.objects.filter(UID=uid).values('UID','userID__userID')
+            if uid_mian.exists():
+                vodPrimaryUserID = uid_mian[0]['userID__userID']
+                if vodPrimaryUserID != '' and vodPrimaryUserID != oldUserID:
+                    return response.json(10037)
+
             # 判断新用户是否已有此设备
             # 判断新用户是否已有此设备
             new_deviceInfo_qs = Device_Info.objects.filter(userID_id=newUserID, UID=uid, isExist=1)
             new_deviceInfo_qs = Device_Info.objects.filter(userID_id=newUserID, UID=uid, isExist=1)
             if new_deviceInfo_qs:
             if new_deviceInfo_qs:

+ 14 - 2
Controller/EquipmentManager.py

@@ -8,7 +8,7 @@ import requests
 import simplejson as json
 import simplejson as json
 from django.utils import timezone
 from django.utils import timezone
 from Model.models import Device_User, Device_Info, UID_Bucket, UID_Preview, UidSetModel, UidPushModel, \
 from Model.models import Device_User, Device_Info, UID_Bucket, UID_Preview, UidSetModel, UidPushModel, \
-    UIDCompanySerialModel, iotdeviceInfoModel
+    UIDCompanySerialModel, iotdeviceInfoModel, UIDMainUser
 from django.db.models import Q
 from django.db.models import Q
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.TokenObject import TokenObject
@@ -402,14 +402,26 @@ def addInterface(request):
                     vodPrimaryUserID = main_exist[0]['vodPrimaryUserID']
                     vodPrimaryUserID = main_exist[0]['vodPrimaryUserID']
                     vodPrimaryMaster = main_exist[0]['vodPrimaryMaster']
                     vodPrimaryMaster = main_exist[0]['vodPrimaryMaster']
 
 
+                uid_main_exist = UIDMainUser.objects.filter(UID=UID).values('UID', 'userID__userID', 'userID__username')
+                if uid_main_exist.exists():
+                    vodPrimaryUserID = uid_main_exist[0]['userID__userID']
+                    vodPrimaryMaster = uid_main_exist[0]['userID__username']
+
                 is_bind = Device_Info.objects.filter(UID=UID, isShare=False).values('userID__userID', 'vodPrimaryUserID')
                 is_bind = Device_Info.objects.filter(UID=UID, isShare=False).values('userID__userID', 'vodPrimaryUserID')
                 # 判断是否有已绑定用户
                 # 判断是否有已绑定用户
                 isvodPrimaryUserID = ''
                 isvodPrimaryUserID = ''
-
                 for forbind in is_bind:
                 for forbind in is_bind:
                     if forbind['vodPrimaryUserID'] != '':
                     if forbind['vodPrimaryUserID'] != '':
                         isvodPrimaryUserID = forbind['vodPrimaryUserID']
                         isvodPrimaryUserID = forbind['vodPrimaryUserID']
 
 
+                if isCheckMainUser != '1':
+                    if main_exist.exists():
+                        vodPrimaryUserID = main_exist[0]['vodPrimaryUserID']
+                        vodPrimaryMaster = main_exist[0]['vodPrimaryMaster']
+                    else:
+                        vodPrimaryUserID = ''
+                        vodPrimaryMaster = ''
+
                 # 判断是否有已绑定用户
                 # 判断是否有已绑定用户
                 if is_bind and isCheckMainUser == '1' and isvodPrimaryUserID != userID and isvodPrimaryUserID != '':
                 if is_bind and isCheckMainUser == '1' and isvodPrimaryUserID != userID and isvodPrimaryUserID != '':
                     res = {
                     res = {

+ 14 - 1
Controller/EquipmentManagerV3.py

@@ -12,7 +12,7 @@ from django.views.generic.base import View
 from Object.RedisObject import RedisObject
 from Object.RedisObject import RedisObject
 from Ansjer.config import OSS_STS_ACCESS_SECRET, OSS_STS_ACCESS_KEY, BASE_DIR
 from Ansjer.config import OSS_STS_ACCESS_SECRET, OSS_STS_ACCESS_KEY, BASE_DIR
 from Model.models import Device_Info, UID_Bucket, UID_Preview, UidSetModel, UidPushModel, UidChannelSetModel, \
 from Model.models import Device_Info, UID_Bucket, UID_Preview, UidSetModel, UidPushModel, UidChannelSetModel, \
-    Device_User, iotdeviceInfoModel, UIDCompanySerialModel
+    Device_User, iotdeviceInfoModel, UIDCompanySerialModel, UIDMainUser
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
 from Service.CommonService import CommonService
@@ -107,6 +107,11 @@ class EquipmentManagerV3(View):
                         vodPrimaryUserID = main_exist[0]['vodPrimaryUserID']
                         vodPrimaryUserID = main_exist[0]['vodPrimaryUserID']
                         vodPrimaryMaster = main_exist[0]['vodPrimaryMaster']
                         vodPrimaryMaster = main_exist[0]['vodPrimaryMaster']
 
 
+                    uid_main_exist = UIDMainUser.objects.filter(UID=UID).values('UID','userID__userID','userID__username')
+                    if uid_main_exist.exists():
+                        vodPrimaryUserID = uid_main_exist[0]['userID__userID']
+                        vodPrimaryMaster = uid_main_exist[0]['userID__username']
+
                     is_bind = Device_Info.objects.filter(UID=UID, isShare=False).values('userID__userID', 'vodPrimaryUserID')
                     is_bind = Device_Info.objects.filter(UID=UID, isShare=False).values('userID__userID', 'vodPrimaryUserID')
                     isvodPrimaryUserID = ''
                     isvodPrimaryUserID = ''
 
 
@@ -114,6 +119,14 @@ class EquipmentManagerV3(View):
                         if forbind['vodPrimaryUserID'] != '':
                         if forbind['vodPrimaryUserID'] != '':
                             isvodPrimaryUserID = forbind['vodPrimaryUserID']
                             isvodPrimaryUserID = forbind['vodPrimaryUserID']
 
 
+                    if isCheckMainUser != '1' :
+                        if main_exist.exists():
+                            vodPrimaryUserID = main_exist[0]['vodPrimaryUserID']
+                            vodPrimaryMaster = main_exist[0]['vodPrimaryMaster']
+                        else:
+                            vodPrimaryUserID = ''
+                            vodPrimaryMaster = ''
+
                     # 判断是否有已绑定用户
                     # 判断是否有已绑定用户
                     if is_bind and isCheckMainUser == '1' and isvodPrimaryUserID != userID and isvodPrimaryUserID != '':
                     if is_bind and isCheckMainUser == '1' and isvodPrimaryUserID != userID and isvodPrimaryUserID != '':
                         res = {
                         res = {

+ 9 - 0
Model/models.py

@@ -1548,4 +1548,13 @@ class iotdeviceInfoModel(models.Model):
     class Meta:
     class Meta:
         db_table = 'iot_deviceInfo'
         db_table = 'iot_deviceInfo'
         verbose_name = 'iot设备信息表'
         verbose_name = 'iot设备信息表'
+        verbose_name_plural = verbose_name
+
+class UIDMainUser(models.Model):
+    id = models.AutoField(primary_key=True)
+    UID = models.CharField(blank=True, max_length=32, verbose_name=u'设备UID', default='')
+    userID = models.ForeignKey(Device_User, blank=True, to_field='userID', on_delete=models.CASCADE)
+    class Meta:
+        db_table = 'uid_mainuser'
+        verbose_name = '设备主用户表'
         verbose_name_plural = verbose_name
         verbose_name_plural = verbose_name