|
@@ -0,0 +1,82 @@
|
|
|
|
+package handler
|
|
|
|
+
|
|
|
|
+import (
|
|
|
|
+ "errors"
|
|
|
|
+ "fmt"
|
|
|
|
+ "github.com/issue9/conv"
|
|
|
|
+ "youngee_b_api/consts"
|
|
|
|
+ "youngee_b_api/middleware"
|
|
|
|
+ "youngee_b_api/model/http_model"
|
|
|
|
+ "youngee_b_api/pack"
|
|
|
|
+ "youngee_b_api/service"
|
|
|
|
+ "youngee_b_api/util"
|
|
|
|
+
|
|
|
|
+ "github.com/gin-gonic/gin"
|
|
|
|
+ "github.com/sirupsen/logrus"
|
|
|
|
+)
|
|
|
|
+
|
|
|
|
+func WrapFullProjectListHandler(ctx *gin.Context) {
|
|
|
|
+ handler := newFullProjectListHandler(ctx)
|
|
|
|
+ baseRun(handler)
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func newFullProjectListHandler(ctx *gin.Context) *FullProjectListHandler {
|
|
|
|
+ return &FullProjectListHandler{
|
|
|
|
+ req: http_model.NewFullProjectListRequest(),
|
|
|
|
+ resp: http_model.NewFullProjectListResponse(),
|
|
|
|
+ ctx: ctx,
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+type FullProjectListHandler struct {
|
|
|
|
+ req *http_model.FullProjectListRequest
|
|
|
|
+ resp *http_model.CommonResponse
|
|
|
|
+ ctx *gin.Context
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (h *FullProjectListHandler) getRequest() interface{} {
|
|
|
|
+ return h.req
|
|
|
|
+}
|
|
|
|
+func (h *FullProjectListHandler) getContext() *gin.Context {
|
|
|
|
+ return h.ctx
|
|
|
|
+}
|
|
|
|
+func (h *FullProjectListHandler) getResponse() interface{} {
|
|
|
|
+ return h.resp
|
|
|
|
+}
|
|
|
|
+func (h *FullProjectListHandler) run() {
|
|
|
|
+ enterpriseID := middleware.GetSessionAuth(h.ctx).EnterpriseID
|
|
|
|
+ condition := pack.HttpFullProjectRequestToCondition(h.req)
|
|
|
|
+ data, err := service.Project.GetFullProjectList(h.ctx, enterpriseID, h.req.PageSize, h.req.PageNum, condition)
|
|
|
|
+ if err != nil {
|
|
|
|
+ logrus.WithContext(h.ctx).Errorf("[FullProjectListHandler] error GetFullProjectList, err:%+v", err)
|
|
|
|
+ util.HandlerPackErrorResp(h.resp, consts.ErrorInternal, consts.DefaultToast)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ h.resp.Data = data
|
|
|
|
+}
|
|
|
|
+func (h *FullProjectListHandler) checkParam() error {
|
|
|
|
+ var errs []error
|
|
|
|
+ if h.req.PageNum <= 0 || h.req.PageSize <= 0 {
|
|
|
|
+ errs = append(errs, errors.New("page param error"))
|
|
|
|
+ }
|
|
|
|
+ h.req.PageNum++
|
|
|
|
+ if _, err := conv.Int64(h.req.ProjectForm); err != nil {
|
|
|
|
+ errs = append(errs, err)
|
|
|
|
+ }
|
|
|
|
+ if _, err := conv.Int64(h.req.ProjectStatus); err != nil {
|
|
|
|
+ errs = append(errs, err)
|
|
|
|
+ }
|
|
|
|
+ if _, err := conv.Int64(h.req.ProjectUpdated); err != nil {
|
|
|
|
+ errs = append(errs, err)
|
|
|
|
+ }
|
|
|
|
+ if _, err := conv.Int64(h.req.ProjectContentType); err != nil {
|
|
|
|
+ errs = append(errs, err)
|
|
|
|
+ }
|
|
|
|
+ if _, err := conv.Int64(h.req.ProjectPlatform); err != nil {
|
|
|
|
+ errs = append(errs, err)
|
|
|
|
+ }
|
|
|
|
+ if len(errs) != 0 {
|
|
|
|
+ return fmt.Errorf("check param errs:%+v", errs)
|
|
|
|
+ }
|
|
|
|
+ return nil
|
|
|
|
+}
|