1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- package controllers
- import (
- "eta/eta_mini_api/models"
- "eta/eta_mini_api/models/request"
- "eta/eta_mini_api/services"
- "eta/eta_mini_api/utils"
- "fmt"
- )
- type ClassifyController struct {
- BaseAuthController
- }
- // Tree
- // @Title 分类树
- // @Description 分类树
- // @Param request body request.ClassifyTreeForm true "type json string"
- // @Success 200 {object} models.ReportDetailResp
- // @router /tree [get]
- func (this *ClassifyController) Tree() {
- br := new(models.BaseResponse).Init()
- defer func() {
- this.Data["json"] = br
- this.ServeJSON()
- }()
- params := new(request.ClassifyTreeForm)
- if e := this.ParseForm(params); e != nil {
- br.Msg = "参数解析异常"
- br.ErrMsg = fmt.Sprintf("参数解析异常, %v", e)
- return
- }
- classifyOb := new(models.MiniClassify)
- cond := fmt.Sprintf(` AND %s = 1`, classifyOb.Cols().Enabled)
- pars := make([]interface{}, 0)
- if params.DiamondDistrict > 0 {
- cond += fmt.Sprintf(` AND %s = ?`, classifyOb.Cols().DiamondDistrict)
- pars = append(pars, params.DiamondDistrict)
- }
- if params.Frequency > 0 {
- cond += fmt.Sprintf(` AND %s = ?`, classifyOb.Cols().Frequency)
- pars = append(pars, params.Frequency)
- }
- if params.HotComment > 0 {
- cond += fmt.Sprintf(` AND %s = ?`, classifyOb.Cols().HotComment)
- pars = append(pars, params.HotComment)
- }
- if params.KeyPoint > 0 {
- cond += fmt.Sprintf(` AND %s = ?`, classifyOb.Cols().KeyPoint)
- pars = append(pars, params.KeyPoint)
- }
- list, e := classifyOb.GetItemsByCondition(cond, pars, []string{}, fmt.Sprintf("%s ASC, %s ASC", classifyOb.Cols().Sort, classifyOb.Cols().ParentId))
- if e != nil {
- br.Msg = "获取失败"
- br.ErrMsg = fmt.Sprintf("获取分类失败, %v", e)
- return
- }
- classifies := make([]*models.MiniClassifyItem, 0)
- for _, v := range list {
- classifies = append(classifies, v.Format2Item())
- }
- var rootId int
- if utils.RunMode == "debug" {
- rootId = 659
- }
- classifies = services.GetClassifyTreeRecursive(classifies, rootId)
- br.Data = classifies
- br.Ret = 200
- br.Msg = "获取成功"
- br.Success = true
- }
|