|
@@ -330,12 +330,12 @@ 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)
|
|
|
{
|
|
@@ -357,8 +357,8 @@ func (this *BaseFromThsHfController) List() {
|
|
|
br.Msg = "获取成功"
|
|
|
return
|
|
|
}
|
|
|
- //cond += fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().BaseFromThsHfClassifyId, utils.GetOrmInReplace(len(classifyIds)))
|
|
|
- //pars = append(pars, classifyIds)
|
|
|
+ cond += fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().BaseFromThsHfClassifyId, utils.GetOrmInReplace(len(classifyIds)))
|
|
|
+ pars = append(pars, classifyIds)
|
|
|
|
|
|
//// 不包含子分类
|
|
|
//if len(classifyIds) > 0 && !params.IncludeChild {
|
|
@@ -409,11 +409,18 @@ func (this *BaseFromThsHfController) List() {
|
|
|
}
|
|
|
|
|
|
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)
|
|
|
- //}
|
|
|
+ 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 {
|
|
|
+ page := paging.GetPaging(params.CurrentIndex, params.PageSize, 0)
|
|
|
+ resp.Paging = page
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ return
|
|
|
+ }
|
|
|
frequencyArr = strings.Split(params.Frequency, ",")
|
|
|
}
|
|
|
if params.SysAdminId != "" {
|
|
@@ -425,17 +432,43 @@ func (this *BaseFromThsHfController) List() {
|
|
|
adminIds = append(adminIds, t)
|
|
|
}
|
|
|
}
|
|
|
- //if len(adminIds) > 0 {
|
|
|
- // cond += fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().SysUserId, utils.GetOrmInReplace(len(adminIds)))
|
|
|
- // pars = append(pars, adminIds)
|
|
|
- //}
|
|
|
+ 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
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ return
|
|
|
+ }
|
|
|
}
|
|
|
params.Keywords = strings.TrimSpace(params.Keywords)
|
|
|
- //if params.Keywords != "" {
|
|
|
- // cond += fmt.Sprintf(" AND (%s LIKE ? OR %s LIKE ?)", indexOb.Cols().IndexCode, indexOb.Cols().IndexName)
|
|
|
- // kw := fmt.Sprint("%", params.Keywords, "%")
|
|
|
- // pars = append(pars, kw, kw)
|
|
|
- //}
|
|
|
+
|
|
|
+ // 关键词空格拆分
|
|
|
+ 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)
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
// 排序
|
|
|
if params.SortField > 0 && params.SortType > 0 {
|
|
@@ -445,27 +478,27 @@ func (this *BaseFromThsHfController) List() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 先ES搜索出IndexIds, 再去查mysql(别问为啥要这么干,因为强行要es分词搜=_=!)
|
|
|
- _, 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)
|
|
|
+ // 先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)
|