From d22ddac9cd14551ba8b6f0d7d5f92ef70e4a0803 Mon Sep 17 00:00:00 2001 From: huang <1724659546@qq.com> Date: Fri, 31 Oct 2025 16:01:49 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E5=BA=9F=E5=BC=83=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/docs.go | 305 +++++++----------- docs/swagger.json | 305 +++++++----------- docs/swagger.yaml | 259 ++++++--------- .../app/controller/user/user_controller.go | 63 ---- 4 files changed, 320 insertions(+), 612 deletions(-) diff --git a/docs/docs.go b/docs/docs.go index 551191c..fc75748 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -756,17 +756,17 @@ const docTemplate = `{ "parameters": [ { "type": "integer", - "name": "device_id", + "name": "deviceID", "in": "query" }, { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -781,12 +781,12 @@ const docTemplate = `{ }, { "type": "boolean", - "name": "received_success", + "name": "receivedSuccess", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" } ], @@ -830,22 +830,22 @@ const docTemplate = `{ "parameters": [ { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "integer", - "name": "feed_formula_id", + "name": "feedFormulaID", "in": "query" }, { "type": "integer", - "name": "operator_id", + "name": "operatorID", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -860,12 +860,12 @@ const docTemplate = `{ }, { "type": "integer", - "name": "pen_id", + "name": "penID", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" } ], @@ -909,22 +909,22 @@ const docTemplate = `{ "parameters": [ { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "integer", - "name": "medication_id", + "name": "medicationID", "in": "query" }, { "type": "integer", - "name": "operator_id", + "name": "operatorID", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -939,7 +939,7 @@ const docTemplate = `{ }, { "type": "integer", - "name": "pig_batch_id", + "name": "pigBatchID", "in": "query" }, { @@ -949,7 +949,7 @@ const docTemplate = `{ }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" } ], @@ -993,12 +993,11 @@ const docTemplate = `{ "parameters": [ { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "enum": [ - 7, -1, 0, 1, @@ -1008,12 +1007,12 @@ const docTemplate = `{ 5, -1, 5, - 6 + 6, + 7 ], "type": "integer", "format": "int32", "x-enum-varnames": [ - "_numLevels", "DebugLevel", "InfoLevel", "WarnLevel", @@ -1023,7 +1022,8 @@ const docTemplate = `{ "FatalLevel", "_minLevel", "_maxLevel", - "InvalidLevel" + "InvalidLevel", + "_numLevels" ], "name": "level", "in": "query" @@ -1042,12 +1042,12 @@ const docTemplate = `{ "NotifierTypeLark", "NotifierTypeLog" ], - "name": "notifier_type", + "name": "notifierType", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1062,7 +1062,7 @@ const docTemplate = `{ }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" }, { @@ -1092,7 +1092,7 @@ const docTemplate = `{ }, { "type": "integer", - "name": "user_id", + "name": "userID", "in": "query" } ], @@ -1136,17 +1136,17 @@ const docTemplate = `{ "parameters": [ { "type": "integer", - "name": "device_id", + "name": "deviceID", "in": "query" }, { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1161,7 +1161,7 @@ const docTemplate = `{ }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" }, { @@ -1210,22 +1210,22 @@ const docTemplate = `{ "parameters": [ { "type": "string", - "name": "change_type", + "name": "changeType", "in": "query" }, { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "integer", - "name": "operator_id", + "name": "operatorID", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1240,12 +1240,12 @@ const docTemplate = `{ }, { "type": "integer", - "name": "pig_batch_id", + "name": "pigBatchID", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" } ], @@ -1289,17 +1289,17 @@ const docTemplate = `{ "parameters": [ { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "integer", - "name": "operator_id", + "name": "operatorID", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1314,12 +1314,12 @@ const docTemplate = `{ }, { "type": "integer", - "name": "pig_batch_id", + "name": "pigBatchID", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" }, { @@ -1373,17 +1373,17 @@ const docTemplate = `{ }, { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "integer", - "name": "operator_id", + "name": "operatorID", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1398,12 +1398,12 @@ const docTemplate = `{ }, { "type": "integer", - "name": "pig_batch_id", + "name": "pigBatchID", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" } ], @@ -1447,17 +1447,17 @@ const docTemplate = `{ "parameters": [ { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "integer", - "name": "operator_id", + "name": "operatorID", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1472,12 +1472,12 @@ const docTemplate = `{ }, { "type": "integer", - "name": "pen_id", + "name": "penID", "in": "query" }, { "type": "integer", - "name": "pig_batch_id", + "name": "pigBatchID", "in": "query" }, { @@ -1487,12 +1487,12 @@ const docTemplate = `{ }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" }, { "type": "string", - "name": "treatment_location", + "name": "treatmentLocation", "in": "query" } ], @@ -1536,22 +1536,22 @@ const docTemplate = `{ "parameters": [ { "type": "string", - "name": "correlation_id", + "name": "correlationID", "in": "query" }, { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "integer", - "name": "operator_id", + "name": "operatorID", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1566,22 +1566,22 @@ const docTemplate = `{ }, { "type": "integer", - "name": "pen_id", + "name": "penID", "in": "query" }, { "type": "integer", - "name": "pig_batch_id", + "name": "pigBatchID", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" }, { "type": "string", - "name": "transfer_type", + "name": "transferType", "in": "query" } ], @@ -1625,12 +1625,12 @@ const docTemplate = `{ "parameters": [ { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1645,12 +1645,12 @@ const docTemplate = `{ }, { "type": "integer", - "name": "plan_id", + "name": "planID", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" }, { @@ -1699,12 +1699,12 @@ const docTemplate = `{ "parameters": [ { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1719,12 +1719,12 @@ const docTemplate = `{ }, { "type": "integer", - "name": "raw_material_id", + "name": "rawMaterialID", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" }, { @@ -1773,12 +1773,12 @@ const docTemplate = `{ "parameters": [ { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1793,22 +1793,22 @@ const docTemplate = `{ }, { "type": "integer", - "name": "raw_material_id", + "name": "rawMaterialID", "in": "query" }, { "type": "integer", - "name": "source_id", + "name": "sourceID", "in": "query" }, { "type": "string", - "name": "source_type", + "name": "sourceType", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" } ], @@ -1852,17 +1852,17 @@ const docTemplate = `{ "parameters": [ { "type": "integer", - "name": "device_id", + "name": "deviceID", "in": "query" }, { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1877,12 +1877,12 @@ const docTemplate = `{ }, { "type": "string", - "name": "sensor_type", + "name": "sensorType", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" } ], @@ -1926,12 +1926,12 @@ const docTemplate = `{ "parameters": [ { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1946,12 +1946,12 @@ const docTemplate = `{ }, { "type": "integer", - "name": "plan_execution_log_id", + "name": "planExecutionLogID", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" }, { @@ -1961,7 +1961,7 @@ const docTemplate = `{ }, { "type": "integer", - "name": "task_id", + "name": "taskID", "in": "query" } ], @@ -2005,17 +2005,17 @@ const docTemplate = `{ "parameters": [ { "type": "string", - "name": "action_type", + "name": "actionType", "in": "query" }, { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -2030,7 +2030,7 @@ const docTemplate = `{ }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" }, { @@ -2040,7 +2040,7 @@ const docTemplate = `{ }, { "type": "integer", - "name": "user_id", + "name": "userID", "in": "query" }, { @@ -2089,12 +2089,12 @@ const docTemplate = `{ "parameters": [ { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -2109,12 +2109,12 @@ const docTemplate = `{ }, { "type": "integer", - "name": "pig_batch_id", + "name": "pigBatchID", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" } ], @@ -2158,17 +2158,17 @@ const docTemplate = `{ "parameters": [ { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "integer", - "name": "operator_id", + "name": "operatorID", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -2183,17 +2183,17 @@ const docTemplate = `{ }, { "type": "integer", - "name": "pen_id", + "name": "penID", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" }, { "type": "integer", - "name": "weighing_batch_id", + "name": "weighingBatchID", "in": "query" } ], @@ -3415,7 +3415,7 @@ const docTemplate = `{ "BearerAuth": [] } ], - "description": "创建一个新的猪舍", + "description": "根据提供的信息创建一个新猪舍", "consumes": [ "application/json" ], @@ -4003,97 +4003,6 @@ const docTemplate = `{ } } }, - "/api/v1/users/{id}/history": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "根据用户ID,分页获取该用户的操作审计日志。支持与通用日志查询接口相同的过滤和排序参数。", - "produces": [ - "application/json" - ], - "tags": [ - "用户管理" - ], - "summary": "获取指定用户的操作历史", - "parameters": [ - { - "type": "integer", - "description": "用户ID", - "name": "id", - "in": "path", - "required": true - }, - { - "type": "string", - "name": "action_type", - "in": "query" - }, - { - "type": "string", - "name": "end_time", - "in": "query" - }, - { - "type": "string", - "name": "order_by", - "in": "query" - }, - { - "type": "integer", - "name": "page", - "in": "query" - }, - { - "type": "integer", - "name": "pageSize", - "in": "query" - }, - { - "type": "string", - "name": "start_time", - "in": "query" - }, - { - "type": "string", - "name": "status", - "in": "query" - }, - { - "type": "integer", - "name": "user_id", - "in": "query" - }, - { - "type": "string", - "name": "username", - "in": "query" - } - ], - "responses": { - "200": { - "description": "业务码为200代表成功获取", - "schema": { - "allOf": [ - { - "$ref": "#/definitions/controller.Response" - }, - { - "type": "object", - "properties": { - "data": { - "$ref": "#/definitions/dto.ListUserActionLogResponse" - } - } - } - ] - } - } - } - } - }, "/api/v1/users/{id}/notifications/test": { "post": { "security": [ @@ -4166,7 +4075,7 @@ const docTemplate = `{ ] }, "data": { - "description": "业务数据" + "description": "业务数据, omitempty表示如果为空则不序列化" }, "message": { "description": "提示信息", @@ -4428,6 +4337,7 @@ const docTemplate = `{ }, "execute_num": { "type": "integer", + "minimum": 0, "example": 10 }, "execution_type": { @@ -6316,6 +6226,7 @@ const docTemplate = `{ }, "execute_num": { "type": "integer", + "minimum": 0, "example": 10 }, "execution_type": { @@ -6930,7 +6841,6 @@ const docTemplate = `{ "type": "integer", "format": "int32", "enum": [ - 7, -1, 0, 1, @@ -6940,10 +6850,10 @@ const docTemplate = `{ 5, -1, 5, - 6 + 6, + 7 ], "x-enum-varnames": [ - "_numLevels", "DebugLevel", "InfoLevel", "WarnLevel", @@ -6953,7 +6863,8 @@ const docTemplate = `{ "FatalLevel", "_minLevel", "_maxLevel", - "InvalidLevel" + "InvalidLevel", + "_numLevels" ] } }, diff --git a/docs/swagger.json b/docs/swagger.json index e052064..d4524aa 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -748,17 +748,17 @@ "parameters": [ { "type": "integer", - "name": "device_id", + "name": "deviceID", "in": "query" }, { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -773,12 +773,12 @@ }, { "type": "boolean", - "name": "received_success", + "name": "receivedSuccess", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" } ], @@ -822,22 +822,22 @@ "parameters": [ { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "integer", - "name": "feed_formula_id", + "name": "feedFormulaID", "in": "query" }, { "type": "integer", - "name": "operator_id", + "name": "operatorID", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -852,12 +852,12 @@ }, { "type": "integer", - "name": "pen_id", + "name": "penID", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" } ], @@ -901,22 +901,22 @@ "parameters": [ { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "integer", - "name": "medication_id", + "name": "medicationID", "in": "query" }, { "type": "integer", - "name": "operator_id", + "name": "operatorID", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -931,7 +931,7 @@ }, { "type": "integer", - "name": "pig_batch_id", + "name": "pigBatchID", "in": "query" }, { @@ -941,7 +941,7 @@ }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" } ], @@ -985,12 +985,11 @@ "parameters": [ { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "enum": [ - 7, -1, 0, 1, @@ -1000,12 +999,12 @@ 5, -1, 5, - 6 + 6, + 7 ], "type": "integer", "format": "int32", "x-enum-varnames": [ - "_numLevels", "DebugLevel", "InfoLevel", "WarnLevel", @@ -1015,7 +1014,8 @@ "FatalLevel", "_minLevel", "_maxLevel", - "InvalidLevel" + "InvalidLevel", + "_numLevels" ], "name": "level", "in": "query" @@ -1034,12 +1034,12 @@ "NotifierTypeLark", "NotifierTypeLog" ], - "name": "notifier_type", + "name": "notifierType", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1054,7 +1054,7 @@ }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" }, { @@ -1084,7 +1084,7 @@ }, { "type": "integer", - "name": "user_id", + "name": "userID", "in": "query" } ], @@ -1128,17 +1128,17 @@ "parameters": [ { "type": "integer", - "name": "device_id", + "name": "deviceID", "in": "query" }, { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1153,7 +1153,7 @@ }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" }, { @@ -1202,22 +1202,22 @@ "parameters": [ { "type": "string", - "name": "change_type", + "name": "changeType", "in": "query" }, { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "integer", - "name": "operator_id", + "name": "operatorID", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1232,12 +1232,12 @@ }, { "type": "integer", - "name": "pig_batch_id", + "name": "pigBatchID", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" } ], @@ -1281,17 +1281,17 @@ "parameters": [ { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "integer", - "name": "operator_id", + "name": "operatorID", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1306,12 +1306,12 @@ }, { "type": "integer", - "name": "pig_batch_id", + "name": "pigBatchID", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" }, { @@ -1365,17 +1365,17 @@ }, { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "integer", - "name": "operator_id", + "name": "operatorID", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1390,12 +1390,12 @@ }, { "type": "integer", - "name": "pig_batch_id", + "name": "pigBatchID", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" } ], @@ -1439,17 +1439,17 @@ "parameters": [ { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "integer", - "name": "operator_id", + "name": "operatorID", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1464,12 +1464,12 @@ }, { "type": "integer", - "name": "pen_id", + "name": "penID", "in": "query" }, { "type": "integer", - "name": "pig_batch_id", + "name": "pigBatchID", "in": "query" }, { @@ -1479,12 +1479,12 @@ }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" }, { "type": "string", - "name": "treatment_location", + "name": "treatmentLocation", "in": "query" } ], @@ -1528,22 +1528,22 @@ "parameters": [ { "type": "string", - "name": "correlation_id", + "name": "correlationID", "in": "query" }, { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "integer", - "name": "operator_id", + "name": "operatorID", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1558,22 +1558,22 @@ }, { "type": "integer", - "name": "pen_id", + "name": "penID", "in": "query" }, { "type": "integer", - "name": "pig_batch_id", + "name": "pigBatchID", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" }, { "type": "string", - "name": "transfer_type", + "name": "transferType", "in": "query" } ], @@ -1617,12 +1617,12 @@ "parameters": [ { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1637,12 +1637,12 @@ }, { "type": "integer", - "name": "plan_id", + "name": "planID", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" }, { @@ -1691,12 +1691,12 @@ "parameters": [ { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1711,12 +1711,12 @@ }, { "type": "integer", - "name": "raw_material_id", + "name": "rawMaterialID", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" }, { @@ -1765,12 +1765,12 @@ "parameters": [ { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1785,22 +1785,22 @@ }, { "type": "integer", - "name": "raw_material_id", + "name": "rawMaterialID", "in": "query" }, { "type": "integer", - "name": "source_id", + "name": "sourceID", "in": "query" }, { "type": "string", - "name": "source_type", + "name": "sourceType", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" } ], @@ -1844,17 +1844,17 @@ "parameters": [ { "type": "integer", - "name": "device_id", + "name": "deviceID", "in": "query" }, { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1869,12 +1869,12 @@ }, { "type": "string", - "name": "sensor_type", + "name": "sensorType", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" } ], @@ -1918,12 +1918,12 @@ "parameters": [ { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -1938,12 +1938,12 @@ }, { "type": "integer", - "name": "plan_execution_log_id", + "name": "planExecutionLogID", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" }, { @@ -1953,7 +1953,7 @@ }, { "type": "integer", - "name": "task_id", + "name": "taskID", "in": "query" } ], @@ -1997,17 +1997,17 @@ "parameters": [ { "type": "string", - "name": "action_type", + "name": "actionType", "in": "query" }, { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -2022,7 +2022,7 @@ }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" }, { @@ -2032,7 +2032,7 @@ }, { "type": "integer", - "name": "user_id", + "name": "userID", "in": "query" }, { @@ -2081,12 +2081,12 @@ "parameters": [ { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -2101,12 +2101,12 @@ }, { "type": "integer", - "name": "pig_batch_id", + "name": "pigBatchID", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" } ], @@ -2150,17 +2150,17 @@ "parameters": [ { "type": "string", - "name": "end_time", + "name": "endTime", "in": "query" }, { "type": "integer", - "name": "operator_id", + "name": "operatorID", "in": "query" }, { "type": "string", - "name": "order_by", + "name": "orderBy", "in": "query" }, { @@ -2175,17 +2175,17 @@ }, { "type": "integer", - "name": "pen_id", + "name": "penID", "in": "query" }, { "type": "string", - "name": "start_time", + "name": "startTime", "in": "query" }, { "type": "integer", - "name": "weighing_batch_id", + "name": "weighingBatchID", "in": "query" } ], @@ -3407,7 +3407,7 @@ "BearerAuth": [] } ], - "description": "创建一个新的猪舍", + "description": "根据提供的信息创建一个新猪舍", "consumes": [ "application/json" ], @@ -3995,97 +3995,6 @@ } } }, - "/api/v1/users/{id}/history": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "根据用户ID,分页获取该用户的操作审计日志。支持与通用日志查询接口相同的过滤和排序参数。", - "produces": [ - "application/json" - ], - "tags": [ - "用户管理" - ], - "summary": "获取指定用户的操作历史", - "parameters": [ - { - "type": "integer", - "description": "用户ID", - "name": "id", - "in": "path", - "required": true - }, - { - "type": "string", - "name": "action_type", - "in": "query" - }, - { - "type": "string", - "name": "end_time", - "in": "query" - }, - { - "type": "string", - "name": "order_by", - "in": "query" - }, - { - "type": "integer", - "name": "page", - "in": "query" - }, - { - "type": "integer", - "name": "pageSize", - "in": "query" - }, - { - "type": "string", - "name": "start_time", - "in": "query" - }, - { - "type": "string", - "name": "status", - "in": "query" - }, - { - "type": "integer", - "name": "user_id", - "in": "query" - }, - { - "type": "string", - "name": "username", - "in": "query" - } - ], - "responses": { - "200": { - "description": "业务码为200代表成功获取", - "schema": { - "allOf": [ - { - "$ref": "#/definitions/controller.Response" - }, - { - "type": "object", - "properties": { - "data": { - "$ref": "#/definitions/dto.ListUserActionLogResponse" - } - } - } - ] - } - } - } - } - }, "/api/v1/users/{id}/notifications/test": { "post": { "security": [ @@ -4158,7 +4067,7 @@ ] }, "data": { - "description": "业务数据" + "description": "业务数据, omitempty表示如果为空则不序列化" }, "message": { "description": "提示信息", @@ -4420,6 +4329,7 @@ }, "execute_num": { "type": "integer", + "minimum": 0, "example": 10 }, "execution_type": { @@ -6308,6 +6218,7 @@ }, "execute_num": { "type": "integer", + "minimum": 0, "example": 10 }, "execution_type": { @@ -6922,7 +6833,6 @@ "type": "integer", "format": "int32", "enum": [ - 7, -1, 0, 1, @@ -6932,10 +6842,10 @@ 5, -1, 5, - 6 + 6, + 7 ], "x-enum-varnames": [ - "_numLevels", "DebugLevel", "InfoLevel", "WarnLevel", @@ -6945,7 +6855,8 @@ "FatalLevel", "_minLevel", "_maxLevel", - "InvalidLevel" + "InvalidLevel", + "_numLevels" ] } }, diff --git a/docs/swagger.yaml b/docs/swagger.yaml index bae7566..1573e8a 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -6,7 +6,7 @@ definitions: - $ref: '#/definitions/controller.ResponseCode' description: 业务状态码 data: - description: 业务数据 + description: 业务数据, omitempty表示如果为空则不序列化 message: description: 提示信息 type: string @@ -196,6 +196,7 @@ definitions: type: string execute_num: example: 10 + minimum: 0 type: integer execution_type: allOf: @@ -1459,6 +1460,7 @@ definitions: type: string execute_num: example: 10 + minimum: 0 type: integer execution_type: allOf: @@ -1935,7 +1937,6 @@ definitions: - PlanTypeFilterSystem zapcore.Level: enum: - - 7 - -1 - 0 - 1 @@ -1946,10 +1947,10 @@ definitions: - -1 - 5 - 6 + - 7 format: int32 type: integer x-enum-varnames: - - _numLevels - DebugLevel - InfoLevel - WarnLevel @@ -1960,6 +1961,7 @@ definitions: - _minLevel - _maxLevel - InvalidLevel + - _numLevels info: contact: email: divano@example.com @@ -2393,13 +2395,13 @@ paths: description: 根据提供的过滤条件,分页获取设备命令日志 parameters: - in: query - name: device_id + name: deviceID type: integer - in: query - name: end_time + name: endTime type: string - in: query - name: order_by + name: orderBy type: string - in: query name: page @@ -2408,10 +2410,10 @@ paths: name: pageSize type: integer - in: query - name: received_success + name: receivedSuccess type: boolean - in: query - name: start_time + name: startTime type: string produces: - application/json @@ -2435,16 +2437,16 @@ paths: description: 根据提供的过滤条件,分页获取饲料使用记录 parameters: - in: query - name: end_time + name: endTime type: string - in: query - name: feed_formula_id + name: feedFormulaID type: integer - in: query - name: operator_id + name: operatorID type: integer - in: query - name: order_by + name: orderBy type: string - in: query name: page @@ -2453,10 +2455,10 @@ paths: name: pageSize type: integer - in: query - name: pen_id + name: penID type: integer - in: query - name: start_time + name: startTime type: string produces: - application/json @@ -2480,16 +2482,16 @@ paths: description: 根据提供的过滤条件,分页获取用药记录 parameters: - in: query - name: end_time + name: endTime type: string - in: query - name: medication_id + name: medicationID type: integer - in: query - name: operator_id + name: operatorID type: integer - in: query - name: order_by + name: orderBy type: string - in: query name: page @@ -2498,13 +2500,13 @@ paths: name: pageSize type: integer - in: query - name: pig_batch_id + name: pigBatchID type: integer - in: query name: reason type: string - in: query - name: start_time + name: startTime type: string produces: - application/json @@ -2528,10 +2530,9 @@ paths: description: 根据提供的过滤条件,分页获取通知列表 parameters: - in: query - name: end_time + name: endTime type: string - enum: - - 7 - -1 - 0 - 1 @@ -2542,12 +2543,12 @@ paths: - -1 - 5 - 6 + - 7 format: int32 in: query name: level type: integer x-enum-varnames: - - _numLevels - DebugLevel - InfoLevel - WarnLevel @@ -2558,13 +2559,14 @@ paths: - _minLevel - _maxLevel - InvalidLevel + - _numLevels - enum: - 邮件 - 企业微信 - 飞书 - 日志 in: query - name: notifier_type + name: notifierType type: string x-enum-varnames: - NotifierTypeSMTP @@ -2572,7 +2574,7 @@ paths: - NotifierTypeLark - NotifierTypeLog - in: query - name: order_by + name: orderBy type: string - in: query name: page @@ -2581,7 +2583,7 @@ paths: name: pageSize type: integer - in: query - name: start_time + name: startTime type: string - enum: - 发送成功 @@ -2603,7 +2605,7 @@ paths: - NotificationStatusFailed - NotificationStatusSkipped - in: query - name: user_id + name: userID type: integer produces: - application/json @@ -2627,13 +2629,13 @@ paths: description: 根据提供的过滤条件,分页获取待采集请求 parameters: - in: query - name: device_id + name: deviceID type: integer - in: query - name: end_time + name: endTime type: string - in: query - name: order_by + name: orderBy type: string - in: query name: page @@ -2642,7 +2644,7 @@ paths: name: pageSize type: integer - in: query - name: start_time + name: startTime type: string - in: query name: status @@ -2669,16 +2671,16 @@ paths: description: 根据提供的过滤条件,分页获取猪批次日志 parameters: - in: query - name: change_type + name: changeType type: string - in: query - name: end_time + name: endTime type: string - in: query - name: operator_id + name: operatorID type: integer - in: query - name: order_by + name: orderBy type: string - in: query name: page @@ -2687,10 +2689,10 @@ paths: name: pageSize type: integer - in: query - name: pig_batch_id + name: pigBatchID type: integer - in: query - name: start_time + name: startTime type: string produces: - application/json @@ -2714,13 +2716,13 @@ paths: description: 根据提供的过滤条件,分页获取猪只采购记录 parameters: - in: query - name: end_time + name: endTime type: string - in: query - name: operator_id + name: operatorID type: integer - in: query - name: order_by + name: orderBy type: string - in: query name: page @@ -2729,10 +2731,10 @@ paths: name: pageSize type: integer - in: query - name: pig_batch_id + name: pigBatchID type: integer - in: query - name: start_time + name: startTime type: string - in: query name: supplier @@ -2762,13 +2764,13 @@ paths: name: buyer type: string - in: query - name: end_time + name: endTime type: string - in: query - name: operator_id + name: operatorID type: integer - in: query - name: order_by + name: orderBy type: string - in: query name: page @@ -2777,10 +2779,10 @@ paths: name: pageSize type: integer - in: query - name: pig_batch_id + name: pigBatchID type: integer - in: query - name: start_time + name: startTime type: string produces: - application/json @@ -2804,13 +2806,13 @@ paths: description: 根据提供的过滤条件,分页获取病猪日志 parameters: - in: query - name: end_time + name: endTime type: string - in: query - name: operator_id + name: operatorID type: integer - in: query - name: order_by + name: orderBy type: string - in: query name: page @@ -2819,19 +2821,19 @@ paths: name: pageSize type: integer - in: query - name: pen_id + name: penID type: integer - in: query - name: pig_batch_id + name: pigBatchID type: integer - in: query name: reason type: string - in: query - name: start_time + name: startTime type: string - in: query - name: treatment_location + name: treatmentLocation type: string produces: - application/json @@ -2855,16 +2857,16 @@ paths: description: 根据提供的过滤条件,分页获取猪只迁移日志 parameters: - in: query - name: correlation_id + name: correlationID type: string - in: query - name: end_time + name: endTime type: string - in: query - name: operator_id + name: operatorID type: integer - in: query - name: order_by + name: orderBy type: string - in: query name: page @@ -2873,16 +2875,16 @@ paths: name: pageSize type: integer - in: query - name: pen_id + name: penID type: integer - in: query - name: pig_batch_id + name: pigBatchID type: integer - in: query - name: start_time + name: startTime type: string - in: query - name: transfer_type + name: transferType type: string produces: - application/json @@ -2906,10 +2908,10 @@ paths: description: 根据提供的过滤条件,分页获取计划执行日志 parameters: - in: query - name: end_time + name: endTime type: string - in: query - name: order_by + name: orderBy type: string - in: query name: page @@ -2918,10 +2920,10 @@ paths: name: pageSize type: integer - in: query - name: plan_id + name: planID type: integer - in: query - name: start_time + name: startTime type: string - in: query name: status @@ -2948,10 +2950,10 @@ paths: description: 根据提供的过滤条件,分页获取原料采购记录 parameters: - in: query - name: end_time + name: endTime type: string - in: query - name: order_by + name: orderBy type: string - in: query name: page @@ -2960,10 +2962,10 @@ paths: name: pageSize type: integer - in: query - name: raw_material_id + name: rawMaterialID type: integer - in: query - name: start_time + name: startTime type: string - in: query name: supplier @@ -2990,10 +2992,10 @@ paths: description: 根据提供的过滤条件,分页获取原料库存日志 parameters: - in: query - name: end_time + name: endTime type: string - in: query - name: order_by + name: orderBy type: string - in: query name: page @@ -3002,16 +3004,16 @@ paths: name: pageSize type: integer - in: query - name: raw_material_id + name: rawMaterialID type: integer - in: query - name: source_id + name: sourceID type: integer - in: query - name: source_type + name: sourceType type: string - in: query - name: start_time + name: startTime type: string produces: - application/json @@ -3035,13 +3037,13 @@ paths: description: 根据提供的过滤条件,分页获取传感器数据 parameters: - in: query - name: device_id + name: deviceID type: integer - in: query - name: end_time + name: endTime type: string - in: query - name: order_by + name: orderBy type: string - in: query name: page @@ -3050,10 +3052,10 @@ paths: name: pageSize type: integer - in: query - name: sensor_type + name: sensorType type: string - in: query - name: start_time + name: startTime type: string produces: - application/json @@ -3077,10 +3079,10 @@ paths: description: 根据提供的过滤条件,分页获取任务执行日志 parameters: - in: query - name: end_time + name: endTime type: string - in: query - name: order_by + name: orderBy type: string - in: query name: page @@ -3089,16 +3091,16 @@ paths: name: pageSize type: integer - in: query - name: plan_execution_log_id + name: planExecutionLogID type: integer - in: query - name: start_time + name: startTime type: string - in: query name: status type: string - in: query - name: task_id + name: taskID type: integer produces: - application/json @@ -3122,13 +3124,13 @@ paths: description: 根据提供的过滤条件,分页获取用户操作日志 parameters: - in: query - name: action_type + name: actionType type: string - in: query - name: end_time + name: endTime type: string - in: query - name: order_by + name: orderBy type: string - in: query name: page @@ -3137,13 +3139,13 @@ paths: name: pageSize type: integer - in: query - name: start_time + name: startTime type: string - in: query name: status type: string - in: query - name: user_id + name: userID type: integer - in: query name: username @@ -3170,10 +3172,10 @@ paths: description: 根据提供的过滤条件,分页获取批次称重记录 parameters: - in: query - name: end_time + name: endTime type: string - in: query - name: order_by + name: orderBy type: string - in: query name: page @@ -3182,10 +3184,10 @@ paths: name: pageSize type: integer - in: query - name: pig_batch_id + name: pigBatchID type: integer - in: query - name: start_time + name: startTime type: string produces: - application/json @@ -3209,13 +3211,13 @@ paths: description: 根据提供的过滤条件,分页获取单次称重记录 parameters: - in: query - name: end_time + name: endTime type: string - in: query - name: operator_id + name: operatorID type: integer - in: query - name: order_by + name: orderBy type: string - in: query name: page @@ -3224,13 +3226,13 @@ paths: name: pageSize type: integer - in: query - name: pen_id + name: penID type: integer - in: query - name: start_time + name: startTime type: string - in: query - name: weighing_batch_id + name: weighingBatchID type: integer produces: - application/json @@ -3974,7 +3976,7 @@ paths: post: consumes: - application/json - description: 创建一个新的猪舍 + description: 根据提供的信息创建一个新猪舍 parameters: - description: 猪舍信息 in: body @@ -4295,59 +4297,6 @@ paths: summary: 创建新用户 tags: - 用户管理 - /api/v1/users/{id}/history: - get: - description: 根据用户ID,分页获取该用户的操作审计日志。支持与通用日志查询接口相同的过滤和排序参数。 - parameters: - - description: 用户ID - in: path - name: id - required: true - type: integer - - in: query - name: action_type - type: string - - in: query - name: end_time - type: string - - in: query - name: order_by - type: string - - in: query - name: page - type: integer - - in: query - name: pageSize - type: integer - - in: query - name: start_time - type: string - - in: query - name: status - type: string - - in: query - name: user_id - type: integer - - in: query - name: username - type: string - produces: - - application/json - responses: - "200": - description: 业务码为200代表成功获取 - schema: - allOf: - - $ref: '#/definitions/controller.Response' - - properties: - data: - $ref: '#/definitions/dto.ListUserActionLogResponse' - type: object - security: - - BearerAuth: [] - summary: 获取指定用户的操作历史 - tags: - - 用户管理 /api/v1/users/{id}/notifications/test: post: consumes: diff --git a/internal/app/controller/user/user_controller.go b/internal/app/controller/user/user_controller.go index 03a9016..4e32414 100644 --- a/internal/app/controller/user/user_controller.go +++ b/internal/app/controller/user/user_controller.go @@ -1,7 +1,6 @@ package user import ( - "errors" "strconv" "git.huangwc.com/pig/pig-farm-controller/internal/app/controller" @@ -128,68 +127,6 @@ func (c *Controller) Login(ctx echo.Context) error { }) } -// ListUserHistory godoc -// @Summary 获取指定用户的操作历史 -// @Description 根据用户ID,分页获取该用户的操作审计日志。支持与通用日志查询接口相同的过滤和排序参数。 -// @Tags 用户管理 -// @Security BearerAuth -// @Produce json -// @Param id path int true "用户ID" -// @Param query query dto.ListUserActionLogRequest false "查询参数 (除了 user_id,它被路径中的ID覆盖)" -// @Success 200 {object} controller.Response{data=dto.ListUserActionLogResponse} "业务码为200代表成功获取" -// @Router /api/v1/users/{id}/history [get] -func (c *Controller) ListUserHistory(ctx echo.Context) error { - const actionType = "获取用户操作历史" - - // 1. 解析路径中的用户ID,它的优先级最高 - userIDStr := ctx.Param("id") - userID, err := strconv.ParseUint(userIDStr, 10, 64) - if err != nil { - c.logger.Errorf("%s: 无效的用户ID格式: %v, ID: %s", actionType, err, userIDStr) - return controller.SendErrorWithAudit(ctx, controller.CodeBadRequest, "无效的用户ID格式", actionType, "无效的用户ID格式", userIDStr) - } - - // 2. 绑定通用的查询请求 DTO - var req dto.ListUserActionLogRequest - if err := ctx.Bind(&req); err != nil { - c.logger.Errorf("%s: 参数绑定失败: %v", actionType, err) - return controller.SendErrorWithAudit(ctx, controller.CodeBadRequest, "无效的查询参数: "+err.Error(), actionType, "参数绑定失败", req) - } - - // 3. 准备 Service 调用参数,并强制使用路径中的 UserID - uid := uint(userID) - req.UserID = &uid // 强制覆盖 - - opts := repository.UserActionLogListOptions{ - UserID: req.UserID, - Username: req.Username, - ActionType: req.ActionType, - OrderBy: req.OrderBy, - StartTime: req.StartTime, - EndTime: req.EndTime, - } - if req.Status != nil { - status := models.AuditStatus(*req.Status) - opts.Status = &status - } - - // 4. 调用 monitorService,复用其业务逻辑 - data, total, err := c.monitorService.ListUserActionLogs(opts, req.Page, req.PageSize) - if err != nil { - if errors.Is(err, repository.ErrInvalidPagination) { - c.logger.Warnf("%s: 无效的分页参数: %v", actionType, err) - return controller.SendErrorWithAudit(ctx, controller.CodeBadRequest, "无效的分页参数: "+err.Error(), actionType, "无效分页参数", opts) - } - c.logger.Errorf("%s: 服务层查询失败: %v", actionType, err) - return controller.SendErrorWithAudit(ctx, controller.CodeInternalError, "获取用户历史记录失败", actionType, "服务层查询失败", opts) - } - - // 5. 使用复用的 DTO 构建并发送成功响应 - resp := dto.NewListUserActionLogResponse(data, total, req.Page, req.PageSize) - c.logger.Infof("%s: 成功获取用户 %d 的操作历史, 数量: %d", actionType, userID, len(data)) - return controller.SendSuccessWithAudit(ctx, controller.CodeSuccess, "获取用户操作历史成功", resp, actionType, "获取用户操作历史成功", opts) -} - // SendTestNotification godoc // @Summary 发送测试通知 // @Description 为指定用户发送一条特定渠道的测试消息,以验证其配置是否正确。