def get(self, request): """ 接口操作历史 :param request: :return: """ try: page_size = int(request.GET.get("page_size", 20)) page = int(request.GET.get("page", 1)) except (TypeError, ValueError): return JsonResponse(code="999985", msg="page and page_size must be integer!") project_id = request.GET.get("project_id") api_id = request.GET.get("api_id") if not project_id or not api_id: return JsonResponse(code="999996", msg="参数有误!") if not project_id.isdecimal() or not api_id.isdecimal(): return JsonResponse(code="999995", msg="参数有误!") try: pro_data = Project.objects.get(id=project_id) except ObjectDoesNotExist: return JsonResponse(code="999995", msg="项目不存在!") pro_data = ProjectSerializer(pro_data) if not pro_data.data["status"]: return JsonResponse(code="999985", msg="该项目已禁用") try: ApiInfo.objects.get(id=api_id, project=project_id) except ObjectDoesNotExist: return JsonResponse(code="999990", msg="接口不存在!") obn = ApiOperationHistory.objects.filter(api=api_id).order_by("-time") paginator = Paginator(obn, page_size) # paginator对象 total = paginator.num_pages # 总页数 try: obm = paginator.page(page) except PageNotAnInteger: obm = paginator.page(1) except EmptyPage: obm = paginator.page(paginator.num_pages) serialize = ApiOperationHistorySerializer(obm, many=True) return JsonResponse(data={ "data": serialize.data, "page": page, "total": total }, code="999999", msg="成功!")
def operation_history(request): """ 接口操作历史 project_id 项目ID api_id 接口ID page_size 条数 page 页码 :return: """ try: page_size = int(request.GET.get("page_size", 20)) page = int(request.GET.get("page", 1)) except (TypeError, ValueError): return JsonResponse(code_msg=GlobalStatusCode.page_not_int()) project_id = request.GET.get("project_id") api_id = request.GET.get("api_id") if not project_id.isdecimal() or not api_id.isdecimal(): return JsonResponse(code_msg=GlobalStatusCode.project_not_exist()) obj = Project.objects.filter(id=project_id) if obj: obi = ApiInfo.objects.filter(id=api_id, project=project_id) if obi: obn = ApiOperationHistory.objects.filter( apiInfo=api_id).order_by("-time") paginator = Paginator(obn, page_size) # paginator对象 total = paginator.num_pages # 总页数 try: obm = paginator.page(page) except PageNotAnInteger: obm = paginator.page(1) except EmptyPage: obm = paginator.page(paginator.num_pages) serialize = ApiOperationHistorySerializer(obm, many=True) return JsonResponse(data={ "data": serialize.data, "page": page, "total": total }, code_msg=GlobalStatusCode.success()) else: return JsonResponse(code_msg=GlobalStatusCode.api_not_exist()) else: return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())