package main import ( "log" "path/filepath" "sort" "strconv" ) const ( DbHost = "192.168.5.59" DbPort = 3306 DbUser = "root" DbPassswd = "root@1234" DbName = "omc_pt" configParamDir = "../config/param" configParamFile = "*" // 目录下全部更新 // configParamFile = "upf_param_config.yaml" // 单文件更新 ) func init() { } func main() { fileNameList, err := getDirFileNameList(configParamDir) if err != nil { log.Fatal(err) return } if configParamFile == "*" { for _, v := range fileNameList { params := parseData(filepath.Join(configParamDir, v)) if params == nil { return } saveData(params) } } else { params := parseData(filepath.Join(configParamDir, configParamFile)) if params == nil { return } saveData(params) } } // parseData 文件转map数据 func parseData(filePaht string) []map[string]string { data, err := parseStrToMap(filePaht) if err != nil { log.Printf("parseStrToMap => %s", err.Error()) return nil } params, err := parseParamConfig(data) if err != nil { log.Printf("parseParamConfig => %s", err.Error()) return nil } return params } // saveData 保存数据 func saveData(params []map[string]string) { // 定义排序函数 sort.Slice(params, func(i, j int) bool { paramSortI := params[i]["paramSort"] if len(paramSortI) == 0 || paramSortI == "" { paramSortI = "0" } paramSortJ := params[j]["paramSort"] if len(paramSortJ) == 0 || paramSortJ == "" { paramSortJ = "0" } // 将 age 字段转换为整数进行比较 si, _ := strconv.Atoi(paramSortI) sj, _ := strconv.Atoi(paramSortJ) return si < sj }) // 遍历插入 for _, v := range params { paramSort := v["paramSort"] if len(paramSort) == 0 || paramSort == "" { paramSort = "0" } neConfig := NeConfig{ NeType: v["neType"], ParamName: v["paramName"], ParamDisplay: v["paramDisplay"], ParamType: v["paramType"], ParamJson: v["paramJson"], ParamPerms: v["paramPerms"], ParamSort: paramSort, } neConfig.Save() log.Println(neConfig.ID, neConfig.NeType, neConfig.ParamDisplay) } }