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

PC软件添加返回最新版本功能

lhq 4 жил өмнө
parent
commit
61dd7ca24e
1 өөрчлөгдсөн 36 нэмэгдсэн , 0 устгасан
  1. 36 0
      Controller/PcInfo.py

+ 36 - 0
Controller/PcInfo.py

@@ -46,6 +46,8 @@ class PcInfo(View):
                 return self.query(request_dict, response)
             elif operation == 'queryall':   # 后台查询
                 return self.queryall(request_dict, response)
+            elif operation == 'getnewversion':   # 获取当前软件的最新版本
+                return self.getnewversion(request_dict, response)
             elif operation == 'addandupload':   # 上传到服务器
                 return self.addandupload(request_dict, response, request)
             elif operation == 'download':   # 服务器下载
@@ -61,6 +63,40 @@ class PcInfo(View):
             else:
                 return response.json(414)
 
+    def getnewversion(self, request_dict, response, ):
+        pc_name = request_dict.get('pc_name', None)
+        bundle_version = request_dict.get('bundle_version', None)
+        pc_version = request_dict.get('pc_version', None)
+        pc_test = request_dict.get('pc_test', None)
+        param_flag = CommonService.get_param_flag(
+            data=[pc_name, bundle_version, pc_version, pc_test])
+        if param_flag is not True:
+            return response.json(444)
+        file = Pc_Info.objects.filter(pc_name=pc_name, bundle_version=bundle_version, pc_version=pc_version,
+                                      pc_test=pc_test)
+        if not file:
+            return response.json(173)
+        app_list = Pc_Info.objects.filter(pc_name=pc_name, bundle_version=bundle_version, pc_test=pc_test)
+        new_version = app_list.order_by('-add_time')[0].pc_version
+        if pc_version == new_version:
+            return response.json(10045)
+        else:
+            path = app_list.order_by('-add_time')[0].download_link
+            print('path', path)
+            aws_s3_guonei = boto3.client(
+                's3',
+                aws_access_key_id=AWS_ACCESS_KEY_ID[0],
+                aws_secret_access_key=AWS_SECRET_ACCESS_KEY[0],
+                config=botocore.client.Config(signature_version='s3v4'),
+                region_name='cn-northwest-1')
+            response_url = aws_s3_guonei.generate_presigned_url(
+                ClientMethod='get_object',
+                Params={'Bucket': 'pc-package', 'Key': path}, ExpiresIn=3600)
+            res = {'new_version': new_version,
+                   'path': path,
+                   'response_url': response_url}
+            return response.json(0, res)
+
     def addandupload(self, request_dict, response, request):
         token = request_dict.get('token', None)
         tko = TokenObject(token)