dept.go 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package handler
  2. import (
  3. "context"
  4. "dashoo.cn/opms_libary/myerrors"
  5. "errors"
  6. "dashoo.cn/common_definition/comm_def"
  7. "github.com/gogf/gf/frame/g"
  8. "github.com/gogf/gf/util/gvalid"
  9. "dashoo.cn/micro/app/model"
  10. "dashoo.cn/micro/app/service"
  11. )
  12. type DeptHandler struct{}
  13. // GetList 获取列表
  14. func (h *DeptHandler) GetList(ctx context.Context, req *model.SysDeptSearchParams, rsp *comm_def.CommonMsg) error {
  15. deptService, err := service.NewDeptService(ctx)
  16. if err != nil {
  17. g.Log().Error(err)
  18. return errors.New("系统异常,请重新尝试")
  19. }
  20. list, err := deptService.GetList(req)
  21. if err != nil {
  22. return err
  23. }
  24. rsp.Data = list
  25. return nil
  26. }
  27. // GetEntityById 详情
  28. func (h *DeptHandler) GetEntityById(ctx context.Context, req *comm_def.IdReq, rsp *comm_def.CommonMsg) error {
  29. // 参数校验
  30. if req.Id == 0 {
  31. return myerrors.TipsError("请求参数不存在。")
  32. }
  33. deptService, err := service.NewDeptService(ctx)
  34. if err != nil {
  35. return err
  36. }
  37. entity, err := deptService.GetDeptById(int(req.Id))
  38. if err != nil {
  39. return err
  40. }
  41. rsp.Data = entity
  42. return nil
  43. }
  44. // Create 添加
  45. func (h *DeptHandler) Create(ctx context.Context, req *model.SysDeptReq, rsp *comm_def.CommonMsg) error {
  46. // 检查请求参数
  47. if v := gvalid.CheckStruct(ctx, req, nil); v != nil {
  48. return v
  49. }
  50. deptService, err := service.NewDeptService(ctx)
  51. if err != nil {
  52. return err
  53. }
  54. err = deptService.Create(req)
  55. return err
  56. }
  57. // UpdateById 更新
  58. func (h *DeptHandler) UpdateById(ctx context.Context, req *model.UpdateSysDeptReq, rsp *comm_def.CommonMsg) error {
  59. // 检查请求参数
  60. if v := gvalid.CheckStruct(ctx, req, nil); v != nil {
  61. return v
  62. }
  63. deptService, err := service.NewDeptService(ctx)
  64. if err != nil {
  65. return err
  66. }
  67. err = deptService.UpdateById(req)
  68. return err
  69. }
  70. // DeleteByIds 删除
  71. func (h *DeptHandler) DeleteByIds(ctx context.Context, req *comm_def.IdsReq, rsp *comm_def.CommonMsg) error {
  72. if len(req.Ids) == 0 {
  73. return myerrors.TipsError("请求参数不存在。")
  74. }
  75. deptService, err := service.NewDeptService(ctx)
  76. if err != nil {
  77. return err
  78. }
  79. err = deptService.DeleteByIds(int(req.Ids[0]))
  80. return err
  81. }
  82. // GetDeptTree 获取树
  83. func (h *DeptHandler) GetDeptTree(ctx context.Context, nullParams interface{}, rsp *comm_def.CommonMsg) error {
  84. deptService, err := service.NewDeptService(ctx)
  85. if err != nil {
  86. return err
  87. }
  88. //获取正常状态部门数据
  89. list, err := deptService.GetList(&model.SysDeptSearchParams{Status: "10"})
  90. if err != nil {
  91. return err
  92. }
  93. treeList := deptService.GetDeptListTree(0, list)
  94. rsp.Data = treeList
  95. return nil
  96. }