Browse Source

消息列表,录音

wushaodong 4 years ago
parent
commit
e323b9e1a5

+ 2 - 2
apps/admin/poster/views.py

@@ -33,7 +33,7 @@ class PosterViewSet(CustomModelViewSet):
         with transaction.atomic():
             data['create_user'] = request.user
             poster = Poster.objects.create(**data)
-            poster._add_img(banner_img)
+            poster._add_img(banner_img,request.user)
             BizLog.objects.addnew(None, request.user, BizLog.INSERT, u'添加轮播信息', data)
         return response_ok()
 
@@ -48,7 +48,7 @@ class PosterViewSet(CustomModelViewSet):
                 poster = self.get_object()
                 if banner_img:
                     poster.del_images()
-                    poster._add_img(banner_img)
+                    poster._add_img(banner_img,request.user)
         except CustomError as e:
             return response_error(e.get_error_msg())
         except Exception as e:

+ 2 - 2
apps/tenant/poster/models.py

@@ -32,12 +32,12 @@ class Poster(models.Model):
         ordering = ['-id', 'tenant']
         verbose_name = u'轮播广告'
 
-    def _add_img(self, file):
+    def _add_img(self, file, user_id):
         width = None
         height = None
 
         path = "poster/"
-        filename = UploadFile(file, path)
+        filename = UploadFile(file, path, user_id)
         fullname = "%s%s" % (settings.MEDIA_ROOT, filename)
 
         try:

+ 2 - 2
apps/tenant/poster/views.py

@@ -36,7 +36,7 @@ class PosterViewSet(CustomModelViewSet):
                     raise CustomError(u'只能添加2个在用的轮播!')
                 data['tenant'] = tenant
                 poster = Poster.objects.create(**data)
-                poster._add_img(banner_img)
+                poster._add_img(banner_img,request.user)
                 BizLog.objects.addnew(tenant, request.user, BizLog.INSERT, u'添加轮播信息', data)
             return response_ok()
         except CustomError as e:
@@ -60,7 +60,7 @@ class PosterViewSet(CustomModelViewSet):
                 poster = self.get_object()
                 if banner_img:
                     poster.del_images()
-                    poster._add_img(banner_img)
+                    poster._add_img(banner_img,request.user)
         except CustomError as e:
             return response_error(e.get_error_msg())
         except Exception as e:

+ 6 - 6
apps/upload/models.py

@@ -20,8 +20,8 @@ class UploadManager(models.Manager):
         width = None
         height = None
 
-        path = UploadManager.calculatePath(type, tenant.id, user.id)
-        filename = UploadFile(file, path)
+        path = UploadManager.calculatePath(type, tenant.id)
+        filename = UploadFile(file, path, user.id)
         fullname = "%s%s" % (settings.MEDIA_ROOT, filename)
 
         try:
@@ -49,8 +49,8 @@ class UploadManager(models.Manager):
 
     def _addnew_voice(self, tenant, user, type, file):
 
-        path = UploadManager.calculatePath(type, tenant.id, user.id)
-        filename = UploadFile(file, path)
+        path = UploadManager.calculatePath(type, tenant.id)
+        filename = UploadFile(file, path, user.id)
         # fullname = "%s%s" % (settings.MEDIA_ROOT, filename)
 
         instance = self.model(
@@ -66,7 +66,7 @@ class UploadManager(models.Manager):
         return instance
 
     @staticmethod
-    def calculatePath(type, tenant_id, user_id):
+    def calculatePath(type, tenant_id):
         path_map = {
             Upload.REPAIR_IMAGE: repair_image,
             Upload.INSPECTION_IMAGE: inspection_image,
@@ -74,7 +74,7 @@ class UploadManager(models.Manager):
             Upload.REPAIR_VOICE:repair_image,
         }
 
-        return path_map[type] + str(tenant_id) + str(user_id) + '/'
+        return path_map[type] + str(tenant_id)  + '/'
 
 
 repair_image = "repair/"

+ 1 - 0
apps/wxapp/urls.py

@@ -18,6 +18,7 @@ urlpatterns = [
     url(r'^dict/$', DictView.as_view()),
     url(r'^get_device/$', DeviceView.as_view()),
     url(r'^message/$', MessageView.as_view()),  # 消息
+    url(r'^message_list/$', MessageListView.as_view()),  # 消息
     url(r'^notices/$', NoticesView.as_view()),  # 通知
     url(r'^notices/(?P<pk>[0-9]+)/$', NoticesDetailView.as_view()),  # 通知
 

+ 10 - 0
apps/wxapp/views.py

@@ -271,6 +271,16 @@ class MessageView(generics.ListAPIView):
         f = NoticesFilter(self.request.GET, queryset=queryset)
         return f.qs
 
+class MessageListView(generics.ListAPIView):
+    permission_classes = [IsTenantUser, ]
+    queryset = Notices.objects.filter(type=Notices.MESSAGE)
+    serializer_class = NoticesWXSerializer
+
+    def filter_queryset(self, queryset):
+        queryset = queryset.filter(tenant=self.request.user.employee.tenant, notice_user__user=self.request.user)
+        f = NoticesFilter(self.request.GET, queryset=queryset)
+        return f.qs
+
 class DeviceView(APIView):
     permission_classes = [isLogin, ]
     def get(self, request):

+ 4 - 3
utils/file_operation.py

@@ -7,11 +7,12 @@ from django.utils import timezone
 from django.utils.deconstruct import deconstructible
 
 
-def UploadFile(file, upload_path):
+def UploadFile(file, upload_path, user_id):
     upload_path = PathAndRename(upload_path)
-    filename = "%s%s.%s" % (
+    filename = "%s%s_%s.%s" % (
         upload_path.path,
-        timezone.now().strftime('%Y%m%d%H%M%S%f'),
+        user_id,
+        timezone.now().strftime('%Y%m%d%H%M%S'),
         file.name.split('.')[-1]
     )
     filename = filename.lower()