修改租户ID和更新者字段类型为interface{},优化租户存储容量处理逻辑
This commit is contained in:
@@ -18,8 +18,8 @@ type UploadFileRes struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type TenantOssTotal struct {
|
type TenantOssTotal struct {
|
||||||
TenantId string `json:"tenantId"`
|
TenantId interface{} `json:"tenantId"`
|
||||||
UsedOssSize int `json:"usedOssSize"`
|
UsedOssSize int `json:"usedOssSize"`
|
||||||
TotalOssSize int `json:"totalOssSize"`
|
TotalOssSize int `json:"totalOssSize"`
|
||||||
Updater string `json:"updater"`
|
Updater interface{} `json:"updater"`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import (
|
|||||||
// GetByTenantIdReq 根据租户id获取存储总量请求
|
// GetByTenantIdReq 根据租户id获取存储总量请求
|
||||||
type GetByTenantIdReq struct {
|
type GetByTenantIdReq struct {
|
||||||
g.Meta `path:"/GetOneByTenantId" method:"get" tags:"租户存储总量管理" summary:"获取存储总量" dc:"获取存储总量"`
|
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获取存储总量响应
|
// GetByTenantIdRes 根据租户id获取存储总量响应
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ func (f *file) UploadFile(ctx context.Context, req *dto.UploadFileReq) (res *dto
|
|||||||
glog.Errorf(ctx, "获取用户信息失败: %v", err)
|
glog.Errorf(ctx, "获取用户信息失败: %v", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
tenantId := gconv.String(user.TenantId)
|
tenantId := user.TenantId
|
||||||
// 获取redis-租户存储容量总数key
|
// 获取redis-租户存储容量总数key
|
||||||
tenantOssTotalKey := fmt.Sprintf(consts.TenantOssTotalKey, gconv.String(user.TenantId))
|
tenantOssTotalKey := fmt.Sprintf(consts.TenantOssTotalKey, gconv.String(user.TenantId))
|
||||||
// 获取redis-租户存储-锁key
|
// 获取redis-租户存储-锁key
|
||||||
@@ -49,19 +49,20 @@ func (f *file) UploadFile(ctx context.Context, req *dto.UploadFileReq) (res *dto
|
|||||||
if g.IsEmpty(get) {
|
if g.IsEmpty(get) {
|
||||||
//查询数据库-获取租户存储容量总数
|
//查询数据库-获取租户存储容量总数
|
||||||
getByTenantIdReq := &dto.GetByTenantIdReq{
|
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 {
|
if err != nil {
|
||||||
glog.Errorf(ctx, "查询数据库-获取租户存储容量总数失败: %v", err)
|
glog.Errorf(ctx, "查询数据库-获取租户存储容量总数失败: %v", err)
|
||||||
return 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.TenantId = user.TenantId
|
||||||
tenantOssTotalEntity.UsedOssSize = 0
|
tenantOssTotalEntity.UsedOssSize = 0
|
||||||
tenantOssTotalEntity.TotalOssSize = g.Cfg().MustGet(ctx, "oss.capacitySize").Int() * 1024 * 1024
|
tenantOssTotalEntity.TotalOssSize = g.Cfg().MustGet(ctx, "oss.capacitySize").Int() * 1024 * 1024
|
||||||
} else {
|
} else {
|
||||||
tenantOssTotalEntity = tenantOssTotal.TenantOssTotal
|
tenantOssTotalEntity = tenantOssTotalRes.TenantOssTotal
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 反序列化-redis获取租户存储容量总数
|
// 反序列化-redis获取租户存储容量总数
|
||||||
@@ -70,7 +71,7 @@ func (f *file) UploadFile(ctx context.Context, req *dto.UploadFileReq) (res *dto
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
tenantId = gconv.String(tenantOssTotalEntity.TenantId)
|
tenantId = tenantOssTotalEntity.TenantId
|
||||||
fileSize = tenantOssTotalEntity.UsedOssSize + fileSize
|
fileSize = tenantOssTotalEntity.UsedOssSize + fileSize
|
||||||
totalFileSize = tenantOssTotalEntity.TotalOssSize
|
totalFileSize = tenantOssTotalEntity.TotalOssSize
|
||||||
// 设置redis-租户存储容量总数
|
// 设置redis-租户存储容量总数
|
||||||
@@ -78,7 +79,7 @@ func (f *file) UploadFile(ctx context.Context, req *dto.UploadFileReq) (res *dto
|
|||||||
TenantId: tenantId,
|
TenantId: tenantId,
|
||||||
UsedOssSize: fileSize,
|
UsedOssSize: fileSize,
|
||||||
TotalOssSize: totalFileSize,
|
TotalOssSize: totalFileSize,
|
||||||
Updater: gconv.String(user.UserName),
|
Updater: user.UserName,
|
||||||
}
|
}
|
||||||
// 修改redis-租户存储容量总数 超时时间10分钟
|
// 修改redis-租户存储容量总数 超时时间10分钟
|
||||||
if err = redis.RedisClient.SetEX(ctx, tenantOssTotalKey, tenantOssTotalKeyMap, gconv.Int64(time.Minute*10)); err != nil {
|
if err = redis.RedisClient.SetEX(ctx, tenantOssTotalKey, tenantOssTotalKeyMap, gconv.Int64(time.Minute*10)); err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user