56 lines
1.5 KiB
Go
56 lines
1.5 KiB
Go
package cfg
|
|
|
|
import (
|
|
"context"
|
|
"videoweb/pub/common/log"
|
|
"videoweb/pub/common/srvdef"
|
|
"videoweb/pub/mongos"
|
|
|
|
"go.mongodb.org/mongo-driver/bson"
|
|
"go.mongodb.org/mongo-driver/mongo"
|
|
)
|
|
|
|
// Init 初始化数据
|
|
func Init(ctx context.Context) {
|
|
sysCfgColl = mongos.Shop.Coll(TN.SysCfg)
|
|
}
|
|
|
|
// FindOneSysCfg 查找一个系统配置
|
|
func FindOneSysCfg(ctx context.Context, filter bson.M) (
|
|
*SysCfg, *srvdef.SrvErr) {
|
|
var sysCfg SysCfg
|
|
if err := sysCfgColl.FindOneEx(
|
|
ctx, &sysCfg, filter); err != nil {
|
|
if err != mongo.ErrNoDocuments {
|
|
log.Info("cfg:FindOneSysCfg db.FindOneEx failed",
|
|
log.E(err), log.Any("filter", filter))
|
|
return nil, srvdef.New(srvdef.ErrDbQueryError, "", "")
|
|
}
|
|
return nil, srvdef.New(srvdef.ErrDbQueryError, "", "")
|
|
}
|
|
return &sysCfg, nil
|
|
}
|
|
|
|
// UpdateOneSysCfg 更新一个系统配置
|
|
func UpdateOneSysCfg(ctx context.Context, filter bson.M, update bson.M) *srvdef.SrvErr {
|
|
result, err := sysCfgColl.UpdateOne(ctx, filter, update)
|
|
if err != nil {
|
|
log.Warn("cfg:UpdateOneSysCfg db.UpdateOne failed",
|
|
log.E(err), log.Any("filter", filter))
|
|
return srvdef.New(srvdef.ErrDbUpdateError, "", "")
|
|
}
|
|
if result.MatchedCount != 1 {
|
|
return srvdef.New(srvdef.ErrDbUpdateError, "", "")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func DeleteOneSysCfg(ctx context.Context, filter bson.M) *srvdef.SrvErr {
|
|
_, err := sysCfgColl.DeleteOne(ctx, filter)
|
|
if err != nil {
|
|
log.Warn("cfg:DeleteOneSysCfg db.DeleteOne failed", log.Any("filter", filter), log.E(err))
|
|
return srvdef.New(srvdef.ErrDbQueryError, "", "")
|
|
}
|
|
return nil
|
|
}
|