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
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
|
|
}
|