来源:hgdjnet-server 9bfbafe10d417deea959bd53117bc88a10e60a83 项目身份 HKDJ / JHA-216,独立官网仓库,Jenkins 守卫键 hkdjnet 测试目录 /server/hkdj_net,App/Web API 30331/30332 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
61 lines
1.5 KiB
Go
61 lines
1.5 KiB
Go
package srv_cfg
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"hkdj-web-server/pub/common/srvdef"
|
|
"hkdj-web-server/pub/models/cfg"
|
|
"strings"
|
|
|
|
"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
|
|
}
|