config_dao.go 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package dao
  2. import (
  3. "github.com/druidcaesa/gotool"
  4. "ulink-admin/modules/system/models/model"
  5. "ulink-admin/modules/system/models/req"
  6. "ulink-admin/pkg/base"
  7. "ulink-admin/pkg/page"
  8. "xorm.io/xorm"
  9. )
  10. type ConfigDao struct {
  11. base.BaseDao
  12. }
  13. func (d ConfigDao) sql(session *xorm.Session) *xorm.Session {
  14. return session.Table("sys_config")
  15. }
  16. // GetConfigKey 根据键名查询参数配置信息
  17. func (d ConfigDao) GetConfigKey(param string) *model.SysConfig {
  18. config := model.SysConfig{}
  19. _, err := d.sql(base.GetSession().Session).Where("config_key = ?", param).Get(&config)
  20. if err != nil {
  21. gotool.Logs.ErrorLog().Println(err)
  22. return nil
  23. }
  24. return &config
  25. }
  26. // List 分页查询数据
  27. func (d ConfigDao) List(query *req.ConfigQuery) (*[]model.SysConfig, int64) {
  28. configs := make([]model.SysConfig, 0)
  29. session := d.sql(base.GetSession().Session)
  30. if gotool.StrUtils.HasNotEmpty(query.ConfigName) {
  31. session.And("config_name like concat('%', ?, '%')", query.ConfigName)
  32. }
  33. if gotool.StrUtils.HasNotEmpty(query.ConfigType) {
  34. session.And("config_type = ?", query.ConfigType)
  35. }
  36. if gotool.StrUtils.HasNotEmpty(query.ConfigKey) {
  37. session.And("config_key like concat('%', ?, '%')", query.ConfigKey)
  38. }
  39. if gotool.StrUtils.HasNotEmpty(query.BeginTime) {
  40. session.And("date_format(create_time,'%y%m%d') >= date_format(?,'%y%m%d')", query.BeginTime)
  41. }
  42. if gotool.StrUtils.HasNotEmpty(query.EndTime) {
  43. session.And("date_format(create_time,'%y%m%d') <= date_format(?,'%y%m%d')", query.EndTime)
  44. }
  45. total, err := session.Limit(query.PageSize, page.StartSize(query.PageNum, query.PageSize)).FindAndCount(&configs)
  46. if err != nil {
  47. gotool.Logs.ErrorLog().Println(err)
  48. return nil, 0
  49. }
  50. return &configs, total
  51. }
  52. // CheckConfigByIds 根据id集合查询
  53. func (d ConfigDao) CheckConfigByIds(list []int64) *[]model.SysConfig {
  54. configs := make([]model.SysConfig, 0)
  55. err := d.sql(base.GetSession().Session).In("id", list).Find(&configs)
  56. if err != nil {
  57. gotool.Logs.ErrorLog().Println(err)
  58. return nil
  59. }
  60. return &configs
  61. }
  62. // FindAll 查询所有数据
  63. func (d ConfigDao) FindAll() *[]model.SysConfig {
  64. configs := make([]model.SysConfig, 0)
  65. session := base.GetSession().Session
  66. err := session.Find(&configs)
  67. if err != nil {
  68. gotool.Logs.ErrorLog().Println(err)
  69. return nil
  70. }
  71. return &configs
  72. }