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 id := mediaSeqId.Seq
doc := &dbstruct.Image{ doc := &dbstruct.Image{
Id: id, Id: id,
Ct: time.Now().Unix(), Ct: time.Now().Unix(),
Ut: time.Now().Unix(), Ut: time.Now().Unix(),
SrcId: image.SrcId, SrcId: image.SrcId,
MD5: image.MD5, SizeSrc: 0,
W: image.W, SrcId720: "",
H: image.H, Size720: 0,
Fmt: image.Fmt, 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) err = m.store.SaveImage(ctx, doc)
if err != nil { if err != nil {

View File

@ -6,15 +6,40 @@ import (
) )
// 图片 // 图片
const (
ImageStatusResizeInit = 0
ImageStatusResizeDone = 100
ImageStatusResizeFail = 101
)
type Image struct { type Image struct {
Id int64 `json:"id" bson:"_id"` // 图片id Id int64 `json:"id" bson:"_id"` // 图片id
Ct int64 `json:"ct" bson:"ct"` // 创建时间 Ct int64 `json:"ct" bson:"ct"` // 创建时间
Ut int64 `json:"ut" bson:"ut"` // 更新时间 Ut int64 `json:"ut" bson:"ut"` // 更新时间
SrcId string `json:"src_id" bson:"src_id"` // 源id SrcId string `json:"src_id" bson:"src_id"` // 源id
MD5 string `json:"md5" bson:"md5"` // 视频md5 SizeSrc int64 `json:"size_src" bson:"size_src"` // 原图片大小
W int64 `json:"w" bson:"w"` // 宽 SrcId720 string `json:"src_id_720" bson:"src_id_720"` // 720P图片
H int64 `json:"h" bson:"h"` // 高 Size720 int64 `json:"size_720" bson:"size_720"` // 720P图片大小
Fmt string `json:"fmt" bson:"fmt"` // 图片格式 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 { type ToCImage struct {

View File

@ -46,12 +46,16 @@ func transToCImage(image *dbstruct.Image) *dbstruct.ToCImage {
if image == nil { if image == nil {
return nil return nil
} }
// 选择内存最小的图片
imgSrcId := image.SelectMinSizeOssId()
return &dbstruct.ToCImage{ return &dbstruct.ToCImage{
Id: image.Id, Id: image.Id,
W: image.W, W: image.W,
H: image.H, H: image.H,
Fmt: image.Fmt, 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.CoverW = coverImg.W
ret.CoverH = coverImg.H ret.CoverH = coverImg.H
ret.CoverFmt = coverImg.Fmt ret.CoverFmt = coverImg.Fmt
ret.CoverUrls = []string{defaultMediaFiller.fileServerDomainName + coverImg.SrcId} imgSrcId := coverImg.SelectMinSizeOssId()
ret.CoverUrls = []string{defaultMediaFiller.fileServerDomainName + imgSrcId}
} }
return ret return ret
} }