|
@@ -42,7 +42,7 @@ from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, OSS_ROLE_AR
|
|
|
from Controller.CheckUserData import DataValid
|
|
|
from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, UID_Bucket, StsCrdModel, \
|
|
|
ExperienceContextModel, Pay_Type, CDKcontextModel, Device_User, SysMassModel, SysMsgModel, UidPushModel, \
|
|
|
- Unused_Uid_Meal, UIDMainUser, UserModel, PromotionRuleModel, VideoPlaybackTimeModel, CloudLogModel, CouponModel
|
|
|
+ Unused_Uid_Meal, UIDMainUser, UserModel, PromotionRuleModel, VideoPlaybackTimeModel, CloudLogModel, CouponModel, VodBucketModel
|
|
|
from Object.AWS.S3Email import S3Email
|
|
|
from Object.AliPayObject import AliPayObject
|
|
|
from Object.AliSmsObject import AliSmsObject
|
|
@@ -467,12 +467,18 @@ class CloudStorageView(View):
|
|
|
# values("id", "time", "sec", "bucket__bucket", "fg", "bucket__endpoint", "bucket__region", "bucket__mold")
|
|
|
vh_qs = VodHlsModel.objects.filter \
|
|
|
(uid=uid, channel=channel, endTime__gte=now_time, time__range=(startTime, endTime)). \
|
|
|
- values("id", "time", "sec", "bucket__bucket", "fg", "bucket__endpoint", "bucket__region", "bucket__mold")
|
|
|
+ values("id", "time", "sec", "fg", "bucket_id")
|
|
|
|
|
|
vod_play_list = []
|
|
|
if not vh_qs.exists():
|
|
|
return response.json(0, vod_play_list)
|
|
|
|
|
|
+ #不用关联外键查询,因为会查询非常慢
|
|
|
+ bucket_qs = VodBucketModel.objects.values()
|
|
|
+ regroup_bucket_qs = {}
|
|
|
+ for bucket_dict in bucket_qs:
|
|
|
+ regroup_bucket_qs[bucket_dict['id']] = bucket_dict
|
|
|
+
|
|
|
vodHlsModelTimeOver = int(time.time())
|
|
|
logger.info({
|
|
|
"intoTime": intoTime,
|
|
@@ -480,13 +486,15 @@ class CloudStorageView(View):
|
|
|
"UidBucketModelOverTime": UidBucketModelTimeOver,
|
|
|
"vodHlsModelOverTime": vodHlsModelTimeOver,
|
|
|
})
|
|
|
-
|
|
|
- aws_access_key_id = AWS_ACCESS_KEY_ID[vh_qs[0]["bucket__mold"]]
|
|
|
- aws_secret_access_key = AWS_SECRET_ACCESS_KEY[vh_qs[0]["bucket__mold"]]
|
|
|
+ bucket_mold = regroup_bucket_qs[vh_qs[0]['bucket_id']]['mold']
|
|
|
+ bucket_region = regroup_bucket_qs[vh_qs[0]['bucket_id']]['region']
|
|
|
+ bucket_name = regroup_bucket_qs[vh_qs[0]['bucket_id']]['bucket']
|
|
|
+ aws_access_key_id = bucket_mold
|
|
|
+ aws_secret_access_key = bucket_region
|
|
|
session = Session(
|
|
|
aws_access_key_id=aws_access_key_id,
|
|
|
aws_secret_access_key=aws_secret_access_key,
|
|
|
- region_name=vh_qs[0]["bucket__region"]
|
|
|
+ region_name=bucket_region
|
|
|
)
|
|
|
conn = session.client('s3')
|
|
|
uidToken = TokenObject().encryption(data={'uid': uid})
|
|
@@ -502,7 +510,7 @@ class CloudStorageView(View):
|
|
|
|
|
|
for vod in vh_qs:
|
|
|
# bucket__mold = vod["bucket__mold"]
|
|
|
- bucket_name = vod["bucket__bucket"]
|
|
|
+ # bucket_name = vod["bucket__bucket"]
|
|
|
# endpoint = vod["bucket__endpoint"]
|
|
|
# bucket__region = vod["bucket__region"]
|
|
|
thumbspng = '{uid}/vod{channel}/{time}/Thumb.jpeg'. \
|