修改租户ID和更新者字段类型为interface{},优化租户存储容量处理逻辑

This commit is contained in:
2026-01-12 19:08:27 +08:00
parent 383cccf55f
commit 542c609d60
3 changed files with 13 additions and 12 deletions

View File

@@ -18,8 +18,8 @@ type UploadFileRes struct {
}
type TenantOssTotal struct {
TenantId string `json:"tenantId"`
TenantId interface{} `json:"tenantId"`
UsedOssSize int `json:"usedOssSize"`
TotalOssSize int `json:"totalOssSize"`
Updater string `json:"updater"`
Updater interface{} `json:"updater"`
}

View File

@@ -8,7 +8,7 @@ import (
// GetByTenantIdReq 根据租户id获取存储总量请求
type GetByTenantIdReq struct {
g.Meta `path:"/GetOneByTenantId" method:"get" tags:"租户存储总量管理" summary:"获取存储总量" dc:"获取存储总量"`
TenantId string `json:"tenantId" v:"required#租户id不能为空"`
TenantId interface{} `json:"tenantId" v:"required#租户id不能为空"`
}
// GetByTenantIdRes 根据租户id获取存储总量响应

View File

@@ -32,7 +32,7 @@ func (f *file) UploadFile(ctx context.Context, req *dto.UploadFileReq) (res *dto
glog.Errorf(ctx, "获取用户信息失败: %v", err)
return
}
tenantId := gconv.String(user.TenantId)
tenantId := user.TenantId
// 获取redis-租户存储容量总数key
tenantOssTotalKey := fmt.Sprintf(consts.TenantOssTotalKey, gconv.String(user.TenantId))
// 获取redis-租户存储-锁key
@@ -49,19 +49,20 @@ func (f *file) UploadFile(ctx context.Context, req *dto.UploadFileReq) (res *dto
if g.IsEmpty(get) {
//查询数据库-获取租户存储容量总数
getByTenantIdReq := &dto.GetByTenantIdReq{
TenantId: gconv.String(user.TenantId),
TenantId: user.TenantId,
}
tenantOssTotal, err := TenantOssTotal.GetOneByTenantId(ctx, getByTenantIdReq)
tenantOssTotalRes, err := TenantOssTotal.GetOneByTenantId(ctx, getByTenantIdReq)
if err != nil {
glog.Errorf(ctx, "查询数据库-获取租户存储容量总数失败: %v", err)
return err
}
if tenantOssTotal.Id.IsZero() {
if tenantOssTotalRes == nil || tenantOssTotalRes.TenantOssTotal == nil || g.IsEmpty(tenantOssTotalRes.Id) || tenantOssTotalRes.Id.IsZero() {
// 数据库中没有该租户的记录,创建默认配置
tenantOssTotalEntity.TenantId = user.TenantId
tenantOssTotalEntity.UsedOssSize = 0
tenantOssTotalEntity.TotalOssSize = g.Cfg().MustGet(ctx, "oss.capacitySize").Int() * 1024 * 1024
} else {
tenantOssTotalEntity = tenantOssTotal.TenantOssTotal
tenantOssTotalEntity = tenantOssTotalRes.TenantOssTotal
}
} else {
// 反序列化-redis获取租户存储容量总数
@@ -70,7 +71,7 @@ func (f *file) UploadFile(ctx context.Context, req *dto.UploadFileReq) (res *dto
return err
}
}
tenantId = gconv.String(tenantOssTotalEntity.TenantId)
tenantId = tenantOssTotalEntity.TenantId
fileSize = tenantOssTotalEntity.UsedOssSize + fileSize
totalFileSize = tenantOssTotalEntity.TotalOssSize
// 设置redis-租户存储容量总数
@@ -78,7 +79,7 @@ func (f *file) UploadFile(ctx context.Context, req *dto.UploadFileReq) (res *dto
TenantId: tenantId,
UsedOssSize: fileSize,
TotalOssSize: totalFileSize,
Updater: gconv.String(user.UserName),
Updater: user.UserName,
}
// 修改redis-租户存储容量总数 超时时间10分钟
if err = redis.RedisClient.SetEX(ctx, tenantOssTotalKey, tenantOssTotalKeyMap, gconv.Int64(time.Minute*10)); err != nil {