package dao import ( "context" "oss/consts" "oss/model/dto" "oss/model/entity" "gitea.com/red-future/common/db/gfdb" "github.com/gogf/gf/v2/database/gdb" "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/util/guid" ) var TenantOssTotal = &tenantOssTotal{} type tenantOssTotal struct{} // SaveOrUpdate 增加或更新 func (d *tenantOssTotal) SaveOrUpdate(ctx context.Context, updateData []*dto.UpdateUsedOssReq) (err error) { if !g.IsEmpty(updateData) { data := make([]gdb.Map, 0, len(updateData)) for _, v := range updateData { data = append(data, gdb.Map{ entity.TenantOssCol.Bid: guid.S(), entity.TenantOssCol.TenantId: v.TenantId, entity.TenantOssCol.UsedOssSize: v.UsedOssSize, entity.TenantOssCol.TotalOssSize: v.TotalOssSize, entity.TenantOssCol.Creator: v.Updater, entity.TenantOssCol.Updater: v.Updater, }) } _, err = gfdb.DB(ctx).Model(ctx, consts.TenantOssTotalCollection).Data(data).OnConflict(entity.TenantOssCol.TenantId).Save() if err != nil { return err } } return } func (d *tenantOssTotal) GetOneByTenantId(ctx context.Context, req *dto.GetByTenantIdReq) (res *entity.TenantOssTotal, err error) { model := gfdb.DB(ctx).Model(ctx, consts.TenantOssTotalCollection).Where(entity.TenantOssCol.TenantId, req.TenantId) record, err := model.One() if err != nil { return } err = record.Struct(&res) return }