dvlyadmin_pro/backend/apps/lyworkflow/views/views_lyworkflow.py
2025-03-17 18:06:54 +08:00

58 lines
2.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# -*- coding: utf-8 -*-
import django_filters
from apps.lyworkflow.models import *
from rest_framework import serializers
from utils.viewset import CustomModelViewSet
from utils.serializers import CustomModelSerializer
from utils.common import ast_convert
from utils.jsonResponse import SuccessResponse,ErrorResponse,DetailResponse
class LYWorkflowFilterSet(django_filters.rest_framework.FilterSet):
#开始时间
beginAt = django_filters.DateTimeFilter(field_name='create_datetime', lookup_expr='gte') # 指定过滤的字段
#结束时间
endAt = django_filters.DateTimeFilter(field_name='create_datetime', lookup_expr='lte')
name = django_filters.CharFilter(field_name='name',lookup_expr='icontains')
class Meta:
model = LYWorkflow
fields = ['beginAt', 'endAt', 'name']
class LYWorkflowSerializer(CustomModelSerializer):
"""
LYWorkflow 序列化器
"""
class Meta:
model = LYWorkflow
read_only_fields = ["id"]
fields = '__all__'
class LYWorkflowViewSet(CustomModelViewSet):
"""
LYWorkflow 接口
"""
queryset = LYWorkflow.objects.filter(is_delete=False).order_by("-create_datetime")
serializer_class = LYWorkflowSerializer
filterset_class = LYWorkflowFilterSet
#重写delete方法并改为逻辑删除
def destroy(self, request, *args, **kwargs):
instance = self.get_object_list()
for i in range(len(instance)):
instance[i].is_delete = True
model = self.get_serializer().Meta.model
model.objects.bulk_update(instance,fields=['is_delete'])
return DetailResponse(msg="删除成功")
def opstatus(self,request,*args, **kwargs):
"""状态操作"""
instance = LYWorkflow.objects.filter(id=kwargs.get('pk')).first()
if instance:
instance.status =0 if instance.status == 1 else 1
instance.save()
return SuccessResponse(data=None, msg="修改成功")
else:
return ErrorResponse(msg="未获取到数据")