55 lines
1.2 KiB
Go
55 lines
1.2 KiB
Go
package service
|
|
|
|
import (
|
|
"context"
|
|
"gitea.com/red-future/common/redis"
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
"github.com/gogf/gf/v2/util/gconv"
|
|
"oss/consts"
|
|
"oss/dao"
|
|
"oss/model/dto"
|
|
)
|
|
|
|
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)
|
|
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 := redis.RedisClient().Keys(ctx, consts.OssTotalKey)
|
|
if err != nil {
|
|
return
|
|
}
|
|
updateData := make([]*dto.UpdateUsedOssReq, 0)
|
|
for _, key := range keys {
|
|
get, err := g.Redis().Get(ctx, key)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
e := new(dto.UpdateUsedOssReq)
|
|
err = gconv.Struct(get, e)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
updateData = append(updateData, e)
|
|
|
|
}
|
|
// 更新数据库
|
|
err = dao.TenantOssTotal.SaveOrUpdate(ctx, updateData)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return err
|
|
}
|