group_dao.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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. "errors"
  10. "github.com/go-xorm/xorm"
  11. "go.mod/models"
  12. )
  13. type GroupDao struct {
  14. engine *xorm.Engine
  15. }
  16. func NewGroupDao(engine *xorm.Engine) *GroupDao {
  17. return &GroupDao{
  18. engine: engine,
  19. }
  20. }
  21. // 新增
  22. func (d *GroupDao) Add(data *models.CmGroup) error {
  23. _, err := d.engine.Insert(data)
  24. return err
  25. }
  26. //更新
  27. func (d *GroupDao) Update(data *models.CmGroup, columns []string) error {
  28. _, err := d.engine.Id(data.Id).Cols(columns...).Update(data)
  29. return err
  30. }
  31. func (d *GroupDao) Get(id int) *models.CmGroup {
  32. data := &models.CmGroup{Id: id}
  33. ok, err := d.engine.Get(data)
  34. if ok && err == nil {
  35. return data
  36. } else {
  37. data.Id = 0
  38. return data
  39. }
  40. }
  41. func (d *GroupDao) GetByName(name string) *models.CmGroup {
  42. data := &models.CmGroup{Name: name}
  43. ok, err := d.engine.Get(data)
  44. if ok && err == nil {
  45. return data
  46. } else {
  47. data.Id = 0
  48. return data
  49. }
  50. }
  51. //获得全部管理员数据
  52. func (d *GroupDao) GetAll() (data []models.CmGroup, total int64) {
  53. num, _ := d.engine.
  54. Count(&models.CmGroup{})
  55. datalist := make([]models.CmGroup, 0)
  56. err := d.engine.Asc("create_time").Find(&datalist)
  57. //Asc("displayorder").
  58. //Find(&datalist)
  59. if err != nil {
  60. return datalist, num
  61. } else {
  62. return datalist, num
  63. }
  64. }
  65. func (d *GroupDao) Delete(data *models.CmGroup) error {
  66. _, err := d.engine.Where("id = ? ", data.Id).Delete(data)
  67. if err != nil {
  68. return errors.New("删除到账号失败")
  69. }
  70. return nil
  71. }