| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 | package baseimport (	"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")// X 全局DBvar (	SqlDB   *xorm.Engine	RedisDB *redisTool.RedisClient)func init() {	var err error	//配置mysql数据库	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 {		//初始化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)	}	//配置redis结束	//缓存初始化数据	//saveCache()}func GetBeanByIdDesc(bean interface{}) {	_, err := SqlDB.NewSession().Desc("id").Limit(1).Get(bean)	if err != nil {		gotool.Logs.ErrorLog().Println(err)	}}// 初始化缓存数据/*func saveCache() {	initDict()	initConfig()}func initDict() {	//查询字典类型数据	dictTypeDao := new(DictTypeDao)	typeAll := dictTypeDao.FindAll()	//所有字典数据	d := new(DictDataDao)	listData := d.GetDiceDataAll()	m := new(model.SysDictData)	for _, dictType := range typeAll {		dictData := make([]model.SysDictData, 0)		for _, data := range *listData {			if dictType.DictType == data.DictType {				dictData = append(dictData, data)			}		}		RedisDB.SET(dictType.DictType, m.MarshalDictList(dictData))	}}func initConfig() {	//查询配置数据存入到缓存中	configDao := new(ConfigDao)	configSession := configDao.sql(SqlDB.NewSession())	configs := make([]*model.SysConfig, 0)	err := configSession.Find(&configs)	if err != nil {		gotool.Logs.ErrorLog().Println(err)		return	}	m2 := new(model.SysConfig)	for _, sysConfig := range configs {		RedisDB.SET(sysConfig.ConfigKey, m2.Marshal(*sysConfig))	}}*/
 |