1. 将获取更新EXIF地址的文件列表函数更名为 GetEmptyLocationFilesByPage

2.页面API展示列表接口增加过滤默认空时间
pull/779/head
ellermister 5 years ago
parent bac5537f01
commit 101714887c

@ -85,8 +85,8 @@ func GetFilesByIDs(ids []uint, uid uint) ([]File, error) {
return files, result.Error return files, result.Error
} }
// GetFilesWithPage 分页获取所有经纬度未更新文件 // GetEmptyLocationFilesByPage 分页获取所有经纬度未更新文件
func GetFilesWithPage(page uint, pageSize uint) ([]File, error) { func GetEmptyLocationFilesByPage(page uint, pageSize uint) ([]File, error) {
var files []File var files []File
var result *gorm.DB var result *gorm.DB
var offset = int(page) * int(pageSize) - int(pageSize) var offset = int(page) * int(pageSize) - int(pageSize)

@ -55,7 +55,7 @@ func syncPhotoLatLongToAddress() {
page := 1 page := 1
pageSize := 10 pageSize := 10
for true{ for true{
files , _ := model.GetFilesWithPage(uint(page), uint(pageSize)) files , _ := model.GetEmptyLocationFilesByPage(uint(page), uint(pageSize))
if len(files) <= 0 { if len(files) <= 0 {
break break
} }

@ -94,14 +94,18 @@ func (fs *FileSystem) GenerateThumbnail(ctx context.Context, file *model.File) {
currentPosition, err := source.Seek(0, 1) currentPosition, err := source.Seek(0, 1)
source.Seek(0,0) source.Seek(0,0)
x, err := exif.Decode(source) x, err := exif.Decode(source)
source.Seek(currentPosition, 0)
if err != nil { if err != nil {
util.Log().Warning("照片解析EXIF失败%s", err) util.Log().Warning("照片解析EXIF失败%s", err)
} }else{
source.Seek(currentPosition, 0) ExifCamModel, _ := x.Get(exif.Model)
ExifCamModel, _ := x.Get(exif.Model) // normally, don't ignore errors!
file.ExifModel,_ = ExifCamModel.StringVal() file.ExifModel,_ = ExifCamModel.StringVal()
ExifDateTime, _ := x.DateTime() ExifDateTime, _ := x.DateTime()
if !ExifDateTime.IsZero() {
file.ExifDateTime = ExifDateTime file.ExifDateTime = ExifDateTime
}
lat, long, _ := x.LatLong() lat, long, _ := x.LatLong()
if lat > 0 && long > 0 { if lat > 0 && long > 0 {
file.ExifLatLong = fmt.Sprintf("%f,%f", lat, long) file.ExifLatLong = fmt.Sprintf("%f,%f", lat, long)
@ -109,11 +113,14 @@ func (fs *FileSystem) GenerateThumbnail(ctx context.Context, file *model.File) {
util.Log().Debug("照片的经纬度:%f,%f", lat,long) util.Log().Debug("照片的经纬度:%f,%f", lat,long)
if file.Model.ID > 0 { if file.Model.ID > 0 {
file.UpdatePicExifModel(file.ExifModel) file.UpdatePicExifModel(file.ExifModel)
if !ExifDateTime.IsZero() {
file.UpdatePicExifDateTime(file.ExifDateTime) file.UpdatePicExifDateTime(file.ExifDateTime)
}
if lat > 0 && long > 0 { if lat > 0 && long > 0 {
file.UpdatePicExifLatLong(file.ExifLatLong) file.UpdatePicExifLatLong(file.ExifLatLong)
} }
} }
}
// 失败时删除缩略图文件 // 失败时删除缩略图文件

@ -369,7 +369,10 @@ func (fs *FileSystem) listObjects(ctx context.Context, parent string, files []mo
processedPath = parent processedPath = parent
} }
} }
ExifDateTimeText := ""
if !file.ExifDateTime.IsZero(){
ExifDateTimeText = file.ExifDateTime.Format("2006-01-02 15:04:05")
}
newFile := Object{ newFile := Object{
ID: hashid.HashID(file.ID, hashid.FileID), ID: hashid.HashID(file.ID, hashid.FileID),
Name: file.Name, Name: file.Name,
@ -379,7 +382,7 @@ func (fs *FileSystem) listObjects(ctx context.Context, parent string, files []mo
Type: "file", Type: "file",
Date: file.CreatedAt.Format("2006-01-02 15:04:05"), Date: file.CreatedAt.Format("2006-01-02 15:04:05"),
ExifModel: file.ExifModel, ExifModel: file.ExifModel,
ExifDateTime: file.ExifDateTime.Format("2006-01-02 15:04:05"), ExifDateTime: ExifDateTimeText,
ExifLatLong: file.ExifLatLong, ExifLatLong: file.ExifLatLong,
ExifAddress: file.ExifAddress, ExifAddress: file.ExifAddress,
} }

Loading…
Cancel
Save