Selaa lähdekoodia

新增记录视频播放时长接口

locky 3 vuotta sitten
vanhempi
commit
4688286e76
1 muutettua tiedostoa jossa 28 lisäystä ja 1 poistoa
  1. 28 1
      Controller/CloudStorage.py

+ 28 - 1
Controller/CloudStorage.py

@@ -40,7 +40,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
+    Unused_Uid_Meal, UIDMainUser, UserModel, PromotionRuleModel, VideoPlaybackTimeModel
 from Object.AWS.S3Email import S3Email
 from Object.AliPayObject import AliPayObject
 from Object.AliSmsObject import AliSmsObject
@@ -144,6 +144,8 @@ class CloudStorageView(View):
                 return self.switch_device_commodity(request_dict, userID, response)
             elif operation == 'hasvod':  #APP的回放界面,日历表显示当天有无录像
                 return self.has_vod(request_dict, userID, response)
+            elif operation == 'videoPlaybackTime':    # 记录app播放时间
+                return self.videoPlaybackTime(request_dict, userID, response)
             else:
                 return response.json(414)
 
@@ -1578,6 +1580,31 @@ class CloudStorageView(View):
 
         return response.json(0, had_vod_list)
 
+    def videoPlaybackTime(self, request_dict, userID, response):
+        uid = request_dict.get('uid', None)
+        playMode = request_dict.get('playMode', None)
+        startTime = request_dict.get('startTime', None)
+        duration = request_dict.get('duration', None)
+
+        if not all([uid, playMode, startTime, duration]):
+            return response.json(444)
+
+        try:
+            # 查询设备是否属于该用户
+            device_info_qs = Device_Info.objects.filter(userID_id=userID, UID=uid)
+            if not device_info_qs.exists():
+                return response.json(14)
+            # 字符串转为数值型
+            startTime = int(startTime[:10])
+            duration = float(duration)
+
+            VideoPlaybackTimeModel.objects.create(userID=userID, uid=uid, playMode=playMode, startTime=startTime,
+                                                  duration=duration)
+            return response.json(0)
+        except Exception as e:
+            print(e)
+            return response.json(500, repr(e))
+
     # 云存操作系统消息
     def do_vod_msg_Notice(self, uid, channel, userID, lang, sys_msg_text_list, sms):
         try: