58 lines
2.0 KiB
Python
58 lines
2.0 KiB
Python
# -*- 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="未获取到数据")
|
||
|