SelectMinSizeOssId

This commit is contained in:
lwl0608 2024-02-06 02:51:24 +08:00
parent ccf4417659
commit 632ce1228e
3 changed files with 57 additions and 18 deletions

View File

@ -191,14 +191,23 @@ func (m *Media) saveImage(ctx *gin.Context, image *dbstruct.Image) (*dbstruct.Im
}
id := mediaSeqId.Seq
doc := &dbstruct.Image{
Id: id,
Ct: time.Now().Unix(),
Ut: time.Now().Unix(),
SrcId: image.SrcId,
MD5: image.MD5,
W: image.W,
H: image.H,
Fmt: image.Fmt,
Id: id,
Ct: time.Now().Unix(),
Ut: time.Now().Unix(),
SrcId: image.SrcId,
SizeSrc: 0,
SrcId720: "",
Size720: 0,
SrcId1080: "",
Size1080: 0,
SrcId1440: "",
Size1440: 0,
Status: 0,
ResizeT: 0,
MD5: image.MD5,
W: image.W,
H: image.H,
Fmt: image.Fmt,
}
err = m.store.SaveImage(ctx, doc)
if err != nil {

View File

@ -6,15 +6,40 @@ import (
)
// 图片
const (
ImageStatusResizeInit = 0
ImageStatusResizeDone = 100
ImageStatusResizeFail = 101
)
type Image struct {
Id int64 `json:"id" bson:"_id"` // 图片id
Ct int64 `json:"ct" bson:"ct"` // 创建时间
Ut int64 `json:"ut" bson:"ut"` // 更新时间
SrcId string `json:"src_id" bson:"src_id"` // 源id
MD5 string `json:"md5" bson:"md5"` // 视频md5
W int64 `json:"w" bson:"w"` // 宽
H int64 `json:"h" bson:"h"` // 高
Fmt string `json:"fmt" bson:"fmt"` // 图片格式
Id int64 `json:"id" bson:"_id"` // 图片id
Ct int64 `json:"ct" bson:"ct"` // 创建时间
Ut int64 `json:"ut" bson:"ut"` // 更新时间
SrcId string `json:"src_id" bson:"src_id"` // 源id
SizeSrc int64 `json:"size_src" bson:"size_src"` // 原图片大小
SrcId720 string `json:"src_id_720" bson:"src_id_720"` // 720P图片
Size720 int64 `json:"size_720" bson:"size_720"` // 720P图片大小
SrcId1080 string `json:"src_id_1080" bson:"src_id_1080"` // 1080P图片
Size1080 int64 `json:"size_1080" bson:"size_1080"` // 1080P图片大小
SrcId1440 string `json:"src_id_1440" bson:"src_id_1440"` // 1440P图片
Size1440 int64 `json:"size_1440" bson:"size_1440"` // 1440P图片大小
Status int `json:"status" bson:"status"` // 状态
ResizeT int64 `json:"resize_t" bson:"resize_t"` // 压缩时间
MD5 string `json:"md5" bson:"md5"` // 视频md5
W int64 `json:"w" bson:"w"` // 宽
H int64 `json:"h" bson:"h"` // 高
Fmt string `json:"fmt" bson:"fmt"` // 图片格式
}
func (i *Image) SelectMinSizeOssId() string {
if i == nil {
return ""
}
if len(i.SrcId720) > 0 && i.Size720 < i.SizeSrc {
return i.SrcId720
}
return i.SrcId
}
type ToCImage struct {

View File

@ -46,12 +46,16 @@ func transToCImage(image *dbstruct.Image) *dbstruct.ToCImage {
if image == nil {
return nil
}
// 选择内存最小的图片
imgSrcId := image.SelectMinSizeOssId()
return &dbstruct.ToCImage{
Id: image.Id,
W: image.W,
H: image.H,
Fmt: image.Fmt,
Urls: []string{defaultMediaFiller.fileServerDomainName + image.SrcId},
Urls: []string{defaultMediaFiller.fileServerDomainName + imgSrcId},
}
}
@ -70,7 +74,8 @@ func transToCVideo(video *dbstruct.Video, coverImg *dbstruct.Image) *dbstruct.To
ret.CoverW = coverImg.W
ret.CoverH = coverImg.H
ret.CoverFmt = coverImg.Fmt
ret.CoverUrls = []string{defaultMediaFiller.fileServerDomainName + coverImg.SrcId}
imgSrcId := coverImg.SelectMinSizeOssId()
ret.CoverUrls = []string{defaultMediaFiller.fileServerDomainName + imgSrcId}
}
return ret
}