12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- import json
- from django.shortcuts import render
- from admin_site.utils import char_2_datetime,setSuccess
- from django.utils import timezone
- from django.views.decorators.http import require_http_methods
- from django.views.decorators.csrf import csrf_exempt
- from .models import Service as Service_models
- from user.models import User as User_models
- import re
- from files.tasks import del_one_file
- from django.http import HttpResponse, JsonResponse
- from django.core.paginator import Paginator
- from .tasks import create_service
- from files.models import Files as Files_models
- # Create your views here.
- """ 创建新的运算模型 """
- @csrf_exempt
- @require_http_methods(["POST"])
- def add(request):
- body = json.loads(request.body)
- print('fileListID ', type(body['fileListID']))
- params = {
- 'name': body.get('name', None),
- 'source': body.get('source', None),
- 'desc': body.get('desc', None),
- 'user_id': body.get('user_id', None),
- }
- # 创建订单
- service_add = Service_models(**params)
- service_add.save()
- # 定义文件删除程序
- for files_id in body['fileListID']:
- file_params = {
- 'service_id': service_add.id,
- }
- print('file_params', file_params)
- Files_models.objects.filter(id=files_id).update(**file_params)
- # 执行异步任务
- create_service.delay(service_add.id)
- return JsonResponse(setSuccess(msg='更新成功', data=True))
- @csrf_exempt
- @require_http_methods(["POST"])
- def list(request):
- body = json.loads(request.body)
- print(body['token'])
- page = body.get('page', 0)
- page_size = body.get('pageSize', 10)
- keyword = body.get('keyword', '')
- data_list = Service_models.objects.all()
- is_root = False
- params = {
- 'is_delete': 0
- }
- if keyword:
- params.setdefault('title__icontains', keyword)
- if body['token'] is not None:
- user_info = User_models.objects.get(token=body['token'])
- print(user_info.id)
- is_root = user_info.type == 'root'
- if not is_root:
- params.setdefault('user_id', user_info.id)
- if keyword:
- data_list = data_list.filter(**params)
- paginator = Paginator(data_list, page_size)
- total_count = paginator.count # 获取数据总数
- data = paginator.get_page(page)
- data_json = {
- 'has_previous': data.has_previous(),
- 'has_next': data.has_next(),
- 'number': data.number,
- 'total_count': total_count,
- 'num_pages': paginator.num_pages,
- 'list': [{'id': item.id, 'create_time': item.create_time, 'update_time': item.update_time,
- 'start_time': item.start_time, 'desc': item.desc, 'name': item.name, 'source': item.source,
- 'run_time': item.run_time, 'status': item.status, } for item in data]
- }
- return JsonResponse(setSuccess(msg='更新成功', data=data_json))
- @csrf_exempt
- @require_http_methods(["POST", "GET"])
- def info(request):
- return JsonResponse(setSuccess(msg='更新成功', data={}))
|