feat: update page list show

This commit is contained in:
yanghao05
2025-04-08 15:35:58 +08:00
parent 7d28dff65b
commit cf8bb5f192
13 changed files with 280 additions and 102 deletions

View File

@@ -64,8 +64,8 @@ func (m *mediasModel) countByCondition(ctx context.Context, expr BoolExpression)
}
func (m *mediasModel) List(ctx context.Context, pagination *requests.Pagination) (*requests.Pager, error) {
limit := pagination.Limit
offset := pagination.Offset()
limit := pagination.GetLimit()
offset := pagination.GetOffset()
tbl := table.Medias
stmt := tbl.
@@ -89,8 +89,8 @@ func (m *mediasModel) List(ctx context.Context, pagination *requests.Pagination)
}
// Convert model.Medias to MediaItem
mediaItems := lo.Map(medias, func(media model.Medias, _ int) MediaItem {
return MediaItem{
mediaItems := lo.Map(medias, func(media model.Medias, _ int) *MediaItem {
return &MediaItem{
ID: media.ID,
Name: media.Name,
UploadTime: media.CreatedAt.Format("2006-01-02 15:04:05"),
@@ -108,6 +108,19 @@ func (m *mediasModel) List(ctx context.Context, pagination *requests.Pagination)
}, nil
}
func (m *mediasModel) BatchCreate(ctx context.Context, models []*model.Medias) error {
stmt := table.Medias.INSERT(table.Medias.MutableColumns).MODELS(models)
m.log.Infof("sql: %s", stmt.DebugSql())
if _, err := stmt.ExecContext(ctx, db); err != nil {
m.log.Errorf("error creating media item: %v", err)
return err
}
m.log.Infof("media item created successfully")
return nil
}
func (m *mediasModel) Create(ctx context.Context, model *model.Medias) error {
stmt := table.Medias.INSERT(table.Medias.MutableColumns).MODEL(model)
m.log.Infof("sql: %s", stmt.DebugSql())
@@ -123,9 +136,7 @@ func (m *mediasModel) Create(ctx context.Context, model *model.Medias) error {
func (m *mediasModel) ConvertFileTypeByMimeType(mimeType string) MediaType {
switch mimeType {
case "image/jpeg":
case "image/jpg":
case "image/png":
case "image/jpeg", "image/jpg", "image/png":
return MediaTypeImage
case "video/mp4":
return MediaTypeVideo
@@ -133,19 +144,19 @@ func (m *mediasModel) ConvertFileTypeByMimeType(mimeType string) MediaType {
return MediaTypeAudio
case "application/pdf":
return MediaTypePDF
case "application/msword":
case "application/vnd.openxmlformats-officedocument.wordprocessingml.document":
case "application/vnd.ms-excel":
case "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":
case "application/vnd.ms-powerpoint":
case "application/vnd.openxmlformats-officedocument.presentationml.presentation":
case "application/msword",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"application/vnd.ms-excel",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"application/vnd.ms-powerpoint",
"application/vnd.openxmlformats-officedocument.presentationml.presentation":
return MediaTypeDocument
case "application/rar":
case "application/x-rar-compressed":
case "application/x-zip-compressed":
case "application/x-zip":
case "application/zip":
case "application/x-7z-compressed":
case "application/rar",
"application/x-rar-compressed",
"application/x-zip-compressed",
"application/x-zip",
"application/zip",
"application/x-7z-compressed":
return MediaTypeArchive
}
return MediaTypeUnknown