diff --git a/apps/data/views.py b/apps/data/views.py index 56fb505..92c408e 100644 --- a/apps/data/views.py +++ b/apps/data/views.py @@ -43,6 +43,30 @@ class WarehouseViewSet(BaseViewSet, ReadWriteMixin): number = Warehouse.get_number(self.team) return Response(data={'number': number}, status=status.HTTP_200_OK) + @extend_schema(responses={200: WarehouseSerializer}) + @action(detail=True, methods=['post']) + def lock(self, request, *args, **kwargs): + """锁定仓库""" + + warehouse = self.get_object() + warehouse.is_locked = False + warehouse.save(update_fields=['is_locked']) + + serializer = WarehouseSerializer(instance=warehouse) + return Response(data=serializer.data, status=status.HTTP_200_OK) + + @extend_schema(responses={200: WarehouseSerializer}) + @action(detail=True, methods=['post']) + def unlock(self, request, *args, **kwargs): + """解锁仓库""" + + warehouse = self.get_object() + warehouse.is_locked = True + warehouse.save(update_fields=['is_locked']) + + serializer = WarehouseSerializer(instance=warehouse) + return Response(data=serializer.data, status=status.HTTP_200_OK) + class ClientViewSet(BaseViewSet, ReadWriteMixin): """客户"""