You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

218 lines
5.4 KiB
Go

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
}