hujingpei 4 роки тому
батько
коміт
b058ee65be

+ 36 - 0
apps/tenant/operation_help/models.py

@@ -60,3 +60,39 @@ class OperationHelpImg(models.Model):
         image = self.image
         # self.delete()
         DeleteFile(image)
+
+class OperationHelpRadio(models.Model):
+    radio_path = models.CharField(verbose_name=u'视频路径', max_length=250)
+    radio_size = models.FloatField(verbose_name="视频大小",blank=True, default=0)
+    radio_time = models.FloatField(verbose_name="视频时长",blank=True, default=0)
+
+    class Meta:
+        db_table = 'operation_help_radio'
+        ordering = ['-id']
+        verbose_name = u'运维帮助视频'
+
+    def _add_radio(self, file, user_id):
+
+
+        path = "operation_help_radio/"
+        filename = UploadFile(file, path, user_id)
+        fullname = "%s%s" % (settings.MEDIA_ROOT, filename)
+
+        # try:
+        #     img = Image.open(fullname)
+        #     width, height = img.size
+        #     # 缩略图压缩宽或高最大200
+        #     if width > 1440:
+        #         img = img.resize((1440, int((height / width) * 1440)), Image.ANTIALIAS)
+        #         img.save(fullname)
+        #         width, height = img.size
+        # except:
+        #     pass
+
+        self.radio_path = "%s%s" % (settings.MEDIA_URL, filename)
+        self.save()
+
+    def del_radio(self):
+        radio = self.radio
+        # self.delete()
+        DeleteFile(radio)

+ 0 - 2
apps/tenant/operation_help/serializer.py

@@ -17,8 +17,6 @@ class OperationHelpSerializer(serializers.ModelSerializer):
         fields = '__all__'
 
     def create(self, validated_data):
-        if 'file' in self.initial_data:
-            validated_data['images'] = self.initial_data['file'].split(',')
         validated_data['create_user'] = self.context['request'].user
         validated_data['tenant'] = self.context['request'].user.employee.tenant
         instance = super(OperationHelpSerializer, self).create(validated_data)

+ 9 - 1
apps/tenant/operation_help/views.py

@@ -4,7 +4,7 @@ from utils.custom_modelviewset import CustomModelViewSet
 from rest_framework.decorators import action
 import json
 
-from .models import OperationHelp,OperationHelpImg
+from .models import OperationHelp,OperationHelpImg,OperationHelpRadio
 from utils.permission import IsAdministratorUser
 from .serializer import OperationHelpSerializer
 from apps.tenant import tenant_log
@@ -43,4 +43,12 @@ class OperationHelpViewSet(CustomModelViewSet):
         img = OperationHelpImg.objects._add_img(file,request.user)
         if img:
             return response_ok(img.image)
+        return response_error('上传失败,请重新上传!')
+
+    @action(methods=['post'], detail=False)
+    def upload_radio(self, request):
+        file = self.request.FILES.get('file')
+        radio_path = OperationHelpRadio.objects._add_img(file, request.user)
+        if radio_path:
+            return response_ok(radio_path)
         return response_error('上传失败,请重新上传!')