sys_department.go 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. package system
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. type SysDepartmentAddReq struct {
  7. DepartmentName string `description:"部门名称"`
  8. }
  9. type SysDepartment struct {
  10. DepartmentId int `orm:"column(department_id);pk" description:"部门Id"`
  11. DepartmentName string `description:"部门名称"`
  12. CreateTime time.Time `description:"创建时间"`
  13. }
  14. func GetSysDepartmentCount(departmentName string) (count int, err error) {
  15. sql := `SELECT COUNT(1) AS count FROM sys_department WHERE department_name=? `
  16. o := orm.NewOrm()
  17. err = o.Raw(sql, departmentName).QueryRow(&count)
  18. return
  19. }
  20. func AddSysDepartment(item *SysDepartment) (lastId int64, err error) {
  21. o := orm.NewOrm()
  22. lastId, err = o.Insert(item)
  23. return
  24. }
  25. type SysDepartmentEditReq struct {
  26. DepartmentId int `description:"部门Id"`
  27. DepartmentName string `description:"部门名称"`
  28. }
  29. func GetSysDepartmentById(departmentId int) (item *SysDepartment, err error) {
  30. sql := `SELECT * FROM sys_department WHERE department_id=? `
  31. o := orm.NewOrm()
  32. err = o.Raw(sql, departmentId).QueryRow(&item)
  33. return
  34. }
  35. func GetSysDepartmentByName(departmentName string) (item *SysDepartment, err error) {
  36. sql := `SELECT * FROM sys_department WHERE department_name=? `
  37. o := orm.NewOrm()
  38. err = o.Raw(sql, departmentName).QueryRow(&item)
  39. return
  40. }
  41. func ModifySysDepartment(departmentName string, departmentId int) (err error) {
  42. o := orm.NewOrm()
  43. to, err := o.Begin()
  44. if err != nil {
  45. return
  46. }
  47. defer func() {
  48. if err != nil {
  49. _ = to.Rollback()
  50. } else {
  51. _ = to.Commit()
  52. }
  53. }()
  54. sql := `UPDATE sys_department SET department_name=? WHERE department_id=? `
  55. _, err = to.Raw(sql, departmentName, departmentId).Exec()
  56. if err != nil {
  57. return
  58. }
  59. sql = `UPDATE admin SET department_name=? WHERE department_id=? `
  60. _, err = to.Raw(sql, departmentName, departmentId).Exec()
  61. return
  62. }
  63. type SysDepartmentDeleteReq struct {
  64. DepartmentId int `description:"部门Id"`
  65. }
  66. func DeleteSysDepartment(departmentId int) (err error) {
  67. sql := `DELETE FROM sys_department WHERE department_id=? `
  68. o := orm.NewOrm()
  69. _, err = o.Raw(sql, departmentId).Exec()
  70. return
  71. }
  72. type SysDepartmentList struct {
  73. DepartmentId int `orm:"column(department_id);pk" description:"部门Id"`
  74. DepartmentName string `description:"部门名称"`
  75. CreateTime time.Time `description:"创建时间"`
  76. Child []*SysGroupList `description:"分组"`
  77. IsDepartment bool `description:"true:部门,false:分组"`
  78. }
  79. func GetDepartmentList() (items []*SysDepartmentList, err error) {
  80. o := orm.NewOrm()
  81. sql := `SELECT * FROM sys_department ORDER BY create_time ASC `
  82. _, err = o.Raw(sql).QueryRows(&items)
  83. return
  84. }
  85. // GetDepartmentListByIds 根据部门id集合获取部门列表信息
  86. func GetDepartmentListByIds(departmentIds string) (items []*SysDepartmentList, err error) {
  87. o := orm.NewOrm()
  88. sql := `SELECT * FROM sys_department where 1 = 1 `
  89. if departmentIds != "" {
  90. sql += `and department_id in(` + departmentIds + `) `
  91. }
  92. sql += ` ORDER BY create_time ASC `
  93. _, err = o.Raw(sql).QueryRows(&items)
  94. return
  95. }
  96. type SysDepartmentListResp struct {
  97. List []*SysDepartmentList
  98. }
  99. func GetSysDepartmentAll() (item []*SysDepartment, err error) {
  100. sql := `SELECT * FROM sys_department ORDER BY department_id ASC `
  101. o := orm.NewOrm()
  102. _, err = o.Raw(sql).QueryRows(&item)
  103. return
  104. }