department.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package admin
  2. import (
  3. "errors"
  4. "server/dao"
  5. )
  6. type DepartmentService struct {
  7. }
  8. func (ds *DepartmentService) QueryAllDep() ([]dao.Department, error) {
  9. deps, err := dao.QueryAllDep()
  10. if err != nil {
  11. return nil, err
  12. }
  13. for i, dep := range deps {
  14. users, err := dao.QueryUsersByDepId(dep.Id)
  15. if err != nil {
  16. return nil, err
  17. }
  18. deps[i].Users = users
  19. }
  20. return deps, nil
  21. }
  22. func (ds *DepartmentService) QueryDepByStart() ([]dao.Department, error) {
  23. deps, err := dao.QueryDepByStart()
  24. if err != nil {
  25. return nil, err
  26. }
  27. return deps, nil
  28. }
  29. func (ds *DepartmentService) CreateDep(department dao.Department) error {
  30. return department.CreateDep()
  31. }
  32. func (ds *DepartmentService) UpdateDep(department dao.Department) error {
  33. return department.UpdateDep()
  34. }
  35. func (ds *DepartmentService) UpdateDepStatus(depId int, isStart bool) error {
  36. return dao.UpdateDepStatus(depId, isStart)
  37. }
  38. func (ds *DepartmentService) UpdateUserDep(userIds []int, depId int) error {
  39. return dao.UpdateUserDep(userIds, depId)
  40. }
  41. func (ds *DepartmentService) DeleteDep(depId int) error {
  42. users, err := dao.QueryUsersByDepId(depId)
  43. if err != nil {
  44. return err
  45. }
  46. if len(users) > 0 {
  47. return errors.New("当前部门下存在用户")
  48. }
  49. return dao.DeleteDep(depId)
  50. }