package controllers import ( "hongze/hongze_cygx/models" "hongze/hongze_cygx/services" "hongze/hongze_cygx/utils" "rdluck_tools/paging" ) type HomeController struct { BaseCommonController } // @Title 首页列表接口 // @Description 首页列表接口 // @Param PageSize query int true "每页数据条数" // @Param CurrentIndex query int true "当前页页码,从1开始" // @Param ChartPermissionId query int true "品类id,最新传0" // @Success 200 {object} models.HomeListResp // @router /list [get] func (this *HomeController) ListHome() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() pageSize, _ := this.GetInt("PageSize") currentIndex, _ := this.GetInt("CurrentIndex") chartPermissionId, _ := this.GetInt("ChartPermissionId") var startSize int if pageSize <= 0 { pageSize = utils.PageSize20 } if currentIndex <= 0 { currentIndex = 1 } startSize = paging.StartIndex(currentIndex, pageSize) var condition string var pars []interface{} var total int resp := new(models.HomeListResp) page := paging.GetPaging(currentIndex, pageSize, total) if chartPermissionId > 0 { categoryId, err := models.GetCategoryId(chartPermissionId) if err != nil && err.Error() != utils.ErrNoRow() { br.Msg = "获取信息失败" br.ErrMsg = "获取分类权限信息失败,Err:" + err.Error() return } page = paging.GetPaging(currentIndex, pageSize, total) if categoryId == "" { list := make([]*models.HomeArticle, 0) resp.List = list resp.Paging = page br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = resp return } condition = ` AND category_id IN(` + categoryId + `)` } total, err := models.GetHomeCount(condition, pars) if err != nil { br.Msg = "获取信息失败" br.Msg = "获取帖子总数失败,Err:" + err.Error() return } list, err := models.GetHomeList(condition, pars, startSize, pageSize) if err != nil { br.Msg = "获取信息失败" br.Msg = "获取帖子数据失败,Err:" + err.Error() return } lenList := len(list) for i := 0; i < lenList; i++ { list[i].Body, _ = services.GetReportContentTextSub(list[i].Body) } resp.List = list resp.Paging = page br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = resp }