mirror of
https://github.com/bufanyun/hotgo.git
synced 2025-01-23 19:00:24 +08:00
65 lines
1.9 KiB
Go
65 lines
1.9 KiB
Go
// =================================================================================
|
||
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
|
||
// =================================================================================
|
||
|
||
package dao
|
||
|
||
import (
|
||
"context"
|
||
"github.com/gogf/gf/v2/errors/gerror"
|
||
"github.com/gogf/gf/v2/frame/g"
|
||
"github.com/gogf/gf/v2/os/gtime"
|
||
"hotgo/internal/consts"
|
||
"hotgo/internal/dao/internal"
|
||
"hotgo/internal/model/input/sysin"
|
||
"hotgo/internal/service"
|
||
"hotgo/utility/format"
|
||
)
|
||
|
||
// internalSysAttachmentDao is internal type for wrapping internal DAO implements.
|
||
type internalSysAttachmentDao = *internal.SysAttachmentDao
|
||
|
||
// sysAttachmentDao is the data access object for table hg_sys_attachment.
|
||
// You can define custom methods on it to extend its functionality as you wish.
|
||
type sysAttachmentDao struct {
|
||
internalSysAttachmentDao
|
||
}
|
||
|
||
var (
|
||
// SysAttachment is globally public accessible object for table hg_sys_attachment operations.
|
||
SysAttachment = sysAttachmentDao{
|
||
internal.NewSysAttachmentDao(),
|
||
}
|
||
)
|
||
|
||
func (dao *sysAttachmentDao) GetMd5File(ctx context.Context, md5 string) (data *sysin.AttachmentListModel, err error) {
|
||
if err = dao.Ctx(ctx).
|
||
Where("md5", md5).
|
||
Scan(&data); err != nil {
|
||
err = gerror.Wrap(err, consts.ErrorORM)
|
||
return nil, err
|
||
}
|
||
|
||
if data == nil {
|
||
return nil, nil
|
||
}
|
||
|
||
conf, err := service.SysConfig().GetUpload(ctx)
|
||
if err != nil {
|
||
return nil, nil
|
||
}
|
||
|
||
data.SizeFormat = format.FileSize(data.Size)
|
||
data.FileUrl = service.CommonUpload().LastUrl(ctx, conf, data.FileUrl, data.Drive)
|
||
|
||
// 只有在上传时才会检查md5值,如果文件存在则更新最后上传时间,保证上传列表更新显示在最前面
|
||
if data.Id > 0 {
|
||
_, _ = dao.Ctx(ctx).Where("id", data.Id).Data(g.Map{
|
||
"status": consts.StatusEnabled,
|
||
"updated_at": gtime.Now(),
|
||
}).Update()
|
||
}
|
||
|
||
return data, nil
|
||
}
|