Files
x_admin/server/admin/setting/protocol/service.go
xiangheng 8eb583397d init
2023-11-24 16:46:30 +08:00

68 lines
2.0 KiB
Go

package protocol
import (
"x_admin/core/response"
"x_admin/util"
"gorm.io/gorm"
)
type ISettingProtocolService interface {
Detail() (res map[string]interface{}, e error)
Save(pReq SettingProtocolReq) (e error)
}
// NewSettingProtocolService 初始化
func NewSettingProtocolService(db *gorm.DB) ISettingProtocolService {
return &settingProtocolService{db: db}
}
// settingProtocolService 政策协议服务实现类
type settingProtocolService struct {
db *gorm.DB
}
// Detail 获取政策协议信息
func (cSrv settingProtocolService) Detail() (res map[string]interface{}, e error) {
defaultVal := `{"name":"","content":""}`
json, err := util.ConfigUtil.GetVal(cSrv.db, "protocol", "service", defaultVal)
if e = response.CheckErr(err, "Detail GetVal service err"); e != nil {
return
}
var service map[string]interface{}
if e = response.CheckErr(util.ToolsUtil.JsonToObj(json, &service), "Detail JsonToObj service err"); e != nil {
return
}
json, err = util.ConfigUtil.GetVal(cSrv.db, "protocol", "privacy", defaultVal)
if e = response.CheckErr(err, "Detail GetVal privacy err"); e != nil {
return
}
var privacy map[string]interface{}
if e = response.CheckErr(util.ToolsUtil.JsonToObj(json, &privacy), "Detail JsonToObj privacy err"); e != nil {
return
}
return map[string]interface{}{
"service": service,
"privacy": privacy,
}, nil
}
// Save 保存政策协议信息
func (cSrv settingProtocolService) Save(pReq SettingProtocolReq) (e error) {
serviceJson, err := util.ToolsUtil.ObjToJson(pReq.Service)
if e = response.CheckErr(err, "Save ObjToJson service err"); e != nil {
return
}
privacyJson, err := util.ToolsUtil.ObjToJson(pReq.Privacy)
if e = response.CheckErr(err, "Save ObjToJson privacy err"); e != nil {
return
}
err = util.ConfigUtil.Set(cSrv.db, "protocol", "service", serviceJson)
if e = response.CheckErr(err, "Save Set service err"); e != nil {
return
}
err = util.ConfigUtil.Set(cSrv.db, "protocol", "privacy", privacyJson)
e = response.CheckErr(err, "Save Set privacy err")
return
}