group_dao.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. * @description: 管理员组数据相关
  3. * @Author: CP
  4. * @Date: 2021-06-01 15:04:06
  5. * @FilePath: \construction_management\dao\group_dao.go
  6. */
  7. package dao
  8. import (
  9. "github.com/go-xorm/xorm"
  10. "go.mod/models"
  11. )
  12. type GroupDao struct {
  13. engine *xorm.Engine
  14. }
  15. func NewGroupDao(engine *xorm.Engine) *GroupDao {
  16. return &GroupDao{
  17. engine: engine,
  18. }
  19. }
  20. // 新增
  21. func (d *GroupDao) Add(data *models.CmGroup) error {
  22. _, err := d.engine.Insert(data)
  23. return err
  24. }
  25. //更新
  26. func (d *GroupDao) Update(data *models.CmGroup, columns []string) error {
  27. _, err := d.engine.Id(data.Id).Cols(columns...).Update(data)
  28. return err
  29. }
  30. func (d *GroupDao) Get(id int) *models.CmGroup {
  31. data := &models.CmGroup{Id: id}
  32. ok, err := d.engine.Get(data)
  33. if ok && err == nil {
  34. return data
  35. } else {
  36. data.Id = 0
  37. return data
  38. }
  39. }
  40. //获得全部管理员数据
  41. func (d *GroupDao) GetAll() (data []models.CmGroup, total int64) {
  42. num, _ := d.engine.
  43. Count(&models.CmGroup{})
  44. datalist := make([]models.CmGroup, 0)
  45. err := d.engine.Asc("create_time").Find(&datalist)
  46. //Asc("displayorder").
  47. //Find(&datalist)
  48. if err != nil {
  49. return datalist, num
  50. } else {
  51. return datalist, num
  52. }
  53. }