|
@@ -4,10 +4,12 @@ import os
|
|
|
import hashlib
|
|
|
import time
|
|
|
|
|
|
+import boto3
|
|
|
+import botocore
|
|
|
from django.db import transaction
|
|
|
from django.views.generic.base import View
|
|
|
|
|
|
-from Ansjer.config import BASE_DIR
|
|
|
+from Ansjer.config import BASE_DIR, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
|
|
|
from Object.TokenObject import TokenObject
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
from Service.CommonService import CommonService
|
|
@@ -66,7 +68,8 @@ class VersionManagement(View):
|
|
|
return self.getPcInfoList(request_dict, response)
|
|
|
elif operation == 'editPcVersion':
|
|
|
return self.editPcVersion(request_dict, response)
|
|
|
-
|
|
|
+ elif operation == 'deletePcInfo':
|
|
|
+ return self.deletePcInfo(request_dict, response)
|
|
|
else:
|
|
|
return response.json(404)
|
|
|
|
|
@@ -566,7 +569,7 @@ class VersionManagement(View):
|
|
|
|
|
|
if not pc_info_id:
|
|
|
return response.json(444)
|
|
|
- pc_version = 1 if pc_version == 'true' else 0
|
|
|
+
|
|
|
try:
|
|
|
pc_info_qs = Pc_Info.objects.filter(id=pc_info_id)
|
|
|
if not pc_info_qs.exists():
|
|
@@ -591,3 +594,32 @@ class VersionManagement(View):
|
|
|
except Exception as e:
|
|
|
print(e)
|
|
|
return response.json(500, repr(e))
|
|
|
+
|
|
|
+ def deletePcInfo(self, request_dict, response):
|
|
|
+ print('request_dict:', request_dict)
|
|
|
+ pc_info_id = request_dict.get('id', None)
|
|
|
+
|
|
|
+ try:
|
|
|
+ if not pc_info_id:
|
|
|
+ return response.json(444)
|
|
|
+ pc_info_qs = Pc_Info.objects.filter(id=pc_info_id)
|
|
|
+ if not pc_info_qs.exists():
|
|
|
+ return response.json(173)
|
|
|
+ # 删除存储桶的文件
|
|
|
+ Key = pc_info_qs.values('download_link')[0]['download_link']
|
|
|
+ # pc_info_qs.delete()
|
|
|
+ aws_s3_client = boto3.client(
|
|
|
+ 's3',
|
|
|
+ region_name='cn-northwest-1',
|
|
|
+ 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'),
|
|
|
+ )
|
|
|
+
|
|
|
+ try:
|
|
|
+ aws_s3_client.delete_object(Bucket='pc-package', Key=Key)
|
|
|
+ finally:
|
|
|
+ return response.json(0)
|
|
|
+ except Exception as e:
|
|
|
+ print(e)
|
|
|
+ return response.json(500, repr(e))
|