getAllSelection.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package handler
  2. import (
  3. "errors"
  4. "fmt"
  5. "github.com/gin-gonic/gin"
  6. "youngee_b_api/model/http_model"
  7. )
  8. func WrapGetAllSelectionHandler(ctx *gin.Context) {
  9. handler := newGetAllSelectionHandler(ctx)
  10. baseRun(handler)
  11. }
  12. type AllSelectionHandler struct {
  13. ctx *gin.Context
  14. req *http_model.GetAllSelectionRequest
  15. resp *http_model.CommonResponse
  16. }
  17. func (a AllSelectionHandler) getContext() *gin.Context {
  18. return a.ctx
  19. }
  20. func (a AllSelectionHandler) getResponse() interface{} {
  21. return a.resp
  22. }
  23. func (a AllSelectionHandler) getRequest() interface{} {
  24. return a.req
  25. }
  26. func (a AllSelectionHandler) run() {
  27. }
  28. func (a AllSelectionHandler) checkParam() error {
  29. var errs []error
  30. if a.req.PageNum < 0 || a.req.PageSize <= 0 {
  31. errs = append(errs, errors.New("page param error"))
  32. }
  33. a.req.PageNum--
  34. if len(errs) != 0 {
  35. return fmt.Errorf("check param errs:%+v", errs)
  36. }
  37. return nil
  38. }
  39. func newGetAllSelectionHandler(ctx *gin.Context) *AllSelectionHandler {
  40. return &AllSelectionHandler{
  41. ctx: ctx,
  42. req: http_model.NewGetAllSelectionRequest(),
  43. resp: http_model.NewGetAllSelectionResponse(),
  44. }
  45. }