manager_dao.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. //用户名获得数据
  35. func (d *ManagerDao) GetUserName(userName string) *models.CmManager {
  36. data := &models.CmManager{Username: userName}
  37. //Get取到值后,会自动赋值到data中
  38. ok, err := d.engine.Get(data)
  39. if ok && err == nil {
  40. return data
  41. } else {
  42. data.Id = 0
  43. return data
  44. }
  45. }
  46. //获得全部管理员数据
  47. func (d *ManagerDao) GetAll() (data []models.CmManager, total int64) {
  48. num, _ := d.engine.
  49. Count(&models.CmManager{})
  50. datalist := make([]models.CmManager, 0)
  51. err := d.engine.Asc("create_time").Find(&datalist)
  52. //Asc("displayorder").
  53. //Find(&datalist)
  54. if err != nil {
  55. //log.Println
  56. return datalist, num
  57. } else {
  58. return datalist, num
  59. }
  60. }
  61. //获得总数
  62. func (d *ManagerDao) CountAll() int64 {
  63. num, err := d.engine.
  64. Count(&models.CmManager{})
  65. if err != nil {
  66. return 0
  67. } else {
  68. return num
  69. }
  70. }
  71. //创建
  72. func (d *ManagerDao) Create(data *models.CmManager) error {
  73. _, err := d.engine.Insert(data)
  74. return err
  75. }
  76. //更新
  77. func (d *ManagerDao) Update(data *models.CmManager, columns []string) error {
  78. _, err := d.engine.Id(data.Id).MustCols(columns...).Update(data)
  79. return err
  80. }
  81. func (d *ManagerDao) Delete(data *models.CmManager, columns []string) error {
  82. _, err := d.engine.Id(data.Id).MustCols(columns...).Update(data)
  83. return err
  84. }