package controllers import ( "hongze/hongze_cygx/models" "hongze/hongze_cygx/services" "hongze/hongze_cygx/utils" "html" "rdluck_tools/paging" "strconv" "strings" ) //策略 type TacticsController struct { BaseAuthController } type TacticsCommonController struct { BaseCommonController } // @Title 策略列表接口 // @Description 获取策略列表接口 // @Param PageSize query int true "每页数据条数" // @Param CurrentIndex query int true "当前页页码,从1开始" // @Param CategoryId query int true "分类ID" // @Success 200 {object} models.TacticsListResp // @router /list [get] func (this *TacticsController) List() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() pageSize, _ := this.GetInt("PageSize") currentIndex, _ := this.GetInt("CurrentIndex") categoryId, _ := this.GetInt("CategoryId") var startSize int if pageSize <= 0 { pageSize = utils.PageSize20 } if currentIndex <= 0 { currentIndex = 1 } startSize = paging.StartIndex(currentIndex, pageSize) var condition string var listTacticsSrt string var pars []interface{} var total int resp := new(models.TacticsListResp) page := paging.GetPaging(currentIndex, pageSize, total) if categoryId < 1 { listTactics, err := models.GetReportMappingStrategyAll() if err != nil && err.Error() != utils.ErrNoRow() { br.Msg = "获取信息失败" br.ErrMsg = "获取分类权限信息失败,Err:" + err.Error() return } for _, v := range listTactics { listTacticsSrt = listTacticsSrt + strconv.Itoa(v.CategoryId) + `,` } listTacticsSrt = strings.TrimRight(listTacticsSrt, ",") condition = ` AND category_id IN(` + listTacticsSrt + `)` } else { condition = ` AND category_id IN(` + strconv.Itoa(categoryId) + `)` } total, err := models.GetHomeCount(condition, pars) if err != nil { br.Msg = "获取信息失败" br.Msg = "获取帖子总数失败,Err:" + err.Error() return } page = paging.GetPaging(currentIndex, pageSize, total) list, err := models.GetReportTacticsList(condition, pars, startSize, pageSize) if err != nil { br.Msg = "获取信息失败" br.Msg = "获取帖子数据失败,Err:" + err.Error() return } lenList := len(list) for i := 0; i < lenList; i++ { item := list[i] list[i].Body, _ = services.GetReportContentTextSub(item.Body) list[i].Abstract = html.UnescapeString(item.Abstract) } resp.List = list resp.Paging = page br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = resp }