def get(self, req): id = req.query_params["projectId"] total = None all_page = None page = None pageSize = None if "page" in req.query_params: page = req.query_params["page"] pageSize = req.query_params["pageSize"] obj = models.CasePlan.objects.select_related( "projectId", "userId").filter(projectId=id).order_by("createTime").reverse() serializersObj = serializers.S_AddCasePlan(obj, many=True) res_data = serializersObj.data if page: #如果传了分页 则返回分页数据--否则返回所有数据 total = len(res_data) #数据总数 PaginationObj = Pagination(total, page, perPageNum=pageSize, allPageNum=11) all_page = PaginationObj.all_page() res_data = res_data[PaginationObj.start():PaginationObj.end()] return APIResponse(200, "success", results=res_data, total=total, allPage=all_page, status=status.HTTP_200_OK)
def post(self, req): data = req.data print(data) id = int(data["id"]) if (models.ProjectList.objects.filter(id=id)): models.ProjectList.objects.filter(id=int(id)).delete() obj = models.ProjectList.objects.all() currentPage = int(data["page"]) # 当前请求的是第几页 size = int(data["page_size"]) # 每页展示输了 totalCount = len(obj) # 总数 PaginationObj = Pagination(totalCount, currentPage, perPageNum=size, allPageNum=11) all_page = PaginationObj.all_page() Many = ManyOrOne.IsMany(obj) valid_data = serializers.S_ProjectList(obj, many=Many) return APIResponse(200, "删除成功", results=valid_data.data, total=totalCount, page_size=all_page, status=status.HTTP_200_OK) else: return APIResponse(400, "项目不存在", results=[], status=status.HTTP_200_OK)
def get(self, req): params = req.query_params print(params) print(params.get("id")) print(params.keys()) if "id" in params: #查询当前用户是否为该项目的创建人--如果是创建人则返回1-可以允许同步 否则不允许同步 id = params.get("id") userId = params.get("userId") obj = models.ProjectList.objects.filter( Q(id=id) & Q(user_id=userId) & Q(status=0)) if obj: res_data = serializers.S_ProjectList(obj[0], many=False) obj = res_data.data return APIResponse(200, "", results=obj, code=1, status=status.HTTP_200_OK) else: return APIResponse(200, "", code=0, status=status.HTTP_200_OK) else: try: obj = models.ProjectList.objects.all().order_by( "create_time").reverse() #根据创建时间从大到小排序 currentPage = int(params["page"]) #当前请求的是第几页 size = int(params["page_size"]) #每页展示输了 totalCount = len(obj) #总数 PaginationObj = Pagination(totalCount, currentPage, perPageNum=size, allPageNum=11) all_page = PaginationObj.all_page() Many = ManyOrOne.IsMany(obj) valid_data = serializers.S_ProjectList(obj, many=Many) res_data = valid_data.data[PaginationObj.start():PaginationObj. end()] return APIResponse(200, "success", results=res_data, total=totalCount, page_size=all_page, status=status.HTTP_200_OK) except: obj = models.ProjectList.objects.all().order_by( "create_time").reverse() # 根据创建时间从大到小排序 Many = ManyOrOne.IsMany(obj) valid_data = serializers.S_ProjectList(obj, many=Many) return APIResponse(200, "success", results=valid_data.data, status=status.HTTP_200_OK)
def page_c(self, data): type = data["type"] page = data["page"] pageSize = data["pageSize"] obj = models.CaseResult.objects.filter( c_id=data["c_id"], type=type).order_by("createTime").reverse() serializersObj = serializers.S_CaseResults(obj, many=True) res_data = serializersObj.data total = len(res_data) # 数据总数 PaginationObj = Pagination(total, page, perPageNum=pageSize, allPageNum=11) all_page = PaginationObj.all_page() res_data = res_data[PaginationObj.start():PaginationObj.end()] return res_data, all_page, total
def listPlan(self, req): id = req.data["projectId"] page = req.data["page"] pageSize = req.data["pageSize"] obj = models.CasePlan.objects.select_related( "projectId", "userId").filter(projectId=id).order_by("createTime").reverse() serializersObj = serializers.S_AddCasePlan(obj, many=True) res_data = serializersObj.data total = len(res_data) # 数据总数 PaginationObj = Pagination(total, page, perPageNum=pageSize, allPageNum=11) all_page = PaginationObj.all_page() res_data = res_data[PaginationObj.start():PaginationObj.end()] return {"res_data": res_data, "total": total, "all_page": all_page}
def post(self, req): data = req.data Many = ManyOrOne.IsMany(data) obj = serializers.S_AddProject(data=data) currentPage = int(data["page"]) # 当前请求的是第几页 size = int(data["page_size"]) # 每页展示输了 if obj.is_valid(raise_exception=True): a = obj.save() res_data = serializers.S_AddProject(a) obj = models.ProjectList.objects.select_related().all().order_by( "create_time").reverse() print(obj) Many1 = ManyOrOne.IsMany(obj) valid_data = serializers.S_ProjectList(obj, many=Many1) totalCount = len(valid_data.data) # 总数 PaginationObj = Pagination(totalCount, currentPage, perPageNum=size, allPageNum=11) all_page = PaginationObj.all_page() print(res_data) print(res_data.data) id = res_data.data["id"] userId = res_data.data["user"]["id"] #添加项目时,同步users和projectLsit多对多的表 # projectObj=models.ProjectList.objects.get(id=id) # usersObj=usersModels.UserProfile.objects.get(id=userId) # models.UsersToProject.objects.create(projectId=projectObj,userId=usersObj) return APIResponse(200, "新增成功", results=res_data.data, total=totalCount, page_size=all_page, status=status.HTTP_200_OK)
def get(self, req): data = req.query_params projectId = data["projectId"] kwargs = {} if "name" in data.keys(): kwargs["name__icontains"] = data["name"] if "isInterface" in data.keys(): kwargs["CaseGroupId__name__icontains"] = data["isInterface"] if "postMethods" in data.keys(): kwargs["postMethod"] = data["postMethods"] if "ctime" in data.keys(): kwargs["createTime__gt"] = json.loads(data["ctime"])[0] kwargs["createTime__lt"] = json.loads(data["ctime"])[1] if "utime" in data.keys(): kwargs["updateTime__gt"] = json.loads(data["utime"])[0] kwargs["updateTime__lt"] = json.loads(data["utime"])[1] kwargs["CaseGroupId__CaseGroupFilesId__projectId"] = projectId obj=models.CaseFile.objects.select_related\ ("CaseGroupId","userId","postMethod","environmentId","update_userId","CaseGroupId__CaseGroupFilesId","CaseGroupId__CaseGroupFilesId__projectId")\ .filter(**kwargs).order_by("CaseGroupId__order","order") serializersObj = serializers.S_GetCaseList(obj, many=True) res_data = serializersObj.data page = req.query_params["page"] pageSize = req.query_params["pageSize"] total = len(res_data) # 数据总数 PaginationObj = Pagination(total, page, perPageNum=pageSize, allPageNum=11) all_page = PaginationObj.all_page() if int(all_page) < int(page): PaginationObj = Pagination(total, all_page, perPageNum=pageSize, allPageNum=11) res_data = res_data[PaginationObj.start():PaginationObj.end()] return APIResponse(200, "success", results=res_data, total=total, allPage=all_page, status=status.HTTP_200_OK)
def taskList(self, data, kwarg={}, page=None, pageSize=None): id = data["projectId"] kwarg["projectId"] = id obj = models.SqlBox.objects.select_related( "projectId", "userId").filter(**kwarg).order_by("createTime").reverse() serializersObj = serializers.S_addSqlBox(obj, many=True) res_data = serializersObj.data total = None all_page = None if "page" in data.keys(): page = data["page"] pageSize = data["pageSize"] total = len(res_data) # 数据总数 PaginationObj = Pagination(total, page, perPageNum=pageSize, allPageNum=11) all_page = PaginationObj.all_page() if int(all_page) >= int(page): print(PaginationObj.start(), PaginationObj.end()) res_data = res_data[PaginationObj.start():PaginationObj.end()] else: PaginationObj = Pagination(total, int(page) - 1, perPageNum=pageSize, allPageNum=11) res_data = res_data[PaginationObj.start():PaginationObj.end()] return {"res_data": res_data, "total": total, "all_page": all_page}