12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- package dao
- import (
- "github.com/druidcaesa/gotool"
- "ulink-admin/modules/system/models/model"
- "ulink-admin/modules/system/models/req"
- "ulink-admin/pkg/base"
- "ulink-admin/pkg/page"
- "xorm.io/xorm"
- )
- type ConfigDao struct {
- base.BaseDao
- }
- func (d ConfigDao) sql(session *xorm.Session) *xorm.Session {
- return session.Table("sys_config")
- }
- // GetConfigKey 根据键名查询参数配置信息
- func (d ConfigDao) GetConfigKey(param string) *model.SysConfig {
- config := model.SysConfig{}
- _, err := d.sql(base.GetSession().Session).Where("config_key = ?", param).Get(&config)
- if err != nil {
- gotool.Logs.ErrorLog().Println(err)
- return nil
- }
- return &config
- }
- // List 分页查询数据
- func (d ConfigDao) List(query *req.ConfigQuery) (*[]model.SysConfig, int64) {
- configs := make([]model.SysConfig, 0)
- session := d.sql(base.GetSession().Session)
- if gotool.StrUtils.HasNotEmpty(query.ConfigName) {
- session.And("config_name like concat('%', ?, '%')", query.ConfigName)
- }
- if gotool.StrUtils.HasNotEmpty(query.ConfigType) {
- session.And("config_type = ?", query.ConfigType)
- }
- if gotool.StrUtils.HasNotEmpty(query.ConfigKey) {
- session.And("config_key like concat('%', ?, '%')", query.ConfigKey)
- }
- if gotool.StrUtils.HasNotEmpty(query.BeginTime) {
- session.And("date_format(create_time,'%y%m%d') >= date_format(?,'%y%m%d')", query.BeginTime)
- }
- if gotool.StrUtils.HasNotEmpty(query.EndTime) {
- session.And("date_format(create_time,'%y%m%d') <= date_format(?,'%y%m%d')", query.EndTime)
- }
- total, err := session.Limit(query.PageSize, page.StartSize(query.PageNum, query.PageSize)).FindAndCount(&configs)
- if err != nil {
- gotool.Logs.ErrorLog().Println(err)
- return nil, 0
- }
- return &configs, total
- }
- // CheckConfigByIds 根据id集合查询
- func (d ConfigDao) CheckConfigByIds(list []int64) *[]model.SysConfig {
- configs := make([]model.SysConfig, 0)
- err := d.sql(base.GetSession().Session).In("id", list).Find(&configs)
- if err != nil {
- gotool.Logs.ErrorLog().Println(err)
- return nil
- }
- return &configs
- }
- // FindAll 查询所有数据
- func (d ConfigDao) FindAll() *[]model.SysConfig {
- configs := make([]model.SysConfig, 0)
- session := base.GetSession().Session
- err := session.Find(&configs)
- if err != nil {
- gotool.Logs.ErrorLog().Println(err)
- return nil
- }
- return &configs
- }
|