feat: 错误记忆管理端点

This commit is contained in:
2026-09-01 10:54:49 +08:00
parent 2d93b0f5ad
commit 31bb973bc0
3 changed files with 65 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
package controller
import (
"context"
"model-gateway/model/dto"
"model-gateway/service"
"gitea.redpowerfuture.com/red-future/common/beans"
)
// ErrorMemory 错误重试记忆控制器
var ErrorMemory = new(errorMemory)
type errorMemory struct{}
// List 错误重试记忆列表
func (c *errorMemory) List(ctx context.Context, req *dto.GetErrorMemoryListReq) (res *dto.GetErrorMemoryListRes, err error) {
return service.ErrorMemory.List(ctx, req)
}
// Delete 删除错误重试记忆
func (c *errorMemory) Delete(ctx context.Context, req *dto.DeleteErrorMemoryReq) (res *beans.ResponseEmpty, err error) {
err = service.ErrorMemory.Delete(ctx, req)
return
}
+1
View File
@@ -36,6 +36,7 @@ func main() {
http.RouteRegister([]interface{}{
controller.ModelCall,
controller.ModelManage,
controller.ErrorMemory,
})
gmq.GmqRegister(public.GmqMsgPluginsName, &mq.NatsConn{
+39
View File
@@ -4,6 +4,7 @@ import (
"context"
"model-gateway/dao"
"model-gateway/model/dto"
"model-gateway/model/entity"
"github.com/gogf/gf/v2/frame/g"
@@ -66,3 +67,41 @@ func analyzeOnce(key string, fn func() (bool, string)) (bool, string) {
vals := v.([]any)
return vals[0].(bool), vals[1].(string)
}
var ErrorMemory = &errorMemoryService{}
type errorMemoryService struct{}
// List 错误重试记忆列表
func (s *errorMemoryService) List(ctx context.Context, req *dto.GetErrorMemoryListReq) (res *dto.GetErrorMemoryListRes, err error) {
page, size := 1, 20
if req.Page != nil && req.Page.PageNum > 0 {
page = int(req.Page.PageNum)
}
if req.Page != nil && req.Page.PageSize > 0 {
size = int(req.Page.PageSize)
}
list, total, err := dao.ErrorMemory.List(ctx, page, size)
if err != nil {
return nil, err
}
res = &dto.GetErrorMemoryListRes{Total: total, List: make([]dto.ErrorMemoryItem, 0, len(list))}
for _, m := range list {
res.List = append(res.List, dto.ErrorMemoryItem{
Id: m.Id,
MemoryKey: m.MemoryKey,
Upstream: m.Upstream,
ErrorCode: m.ErrorCode,
MsgFingerprint: m.MsgFingerprint,
Retryable: m.Retryable,
Reason: m.Reason,
AnalyzedBy: m.AnalyzedBy,
})
}
return res, nil
}
// Delete 删除错误重试记忆(手动纠错永久记忆)
func (s *errorMemoryService) Delete(ctx context.Context, req *dto.DeleteErrorMemoryReq) (err error) {
return dao.ErrorMemory.Delete(ctx, req.Id)
}