add: file export for table
This commit is contained in:
@@ -64,16 +64,33 @@ func (m *SysJob) GetFileExportTable(c *gin.Context) {
|
||||
}
|
||||
|
||||
func (m *FileExport) GetFileList(c *gin.Context) {
|
||||
dir := c.Query("path")
|
||||
suffix := c.Query("suffix")
|
||||
var querys FileExportQuery
|
||||
|
||||
files, err := file.GetFileInfo(dir, suffix)
|
||||
if err := c.ShouldBindQuery(&querys); err != nil {
|
||||
c.JSON(http.StatusBadRequest, services.ErrResp(err.Error()))
|
||||
return
|
||||
}
|
||||
|
||||
files, err := file.GetFileInfo(querys.Path, querys.Suffix)
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
c.JSON(http.StatusInternalServerError, services.ErrResp(err.Error()))
|
||||
}
|
||||
total := int64(len(files))
|
||||
c.JSON(http.StatusOK, services.TotalDataResp(files, total))
|
||||
|
||||
// split files list
|
||||
lenNum := int64(len(files))
|
||||
start := (querys.PageNum - 1) * querys.PageSize
|
||||
end := start + querys.PageSize
|
||||
var splitList []file.FileInfo
|
||||
if start >= lenNum {
|
||||
splitList = []file.FileInfo{}
|
||||
} else if end >= lenNum {
|
||||
splitList = files[start:]
|
||||
} else {
|
||||
splitList = files[start:end]
|
||||
}
|
||||
total := len(files)
|
||||
c.JSON(http.StatusOK, services.TotalDataResp(splitList, total))
|
||||
}
|
||||
|
||||
func (m *FileExport) Total(c *gin.Context) {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package file_export
|
||||
|
||||
import (
|
||||
"be.ems/lib/file"
|
||||
"gorm.io/datatypes"
|
||||
)
|
||||
|
||||
@@ -19,16 +20,12 @@ func (m *SysJob) TableName() string {
|
||||
}
|
||||
|
||||
type FileExport struct {
|
||||
FileType string `json:"fileType"` // 文件类型
|
||||
FileMode string `json:"fileMode"` // 文件的权限
|
||||
LinkCount int64 `json:"linkCount"` // 硬链接数目
|
||||
Owner string `json:"owner"` // 所属用户
|
||||
Group string `json:"group"` // 所属组
|
||||
Size int64 `json:"size"` // 文件的大小
|
||||
ModifiedTime int64 `json:"modifiedTime"` // 最后修改时间,单位为秒
|
||||
FileName string `json:"fileName"` // 文件的名称
|
||||
file.FileInfo
|
||||
}
|
||||
|
||||
func (m *FileExport) TableName() string {
|
||||
return "file_export"
|
||||
type FileExportQuery struct {
|
||||
Path string `form:"path" binding:"required"`
|
||||
Suffix string `form:"suffix"`
|
||||
PageNum int64 `form:"pageNum" binding:"required"`
|
||||
PageSize int64 `form:"pageSize" binding:"required"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user