123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- package handler
- import (
- "errors"
- "fmt"
- "time"
- "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/issue9/conv"
- "github.com/gin-gonic/gin"
- "github.com/sirupsen/logrus"
- )
- // WrapFullProjectListHandler
- // @BasePath /youngee/m/
- // SendCode godoc
- // @Summary ProjectList 商品列表
- // @Schemes
- // @Description 展示企业的商品列表
- // @Accept json
- // @Produce json
- // @Param Authorization header string true "登录TOKEN信息"
- // @Param req body http_model.FullProjectListRequest true "创建全部商品请求结构体"
- // @Success 200 {object} http_model.CommonResponse{data=http_model.FullProjectListData} "创建全部商品列表相应结构体"
- // @Router /product/list [post]
- 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--
- h.req.ProjectForm = util.IsNull(h.req.ProjectForm)
- if _, err := conv.Int64(h.req.ProjectForm); err != nil {
- errs = append(errs, err)
- }
- h.req.ProjectId = util.IsNull(h.req.ProjectId)
- if _, err := conv.Int64(h.req.ProjectId); err != nil {
- errs = append(errs, err)
- }
- //h.req.ProjectName = util.IsNull(h.req.ProjectName)
- h.req.ProjectStatus = util.IsNull(h.req.ProjectStatus)
- if _, err := conv.Int64(h.req.ProjectStatus); err != nil {
- errs = append(errs, err)
- }
- formatTime, _ := time.Parse("2006-01-02 15:04:05", h.req.ProjectUpdated)
- //fmt.Println(h.req.ProjectUpdated)
- h.req.ProjectUpdated = util.IsNull(h.req.ProjectUpdated)
- if _, err := conv.Int64(formatTime.Unix()); err != nil {
- errs = append(errs, err)
- }
- h.req.ProjectContentType = util.IsNull(h.req.ProjectContentType)
- if _, err := conv.Int64(h.req.ProjectContentType); err != nil {
- errs = append(errs, err)
- }
- h.req.ProjectPlatform = util.IsNull(h.req.ProjectPlatform)
- 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
- }
|