Browse Source

feat:完善回滚逻辑,如果勾选api也会创建对应信息

songzhibin97 3 năm trước cách đây
mục cha
commit
a37513def2
1 tập tin đã thay đổi với 34 bổ sung29 xóa
  1. 34 29
      server/service/sys_auto_code.go

+ 34 - 29
server/service/sys_auto_code.go

@@ -127,6 +127,13 @@ func CreateTemp(autoCode model.AutoCodeStruct, ids ...uint) (err error) {
 			return
 		}
 	}()
+	bf := strings.Builder{}
+	idBf := strings.Builder{}
+	injectionCodeMeta := strings.Builder{}
+	for _, id := range ids {
+		idBf.WriteString(strconv.Itoa(int(id)))
+		idBf.WriteString(";")
+	}
 	if autoCode.AutoMoveFile { // 判断是否需要自动转移
 		for index, _ := range dataList {
 			addAutoMoveFile(&dataList[index])
@@ -148,53 +155,51 @@ func CreateTemp(autoCode model.AutoCodeStruct, ids ...uint) (err error) {
 		if err != nil {
 			return err
 		}
-		injectionCodeMeta := strings.Builder{}
+
 		injectionCodeMeta.WriteString(fmt.Sprintf("%s@%s@%s", initializeGormFilePath, "MysqlTables", "model."+autoCode.StructName+"{},"))
 		injectionCodeMeta.WriteString(";")
 		injectionCodeMeta.WriteString(fmt.Sprintf("%s@%s@%s", initializeRouterFilePath, "Routers", "router.Init"+autoCode.StructName+"Router(PrivateGroup)"))
 
 		// 保存生成信息
-		bf := strings.Builder{}
 		for _, data := range dataList {
 			if len(data.autoMoveFilePath) != 0 {
 				bf.WriteString(data.autoMoveFilePath)
 				bf.WriteString(";")
 			}
 		}
-		idBf := strings.Builder{}
-		for _, id := range ids {
-			idBf.WriteString(strconv.Itoa(int(id)))
-			idBf.WriteString(";")
-		}
 
-		if autoCode.TableName != "" {
-			err = CreateAutoCodeHistory(bf.String(),
-				injectionCodeMeta.String(),
-				autoCode.TableName,
-				idBf.String(),
-			)
-		} else {
-			err = CreateAutoCodeHistory(bf.String(),
-				injectionCodeMeta.String(),
-				autoCode.StructName,
-				idBf.String(),
-			)
+		if global.GVA_CONFIG.AutoCode.TransferRestart {
+			go func() {
+				_ = utils.Reload()
+			}()
 		}
-		if err != nil {
-			return err
-		}
-		//if global.GVA_CONFIG.AutoCode.TransferRestart {
-		//	go func() {
-		//		_ = utils.Reload()
-		//	}()
-		//}
-		return errors.New("创建代码成功并移动文件成功")
+		//return errors.New("创建代码成功并移动文件成功")
 	} else { // 打包
-		if err := utils.ZipFiles("./ginvueadmin.zip", fileList, ".", "."); err != nil {
+		if err = utils.ZipFiles("./ginvueadmin.zip", fileList, ".", "."); err != nil {
 			return err
 		}
 	}
+	if autoCode.TableName != "" {
+		err = CreateAutoCodeHistory(bf.String(),
+			injectionCodeMeta.String(),
+			autoCode.TableName,
+			idBf.String(),
+		)
+	} else {
+		err = CreateAutoCodeHistory(bf.String(),
+			injectionCodeMeta.String(),
+			autoCode.StructName,
+			idBf.String(),
+		)
+	}
+	if err != nil {
+		return err
+	}
+	if autoCode.AutoMoveFile {
+		return errors.New("创建代码成功并移动文件成功")
+	}
 	return nil
+
 }
 
 //@author: [piexlmax](https://github.com/piexlmax)