fix: adjustment directory structure
This commit is contained in:
141
proxy/config/config.go
Normal file
141
proxy/config/config.go
Normal file
@@ -0,0 +1,141 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"gopkg.in/yaml.v2"
|
||||
"io/ioutil"
|
||||
//"os"
|
||||
//"io/ioutil"
|
||||
|
||||
//"encoding/json"
|
||||
l4g "proxy/logger"//"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
type LogConf struct {
|
||||
//Output string `yaml:"output"`// file; console
|
||||
Level string `yaml:"level"`// debug; info; warn; error
|
||||
//Path string `yaml:"path"`
|
||||
//MaxAge int `yaml:"maxAge"`// per Hour
|
||||
//RotationTime int `yaml:"rotationTime"`// per Hour
|
||||
}
|
||||
|
||||
type MysqlDb struct {
|
||||
Addr string `yaml:"addr"`
|
||||
Username string `yaml:"username"`
|
||||
Password string `yaml:"password"`
|
||||
}
|
||||
|
||||
type RedisDb struct {
|
||||
NetType string `yaml:"netType"`
|
||||
Addr string `yaml:"addr"`
|
||||
Password string `yaml:"password,omitempty"`
|
||||
SentinelAddrs []string `yaml:"sentinelAddrs,omitempty"`
|
||||
}
|
||||
|
||||
type TelnetServer struct {
|
||||
Addr string `yaml:"addr"`
|
||||
}
|
||||
|
||||
type RestConf struct {
|
||||
Enabled bool `yaml:"enabled"`
|
||||
HttpAddr string `yaml:"httpAddr"`
|
||||
//EmsAddr string `yaml:"emsAddr,omitempty"`
|
||||
LocRzIp string `yaml:"locRzIp"`
|
||||
LocRzPort int `yaml:"locRzPort"`
|
||||
OcsRzIp string `yaml:"ocsRzIp"`
|
||||
OcsRzPort int `yaml:"ocsRzPort"`
|
||||
//EnableNotification bool `yaml:"enableNotification"`
|
||||
}
|
||||
|
||||
type CanalServer struct {
|
||||
Enabled bool `yaml:"enabled"`
|
||||
|
||||
Addr string `yaml:"addr"`
|
||||
Username string `yaml:"username"`
|
||||
Password string `yaml:"password"`
|
||||
|
||||
Reinit bool `yaml:"reinit"`
|
||||
FlushBeforeInit bool `yaml:"flushBeforeInit"`
|
||||
//Standalone bool `yaml:"standalone"`
|
||||
}
|
||||
|
||||
type CronCfg struct {
|
||||
Enabled bool `yaml:"enabled"`
|
||||
ClrExp string `yaml:"clrExp,omitempty"`
|
||||
NtfSms string `yaml:"ntfSms,omitempty"`
|
||||
}
|
||||
|
||||
type ProvisionCfg struct {
|
||||
Enabled bool `yaml:"enabled"`
|
||||
Interval int `yaml:"interval"`
|
||||
ReadTimout int `yaml:"readTimout"`
|
||||
|
||||
EmsIp string `yaml:"emsIp"`
|
||||
EmsPort int `yaml:"emsPort"`
|
||||
Username string `yaml:"username"`
|
||||
Password string `yaml:"password"`
|
||||
ConnectHss string `yaml:"connectHss,omitempty"`
|
||||
ConnectAuc string `yaml:"connectAuc,omitempty"`
|
||||
ConnectVms string `yaml:"connectVms,omitempty"`
|
||||
DisconnectHss string `yaml:"disconnectHss,omitempty"`
|
||||
DisconnectAuc string `yaml:"disconnectAuc,omitempty"`
|
||||
DisconnectVms string `yaml:"disconnectVms,omitempty"`
|
||||
|
||||
SsEntryIdInCrm int `yaml:"ssEntryIdInCrm,omitempty"`
|
||||
}
|
||||
|
||||
type BundleUsageNotify struct {
|
||||
//Enabled bool `yaml:"enabled"`
|
||||
Voice75Percent bool `yaml:"voice75Percent"`
|
||||
Data75Percent bool `yaml:"data75Percent"`
|
||||
Sms75Percent bool `yaml:"sms75Percent"`
|
||||
}
|
||||
|
||||
type DbConfig struct {
|
||||
Log *LogConf `yaml:"log,omitempty"`
|
||||
MysqlDb MysqlDb `yaml:"mysqlDb"`
|
||||
RedisDb RedisDb `yaml:"redisDb"`
|
||||
TelnetServer TelnetServer `yaml:"telnetServer"`
|
||||
Rest RestConf `json:"rest"`
|
||||
CanalServer CanalServer `yaml:"canalServer"`
|
||||
CronCfg CronCfg `yaml:"cronCfg"`
|
||||
Provision ProvisionCfg `yaml:"provision"`
|
||||
BundleUsageNotify BundleUsageNotify `yaml:"bundleUsageNotify"`
|
||||
}
|
||||
|
||||
var Config = DbConfig{ /*mysql: "192.168.1.151:3306", username: "root", password: "rootaa"*/}
|
||||
|
||||
func ReadConfig() error {
|
||||
if content, err := ioutil.ReadFile("/usr/local/restproxy/etc/config.yaml"); err != nil {
|
||||
return err
|
||||
} else {
|
||||
if yamlErr := yaml.Unmarshal(content, &Config); yamlErr != nil {
|
||||
return yamlErr
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func SavePcfCfg() {
|
||||
if content, err := yaml.Marshal(&Config); err != nil {
|
||||
l4g.CfgLog.Errorf("Marshal failed error %s", err.Error())
|
||||
return
|
||||
} else if fileErr := ioutil.WriteFile("/usr/local/restproxy/etc/config.yaml", content, 0644); fileErr != nil {
|
||||
l4g.CfgLog.Errorf("WriteFile failed error %s", fileErr.Error())
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
func SetBundleUsageNtf(serviceType int, bEnable bool) {
|
||||
switch serviceType {
|
||||
case 1:
|
||||
Config.BundleUsageNotify.Voice75Percent = bEnable
|
||||
case 2:
|
||||
Config.BundleUsageNotify.Data75Percent = bEnable
|
||||
case 3:
|
||||
Config.BundleUsageNotify.Sms75Percent = bEnable
|
||||
default:
|
||||
}
|
||||
SavePcfCfg()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user