123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- package utils
- import (
- "context"
- "encoding/json"
- "fmt"
- "strconv"
- beeLogger "github.com/beego/bee/v2/logger"
- "github.com/beego/beego/v2/server/web"
- "github.com/go-redis/redis/v8"
- )
- // 数据库配置
- var (
- RunMode string
- MYSQL_URL_MASTER string
- MYSQL_URL_RDDP string
- MYSQL_URL string //数据库连接
- REDIS_CACHE string //缓存地址
- Redis *redis.Client //redis链接
- )
- // 日志配置
- var (
- LogPath string //调用过程中的日志存放地址
- LogFile string
- ApiLogPath string // 接口请求地址和接口返回值日志存放地址
- ApiLogFile string
- BinLogPath string // 数据库相关的日志存放地址
- BinLogFile string
- LogMaxDays int // 日志最大保留天数
- )
- var (
- SMS_TPLID string // 短信模板
- )
- var AlarmMsgUrl string // 报警地址
- // 微信相关
- var (
- WX_MINI_APPID string
- WX_MINI_APP_SECRET string
- DW_WX_Id string //微信原始ID
- DW_WX_APPID string // 东吴公众号appid
- DW_WX_APP_SECRET string
- TEMPLATE_ID_BY_PRODUCT string
- )
- // 桥接服务
- var (
- ETA_MINI_BRIDGE_URL string
- ETA_MINI_APPID string
- ETA_MINI_APP_SECRET string
- )
- var DesKey string // 接口返回加密KEY
- // 自定义的品种名称
- var (
- MINI_CUSTOM_PERMISSION_NAME string
- ZC_CUSTOM_PERMISSION_NAME string
- )
- func init() {
- tmpRunMode, err := web.AppConfig.String("run_mode")
- if err != nil {
- panic(any("配置文件读取run_mode错误 " + err.Error()))
- }
- RunMode = tmpRunMode
- fmt.Println("RunMode:", RunMode)
- if RunMode == "" {
- configPath := `/home/code/config/eta_mini_api/conf/app.conf`
- fmt.Println("configPath:", configPath)
- err = web.LoadAppConfig("ini", configPath)
- if err != nil {
- fmt.Println("web.LoadAppConfig Err:" + err.Error())
- }
- tmpRunMode, _ := web.AppConfig.String("run_mode")
- RunMode = tmpRunMode
- }
- config, err := web.AppConfig.GetSection(RunMode)
- if err != nil {
- panic(any("配置文件读取错误 " + err.Error()))
- }
- beeLogger.Log.Info(RunMode + " 模式")
- MYSQL_URL = config["mysql_url"]
- MYSQL_URL_RDDP = config["mysql_url_rddp"]
- MYSQL_URL_MASTER = config["mysql_url_master"]
- SMS_TPLID = config["sms_tplId"]
- DesKey = config["des_key"]
- WX_MINI_APPID = config["wx_mini_appid"]
- WX_MINI_APP_SECRET = config["wx_mini_app_secret"]
- DW_WX_Id = config["dw_wx_id"]
- DW_WX_APPID = config["dw_wx_appid"]
- DW_WX_APP_SECRET = config["dw_wx_app_secret"]
- TEMPLATE_ID_BY_PRODUCT = config["template_id_by_product"]
- ETA_MINI_BRIDGE_URL = config["eta_mini_bridge_url"]
- ETA_MINI_APPID = config["eta_mini_appid"]
- ETA_MINI_APP_SECRET = config["eta_mini_app_secret"]
- MINI_CUSTOM_PERMISSION_NAME = config["mini_custom_permission_name"]
- if MINI_CUSTOM_PERMISSION_NAME == "" {
- MINI_CUSTOM_PERMISSION_NAME = "PDF报告"
- }
- ZC_CUSTOM_PERMISSION_NAME = config["zc_custom_permission_name"]
- if ZC_CUSTOM_PERMISSION_NAME == "" {
- ZC_CUSTOM_PERMISSION_NAME = "PDF报告"
- }
- initRedis(config)
- }
- // initRedis 初始化redis配置
- func initRedis(config map[string]string) {
- REDIS_CACHE = config["beego_cache"]
- if len(REDIS_CACHE) <= 0 {
- panic("redis链接参数没有配置")
- }
- var redisConf map[string]string
- err := json.Unmarshal([]byte(REDIS_CACHE), &redisConf)
- if err != nil {
- panic("redis 配置异常失败:" + err.Error())
- }
- redisDb := 0 //默认使用redis的0库
- if dbStr, ok := redisConf["db"]; ok {
- redisDb, err = strconv.Atoi(dbStr)
- if err != nil {
- panic("redis 操作db库配置异常,db:" + dbStr)
- }
- }
- client := redis.NewClient(&redis.Options{
- Addr: redisConf["conn"],
- Password: redisConf["password"],
- DB: redisDb,
- //PoolSize: 10, //连接池最大socket连接数,默认为10倍CPU数, 10 * runtime.NumCPU(暂不配置)
- })
- _, err = client.Ping(context.TODO()).Result()
- if err != nil {
- panic("redis 链接失败:" + err.Error())
- }
- //全局赋值redis链接
- Redis = client
- }
|