|
@@ -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
|