Pārlūkot izejas kodu

套餐转移过期时间,设备转移更新设备添加时间;store_meal,orders,cdk_context添加备用字段

locky 4 gadi atpakaļ
vecāks
revīzija
e07ebbe89d
2 mainītis faili ar 31 papildinājumiem un 16 dzēšanām
  1. 14 16
      Controller/CloudTest.py
  2. 17 0
      Model/models.py

+ 14 - 16
Controller/CloudTest.py

@@ -10,6 +10,7 @@ from django.db import transaction
 from django.views.generic.base import View
 
 from Object.TokenObject import TokenObject
+from Service import CommonService
 from Service.ModelService import ModelService
 from Object.ResponseObject import ResponseObject
 from Model.models import Device_User, Device_Info, Order_Model, UID_Bucket, StsCrdModel, VodHlsModel, Unused_Uid_Meal, \
@@ -48,10 +49,11 @@ class cloudTestView(View):
                 return self.expireMeal(request_dict, response)
 
     def deviceTransfer(self, request_dict, response):
-        # 设备转移
+        # 设备转移,一个用户下的设备转移到另一个用户
         oldUserID = request_dict.get("oldUserID", None)
         username = request_dict.get("username", None)
         uid = request_dict.get('uid', None)
+        nowTime = int(time.time())
 
         try:
             # 查询该userID下是否存在此设备
@@ -70,7 +72,7 @@ class cloudTestView(View):
             vodPrimaryUserID = old_deviceInfo_qs[0]['vodPrimaryUserID']
             if vodPrimaryUserID != '' and vodPrimaryUserID != oldUserID:
                 return response.json(10037)
-            # 判断新用户是否已有此设备UID
+            # 判断新用户是否已有此设备
             new_deviceInfo_qs = Device_Info.objects.filter(userID_id=newUserID, UID=uid, isExist=1)
             if new_deviceInfo_qs:
                 return response.json(10009)
@@ -81,9 +83,9 @@ class cloudTestView(View):
             vodPrimaryMaster = newUserName
 
             with transaction.atomic():
-                # 更新旧设备userID
-                old_deviceInfo_qs.update(userID=newUserID)
-                # 更新所有设备主用户信息
+                # 更新旧设备userID,设备添加时间
+                old_deviceInfo_qs.update(userID=newUserID, data_joined=nowTime)
+                # 更新设备主用户信息
                 Device_Info.objects.filter(UID=uid).update(vodPrimaryUserID=vodPrimaryUserID, vodPrimaryMaster=vodPrimaryMaster)
                 VodHlsModel.objects.filter(uid=uid).delete()
         except Exception as e:
@@ -93,7 +95,7 @@ class cloudTestView(View):
             return response.json(0)
 
     def mealTransfer(self, request_dict, response, userID):
-        # 云存套餐转移
+        # 云存套餐转移,同一用户下不同设备间的云存套餐转移
         old_uid = request_dict.get("old_uid", None)
         new_uid = request_dict.get("new_uid", None)
         nowTime = int(time.time())
@@ -137,20 +139,16 @@ class cloudTestView(View):
             if old_using_uid_bucket[0]['has_unused'] == 1:
                 old_unused_uid_bucket = Unused_Uid_Meal.objects.filter(uid=old_uid).values('id', 'channel', 'bucket_id', 'addTime', 'expire', 'num')
                 count = old_unused_uid_bucket.count()
+                unused = old_unused_uid_bucket[0]
                 has_unused = 1 if count>1 else 0    # 如果存在不止一个未使用套餐,has_unused=1
-                channel = old_unused_uid_bucket[0]['channel']
-                bucket_id = old_unused_uid_bucket[0]['bucket_id']
-                addTime = old_unused_uid_bucket[0]['addTime']
-                expire = old_unused_uid_bucket[0]['expire']
-                num = old_unused_uid_bucket[0]['num']
-                endTime = nowTime + expire*num*30*24*60*60 # 套餐结束时间:当前时间算起到,加上存储桶月份时长*个数*一个月的秒数
+                endTime = CommonService.calcMonthLater(unused['expire'] * unused['num'])
                 data_dict = {
                     'uid': old_uid,
-                    'channel': channel,
-                    'bucket_id': bucket_id,
-                    'addTime': addTime,
+                    'channel': unused['channel'],
+                    'bucket_id': unused['bucket_id'],
+                    'addTime': unused['addTime'],
                     'endTime': endTime,
-                    'updateTime': nowTime,
+                    'updateTime': unused['nowTime'],
                     'status': 1,
                     'use_status': 1,
                     'has_unused': has_unused

+ 17 - 0
Model/models.py

@@ -438,6 +438,12 @@ class Store_Meal(models.Model):
     # lang = models.CharField(default='', max_length=20, verbose_name='语言/国家')
     lang = models.ManyToManyField(to='Lang', verbose_name='套餐语言', db_table='store_meal_lang')
 
+    # 备用字段
+    spare_1 = models.CharField(default='', blank=True, max_length=64, verbose_name=u'备用字段1')
+    spare_2 = models.CharField(default='', blank=True, max_length=64, verbose_name=u'备用字段2')
+    spare_3 = models.CharField(default='', blank=True, max_length=64, db_index=True, verbose_name=u'备用字段3')
+    spare_4 = models.CharField(default='', blank=True, max_length=64, db_index=True, verbose_name=u'备用字段4')
+
     def __str__(self):
         return self.id
 
@@ -581,6 +587,11 @@ class Order_Model(models.Model):
     pay_url = models.CharField(max_length=2000, default='', verbose_name='支付url')
     paypal = models.CharField(max_length=500, null=True, blank=True, verbose_name='支付批准url')
 
+    # 备用字段
+    spare_1 = models.CharField(default='', blank=True, max_length=64, verbose_name=u'备用字段1')
+    spare_2 = models.CharField(default='', blank=True, max_length=64, verbose_name=u'备用字段2')
+    spare_3 = models.CharField(default='', blank=True, max_length=64, db_index=True, verbose_name=u'备用字段3')
+    spare_4 = models.CharField(default='', blank=True, max_length=64, db_index=True, verbose_name=u'备用字段4')
 
     def __str__(self):
         return self.orderID
@@ -1172,6 +1183,12 @@ class CDKcontextModel(models.Model):
     # order = models.ForeignKey(Order_Model, blank=True, max_length=20, to_field='orderID', on_delete=models.CASCADE, verbose_name='订单id', unique=True)
     order = models.CharField(max_length=20, blank=True, unique=True, verbose_name='订单id')
 
+    # 备用字段
+    spare_1 = models.CharField(default='', blank=True, max_length=64, verbose_name=u'备用字段1')
+    spare_2 = models.CharField(default='', blank=True, max_length=64, verbose_name=u'备用字段2')
+    spare_3 = models.CharField(default='', blank=True, max_length=64, db_index=True, verbose_name=u'备用字段3')
+    spare_4 = models.CharField(default='', blank=True, max_length=64, db_index=True, verbose_name=u'备用字段4')
+
     class Meta:
         db_table = 'cdk_context'
         verbose_name = '激活码表'