123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- package base
- import (
- "fmt"
- "github.com/druidcaesa/gotool"
- _ "github.com/go-sql-driver/mysql"
- "log"
- "time"
- "ulink-admin/config"
- "ulink-admin/pkg/common"
- redisTool "ulink-admin/pkg/redistool"
- "xorm.io/xorm"
- )
- var (
- SqlDB *xorm.Engine
- RedisDB *redisTool.RedisClient
- )
- func init() {
- var err error
-
- mysql := config.GetMysqlCfg()
- jdbc := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8&parseTime=True&loc=Local",
- mysql.Username, mysql.Password, mysql.Host, mysql.Port, mysql.Database)
- SqlDB, err = xorm.NewEngine(mysql.ShowType, jdbc)
- if err != nil {
- log.Fatalf("db error: %#v\n", err.Error())
- }
- err = SqlDB.Ping()
- if err != nil {
- log.Printf("db connect error: %#v\n", err.Error())
- }
- SqlDB.SetMaxIdleConns(10)
- SqlDB.SetMaxOpenConns(100)
- timer := time.NewTicker(time.Minute * 30)
- go func(x *xorm.Engine) {
- for range timer.C {
- err = x.Ping()
- if err != nil {
- log.Fatalf("db connect error: %#v\n", err.Error())
- }
- }
- }(SqlDB)
- SqlDB.ShowSQL(true)
- if config.GetServerCfg().Redis {
-
- redisCfg := config.GetRedisCfg()
- redisOpt := common.RedisConnOpt{
- Enable: true,
- Host: redisCfg.RedisHost,
- Port: int32(redisCfg.Port),
- Password: redisCfg.RedisPwd,
- Index: int32(redisCfg.RedisDB),
- TTL: 240,
- }
- RedisDB = redisTool.NewRedis(redisOpt)
- }
-
-
-
- }
- func GetBeanByIdDesc(bean interface{}) {
- _, err := SqlDB.NewSession().Desc("id").Limit(1).Get(bean)
- if err != nil {
- gotool.Logs.ErrorLog().Println(err)
- }
- }
|