文件存储-增加文件上传记录接口,增加定时同步租户文件存储容量信息接口
This commit is contained in:
58
service/tenant_oss_total_service.go
Normal file
58
service/tenant_oss_total_service.go
Normal file
@@ -0,0 +1,58 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/util/gconv"
|
||||
"oss/consts"
|
||||
"oss/dao"
|
||||
"oss/model/dto"
|
||||
"oss/model/entity"
|
||||
)
|
||||
|
||||
type tenantOssTotal struct{}
|
||||
|
||||
// TenantOssTotal 存储文件服务
|
||||
var TenantOssTotal = new(tenantOssTotal)
|
||||
|
||||
func (s *tenantOssTotal) GetOneByTenantId(ctx context.Context, req *dto.GetByTenantIdReq) (res *dto.GetByTenantIdRes, err error) {
|
||||
e, err := dao.TenantOssTotal.GetOneByTenantId(ctx, req.TenantId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &dto.GetByTenantIdRes{
|
||||
TenantOssTotal: e,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (s *tenantOssTotal) UpdateUsedOssSize(ctx context.Context) (err error) {
|
||||
// 使用 Keys 取出所有key
|
||||
keys, err := g.Redis().Keys(ctx, consts.OssTotalKey)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
updateData := make([]*entity.TenantOssTotal, 0)
|
||||
filterData := make([]*entity.TenantOssTotal, 0)
|
||||
for _, key := range keys {
|
||||
get, err := g.Redis().Get(ctx, key)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
e := &entity.TenantOssTotal{}
|
||||
err = gconv.Struct(get, e)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
updateData = append(updateData, e)
|
||||
totalOssSize := &entity.TenantOssTotal{}
|
||||
totalOssSize.TenantId = e.TenantId
|
||||
filterData = append(filterData, totalOssSize)
|
||||
|
||||
}
|
||||
// 更新数据库
|
||||
err = dao.TenantOssTotal.SaveOrUpdate(ctx, filterData, updateData)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return err
|
||||
}
|
||||
Reference in New Issue
Block a user