sys_group.go 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package eta
  2. import (
  3. "eta_gn/eta_bridge/global"
  4. "fmt"
  5. "strings"
  6. "time"
  7. )
  8. type SysGroup struct {
  9. GroupId int `gorm:"primaryKey;column:group_id;type:int(11);not null" json:"group_id"`
  10. DepartmentId int `gorm:"index:idx_department_id;column:department_id;type:int(11)" json:"department_id"` // 部门id
  11. GroupName string `gorm:"column:group_name;type:varchar(255);default:''" json:"group_name"` // 分组名称
  12. CreateTime time.Time `gorm:"column:create_time;type:datetime" json:"create_time"`
  13. ParentId int `gorm:"column:parent_id;type:int(11);default:0" json:"parent_id"`
  14. Sort int `gorm:"column:sort;type:int(10);not null;default:0" json:"sort"` // 排序
  15. OutID string `gorm:"column:out_id" json:"out_id"` // 外部id
  16. }
  17. func (m *SysGroup) TableName() string {
  18. return "sys_group"
  19. }
  20. func (m *SysGroup) Create() (err error) {
  21. err = global.MYSQL["hz_eta"].Create(m).Error
  22. return
  23. }
  24. func (m *SysGroup) Update(cols []string) (err error) {
  25. err = global.MYSQL["hz_eta"].Model(m).Select(cols).Updates(m).Error
  26. return
  27. }
  28. func GetSysGroupByGroupId(groupId int) (item *SysGroup, err error) {
  29. err = global.MYSQL["hz_eta"].Where("group_id = ?", groupId).First(&item).Error
  30. return
  31. }
  32. func GetAllSysGroup() (items []*SysGroup, err error) {
  33. sql := `SELECT * FROM sys_group `
  34. err = global.MYSQL["hz_eta"].Raw(sql).Find(&items).Error
  35. return
  36. }
  37. func DeleteGroupByGroupId(groupId int) (err error) {
  38. sql := `DELETE FROM sys_group WHERE group_id = ? LIMIT 1`
  39. err = global.MYSQL["hz_eta"].Exec(sql, groupId).Error
  40. if err != nil {
  41. return
  42. }
  43. sql = `UPDATE admin SET group_id = 0, group_name = '' WHERE group_id = ? `
  44. err = global.MYSQL["hz_eta"].Exec(sql, groupId).Error
  45. return
  46. }
  47. func (m *SysGroup) GetItemByCondition(condition string, pars []interface{}) (item *SysGroup, err error) {
  48. sql := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 %s LIMIT 1`, m.TableName(), condition)
  49. err = global.MYSQL["hz_eta"].Raw(sql, pars...).First(&item).Error
  50. return
  51. }
  52. func (m *SysGroup) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*SysGroup, err error) {
  53. fields := strings.Join(fieldArr, ",")
  54. if len(fieldArr) == 0 {
  55. fields = `*`
  56. }
  57. order := ``
  58. if orderRule != "" {
  59. order = ` ORDER BY ` + orderRule
  60. }
  61. sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
  62. err = global.MYSQL["hz_eta"].Raw(sql, pars...).Find(&items).Error
  63. return
  64. }
  65. func GetSysGroupByOutId(outId string) (item *SysGroup, err error) {
  66. err = global.MYSQL["hz_eta"].Where("out_id = ?", outId).First(&item).Error
  67. return
  68. }