reservation.go 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. package handler
  2. import (
  3. "context"
  4. "dashoo.cn/common_definition/comm_def"
  5. "dashoo.cn/micro_libary/micro_srv"
  6. "dashoo.cn/micro_libary/myerrors"
  7. "github.com/gogf/gf/frame/g"
  8. "github.com/gogf/gf/util/gvalid"
  9. "lims_reservation/model"
  10. "lims_reservation/service/reservation"
  11. )
  12. // Reservation 预约
  13. type Reservation struct{}
  14. // List 预约列表
  15. func (r *Reservation) List(ctx context.Context, req *model.ListReq, rsp *comm_def.CommonMsg) error {
  16. tenant, err := micro_srv.GetTenant(ctx)
  17. if err != nil {
  18. return err
  19. }
  20. g.Log().Info("Received Reservation.List request @ " + tenant)
  21. if req.Size == 0 {
  22. req.Size = DefaultPageNum
  23. }
  24. if req.Current < 0 {
  25. req.Current = DefaultPageCurrent
  26. }
  27. list, total, err := reservation.NewSrv(tenant).List(*req)
  28. _, err, code, msg := myerrors.CheckError(err)
  29. if err != nil {
  30. return err
  31. }
  32. rsp.Code = code
  33. rsp.Msg = msg
  34. rsp.Data = g.Map{"total": total, "list": list}
  35. return nil
  36. }
  37. // Add 添加预约
  38. func (r *Reservation) Add(ctx context.Context, req *model.ReservationReq, rsp *comm_def.CommonMsg) error {
  39. tenant, err := micro_srv.GetTenant(ctx)
  40. if err != nil {
  41. return err
  42. }
  43. g.Log().Info("Received Reservation.Add request @ " + tenant)
  44. // 校验
  45. validErr := gvalid.CheckStruct(ctx, req, nil)
  46. if err != nil {
  47. return validErr.Current()
  48. }
  49. // 赋值
  50. req.Status = 1
  51. // 获取用户信息
  52. userInfo, err := micro_srv.GetUserInfo(ctx)
  53. if err != nil {
  54. return err
  55. }
  56. err = reservation.NewSrv(tenant).Add(userInfo, *req)
  57. _, err, code, msg := myerrors.CheckError(err)
  58. if err != nil {
  59. return err
  60. }
  61. rsp.Code = code
  62. rsp.Msg = msg
  63. return nil
  64. }
  65. // Cancel 取消预约
  66. func (r *Reservation) Cancel(ctx context.Context, req *model.ReservationReq, rsp *comm_def.CommonMsg) error {
  67. tenant, err := micro_srv.GetTenant(ctx)
  68. if err != nil {
  69. return err
  70. }
  71. g.Log().Info("Received Reservation.Cancel request @ " + tenant)
  72. if req.Id == 0 {
  73. return NoParamsErr
  74. }
  75. // 获取用户信息
  76. userInfo, err := micro_srv.GetUserInfo(ctx)
  77. if err != nil {
  78. return err
  79. }
  80. err = reservation.NewSrv(tenant).Cancel(userInfo, req.Id)
  81. _, err, code, msg := myerrors.CheckError(err)
  82. if err != nil {
  83. return err
  84. }
  85. rsp.Code = code
  86. rsp.Msg = msg
  87. return nil
  88. }
  89. // OverviewList 预约概况
  90. func (r *Reservation) OverviewList(ctx context.Context, req *model.OverviewReq, rsp *comm_def.CommonMsg) error {
  91. tenant, err := micro_srv.GetTenant(ctx)
  92. if err != nil {
  93. return err
  94. }
  95. g.Log().Info("Received Reservation.OverviewList request @ " + tenant)
  96. // 校验
  97. if req.Date.String() == "" {
  98. return NoParamsErr
  99. }
  100. data, err := reservation.NewSrv(tenant).OverviewList(*req)
  101. _, err, code, msg := myerrors.CheckError(err)
  102. if err != nil {
  103. return err
  104. }
  105. rsp.Data = data
  106. rsp.Code = code
  107. rsp.Msg = msg
  108. return nil
  109. }
  110. // ReserveInfo 预约信息
  111. func (r *Reservation) ReserveInfo(ctx context.Context, req *model.ReserveReq, rsp *comm_def.CommonMsg) error {
  112. tenant, err := micro_srv.GetTenant(ctx)
  113. if err != nil {
  114. return err
  115. }
  116. g.Log().Info("Received Reservation.ReserveInfo request @ " + tenant)
  117. // 校验
  118. if req.Date.String() == "" {
  119. return NoParamsErr
  120. }
  121. if req.EntityId == 0 {
  122. return NoParamsErr
  123. }
  124. data, err := reservation.NewSrv(tenant).ReserveInfo(ctx, *req)
  125. _, err, code, msg := myerrors.CheckError(err)
  126. if err != nil {
  127. return err
  128. }
  129. rsp.Data = data
  130. rsp.Code = code
  131. rsp.Msg = msg
  132. return nil
  133. }