diff --git a/dao/file.go b/dao/file.go index bb0be6a..43dae51 100644 --- a/dao/file.go +++ b/dao/file.go @@ -53,6 +53,22 @@ func UpdateFileByID(id, auth_id int, fileStoreName, fileName, fileType, filePath if pd.ID == 0 { return false } + if fileStoreName == "" { + fileStoreName = pd.FileStoreName + } + if fileName == "" { + fileName = pd.FileName + } + if fileType == "" { + fileType = pd.FileType + } + if filePath == "" { + filePath = pd.FilePath + } + if fileSize == 0 { + fileSize = pd.FileSize + } + result := DB.Debug().Model(&File{}).Where("id = ? and auth_id = ?", id, auth_id).Updates(File{FileStoreName: fileStoreName, FileName: fileName, FileType: fileType, FilePath: filePath, FileSize: fileSize}) if result.Error != nil { return false diff --git a/handler/tool.go b/handler/tool.go index 8a10732..948a709 100644 --- a/handler/tool.go +++ b/handler/tool.go @@ -20,6 +20,14 @@ type SetRedisReq struct { Expire int `json:"expire" form:"expire"` } +type SetFileReq struct { + ID int `json:"id" form:"id"` + FileStoreName string `json:"file_store_name" form:"file_store_name"` + FileName string `json:"file_name" form:"file_name"` + FileSize int `json:"file_size" form:"file_size"` + FileType string `json:"file_type" form:"file_type"` +} + func SetUpToolGroup(router *gin.Engine) { toolGroup := router.Group("/tool") toolGroup.POST("/set_redis", SetRedis) @@ -31,6 +39,22 @@ func SetUpToolGroup(router *gin.Engine) { //文件管理 toolGroup.POST("/file_del", DelFile) toolGroup.POST("/file_status", FileStatus) + toolGroup.POST("/file_set", SetFile) +} + +func SetFile(c *gin.Context) { + id, _ := c.Get("id") + id1 := int(id.(float64)) + + var req SetFileReq + if err := c.ShouldBind(&req); err == nil { + //先查看是否有权限 + dao.UpdateFileByID(req.ID, id1, req.FileStoreName, req.FileName, req.FileType, "", req.FileSize) + + } else { + c.JSON(http.StatusOK, gin.H{"error": "parameter error", "code": proto.ParameterError, "message": "failed"}) + } + } func FileStatus(c *gin.Context) {