init: web_hgdjc_server
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
package srv_cfg
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"strings"
|
||||
"videoweb/pub/common/srvdef"
|
||||
"videoweb/pub/models/cfg"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
)
|
||||
|
||||
// GetSystemConfig 得到系统配置
|
||||
func GetSystemConfig(ctx context.Context) (*cfg.SysCfg, *srvdef.SrvErr) {
|
||||
filter := bson.M{
|
||||
cfg.FN.SysCfg.Id: 1, //固定id
|
||||
}
|
||||
sysCfg, serr := cfg.FindOneSysCfg(ctx, filter)
|
||||
if serr != nil {
|
||||
return nil, serr
|
||||
}
|
||||
return sysCfg, nil
|
||||
}
|
||||
|
||||
// emptyWatermark 水印字段为空时也写入空字符串,避免 omitempty 跳过导致旧值残留
|
||||
func emptyWatermark(v *string) *string {
|
||||
empty := ""
|
||||
if v == nil || strings.TrimSpace(*v) == "" {
|
||||
return &empty
|
||||
}
|
||||
s := strings.TrimSpace(*v)
|
||||
return &s
|
||||
}
|
||||
|
||||
func applyEmptyWatermarkFields(info *SysCfgUpdate) {
|
||||
if info == nil {
|
||||
return
|
||||
}
|
||||
info.WatermarkImage = emptyWatermark(info.WatermarkImage)
|
||||
info.WatermarkMedia = emptyWatermark(info.WatermarkMedia)
|
||||
info.WatermarkMediaTop = emptyWatermark(info.WatermarkMediaTop)
|
||||
info.WatermarkMediaTopRight = emptyWatermark(info.WatermarkMediaTopRight)
|
||||
info.WatermarkMediaBottomLeft = emptyWatermark(info.WatermarkMediaBottomLeft)
|
||||
}
|
||||
|
||||
// UpdateSystemConfig 更新系统配置
|
||||
func UpdateSystemConfig(ctx context.Context, info *SysCfgUpdate) *srvdef.SrvErr {
|
||||
applyEmptyWatermarkFields(info)
|
||||
filter := bson.M{
|
||||
cfg.FN.SysCfg.Id: 1, //固定id
|
||||
}
|
||||
fmt.Println("filter", filter)
|
||||
updateDoc := bson.M{"$set": info}
|
||||
serr := cfg.UpdateOneSysCfg(ctx, filter, updateDoc)
|
||||
if serr != nil {
|
||||
return serr
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// SetAppKey 单独更新媒资库 appKey,并刷新内存缓存。
|
||||
func SetAppKey(ctx context.Context, appKey string) *srvdef.SrvErr {
|
||||
appKey = strings.TrimSpace(appKey)
|
||||
filter := bson.M{
|
||||
cfg.FN.SysCfg.Id: 1,
|
||||
}
|
||||
updateDoc := bson.M{"$set": bson.M{
|
||||
cfg.FN.SysCfg.AppKey: appKey,
|
||||
}}
|
||||
if serr := cfg.UpdateOneSysCfg(ctx, filter, updateDoc); serr != nil {
|
||||
return serr
|
||||
}
|
||||
cfg.CacheAppKey(appKey)
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user