manager_dao.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. /*
  2. * @description:管理员数据库操作
  3. * @Author: CP
  4. * @Date: 2020-08-20 15:55:37
  5. * @FilePath: \construction_management\dao\manager_dao.go
  6. */
  7. package dao
  8. import (
  9. "github.com/go-xorm/xorm"
  10. "go.mod/models"
  11. )
  12. //数据库操作引擎
  13. type ManagerDao struct {
  14. engine *xorm.Engine
  15. }
  16. //获得一个DAO对象
  17. func NewManagerDao(engine *xorm.Engine) *ManagerDao {
  18. return &ManagerDao{
  19. engine: engine,
  20. }
  21. }
  22. //id获得数据
  23. func (d *ManagerDao) Get(id int) *models.CmManager {
  24. data := &models.CmManager{Id: id}
  25. //Get取到值后,会自动赋值到data中
  26. ok, err := d.engine.Get(data)
  27. if ok && err == nil {
  28. return data
  29. } else {
  30. data.Id = 0
  31. return data
  32. }
  33. }
  34. // 根据管理员组ID获得管理员
  35. func (d *ManagerDao) GetGroupId(groupId int) []models.CmManager {
  36. datalist := make([]models.CmManager, 0)
  37. _ = d.engine.Where("group_id=? ", groupId).Find(&datalist)
  38. return datalist
  39. }
  40. //用户名获得数据
  41. func (d *ManagerDao) GetUserName(userName string) *models.CmManager {
  42. data := &models.CmManager{Username: userName}
  43. //Get取到值后,会自动赋值到data中
  44. ok, err := d.engine.Get(data)
  45. if ok && err == nil {
  46. return data
  47. } else {
  48. data.Id = 0
  49. return data
  50. }
  51. }
  52. //获得全部管理员数据
  53. func (d *ManagerDao) GetAll() (data []models.CmManager, total int64) {
  54. num, _ := d.engine.
  55. Count(&models.CmManager{})
  56. datalist := make([]models.CmManager, 0)
  57. err := d.engine.Asc("create_time").Find(&datalist)
  58. //Asc("displayorder").
  59. //Find(&datalist)
  60. if err != nil {
  61. //log.Println
  62. return datalist, num
  63. } else {
  64. return datalist, num
  65. }
  66. }
  67. //获得总数
  68. func (d *ManagerDao) CountAll() int64 {
  69. num, err := d.engine.
  70. Count(&models.CmManager{})
  71. if err != nil {
  72. return 0
  73. } else {
  74. return num
  75. }
  76. }
  77. //创建
  78. func (d *ManagerDao) Create(data *models.CmManager) error {
  79. _, err := d.engine.Insert(data)
  80. return err
  81. }
  82. //更新
  83. func (d *ManagerDao) Update(data *models.CmManager, columns []string) error {
  84. _, err := d.engine.Id(data.Id).Cols(columns...).Update(data)
  85. return err
  86. }
  87. func (d *ManagerDao) Delete(data *models.CmManager, columns []string) error {
  88. _, err := d.engine.Id(data.Id).MustCols(columns...).Update(data)
  89. return err
  90. }