123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- package config
- import (
- "app.yhyue.com/moapp/jybase/mysql"
- "app.yhyue.com/moapp/jybase/redis"
- "database/sql"
- "fmt"
- "gopkg.in/yaml.v3"
- "io/ioutil"
- "log"
- )
- var SysConfig Config
- var Db *sql.DB
- var KbDb *mysql.Mysql
- var GfastDb *mysql.Mysql
- var QywxUserIdMap map[string]string
- type Config struct {
- Port string `yaml:"port"`
- Database DatabaseConfig `yaml:"database"`
- FilePath string `yaml:"filePath"`
- WechatWorkUrl string `yaml:"wechatWorkUrl"`
- KbMySql DatabaseConfig `yaml:"kbMySql"`
- WechatWorkKey string `yaml:"wechatWorkKey"`
- WechatRemind []string `yaml:"wechatRemind"`
- WorkflowsUrl string `yaml:"workflowsUrl"`
- WorkflowsUser string `yaml:"workflowsUser"`
- WorkPrivateMsg WorkPrivateMsg `yaml:"workPrivateMsg"`
- RedisServer string `yaml:"redisServer"`
- Project Project `yaml:"project"`
- TimeTaskCron string `yaml:"timeTaskCron"`
- Gfastv2 DatabaseConfig `yaml:"gfastv2"`
- }
- type DatabaseConfig struct {
- Host string `yaml:"host"`
- Port int `yaml:"port"`
- User string `yaml:"user"`
- Password string `yaml:"password"`
- DBName string `yaml:"dbname"`
- }
- type WorkPrivateMsg struct {
- AgentID int `yaml:"agentid"` // 固定应用id
- WxAdmin string `yaml:"wx_admin"` // 默认发送人
- WxCorpid string `yaml:"wx_corpid"` // 固定企业id
- WxSecret string `yaml:"wx_secret"` // 固定密钥
- }
- type Project struct {
- ProjectId int `yaml:"projectId"` // 项目ID
- TodoColumnId int `yaml:"todoColumnId"` // 待办列ID
- FinishColumnId int `yaml:"finishColumnId"` // 完成列ID
- SwimlaneId int `yaml:"swimlaneId"` // 泳道ID
- }
- func LoadConfig() {
- data, err := ioutil.ReadFile("./config.yaml")
- if err != nil {
- log.Println("read config err:", err)
- }
- //config := &Config{}
- err = yaml.Unmarshal(data, &SysConfig)
- if err != nil {
- log.Println("read config err:", err)
- }
- }
- // 初始化连接 MySQL 数据库并创建绑定表(如果不存在)
- func InitDB() {
- dbCon := fmt.Sprintf("%s:%s@tcp(%s)/jy_resume?charset=utf8&parseTime=True&loc=Local", SysConfig.Database.User, SysConfig.Database.Password, SysConfig.Database.Host)
- var err error
- Db, err = sql.Open("mysql", dbCon)
- if err != nil {
- log.Fatal("数据库连接错误:", err)
- }
- // 测试数据库连接
- if err = Db.Ping(); err != nil {
- log.Fatal("数据库 ping 错误:", err)
- }
- //defer Db.Close()
- KbDb = &mysql.Mysql{
- Address: SysConfig.KbMySql.Host,
- UserName: SysConfig.KbMySql.User,
- PassWord: SysConfig.KbMySql.Password,
- DBName: SysConfig.KbMySql.DBName,
- MaxOpenConns: 5,
- MaxIdleConns: 5,
- }
- KbDb.Init()
- GfastDb = &mysql.Mysql{
- Address: SysConfig.Gfastv2.Host,
- UserName: SysConfig.Gfastv2.User,
- PassWord: SysConfig.Gfastv2.Password,
- DBName: SysConfig.Gfastv2.DBName,
- MaxOpenConns: 5,
- MaxIdleConns: 5,
- }
- GfastDb.Init()
- redis.InitRedis(SysConfig.RedisServer)
- }
|