package utils import ( "fmt" "io/ioutil" "os" "strconv" "github.com/astaxie/beego/logs" ) // 复制模版通用方法 func CopyExcelTemplate(uid int64, excelTemplateName string, excelExportName string) string { b, err := ioutil.ReadFile(excelTemplateName) //读文件 if err != nil { fmt.Println(err) } baseExcelExportDir := "./excelexport" if _, err := os.Stat(baseExcelExportDir); os.IsNotExist(err) { err := os.Mkdir(baseExcelExportDir, 0777) if err != nil { fmt.Println("创建目录失败") } else { fmt.Println("创建目录成功") } } else { fmt.Println("excelexport 目录存在") } userDir := baseExcelExportDir + "/" + strconv.FormatInt(uid, 10) if _, err := os.Stat(userDir); os.IsNotExist(err) { err := os.Mkdir(userDir, 0777) if err != nil { fmt.Println("创建用户目录失败") } else { fmt.Println("创建用户目录成功") } } else { fmt.Println("excelexport 用户目录存在") } subDir := userDir + "/" + GetUuid() if _, err := os.Stat(subDir); os.IsNotExist(err) { err := os.Mkdir(subDir, 0777) if err != nil { fmt.Println("创建uuid目录失败") } else { fmt.Println("创建uuid目录成功") } } else { fmt.Println("excelexport uuid目录存在") } exportfilename := subDir + "/" + excelExportName if _, err := os.Stat(exportfilename); os.IsNotExist(err) { logs.Debug("文件不存在") } else { logs.Debug("文件存在") os.Remove(exportfilename) } err = ioutil.WriteFile(exportfilename, b, 0644) //写文件 if err != nil { fmt.Println(err) } return exportfilename } // 在excelexport目录下生成唯一路径方法 func GeneralUnitFilePath(uid int64, zipName string) string { baseExcelExportDir := "./excelexport" if _, err := os.Stat(baseExcelExportDir); os.IsNotExist(err) { err := os.Mkdir(baseExcelExportDir, 0777) if err != nil { fmt.Println("创建目录失败") } else { fmt.Println("创建目录成功") } } else { fmt.Println("excelexport 目录存在") } userDir := baseExcelExportDir + "/" + strconv.FormatInt(uid, 10) if _, err := os.Stat(userDir); os.IsNotExist(err) { err := os.Mkdir(userDir, 0777) if err != nil { fmt.Println("创建用户目录失败") } else { fmt.Println("创建用户目录成功") } } else { fmt.Println("excelexport 用户目录存在") } subDir := userDir + "/" + GetUuid() if _, err := os.Stat(subDir); os.IsNotExist(err) { err := os.Mkdir(subDir, 0777) if err != nil { fmt.Println("创建uuid目录失败") } else { fmt.Println("创建uuid目录成功") } } else { fmt.Println("excelexport uuid目录存在") } zipFilePath := subDir + "/" + zipName return zipFilePath } // 复制模版通用方法 func CreatePreSaleWeekExcelFile(uid int64, excelExportName string) string { baseExcelExportDir := "./excelexport" if _, err := os.Stat(baseExcelExportDir); os.IsNotExist(err) { err := os.Mkdir(baseExcelExportDir, 0777) if err != nil { fmt.Println("创建目录失败") } else { fmt.Println("创建目录成功") } } else { fmt.Println("excelexport 目录存在") } userDir := baseExcelExportDir + "/" + strconv.FormatInt(uid, 10) if _, err := os.Stat(userDir); os.IsNotExist(err) { err := os.Mkdir(userDir, 0777) if err != nil { fmt.Println("创建用户目录失败") } else { fmt.Println("创建用户目录成功") } } else { fmt.Println("excelexport 用户目录存在") } subDir := userDir + "/" + GetUuid() if _, err := os.Stat(subDir); os.IsNotExist(err) { err := os.Mkdir(subDir, 0777) if err != nil { fmt.Println("创建uuid目录失败") } else { fmt.Println("创建uuid目录成功") } } else { fmt.Println("excelexport uuid目录存在") } exportfilename := subDir + "/" + excelExportName if _, err := os.Stat(exportfilename); os.IsNotExist(err) { logs.Debug("文件不存在") } else { logs.Debug("文件存在") os.Remove(exportfilename) } return exportfilename } // 创建文件夹,返回路径 func CreateDir(basePath string, subpath string) string { baseDir := "./" + basePath if _, err := os.Stat(basePath); os.IsNotExist(err) { err := os.Mkdir(basePath, 0777) if err != nil { fmt.Println("创建目录失败") } else { fmt.Println("创建目录成功") } } else { fmt.Println("baseDir 目录存在") } if subpath == "" { return baseDir } subDir := baseDir + "/" + subpath if _, err := os.Stat(subDir); os.IsNotExist(err) { err := os.Mkdir(subDir, 0777) if err != nil { fmt.Println("创建子目录失败") } else { fmt.Println("创建子目录成功") } } else { fmt.Println("subDir 目录存在") } return subDir } // 创建文件夹,返回路径 func CreateBaseDir(basePath string) string { baseDir := basePath if _, err := os.Stat(basePath); os.IsNotExist(err) { err := os.Mkdir(basePath, 0777) if err != nil { fmt.Println("创建目录失败") } else { fmt.Println("创建目录成功") } } else { fmt.Println("baseDir 目录存在") } return baseDir } // 验证文件是否存在 func ValiteFileExist(filePath string) bool { if _, err := os.Stat(filePath); os.IsNotExist(err) { logs.Debug("文件不存在") return false } else { logs.Debug("文件存在") return true } return false } // 验证文件夹是否存在 func ValiteDirExist(filePath string) bool { if _, err := os.Stat(filePath); os.IsNotExist(err) { logs.Debug("目录不存在") return false } else { fmt.Println("目录存在") return true } return false }