package controllers import ( "hongze/hongze_api/models" "hongze/hongze_api/services" "hongze/hongze_api/utils" "rdluck_tools/paging" ) //首页 type HomeController struct { BaseAuthController } type HomeCommonController struct { BaseCommonController } // @Title 首页列表接口 // @Description 首页列表接口 // @Success 200 {object} models.HomeList // @router /list [get] func (this *HomeController) ListHome() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() user := this.User if user == nil { br.Msg = "请登录" br.ErrMsg = "请登录,用户信息为空" br.Ret = 408 return } list, err := services.HomeList(user.UserId, user.CompanyId) if err != nil { br.Msg = "获取数据失败" br.ErrMsg = "获取数据失败,Err:" + err.Error() return } for i := 0; i < len(list); i++ { item := list[i] if item.ClassifyName == "权益研报" { list[i].TitleType = "图说逻辑" } else { list[i].TitleType = "FICC" } } br.Ret = 200 br.Success = true br.Msg = "获取数据成功" br.Data = list } // @Title 首页列表接口 // @Description 首页列表接口 // @Success 200 {object} models.Banner // @router /banner [get] func (this *HomeController) ListBanner() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() list, err := models.GetHomeBannerList() if err != nil { br.Msg = "获取数据失败" br.ErrMsg = "获取数据失败,Err:" + err.Error() return } br.Ret = 200 br.Success = true br.Msg = "获取数据成功" br.Data = list } // @Title pc-首页列表接口 // @Description pc-首页列表接口 // @Param PageSize query int true "每页数据条数" // @Param CurrentIndex query int true "当前页页码,从1开始" // @Param ClassifyId query int true "分类id" // @Success 200 {object} models.PcListHomeResp // @router /pc/list [get] func (this *HomeCommonController) ListHome() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() authorization := this.Ctx.Input.Header("Authorization") pageSize, _ := this.GetInt("PageSize") currentIndex, _ := this.GetInt("CurrentIndex") var startSize int if pageSize <= 0 { pageSize = utils.PageSize20 } if currentIndex <= 0 { currentIndex = 1 } startSize = paging.StartIndex(currentIndex, pageSize) classifyId, _ := this.GetInt("ClassifyId") if classifyId <= 0 { br.Msg = "参数错误" br.ErrMsg = "参数错误" return } total, err := models.PcListHomeCount(classifyId) if err != nil { br.Msg = "获取数据失败" br.ErrMsg = "获取数据失败,Err:" + err.Error() return } list, err := models.PcListHome(classifyId, startSize, pageSize) if err != nil { br.Msg = "获取数据失败" br.ErrMsg = "获取数据失败,Err:" + err.Error() return } for i := 0; i < len(list); i++ { item := list[i] if item.ClassifyName == "权益研报" { list[i].ReportInfo.TitleType = "权益" } else { list[i].ReportInfo.TitleType = "FICC" } if authorization == "" { list[i].ReportInfo.VideoUrl = "" } } page := paging.GetPaging(currentIndex, pageSize, total) resp := new(models.PcListHomeResp) resp.Paging = page resp.List = list br.Ret = 200 br.Success = true br.Msg = "获取数据成功" br.Data = resp }