|
@@ -53,6 +53,8 @@ class PcInfo(View):
|
|
return self.s3delete(request_dict, response)
|
|
return self.s3delete(request_dict, response)
|
|
elif operation == 'getnewversion': # 获取当前软件的最新版本
|
|
elif operation == 'getnewversion': # 获取当前软件的最新版本
|
|
return self.getnewversion(request_dict, response)
|
|
return self.getnewversion(request_dict, response)
|
|
|
|
+ elif operation == 'getnewversionV2': # 获取当前软件的最新版本
|
|
|
|
+ return self.getnewversionV2(request_dict, response)
|
|
elif operation == 'queryall': # 后台查询
|
|
elif operation == 'queryall': # 后台查询
|
|
return self.queryall(request_dict, response)
|
|
return self.queryall(request_dict, response)
|
|
elif operation == 'addandupload': # 上传到服务器
|
|
elif operation == 'addandupload': # 上传到服务器
|
|
@@ -102,6 +104,52 @@ class PcInfo(View):
|
|
'response_url': response_url}
|
|
'response_url': response_url}
|
|
return response.json(0, res)
|
|
return response.json(0, res)
|
|
|
|
|
|
|
|
+ def getnewversionV2(self, request_dict, response):
|
|
|
|
+ pc_name = request_dict.get('pc_name', None)
|
|
|
|
+ bundle_version = request_dict.get('bundle_version', None)
|
|
|
|
+ pc_test = request_dict.get('pc_test', None)
|
|
|
|
+ param_flag = CommonService.get_param_flag(
|
|
|
|
+ data=[pc_name, bundle_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_test=pc_test)
|
|
|
|
+ if not file.exists():
|
|
|
|
+ return response.json(173)
|
|
|
|
+ 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')
|
|
|
|
+ version_list = []
|
|
|
|
+ for i in range(2):
|
|
|
|
+ app_list = Pc_Info.objects.filter(pc_name=pc_name, bundle_version=bundle_version, pc_test=pc_test, is_update=i)
|
|
|
|
+ if not app_list.exists():
|
|
|
|
+ res = {'pc_name': '',
|
|
|
|
+ 'new_version': '',
|
|
|
|
+ 'is_update': i,
|
|
|
|
+ 'path': '',
|
|
|
|
+ 'response_url': ''}
|
|
|
|
+ version_list.append(res)
|
|
|
|
+ continue
|
|
|
|
+ all_version = app_list.values('pc_version')
|
|
|
|
+ v = []
|
|
|
|
+ for i in all_version:
|
|
|
|
+ v.append(i['pc_version'])
|
|
|
|
+ new_version = max(v)
|
|
|
|
+ path = app_list.filter(pc_version=new_version).values('download_link')[0]['download_link']
|
|
|
|
+ print('path', path)
|
|
|
|
+ response_url = aws_s3_guonei.generate_presigned_url(
|
|
|
|
+ ClientMethod='get_object',
|
|
|
|
+ Params={'Bucket': 'pc-package', 'Key': path}, ExpiresIn=3600)
|
|
|
|
+ res = {'pc_name': pc_name,
|
|
|
|
+ 'new_version': new_version,
|
|
|
|
+ 'is_update': app_list.filter(pc_version=new_version).values('is_update')[0]['is_update'],
|
|
|
|
+ 'path': path,
|
|
|
|
+ 'response_url': response_url}
|
|
|
|
+ version_list.append(res)
|
|
|
|
+ return response.json(0, version_list)
|
|
|
|
+
|
|
def query(self, request_dict, response):
|
|
def query(self, request_dict, response):
|
|
pc_name = request_dict.get('pc_name', None)
|
|
pc_name = request_dict.get('pc_name', None)
|
|
package = request_dict.get('package', None)
|
|
package = request_dict.get('package', None)
|
|
@@ -143,10 +191,11 @@ class PcInfo(View):
|
|
file_type = request_dict.get('file_type', None)
|
|
file_type = request_dict.get('file_type', None)
|
|
package = request_dict.get('package', None)
|
|
package = request_dict.get('package', None)
|
|
explain = request_dict.get('explain', '')
|
|
explain = request_dict.get('explain', '')
|
|
|
|
+ is_update = request_dict.get('is_update', None)
|
|
logger.info('文件名字:')
|
|
logger.info('文件名字:')
|
|
logger.info(file_name)
|
|
logger.info(file_name)
|
|
param_flag = CommonService.get_param_flag(
|
|
param_flag = CommonService.get_param_flag(
|
|
- data=[pc_name, bundle_version, pc_version, pc_test, lang, file_name, file_type, package])
|
|
|
|
|
|
+ data=[pc_name, bundle_version, pc_version, pc_test, lang, file_name, file_type, package, is_update])
|
|
if param_flag is not True:
|
|
if param_flag is not True:
|
|
return response.json(444)
|
|
return response.json(444)
|
|
else:
|
|
else:
|
|
@@ -190,7 +239,8 @@ class PcInfo(View):
|
|
'update_time': add_time,
|
|
'update_time': add_time,
|
|
'file_type': file_type,
|
|
'file_type': file_type,
|
|
'package': package,
|
|
'package': package,
|
|
- 'explain': explain
|
|
|
|
|
|
+ 'explain': explain,
|
|
|
|
+ 'is_update': is_update
|
|
}
|
|
}
|
|
pc_Info = Pc_Info(**create_dict)
|
|
pc_Info = Pc_Info(**create_dict)
|
|
pc_Info.save()
|
|
pc_Info.save()
|
|
@@ -211,7 +261,8 @@ class PcInfo(View):
|
|
'update_time': pc_Info.update_time,
|
|
'update_time': pc_Info.update_time,
|
|
'file_type': pc_Info.file_type,
|
|
'file_type': pc_Info.file_type,
|
|
'package': pc_Info.package,
|
|
'package': pc_Info.package,
|
|
- 'explain': pc_Info.explain
|
|
|
|
|
|
+ 'explain': pc_Info.explain,
|
|
|
|
+ 'is_update': pc_Info.is_update
|
|
}
|
|
}
|
|
return response.json(0, res)
|
|
return response.json(0, res)
|
|
else:
|
|
else:
|
|
@@ -268,7 +319,11 @@ class PcInfo(View):
|
|
elif id and package is None:
|
|
elif id and package is None:
|
|
file = Pc_Info.objects.filter(id=id)
|
|
file = Pc_Info.objects.filter(id=id)
|
|
elif package and id is None:
|
|
elif package and id is None:
|
|
- file = Pc_Info.objects.filter(package=package)
|
|
|
|
|
|
+ try:
|
|
|
|
+ package = int(package)
|
|
|
|
+ file = Pc_Info.objects.filter(package=package)
|
|
|
|
+ except Exception as e:
|
|
|
|
+ return response.json(176)
|
|
if not file.exists():
|
|
if not file.exists():
|
|
return response.json(173)
|
|
return response.json(173)
|
|
try:
|
|
try:
|