project_draft_list.go 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package handler
  2. import (
  3. "errors"
  4. "fmt"
  5. "time"
  6. "youngee_b_api/consts"
  7. "youngee_b_api/middleware"
  8. "youngee_b_api/model/http_model"
  9. "youngee_b_api/pack"
  10. "youngee_b_api/service"
  11. "youngee_b_api/util"
  12. "github.com/issue9/conv"
  13. "github.com/gin-gonic/gin"
  14. "github.com/sirupsen/logrus"
  15. )
  16. func WrapProjectDraftBoxListHandler(ctx *gin.Context) {
  17. handler := newProjectDraftListHandler(ctx)
  18. baseRun(handler)
  19. }
  20. func newProjectDraftListHandler(ctx *gin.Context) *ProjectDraftListHandler {
  21. return &ProjectDraftListHandler{
  22. req: http_model.NewProjectDraftListRequest(),
  23. resp: http_model.NewProjectDraftListResponse(),
  24. ctx: ctx,
  25. }
  26. }
  27. type ProjectDraftListHandler struct {
  28. req *http_model.ProjectDraftListRequest
  29. resp *http_model.CommonResponse
  30. ctx *gin.Context
  31. }
  32. func (h *ProjectDraftListHandler) getRequest() interface{} {
  33. return h.req
  34. }
  35. func (h *ProjectDraftListHandler) getContext() *gin.Context {
  36. return h.ctx
  37. }
  38. func (h *ProjectDraftListHandler) getResponse() interface{} {
  39. return h.resp
  40. }
  41. func (h *ProjectDraftListHandler) run() {
  42. enterpriseID := middleware.GetSessionAuth(h.ctx).EnterpriseID
  43. condition := pack.HttpProjectDraftRequestToCondition(h.req)
  44. data, err := service.Project.GetProjectDraftList(h.ctx, enterpriseID, h.req.PageSize, h.req.PageNum, condition)
  45. if err != nil {
  46. logrus.WithContext(h.ctx).Errorf("[ProjectDraftListHandler] error GetProjectDraftList, err:%+v", err)
  47. util.HandlerPackErrorResp(h.resp, consts.ErrorInternal, consts.DefaultToast)
  48. return
  49. }
  50. h.resp.Data = data
  51. }
  52. func (h *ProjectDraftListHandler) checkParam() error {
  53. var errs []error
  54. if h.req.PageNum < 0 || h.req.PageSize <= 0 {
  55. errs = append(errs, errors.New("page param error"))
  56. }
  57. h.req.PageNum--
  58. h.req.ProjectForm = util.IsNull(h.req.ProjectForm)
  59. if _, err := conv.Int64(h.req.ProjectForm); err != nil {
  60. errs = append(errs, err)
  61. }
  62. // h.req.ProjectId = util.IsNull(h.req.ProjectId)
  63. // if _, err := conv.Int64(h.req.ProjectId); err != nil {
  64. // errs = append(errs, err)
  65. // }
  66. //h.req.ProjectName = util.IsNull(h.req.ProjectName)
  67. h.req.ProjectStatus = util.IsNull(h.req.ProjectStatus)
  68. if _, err := conv.Int64(h.req.ProjectStatus); err != nil {
  69. errs = append(errs, err)
  70. }
  71. formatTime, _ := time.Parse("2006-01-02 15:04:05", h.req.ProjectUpdated)
  72. //fmt.Println(h.req.ProjectUpdated)
  73. h.req.ProjectUpdated = util.IsNull(h.req.ProjectUpdated)
  74. if _, err := conv.Int64(formatTime.Unix()); err != nil {
  75. errs = append(errs, err)
  76. }
  77. h.req.ProjectContentType = util.IsNull(h.req.ProjectContentType)
  78. if _, err := conv.Int64(h.req.ProjectContentType); err != nil {
  79. errs = append(errs, err)
  80. }
  81. h.req.ProjectPlatform = util.IsNull(h.req.ProjectPlatform)
  82. if _, err := conv.Int64(h.req.ProjectPlatform); err != nil {
  83. errs = append(errs, err)
  84. }
  85. if len(errs) != 0 {
  86. return fmt.Errorf("check param errs:%+v", errs)
  87. }
  88. return nil
  89. }