Ver Fonte

增加“获取数据库错误信息”接口

zhou.xiaoning há 4 anos atrás
pai
commit
1737e15c65
6 ficheiros alterados com 5344 adições e 5175 exclusões
  1. 49 0
      controllers/common/error.go
  2. 1504 1505
      docs/docs.go
  3. 1504 1505
      docs/swagger.json
  4. 2232 2165
      docs/swagger.yaml
  5. 53 0
      models/common.go
  6. 2 0
      routers/router.go

+ 49 - 0
controllers/common/error.go

@@ -0,0 +1,49 @@
+package common
+
+import (
+	"mtp2_if/global/app"
+	"mtp2_if/global/e"
+	"mtp2_if/logger"
+	"mtp2_if/models"
+	"net/http"
+
+	"github.com/gin-gonic/gin"
+)
+
+// QueryErrorInfosReq 获取数据库错误信息请求参数
+type QueryErrorInfosReq struct {
+	RowNumber string `form:"rowNumber"`
+}
+
+// QueryErrorInfos 获取数据库错误信息
+// @Description 如果传入rowNumber,则返回此rowNumber后的数据
+// @Summary 获取数据库错误信息
+// @Produce json
+// @Param rowNumber query string false "起始行号前索引"
+// @Success 200 {object} models.QueryErrorInfosRsp
+// @Failure 500 {object} app.Response
+// @Router /Common/QueryErrorInfos [get]
+// @Tags 通用服务
+func QueryErrorInfos(c *gin.Context) {
+	appG := app.Gin{C: c}
+
+	// 获取请求参数
+	var req QueryErrorInfosReq
+	if err := appG.C.ShouldBindQuery(&req); err != nil {
+		logger.GetLogger().Errorf("QueryErrorInfos failed: %s", err.Error())
+		appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
+		return
+	}
+
+	errorCodes, err := models.GetErrorInfos(req.RowNumber)
+	if err != nil {
+		// 查询失败
+		logger.GetLogger().Errorf("QueryErrorInfos failed: %s", err.Error())
+		appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
+		return
+	}
+
+	// 查询成功
+	logger.GetLogger().Debugln("QueryErrorInfos successed: %v", errorCodes)
+	appG.Response(http.StatusOK, e.SUCCESS, errorCodes)
+}

Diff do ficheiro suprimidas por serem muito extensas
+ 1504 - 1505
docs/docs.go


Diff do ficheiro suprimidas por serem muito extensas
+ 1504 - 1505
docs/swagger.json


Diff do ficheiro suprimidas por serem muito extensas
+ 2232 - 2165
docs/swagger.yaml


+ 53 - 0
models/common.go

@@ -186,6 +186,20 @@ func (Szdz2imageconfig) TableName() string {
 	return "SZDZ2_IMAGECONFIG"
 }
 
+// Errorcode 异常代码表
+type Errorcode struct {
+	Errorid     int64  `json:"errorid"  xorm:"'ERRORID'" binding:"required"` // 异常ID
+	Errorcode   string `json:"errorcode"  xorm:"'ERRORCODE'"`                // 异常代码
+	Modulecode  string `json:"modulecode"  xorm:"'MODULECODE'"`              // 所属模块
+	Operatecode string `json:"operatecode"  xorm:"'OPERATECODE'"`            // 所属操作
+	Description string `json:"description"  xorm:"'DESCRIPTION'"`            // 异常描述
+}
+
+// TableName is ERRORCODE
+func (Errorcode) TableName() string {
+	return "ERRORCODE"
+}
+
 // QuotePrimaryMenu 报价牌一级分类菜单
 type QuotePrimaryMenu struct {
 	Index        int                  `json:"Index"`        // 序号
@@ -639,3 +653,42 @@ func GetServerTime() (*string, error) {
 
 	return nil, nil
 }
+
+// QueryErrorInfosRsp 获取数据库错误信息模型
+type QueryErrorInfosRsp struct {
+	Errorid     int64  `json:"errorid"  xorm:"'ERRORID'" binding:"required"` // 异常ID
+	Errorcode   string `json:"errorcode"  xorm:"'ERRORCODE'"`                // 异常代码
+	Modulecode  string `json:"modulecode"  xorm:"'MODULECODE'"`              // 所属模块
+	Operatecode string `json:"operatecode"  xorm:"'OPERATECODE'"`            // 所属操作
+	Description string `json:"description"  xorm:"'DESCRIPTION'"`            // 异常描述
+	Rownumber   string `json:"rownumber" xorm:"ROWNUMBER"`                   // 行号
+}
+
+// GetErrorInfos 获取数据库错误信息
+func GetErrorInfos(rowNumber string) ([]QueryErrorInfosRsp, error) {
+	engine := db.GetEngine()
+
+	errorCodes := make([]QueryErrorInfosRsp, 0)
+	session := engine.Table("ERRORCODE E").Select("E.*, rowid ROWNUMBER").Where("1 = 1")
+	if len(rowNumber) != 0 {
+		session = session.And("rowid > ?", rowNumber)
+	}
+	if err := session.Find(&errorCodes); err != nil {
+		return nil, err
+	}
+
+	return errorCodes, nil
+}
+
+// GetTableUpdateTimeStamp 获取目标表最后记录变更时间
+func GetTableUpdateTimeStamp(tableName string) (*string, error) {
+	engine := db.GetEngine()
+
+	var timeStamp string
+	if _, err := engine.SQL(fmt.Sprintf("SELECT to_char(SCN_TO_TIMESTAMP(MAX(ora_rowscn)), 'yyyy-MM-dd hh24:mi:ss') TIMESTAMP from %s", tableName)).
+		Get(&timeStamp); err != nil {
+		return nil, err
+	}
+
+	return &timeStamp, nil
+}

+ 2 - 0
routers/router.go

@@ -105,6 +105,8 @@ func InitRouter() *gin.Engine {
 		commonR.GET("/GetAllEnums", common.GetAllEnums)
 		// 获取服务器时间
 		commonR.GET("/GetServerTime", common.GetServerTime)
+		// 获取数据库错误信息
+		commonR.GET("/QueryErrorInfos", common.QueryErrorInfos)
 		// 通知公告系统消息查询
 		commonR.Use(token.Auth()).GET("/QueryNotice", common.QueryNotice)
 		// 通知公告设置已读请求

Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff