|
@@ -298,6 +298,7 @@ func (this *BaseFromThsHfController) List() {
|
|
|
br.ErrMsg = fmt.Sprintf("参数有误, SortType: %d", params.SortType)
|
|
|
return
|
|
|
}
|
|
|
+ params.Keywords = strings.TrimSpace(params.Keywords)
|
|
|
resp := new(data_manage.ThsHfIndexPageListResp)
|
|
|
resp.List = make([]*data_manage.BaseFromThsHfIndexItem, 0)
|
|
|
|
|
@@ -330,19 +331,18 @@ func (this *BaseFromThsHfController) List() {
|
|
|
|
|
|
// 筛选项
|
|
|
var (
|
|
|
- cond string
|
|
|
- pars []interface{}
|
|
|
- listOrder string
|
|
|
- classifyIds []int
|
|
|
- adminIds []int
|
|
|
- //frequencyArr []string
|
|
|
+ cond string
|
|
|
+ pars []interface{}
|
|
|
+ listOrder string
|
|
|
+ classifyIds []int
|
|
|
+ adminIds []int
|
|
|
+ frequencyArr []string
|
|
|
)
|
|
|
indexOb := new(data_manage.BaseFromThsHfIndex)
|
|
|
{
|
|
|
// 分类
|
|
|
if params.ClassifyId != "" {
|
|
|
classifyIdArr := strings.Split(params.ClassifyId, ",")
|
|
|
- //classifyIds := make([]int, 0)
|
|
|
for _, v := range classifyIdArr {
|
|
|
t, _ := strconv.Atoi(v)
|
|
|
if t > 0 {
|
|
@@ -359,61 +359,11 @@ func (this *BaseFromThsHfController) List() {
|
|
|
}
|
|
|
cond += fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().BaseFromThsHfClassifyId, utils.GetOrmInReplace(len(classifyIds)))
|
|
|
pars = append(pars, classifyIds)
|
|
|
-
|
|
|
- //// 不包含子分类
|
|
|
- //if len(classifyIds) > 0 && !params.IncludeChild {
|
|
|
- // cond += fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().BaseFromThsHfClassifyId, utils.GetOrmInReplace(len(classifyIds)))
|
|
|
- // pars = append(pars, classifyIds)
|
|
|
- //}
|
|
|
- //
|
|
|
- //// 包含子分类
|
|
|
- //if len(classifyIds) > 0 && params.IncludeChild {
|
|
|
- // queryClassifyIds := make([]int, 0)
|
|
|
- // queryClassifyExist := make(map[int]bool)
|
|
|
- //
|
|
|
- // for _, v := range classifyIds {
|
|
|
- // // 遍历所有分类从LevelPath中找含有查询分类ID的...=_=!
|
|
|
- // for _, cv := range classifies {
|
|
|
- // if queryClassifyExist[cv.BaseFromThsHfClassifyId] {
|
|
|
- // continue
|
|
|
- // }
|
|
|
- // if cv.LevelPath == "" {
|
|
|
- // continue
|
|
|
- // }
|
|
|
- // strArr := strings.Split(cv.LevelPath, ",")
|
|
|
- // if len(strArr) == 0 {
|
|
|
- // continue
|
|
|
- // }
|
|
|
- // for _, sv := range strArr {
|
|
|
- // tv, _ := strconv.Atoi(sv)
|
|
|
- // if tv == v {
|
|
|
- // queryClassifyIds = append(queryClassifyIds, cv.BaseFromThsHfClassifyId)
|
|
|
- // queryClassifyExist[cv.BaseFromThsHfClassifyId] = true
|
|
|
- // break
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
- //
|
|
|
- // if len(queryClassifyIds) == 0 {
|
|
|
- // page := paging.GetPaging(params.CurrentIndex, params.PageSize, 0)
|
|
|
- // resp.Paging = page
|
|
|
- // br.Ret = 200
|
|
|
- // br.Success = true
|
|
|
- // br.Msg = "获取成功"
|
|
|
- // return
|
|
|
- // }
|
|
|
- // cond += fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().BaseFromThsHfClassifyId, utils.GetOrmInReplace(len(queryClassifyIds)))
|
|
|
- // pars = append(pars, queryClassifyIds)
|
|
|
- //}
|
|
|
}
|
|
|
|
|
|
if params.Frequency != "" {
|
|
|
- frequencyArr := strings.Split(params.Frequency, ",")
|
|
|
- if len(frequencyArr) > 0 {
|
|
|
- cond += fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().Frequency, utils.GetOrmInReplace(len(frequencyArr)))
|
|
|
- pars = append(pars, frequencyArr)
|
|
|
- } else {
|
|
|
+ frequencyArr = strings.Split(params.Frequency, ",")
|
|
|
+ if len(frequencyArr) == 0 {
|
|
|
page := paging.GetPaging(params.CurrentIndex, params.PageSize, 0)
|
|
|
resp.Paging = page
|
|
|
br.Ret = 200
|
|
@@ -421,11 +371,11 @@ func (this *BaseFromThsHfController) List() {
|
|
|
br.Msg = "获取成功"
|
|
|
return
|
|
|
}
|
|
|
- frequencyArr = strings.Split(params.Frequency, ",")
|
|
|
+ cond += fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().Frequency, utils.GetOrmInReplace(len(frequencyArr)))
|
|
|
+ pars = append(pars, frequencyArr)
|
|
|
}
|
|
|
if params.SysAdminId != "" {
|
|
|
adminIdArr := strings.Split(params.SysAdminId, ",")
|
|
|
- //adminIds := make([]int, 0)
|
|
|
for _, v := range adminIdArr {
|
|
|
t, _ := strconv.Atoi(v)
|
|
|
if t > 0 {
|
|
@@ -433,9 +383,6 @@ func (this *BaseFromThsHfController) List() {
|
|
|
}
|
|
|
}
|
|
|
if len(adminIds) > 0 {
|
|
|
- cond += fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().SysUserId, utils.GetOrmInReplace(len(adminIds)))
|
|
|
- pars = append(pars, adminIds)
|
|
|
- } else {
|
|
|
page := paging.GetPaging(params.CurrentIndex, params.PageSize, 0)
|
|
|
resp.Paging = page
|
|
|
br.Ret = 200
|
|
@@ -443,31 +390,53 @@ func (this *BaseFromThsHfController) List() {
|
|
|
br.Msg = "获取成功"
|
|
|
return
|
|
|
}
|
|
|
+ cond += fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().SysUserId, utils.GetOrmInReplace(len(adminIds)))
|
|
|
+ pars = append(pars, adminIds)
|
|
|
}
|
|
|
- params.Keywords = strings.TrimSpace(params.Keywords)
|
|
|
|
|
|
// 关键词空格拆分
|
|
|
if params.Keywords != "" {
|
|
|
- indexCodeCol := indexOb.Cols().IndexCode
|
|
|
- indexNameCol := indexOb.Cols().IndexName
|
|
|
- keywordArr := strings.Split(params.Keywords, " ")
|
|
|
- if len(keywordArr) > 1 {
|
|
|
- sliceArr := make([]string, 0)
|
|
|
- sliceArr = append(sliceArr, fmt.Sprintf(` %s LIKE ? OR %s LIKE ? `, indexCodeCol, indexNameCol))
|
|
|
- pars = utils.GetLikeKeywordPars(pars, params.Keywords, 2)
|
|
|
-
|
|
|
- for _, v := range keywordArr {
|
|
|
- if v == ` ` || v == `` {
|
|
|
- continue
|
|
|
- }
|
|
|
- sliceArr = append(sliceArr, fmt.Sprintf(` %s LIKE ? OR %s LIKE ? `, indexCodeCol, indexNameCol))
|
|
|
- pars = utils.GetLikeKeywordPars(pars, v, 2)
|
|
|
- }
|
|
|
- cond += ` AND (` + strings.Join(sliceArr, " OR ") + `)`
|
|
|
- } else {
|
|
|
- cond += fmt.Sprintf(` AND (%s LIKE ? OR %s LIKE ?)`, indexCodeCol, indexNameCol)
|
|
|
- pars = utils.GetLikeKeywordPars(pars, params.Keywords, 2)
|
|
|
+ //indexCodeCol := indexOb.Cols().IndexCode
|
|
|
+ //indexNameCol := indexOb.Cols().IndexName
|
|
|
+ //keywordArr := strings.Split(params.Keywords, " ")
|
|
|
+ //if len(keywordArr) > 1 {
|
|
|
+ // sliceArr := make([]string, 0)
|
|
|
+ // sliceArr = append(sliceArr, fmt.Sprintf(` %s LIKE ? OR %s LIKE ? `, indexCodeCol, indexNameCol))
|
|
|
+ // pars = utils.GetLikeKeywordPars(pars, params.Keywords, 2)
|
|
|
+ // for _, v := range keywordArr {
|
|
|
+ // if v == ` ` || v == `` {
|
|
|
+ // continue
|
|
|
+ // }
|
|
|
+ // sliceArr = append(sliceArr, fmt.Sprintf(` %s LIKE ? OR %s LIKE ? `, indexCodeCol, indexNameCol))
|
|
|
+ // pars = utils.GetLikeKeywordPars(pars, v, 2)
|
|
|
+ // }
|
|
|
+ // cond += ` AND (` + strings.Join(sliceArr, " OR ") + `)`
|
|
|
+ //} else {
|
|
|
+ // cond += fmt.Sprintf(` AND (%s LIKE ? OR %s LIKE ?)`, indexCodeCol, indexNameCol)
|
|
|
+ // pars = utils.GetLikeKeywordPars(pars, params.Keywords, 2)
|
|
|
+ //}
|
|
|
+
|
|
|
+ // ES关键词搜索
|
|
|
+ _, list, e := elastic.SearchDataSourceIndex(utils.EsDataSourceIndexName, params.Keywords, utils.DATA_SOURCE_THS, utils.DATA_SUB_SOURCE_HIGH_FREQUENCY, []int{}, []int{}, []string{}, startSize, params.PageSize)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = fmt.Sprintf("ES-搜索高频数据指标失败, %v", e)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(list) == 0 {
|
|
|
+ page := paging.GetPaging(params.CurrentIndex, params.PageSize, 0)
|
|
|
+ resp.Paging = page
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var indexIds []int
|
|
|
+ for _, v := range list {
|
|
|
+ indexIds = append(indexIds, v.PrimaryId)
|
|
|
}
|
|
|
+ cond += fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().PrimaryId, utils.GetOrmInReplace(len(indexIds)))
|
|
|
+ pars = append(pars, indexIds)
|
|
|
}
|
|
|
|
|
|
// 排序
|
|
@@ -478,28 +447,6 @@ func (this *BaseFromThsHfController) List() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 先ES搜索出IndexIds, 再去查mysql
|
|
|
- //_, list, e := elastic.SearchDataSourceIndex(utils.EsDataSourceIndexName, params.Keywords, utils.DATA_SOURCE_THS, utils.DATA_SUB_SOURCE_HIGH_FREQUENCY, classifyIds, adminIds, frequencyArr, startSize, params.PageSize)
|
|
|
- //if e != nil {
|
|
|
- // br.Msg = "获取失败"
|
|
|
- // br.ErrMsg = fmt.Sprintf("搜索表格失败, %v", e)
|
|
|
- // return
|
|
|
- //}
|
|
|
- //if len(list) == 0 {
|
|
|
- // page := paging.GetPaging(params.CurrentIndex, params.PageSize, 0)
|
|
|
- // resp.Paging = page
|
|
|
- // br.Ret = 200
|
|
|
- // br.Success = true
|
|
|
- // br.Msg = "获取成功"
|
|
|
- // return
|
|
|
- //}
|
|
|
- //var indexIds []int
|
|
|
- //for _, v := range list {
|
|
|
- // indexIds = append(indexIds, v.PrimaryId)
|
|
|
- //}
|
|
|
- //cond += fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().PrimaryId, utils.GetOrmInReplace(len(indexIds)))
|
|
|
- //pars = append(pars, indexIds)
|
|
|
-
|
|
|
// 列表总计
|
|
|
total, e := indexOb.GetCountByCondition(cond, pars)
|
|
|
if e != nil {
|