Merge branch 'develop' of gitee.com:fusenpack/fusenapi into develop
This commit is contained in:
commit
6babc1c5cd
server/upload/internal
server_api
utils/file
|
@ -91,6 +91,9 @@ func (l *UploadFileBackendLogic) UploadFileBackend(req *types.UploadFileBackendR
|
||||||
UserId: userId,
|
UserId: userId,
|
||||||
GuestId: guestId,
|
GuestId: guestId,
|
||||||
Source: req.Source,
|
Source: req.Source,
|
||||||
|
Metadata: req.Metadata,
|
||||||
|
Refresh: req.Refresh,
|
||||||
|
ResourceId: req.ResourceId,
|
||||||
})
|
})
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -40,6 +40,8 @@ type UploadFileBackendReq struct {
|
||||||
FileSize int64 `form:"file_size,optional"` // 上传唯一标识信息
|
FileSize int64 `form:"file_size,optional"` // 上传唯一标识信息
|
||||||
Metadata string `form:"meta_data,optional"` // 上传文件额外信息
|
Metadata string `form:"meta_data,optional"` // 上传文件额外信息
|
||||||
Source string `form:"source"` // 上传来源
|
Source string `form:"source"` // 上传来源
|
||||||
|
Refresh int64 `form:"refresh,optional"` // 强制更新 10
|
||||||
|
ResourceId string `form:"resource_id,optional"` // 资源ID
|
||||||
}
|
}
|
||||||
|
|
||||||
type UploadFilesReq struct {
|
type UploadFilesReq struct {
|
||||||
|
@ -47,6 +49,8 @@ type UploadFilesReq struct {
|
||||||
UploadBucket int64 `form:"upload_bucket,options=[1,2],default=1"` // 上传桶名:1=缓存,2=持久
|
UploadBucket int64 `form:"upload_bucket,options=[1,2],default=1"` // 上传桶名:1=缓存,2=持久
|
||||||
UploadInfo string `form:"upload_info"` // 上传信息 json
|
UploadInfo string `form:"upload_info"` // 上传信息 json
|
||||||
Source string `form:"source"` // 上传来源
|
Source string `form:"source"` // 上传来源
|
||||||
|
Refresh int64 `form:"refresh,optional"` // 强制更新 10
|
||||||
|
ResourceId string `form:"resource_id,optional"` // 资源ID
|
||||||
}
|
}
|
||||||
|
|
||||||
type UploadCallbackReq struct {
|
type UploadCallbackReq struct {
|
||||||
|
|
|
@ -89,6 +89,8 @@ type (
|
||||||
FileSize int64 `form:"file_size,optional"` // 上传唯一标识信息
|
FileSize int64 `form:"file_size,optional"` // 上传唯一标识信息
|
||||||
Metadata string `form:"meta_data,optional"` // 上传文件额外信息
|
Metadata string `form:"meta_data,optional"` // 上传文件额外信息
|
||||||
Source string `form:"source"` // 上传来源
|
Source string `form:"source"` // 上传来源
|
||||||
|
Refresh int64 `form:"refresh,optional"` // 强制更新 10
|
||||||
|
ResourceId string `form:"resource_id,optional"` // 资源ID
|
||||||
}
|
}
|
||||||
|
|
||||||
UploadFilesReq {
|
UploadFilesReq {
|
||||||
|
@ -96,6 +98,8 @@ type (
|
||||||
UploadBucket int64 `form:"upload_bucket,options=[1,2],default=1"` // 上传桶名:1=缓存,2=持久
|
UploadBucket int64 `form:"upload_bucket,options=[1,2],default=1"` // 上传桶名:1=缓存,2=持久
|
||||||
UploadInfo string `form:"upload_info"` // 上传信息 json
|
UploadInfo string `form:"upload_info"` // 上传信息 json
|
||||||
Source string `form:"source"` // 上传来源
|
Source string `form:"source"` // 上传来源
|
||||||
|
Refresh int64 `form:"refresh,optional"` // 强制更新 10
|
||||||
|
ResourceId string `form:"resource_id,optional"` // 资源ID
|
||||||
}
|
}
|
||||||
UploadCallbackReq {
|
UploadCallbackReq {
|
||||||
UploadBucket int64 `form:"upload_bucket,options=[1,2],default=1"` // 上传桶名:1=缓存,2=持久
|
UploadBucket int64 `form:"upload_bucket,options=[1,2],default=1"` // 上传桶名:1=缓存,2=持久
|
||||||
|
|
|
@ -70,12 +70,14 @@ func (upload *Upload) UploadFileByBase64(req *UploadBaseReq) (*UploadBaseRes, er
|
||||||
|
|
||||||
var uploadBaseRes = UploadBaseRes{}
|
var uploadBaseRes = UploadBaseRes{}
|
||||||
|
|
||||||
|
// 是否强制刷新
|
||||||
var refresh bool
|
var refresh bool
|
||||||
|
|
||||||
if req.ResourceId != "" {
|
if req.ResourceId != "" {
|
||||||
refresh = true
|
|
||||||
resourceId = req.ResourceId
|
resourceId = req.ResourceId
|
||||||
}
|
}
|
||||||
|
if req.Refresh == 1 {
|
||||||
|
refresh = true
|
||||||
|
}
|
||||||
err := upload.MysqlConn.Transaction(func(tx *gorm.DB) (err error) {
|
err := upload.MysqlConn.Transaction(func(tx *gorm.DB) (err error) {
|
||||||
var resourceInfo *gmodel.FsResource
|
var resourceInfo *gmodel.FsResource
|
||||||
|
|
||||||
|
@ -198,15 +200,28 @@ func (upload *Upload) UploadFileByByte(req *UploadBaseReq) (*UploadBaseRes, erro
|
||||||
|
|
||||||
var uploadBaseRes = UploadBaseRes{}
|
var uploadBaseRes = UploadBaseRes{}
|
||||||
|
|
||||||
err := upload.MysqlConn.Transaction(func(tx *gorm.DB) error {
|
// 是否强制刷新
|
||||||
|
var refresh bool
|
||||||
|
if req.ResourceId != "" {
|
||||||
|
resourceId = req.ResourceId
|
||||||
|
}
|
||||||
|
if req.Refresh == 1 {
|
||||||
|
refresh = true
|
||||||
|
}
|
||||||
|
|
||||||
|
err := upload.MysqlConn.Transaction(func(tx *gorm.DB) (err error) {
|
||||||
var resourceInfo *gmodel.FsResource
|
var resourceInfo *gmodel.FsResource
|
||||||
err := tx.Where("resource_id =?", resourceId).Take(&resourceInfo).Error
|
if !refresh {
|
||||||
// resourceInfo, err := resourceModelTS.FindOneById(ctx, resourceId)
|
err = tx.Where("resource_id =?", resourceId).Take(&resourceInfo).Error
|
||||||
if err == nil && resourceInfo.ResourceId != "" {
|
if err == nil && resourceInfo.ResourceId != "" {
|
||||||
uploadBaseRes.Status = 1
|
uploadBaseRes.Status = 1
|
||||||
uploadBaseRes.ResourceId = resourceId
|
uploadBaseRes.ResourceId = resourceId
|
||||||
uploadBaseRes.ResourceUrl = *resourceInfo.ResourceUrl
|
uploadBaseRes.ResourceUrl = *resourceInfo.ResourceUrl
|
||||||
} else {
|
} else {
|
||||||
|
refresh = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if refresh {
|
||||||
contentType := http.DetectContentType(req.FileByte)
|
contentType := http.DetectContentType(req.FileByte)
|
||||||
// 创建S3对象存储请求
|
// 创建S3对象存储请求
|
||||||
s3req, _ = svc.PutObjectRequest(
|
s3req, _ = svc.PutObjectRequest(
|
||||||
|
@ -235,19 +250,35 @@ func (upload *Upload) UploadFileByByte(req *UploadBaseReq) (*UploadBaseRes, erro
|
||||||
uploadBaseRes.ResourceUrl = url
|
uploadBaseRes.ResourceUrl = url
|
||||||
var version string = "0.0.1"
|
var version string = "0.0.1"
|
||||||
var nowTime = time.Now().UTC()
|
var nowTime = time.Now().UTC()
|
||||||
err = tx.Create(&gmodel.FsResource{
|
if refresh {
|
||||||
ResourceId: resourceId,
|
err = tx.Save(&gmodel.FsResource{
|
||||||
UserId: &req.UserId,
|
ResourceId: resourceId,
|
||||||
GuestId: &req.GuestId,
|
UserId: &req.UserId,
|
||||||
ResourceType: &contentType,
|
GuestId: &req.GuestId,
|
||||||
ResourceUrl: &url,
|
ResourceType: &contentType,
|
||||||
Version: &version,
|
ResourceUrl: &url,
|
||||||
UploadedAt: &nowTime,
|
Version: &version,
|
||||||
Metadata: &req.Metadata,
|
UploadedAt: &nowTime,
|
||||||
ApiType: &apiType,
|
Metadata: &req.Metadata,
|
||||||
BucketName: bucketName,
|
ApiType: &apiType,
|
||||||
Source: &req.Source,
|
BucketName: bucketName,
|
||||||
}).Error
|
Source: &req.Source,
|
||||||
|
}).Error
|
||||||
|
} else {
|
||||||
|
err = tx.Create(&gmodel.FsResource{
|
||||||
|
ResourceId: resourceId,
|
||||||
|
UserId: &req.UserId,
|
||||||
|
GuestId: &req.GuestId,
|
||||||
|
ResourceType: &contentType,
|
||||||
|
ResourceUrl: &url,
|
||||||
|
Version: &version,
|
||||||
|
UploadedAt: &nowTime,
|
||||||
|
Metadata: &req.Metadata,
|
||||||
|
ApiType: &apiType,
|
||||||
|
BucketName: bucketName,
|
||||||
|
Source: &req.Source,
|
||||||
|
}).Error
|
||||||
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logx.Errorf("err:%+v,desc:%+v", err, "fail.upload.resourceInfoAdd.mysql")
|
logx.Errorf("err:%+v,desc:%+v", err, "fail.upload.resourceInfoAdd.mysql")
|
||||||
return err
|
return err
|
||||||
|
|
Loading…
Reference in New Issue
Block a user