diff --git a/apps/enm/views.py b/apps/enm/views.py index 9cd3b725..09098aac 100644 --- a/apps/enm/views.py +++ b/apps/enm/views.py @@ -183,8 +183,8 @@ class MpLogxAPIView(APIView): @swagger_auto_schema(manual_parameters=[ openapi.Parameter('mpoint', openapi.IN_QUERY, description='测点ID', type=openapi.TYPE_STRING), - openapi.Parameter('time__gte', openapi.IN_QUERY, description='开始时间', type=openapi.TYPE_STRING), - openapi.Parameter('time__lte', openapi.IN_QUERY, description='结束时间', type=openapi.TYPE_STRING), + openapi.Parameter('timex__gte', openapi.IN_QUERY, description='开始时间', type=openapi.TYPE_STRING), + openapi.Parameter('timex__lte', openapi.IN_QUERY, description='结束时间', type=openapi.TYPE_STRING), openapi.Parameter('page', openapi.IN_QUERY, description='页码', type=openapi.TYPE_INTEGER), openapi.Parameter('page_size', openapi.IN_QUERY, description='每页数量', type=openapi.TYPE_INTEGER), openapi.Parameter('ordering', openapi.IN_QUERY, description='排序字段,如 -timex', type=openapi.TYPE_STRING), @@ -192,8 +192,8 @@ class MpLogxAPIView(APIView): ]) def get(self, request, *args, **kwargs): mpoint = request.query_params.get("mpoint", None) - time__gte_str = request.query_params.get("time__gte", None) - time__lte_str = request.query_params.get("time__lte", None) + timex__gte_str = request.query_params.get("timex__gte", None) + timex__lte_str = request.query_params.get("timex__gte", None) page = int(request.query_params.get("page", 1)) page_size = int(request.query_params.get("page_size", 20)) fields = request.query_params.get("fields", None) @@ -201,17 +201,17 @@ class MpLogxAPIView(APIView): raise ParseError("page, page_size must be positive") ordering = request.query_params.get("ordering", "-timex") # 默认倒序 - if mpoint is None or time__gte_str is None: + if mpoint is None or timex__gte_str is None: raise ParseError("mpoint, time__gte are required") # 处理时间 - time__gte = timezone.make_aware(datetime.strptime(time__gte_str, "%Y-%m-%d %H:%M:%S")) - time__lte = timezone.make_aware(datetime.strptime(time__lte_str, "%Y-%m-%d %H:%M:%S")) if time__lte_str else timezone.now() + timex__gte = timezone.make_aware(datetime.strptime(timex__gte_str, "%Y-%m-%d %H:%M:%S")) + timex__lte = timezone.make_aware(datetime.strptime(timex__lte_str, "%Y-%m-%d %H:%M:%S")) if timex__lte_str else timezone.now() # 统计总数 count_sql = """SELECT COUNT(*) AS total_count FROM enm_mplogx WHERE mpoint_id=%s AND timex >= %s AND timex <= %s""" - count_data = query_one_dict(count_sql, [mpoint, time__gte, time__lte], with_time_format=True) + count_data = query_one_dict(count_sql, [mpoint, timex__gte, timex__lte], with_time_format=True) # 排序白名单 allowed_fields = {"timex", "val_mrs", "val_int", "val_float"} # 根据表字段修改 @@ -244,12 +244,12 @@ class MpLogxAPIView(APIView): page_sql = f"""SELECT {select_clause} FROM enm_mplogx WHERE mpoint_id=%s AND timex >= %s AND timex <= %s {order_clause}""" - page_params = [mpoint, time__gte, time__lte] + page_params = [mpoint, timex__gte, timex__lte] else: page_sql = f"""SELECT * FROM enm_mplogx WHERE mpoint_id=%s AND timex >= %s AND timex <= %s {order_clause} LIMIT %s OFFSET %s""" - page_params = [mpoint, time__gte, time__lte, page_size, (page-1)*page_size] + page_params = [mpoint, timex__gte, timex__lte, page_size, (page-1)*page_size] page_data = query_all_dict(page_sql, page_params, with_time_format=True)