44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
package dao
|
|
|
|
import (
|
|
"context"
|
|
"oss/consts"
|
|
"oss/model/dto"
|
|
"oss/model/entity"
|
|
|
|
"gitea.com/red-future/common/mongo"
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
"go.mongodb.org/mongo-driver/v2/bson"
|
|
)
|
|
|
|
var TenantOssTotal = &tenantOssTotal{}
|
|
|
|
type tenantOssTotal struct {
|
|
}
|
|
|
|
// SaveOrUpdate 增加或更新
|
|
func (d *tenantOssTotal) SaveOrUpdate(ctx context.Context, updateData []*dto.UpdateUsedOssReq) (err error) {
|
|
if !g.IsEmpty(updateData) {
|
|
var filter, update []bson.M
|
|
for _, v := range updateData {
|
|
buildUpdateData, err := mongo.BuildUpdateData(ctx, v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
filter = append(filter, bson.M{"tenantId": v.TenantId})
|
|
update = append(update, bson.M{"$set": buildUpdateData})
|
|
}
|
|
_, err = MongoDAO.SaveOrUpdate(ctx, filter, update, consts.TenantOssTotalCollection)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
return
|
|
}
|
|
|
|
func (d *tenantOssTotal) GetOneByTenantId(ctx context.Context, req *dto.GetByTenantIdReq) (res *entity.TenantOssTotal, err error) {
|
|
filter := bson.M{"tenantId": req.TenantId}
|
|
err = mongo.DB().FindOne(ctx, filter, &res, consts.TenantOssTotalCollection)
|
|
return
|
|
}
|