package cli import ( "encoding/json" "fmt" "log" "opencatd-open/internal/store" "os" "strings" "github.com/google/uuid" "github.com/spf13/cobra" ) var LoadCmd = &cobra.Command{ Use: "load", Short: "import user.json -> db", Long: "\nimport user.json -> db", Run: func(cmd *cobra.Command, args []string) { db := store.DB var cont int64 if err := db.Model(&store.User{}).Count(&cont).Error; err != nil { fmt.Println(err) return } if cont == 0 { fmt.Println("创建管理员之后再操作") return } if _, err := os.Stat("./db/user.json"); os.IsNotExist(err) { log.Fatalln("404! user.json is not found.") return } file, err := os.Open("./db/user.json") if err != nil { fmt.Println("Error opening file:", err) return } defer file.Close() var usermap []map[string]string if err := json.NewDecoder(file).Decode(&usermap); err != nil { fmt.Println("解析文件失败:", err) return } for _, um := range usermap { name := um["username"] if name == "" { name = um["name"] } if name == "" { fmt.Println("获取不到数据") continue } _ = "sk-ot-" + strings.ReplaceAll(uuid.New().String(), "-", "") fmt.Printf("Import user: %s\n", name) } }, } var SaveCmd = &cobra.Command{ Use: "save", Short: "backup user info -> user.json", Run: func(cmd *cobra.Command, args []string) { }, }