fix: 网元列表预设排序

This commit is contained in:
TsMask
2024-09-03 15:42:41 +08:00
parent 04390ce0dd
commit 2bbaaf7ccd

View File

@@ -2,7 +2,6 @@ package repository
import ( import (
"fmt" "fmt"
"sort"
"strings" "strings"
"time" "time"
@@ -82,29 +81,21 @@ func (r *NeInfoImpl) convertResultRows(rows []map[string]any) []model.NeInfo {
arr = append(arr, item) arr = append(arr, item)
} }
// 排序 // 创建优先级映射
sort.Slice(arr, func(i, j int) bool { priority := make(map[string]int)
// 前一个 for i, v := range neListSort {
after := arr[i] priority[v] = i
afterIndex := 0 }
for i, v := range neListSort { // 冒泡排序
if after.NeType == v { n := len(arr)
afterIndex = i for i := 0; i < n-1; i++ {
break for j := 0; j < n-i-1; j++ {
if priority[arr[j].NeType] > priority[arr[j+1].NeType] {
// 交换元素
arr[j], arr[j+1] = arr[j+1], arr[j]
} }
} }
// 后一个 }
befter := arr[j]
befterIndex := 0
for i, v := range neListSort {
if befter.NeType == v {
befterIndex = i
break
}
}
// 升序
return afterIndex < befterIndex
})
return arr return arr
} }
@@ -175,7 +166,7 @@ func (r *NeInfoImpl) SelectPage(query map[string]any) map[string]any {
params = append(params, pageSize) params = append(params, pageSize)
// 查询数据 // 查询数据
querySql := r.selectSql + whereSql + " order by ne_type asc, ne_id desc " + pageSql querySql := r.selectSql + whereSql + " order by ne_type asc, ne_id asc " + pageSql
results, err := datasource.RawDB("", querySql, params) results, err := datasource.RawDB("", querySql, params)
if err != nil { if err != nil {
logger.Errorf("query err => %v", err) logger.Errorf("query err => %v", err)
@@ -208,7 +199,7 @@ func (r *NeInfoImpl) SelectList(neInfo model.NeInfo) []model.NeInfo {
} }
// 查询数据 // 查询数据
querySql := r.selectSql + whereSql + " order by ne_type asc, ne_id desc " querySql := r.selectSql + whereSql + " order by ne_type asc, ne_id asc "
results, err := datasource.RawDB("", querySql, params) results, err := datasource.RawDB("", querySql, params)
if err != nil { if err != nil {
logger.Errorf("query err => %v", err) logger.Errorf("query err => %v", err)