sys_department.go 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package eta
  2. import (
  3. "eta_gn/eta_bridge/global"
  4. "fmt"
  5. "strings"
  6. "time"
  7. )
  8. type SysDepartment struct {
  9. DepartmentId int `gorm:"primaryKey;column:department_id;type:int(11);not null" json:"department_id"`
  10. DepartmentName string `gorm:"unique;column:department_name;type:varchar(255);default:''" json:"department_name"` // 部门名称
  11. OutID string `gorm:"column:out_id" json:"out_id"` // 外部id
  12. CreateTime time.Time `gorm:"column:create_time;type:datetime" json:"create_time"` // 创建时间
  13. Sort int `gorm:"column:sort;type:int(10);not null;default:0" json:"sort"` // 排序
  14. }
  15. func (m *SysDepartment) TableName() string {
  16. return "sys_department"
  17. }
  18. func (m *SysDepartment) Create() (err error) {
  19. err = global.MYSQL["hz_eta"].Create(m).Error
  20. return
  21. }
  22. func (m *SysDepartment) Update(cols []string) (err error) {
  23. err = global.MYSQL["hz_eta"].Model(m).Select(cols).Updates(m).Error
  24. return
  25. }
  26. func GetDepartmentById(departmentId int) (item *SysDepartment, err error) {
  27. err = global.MYSQL["hz_eta"].Where("department_id = ?", departmentId).First(&item).Error
  28. return
  29. }
  30. func GetAllDepartment() (items []*SysDepartment, err error) {
  31. sql := `SELECT * FROM sys_department `
  32. err = global.MYSQL["hz_eta"].Raw(sql).Find(&items).Error
  33. return
  34. }
  35. func DeleteDepartmentById(departmentId int) (err error) {
  36. sql := `DELETE FROM sys_department WHERE department_id = ? LIMIT 1`
  37. err = global.MYSQL["hz_eta"].Exec(sql, departmentId).Error
  38. return
  39. }
  40. func (m *SysDepartment) GetItemByCondition(condition string, pars []interface{}) (item *SysDepartment, err error) {
  41. sql := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 %s LIMIT 1`, m.TableName(), condition)
  42. err = global.MYSQL["hz_eta"].Raw(sql, pars...).First(&item).Error
  43. return
  44. }
  45. func (m *SysDepartment) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*SysDepartment, err error) {
  46. fields := strings.Join(fieldArr, ",")
  47. if len(fieldArr) == 0 {
  48. fields = `*`
  49. }
  50. order := ``
  51. if orderRule != "" {
  52. order = ` ORDER BY ` + orderRule
  53. }
  54. sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
  55. err = global.MYSQL["hz_eta"].Raw(sql, pars...).Find(&items).Error
  56. return
  57. }
  58. func GetSysDepartmentByOutId(outId string) (item *SysDepartment, err error) {
  59. err = global.MYSQL["hz_eta"].Where("out_id = ?", outId).First(&item).Error
  60. return
  61. }