提交 eeef9be9 编写于 作者: S songzhibin97

fix:#796 补充

上级 1dbfd930
......@@ -197,6 +197,12 @@ func (autoCodeService *AutoCodeService) CreateTemp(autoCode system.AutoCodeStruc
for index := range dataList {
autoCodeService.addAutoMoveFile(&dataList[index])
}
// 判断目标文件是否都可以移动
for _, value := range dataList {
if utils.FileExist(value.autoMoveFilePath) {
return errors.New(fmt.Sprintf("目标文件已存在:%s\n", value.autoMoveFilePath))
}
}
for _, value := range dataList { // 移动文件
if err := utils.FileMove(value.autoCodePath, value.autoMoveFilePath); err != nil {
return err
......
......@@ -81,6 +81,11 @@ func (autoCodeHistoryService *AutoCodeHistoryService) RollBack(id uint) error {
// 迁移
nPath := filepath.Join(global.GVA_CONFIG.AutoCode.Root,
"rm_file", time.Now().Format("20060102"), filepath.Base(filepath.Dir(filepath.Dir(path))), filepath.Base(filepath.Dir(path)), filepath.Base(path))
// 判断目标文件是否存在
for utils.FileExist(nPath) {
fmt.Println("文件已存在:", nPath)
nPath += fmt.Sprintf("_%d", time.Now().Nanosecond())
}
err = utils.FileMove(path, nPath)
if err != nil {
fmt.Println(">>>>>>>>>>>>>>>>>>>", err)
......
package utils
import (
"errors"
"os"
"path/filepath"
"reflect"
......@@ -26,10 +25,6 @@ func FileMove(src string, dst string) (err error) {
if err != nil {
return err
}
_, err = os.Stat(dst)
if err == nil {
return errors.New("文件已存在")
}
var revoke = false
dir := filepath.Dir(dst)
Redirect:
......@@ -71,3 +66,9 @@ func TrimSpace(target interface{}) {
}
}
}
// FileExist 判断文件是否存在
func FileExist(path string) bool {
_, err := os.Lstat(path)
return !os.IsNotExist(err)
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册