fix:修复上传
This commit is contained in:
parent
4fbc17d707
commit
db5b576799
@ -53,30 +53,35 @@ func (m *FsResourceModel) RowSelectBuilder(selectData []string) *gorm.DB {
|
|||||||
// 事务
|
// 事务
|
||||||
func (m *FsResourceModel) Trans(ctx context.Context, fn func(ctx context.Context, connGorm *gorm.DB) error) error {
|
func (m *FsResourceModel) Trans(ctx context.Context, fn func(ctx context.Context, connGorm *gorm.DB) error) error {
|
||||||
|
|
||||||
tx := m.db.Table(m.name).WithContext(ctx).Begin()
|
return m.db.WithContext(ctx).Transaction(func(tx *gorm.DB) error {
|
||||||
defer func() {
|
err := fn(ctx, tx)
|
||||||
if r := recover(); r != nil {
|
|
||||||
tx.Rollback()
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
|
|
||||||
if err := tx.Error; err != nil {
|
|
||||||
tx.Rollback()
|
|
||||||
return err
|
return err
|
||||||
}
|
})
|
||||||
|
|
||||||
if err := fn(ctx, tx); err != nil {
|
// tx := m.db.Table(m.name).WithContext(ctx)
|
||||||
tx.Rollback()
|
// defer func() {
|
||||||
return err
|
// if r := recover(); r != nil {
|
||||||
}
|
// tx.Rollback()
|
||||||
|
// }
|
||||||
|
// }()
|
||||||
|
|
||||||
err := tx.Commit().Error
|
// if err := tx.Error; err != nil {
|
||||||
if err != nil {
|
// tx.Rollback()
|
||||||
tx.Rollback()
|
// return err
|
||||||
return err
|
// }
|
||||||
}
|
|
||||||
|
|
||||||
return err
|
// if err := fn(ctx, tx); err != nil {
|
||||||
|
// tx.Rollback()
|
||||||
|
// return err
|
||||||
|
// }
|
||||||
|
|
||||||
|
// err := tx.Commit().Error
|
||||||
|
// if err != nil {
|
||||||
|
// tx.Rollback()
|
||||||
|
// return err
|
||||||
|
// }
|
||||||
|
|
||||||
|
// return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *FsResourceModel) TableName() string {
|
func (m *FsResourceModel) TableName() string {
|
||||||
|
@ -66,11 +66,9 @@ func (upload *Upload) UploadFileByBase64(req *UploadBaseReq) (*UploadBaseRes, er
|
|||||||
var resourceId string = req.FileHash
|
var resourceId string = req.FileHash
|
||||||
|
|
||||||
var uploadBaseRes = UploadBaseRes{}
|
var uploadBaseRes = UploadBaseRes{}
|
||||||
resourceModel := gmodel.NewFsResourceModel(upload.MysqlConn)
|
err := upload.MysqlConn.Transaction(func(tx *gorm.DB) error {
|
||||||
|
resourceModelTS := gmodel.NewFsResourceModel(tx)
|
||||||
err := resourceModel.Trans(upload.Ctx, func(ctx context.Context, connGorm *gorm.DB) error {
|
resourceInfo, err := resourceModelTS.FindOneById(upload.Ctx, resourceId)
|
||||||
resourceModelTS := gmodel.NewFsResourceModel(connGorm)
|
|
||||||
resourceInfo, err := resourceModelTS.FindOneById(ctx, resourceId)
|
|
||||||
if err == nil && resourceInfo.ResourceId != "" {
|
if err == nil && resourceInfo.ResourceId != "" {
|
||||||
uploadBaseRes.Status = 1
|
uploadBaseRes.Status = 1
|
||||||
uploadBaseRes.ResourceId = resourceId
|
uploadBaseRes.ResourceId = resourceId
|
||||||
@ -110,7 +108,7 @@ func (upload *Upload) UploadFileByBase64(req *UploadBaseReq) (*UploadBaseRes, er
|
|||||||
uploadBaseRes.ResourceUrl = url
|
uploadBaseRes.ResourceUrl = url
|
||||||
var version string = "0.0.1"
|
var version string = "0.0.1"
|
||||||
var nowTime = time.Now()
|
var nowTime = time.Now()
|
||||||
_, err = resourceModelTS.Create(ctx, &gmodel.FsResource{
|
_, err = resourceModelTS.Create(upload.Ctx, &gmodel.FsResource{
|
||||||
ResourceId: resourceId,
|
ResourceId: resourceId,
|
||||||
UserId: &req.UserId,
|
UserId: &req.UserId,
|
||||||
GuestId: &req.GuestId,
|
GuestId: &req.GuestId,
|
||||||
@ -128,8 +126,11 @@ func (upload *Upload) UploadFileByBase64(req *UploadBaseReq) (*UploadBaseRes, er
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 返回 nil 提交事务
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user