package service import ( "context" "gitee.com/red-future---jilin-g/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 }