getProduceRecords.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package handler
  2. import (
  3. "errors"
  4. "fmt"
  5. "github.com/gin-gonic/gin"
  6. "github.com/sirupsen/logrus"
  7. "youngee_m_api/consts"
  8. "youngee_m_api/db"
  9. "youngee_m_api/model/http_model"
  10. "youngee_m_api/util"
  11. )
  12. func WrapGetProjectRecordsHandler(ctx *gin.Context) {
  13. handler := newGetProductRecordsHandler(ctx)
  14. BaseRun(handler)
  15. }
  16. type GetProductRecordsHandler struct {
  17. ctx *gin.Context
  18. req *http_model.GetProjectRecordsRequest
  19. resp *http_model.CommonResponse
  20. }
  21. func (g GetProductRecordsHandler) getContext() *gin.Context {
  22. return g.ctx
  23. }
  24. func (g GetProductRecordsHandler) getResponse() interface{} {
  25. return g.resp
  26. }
  27. func (g GetProductRecordsHandler) getRequest() interface{} {
  28. return g.req
  29. }
  30. func (g GetProductRecordsHandler) run() {
  31. data, err := db.GetProjectRecords(g.ctx, g.req.UserID, g.req.PageSize, g.req.PageNum)
  32. if err != nil {
  33. logrus.WithContext(g.ctx).Errorf("[GetProductRecordsHandler] error GetProjectRecords, err:%+v", err)
  34. util.HandlerPackErrorResp(g.resp, consts.ErrorInternal, consts.DefaultToast)
  35. return
  36. }
  37. g.resp.Data = data
  38. }
  39. func (g GetProductRecordsHandler) checkParam() error {
  40. var errs []error
  41. if g.req.PageNum < 0 || g.req.PageSize <= 0 {
  42. errs = append(errs, errors.New("page param error"))
  43. }
  44. g.req.PageNum--
  45. if len(errs) != 0 {
  46. return fmt.Errorf("check param errs:%+v", errs)
  47. }
  48. return nil
  49. }
  50. func newGetProductRecordsHandler(ctx *gin.Context) *GetProductRecordsHandler {
  51. return &GetProductRecordsHandler{
  52. ctx: ctx,
  53. req: http_model.NewGetProjectRecordsRequest(),
  54. resp: http_model.NewGetProjectRecordsResponse(),
  55. }
  56. }