Sfoglia il codice sorgente

记录用户操作日志

peng 2 anni fa
parent
commit
2fa5ea3dd1
2 ha cambiato i file con 46 aggiunte e 13 eliminazioni
  1. 12 0
      background/models.py
  2. 34 13
      background/views.py

+ 12 - 0
background/models.py

@@ -65,3 +65,15 @@ class UpgradeFirmwareInfo(models.Model):
         db_table = 'upgrade_firmware_info'
         verbose_name = '升级文件信息'
         verbose_name_plural = verbose_name
+
+
+class OperationLog(models.Model):
+    id = models.AutoField(primary_key=True, verbose_name='主键')
+    user_id = models.IntegerField(default=0, verbose_name='用户id')
+    date = models.IntegerField(default=0, verbose_name='日期')
+    operation = models.CharField(default='', max_length=200, verbose_name='操作记录')
+
+    class Meta:
+        db_table = 'operation_log'
+        verbose_name = '操作日志'
+        verbose_name_plural = verbose_name

+ 34 - 13
background/views.py

@@ -11,7 +11,7 @@ from background.Object import AmazonS3Util, RedisObject, TokenObject
 from background.author import MyAuthentication
 from background.serializers import ProductInfoSerializer, VideoInSerializer, QuickStartInfoSerializer, \
     UpgradeFirmwareInfoSerializer
-from background.models import ProductInfo, VideoInfo, QuickStartInfo, UpgradeFirmwareInfo, WechatUserInfo
+from background.models import ProductInfo, VideoInfo, QuickStartInfo, UpgradeFirmwareInfo, WechatUserInfo, OperationLog
 from rest_framework.response import Response
 
 s3_obj = AmazonS3Util()
@@ -39,26 +39,36 @@ class QuickStartInfoSet(ModelViewSet):
     filterset_fields = ['id', 'product_info_id', 'title']
 
     def create(self, request, *args, **kwargs):
-        request_dict = request.data
-        link = request_dict.get('link')
+        link = request.data.get('link', None)
         file_key = 'vsees/quick_start_file/{}'.format(link)
         s3_obj.upload_file_obj(bucket, file_key, link, extra_args={'ACL': 'public-read'})
-        request_dict['link'] = 'https://ansjerfilemanager.s3.amazonaws.com/vsees/quick_start_file/{}'.format(link)
-        serializer = self.get_serializer(data=request_dict)
+        request.data['link'] = 'https://ansjerfilemanager.s3.amazonaws.com/vsees/quick_start_file/{}'.format(link)
+        serializer = self.get_serializer(data=request.data)
         serializer.is_valid(raise_exception=True)
         self.perform_create(serializer)
+        log = {
+            'user_id': request.user,
+            'date': int(time.time()),
+            'operation': '新增了数据:{}'.format(request.data)
+        }
+        OperationLog.objects.create(**log)
         return Response(serializer.data)
 
     def update(self, request, *args, **kwargs):
-        request_dict = request.data
-        link = request_dict.get('link', None)
+        link = request.data.get('link', None)
         if link:
             file_key = 'vsees/quick_start_file/{}'.format(link)
             s3_obj.upload_file_obj(bucket, file_key, link, extra_args={'ACL': 'public-read'})
-            request_dict['link'] = 'https://ansjerfilemanager.s3.amazonaws.com/vsees/quick_start_file/{}'.format(link)
-        serializer = self.get_serializer(data=request_dict, instance=self.get_object(), partial=True)
+            request.data['link'] = 'https://ansjerfilemanager.s3.amazonaws.com/vsees/quick_start_file/{}'.format(link)
+        serializer = self.get_serializer(data=request.data, instance=self.get_object(), partial=True)
         serializer.is_valid(raise_exception=True)
         self.perform_update(serializer)
+        log = {
+            'user_id': request.user,
+            'date': int(time.time()),
+            'operation': '更新了数据:{}'.format(request.data)
+        }
+        OperationLog.objects.create(**log)
         return Response(serializer.data)
 
 
@@ -69,14 +79,19 @@ class UpgradeFirmwareInfoSet(ModelViewSet):
     authentication_classes = [MyAuthentication, ]
 
     def create(self, request, *args, **kwargs):
-        request_dict = request.data
-        link = request_dict.get('link')
+        link = request.data.get('link', None)
         file_key = 'vsees/upgrade_firmware_file/{}'.format(link)
         s3_obj.upload_file_obj(bucket, file_key, link, extra_args={'ACL': 'public-read'})
-        request_dict['link'] = 'https://ansjerfilemanager.s3.amazonaws.com/vsees/upgrade_firmware_file/{}'.format(link)
-        serializer = self.get_serializer(data=request_dict)
+        request.data['link'] = 'https://ansjerfilemanager.s3.amazonaws.com/vsees/upgrade_firmware_file/{}'.format(link)
+        serializer = self.get_serializer(data=request.data)
         serializer.is_valid(raise_exception=True)
         self.perform_create(serializer)
+        log = {
+            'user_id': request.user,
+            'date': int(time.time()),
+            'operation': '新增了数据:{}'.format(request.data)
+        }
+        OperationLog.objects.create(**log)
         return Response(serializer.data)
 
     def update(self, request, *args, **kwargs):
@@ -89,6 +104,12 @@ class UpgradeFirmwareInfoSet(ModelViewSet):
         serializer = self.get_serializer(data=request.data, instance=self.get_object(), partial=True)
         serializer.is_valid(raise_exception=True)
         self.perform_update(serializer)
+        log = {
+            'user_id': request.user,
+            'date': int(time.time()),
+            'operation': '更新了数据:{}'.format(request.data)
+        }
+        OperationLog.objects.create(**log)
         return Response(serializer.data)