huangyan 1 tahun lalu
induk
melakukan
d7a83ab748
4 mengubah file dengan 41 tambahan dan 36 penghapusan
  1. 35 30
      app/controller/file.go
  2. 2 5
      app/router.go
  3. 1 1
      global/redis.go
  4. 3 0
      log/app.log

+ 35 - 30
app/controller/file.go

@@ -8,6 +8,8 @@ import (
 	"file_upload/simple_zap"
 	"github.com/bytedance/sonic"
 	"github.com/gin-gonic/gin"
+	"github.com/go-playground/validator/v10"
+	"go.uber.org/zap"
 )
 
 type Body struct {
@@ -159,6 +161,8 @@ func GetTemplate(c *gin.Context) {
 	}
 	e.ResponseSuccess(c, result)
 }
+
+// DeleteTemplate 删除模板
 func DeleteTemplate(c *gin.Context) {
 	name := c.Query("name")
 	if name == "" {
@@ -173,33 +177,34 @@ func DeleteTemplate(c *gin.Context) {
 	}
 	e.ResponseSuccess(c, e.SUCCESS)
 }
-
-//// SaveUsernameToLocalStorage 保存用户名到本地
-//func SaveUsernameToLocalStorage(c *gin.Context) {
-//	usernam := c.PostForm("username")
-//	simple_zap.WithCtx(context.Background()).Sugar().Info(usernam)
-//	global.Rdb.Set(context.Background(), "username", usernam, 0)
-//	e.ResponseSuccess(c, e.SUCCESS)
-//}
-//
-//// SerializedItems 保存素材到redis数据库
-//func SerializedItems(c *gin.Context) {
-//	type Params struct {
-//		Params string
-//	}
-//	serializedItem := Params{}
-//	err := c.BindJSON(&serializedItem)
-//	if err != nil {
-//		simple_zap.WithCtx(context.Background()).Sugar().Warn("获取参数失败")
-//	}
-//	fmt.Println("serializedItems:", serializedItem.Params)
-//	global.Rdb.Set(context.Background(), "serializedItems", serializedItem.Params, 0)
-//	e.ResponseSuccess(c, e.SUCCESS)
-//}
-
-//// GetSerializedItems 从redis数据库获取素材信息
-//func GetSerializedItems(c *gin.Context) {
-//	get := global.Rdb.Get(context.Background(), "serializedItems")
-//	fmt.Println("GetserializedItems:", get.Val())
-//	e.ResponseSuccess(c, get.Val())
-//}
+func SearchTemplate(c *gin.Context) {
+	query := c.Query("name")
+	validate := validator.New()
+	validate.Var("name", "required")
+	if query == "" {
+		e.ResponseWithMsg(c, e.ERROR, "参数错误")
+		return
+	}
+	result, err := global.Rdb.Keys(context.Background(), "*"+query+"*").Result()
+	if err != nil {
+		simple_zap.Logger.Error("查询失败", zap.Error(err))
+		e.ResponseWithMsg(c, e.ERROR, "查询失败")
+		return
+	}
+	if len(result) == 0 {
+		simple_zap.Logger.Info("查询失败")
+		e.ResponseWithMsg(c, e.ERROR, "未找到文件")
+		return
+	}
+	m := make(map[string]any)
+	for _, v := range result {
+		re, err := global.Rdb.Get(context.Background(), v).Result()
+		if err != nil {
+			simple_zap.WithCtx(context.Background()).Sugar().Warn(err, "获取文件失败")
+			e.ResponseWithMsg(c, e.ERROR, "获取文件失败")
+			return
+		}
+		m[v] = re
+	}
+	e.ResponseSuccess(c, m)
+}

+ 2 - 5
app/router.go

@@ -17,13 +17,10 @@ func InitRouter() error {
 	gin.SetMode(global.ServerSetting.Mode)
 	group := engine.Group("/api")
 	group.Use(middleware.Cors())
-	//group.POST("/upload", controller.FuileUpload)
-	group.GET("/download", controller.FileDwon)
+	group.DELETE("/template", controller.DeleteTemplate)
 	group.POST("/savefile", controller.SaveFile)
 	group.POST("/template", controller.TemplateItem)
 	group.GET("/template", controller.GetTemplate)
-	//group.POST("/username", controller.SaveUsernameToLocalStorage)
-	//group.POST("/serializedItems", controller.SerializedItems)
-	//group.GET("/serializedItems", controller.GetSerializedItems)
+	group.GET("/search", controller.SearchTemplate)
 	return engine.Run(global.ServerSetting.Port)
 }

+ 1 - 1
global/redis.go

@@ -22,6 +22,6 @@ func SetupRedisLink() {
 	_, err := Rdb.Ping(ctx).Result()
 	if err != nil {
 		simple_zap.WithCtx(context.Background()).Sugar().Warn("redis连接失败", err)
-		fmt.Println(err)
+		panic(fmt.Sprintf("redis连接失败:%v", err))
 	}
 }

+ 3 - 0
log/app.log

@@ -114,3 +114,6 @@
 {"level":"warn","time":"2024-04-17T14:30:22.609+0800","lineNum":"controller/file.go:119","func":"file_upload/app/controller.TemplateItem","message":"dial tcp 116.204.6.184:6379: connectex: A socket operation was attempted to an unreachable network.获取模板失败"}
 {"level":"warn","time":"2024-04-17T14:33:01.401+0800","lineNum":"controller/file.go:119","func":"file_upload/app/controller.TemplateItem","message":"dial tcp 116.204.6.184:6379: i/o timeout获取模板失败"}
 {"level":"warn","time":"2024-04-17T14:33:20.595+0800","lineNum":"controller/file.go:119","func":"file_upload/app/controller.TemplateItem","message":"dial tcp 116.204.6.184:6379: i/o timeout获取模板失败"}
+{"level":"warn","time":"2024-04-17T21:08:26.251+0800","lineNum":"global/redis.go:24","func":"file_upload/global.SetupRedisLink","message":"redis连接失败dial tcp 116.204.6.184:6379: i/o timeout"}
+{"level":"warn","time":"2024-04-17T21:40:56.616+0800","lineNum":"controller/file.go:112","func":"file_upload/app/controller.TemplateItem","message":"dial tcp 116.204.6.184:6379: i/o timeout获取模板失败"}
+{"level":"error","time":"2024-04-18T09:54:19.371+0800","lineNum":"controller/file.go:191","func":"file_upload/app/controller.SearchTemplate","message":"查询失败","error":"ERR wrong number of arguments for 'sinter' command"}