1
0
mirror of https://github.com/ManyakRus/crud_generator.git synced 2025-10-31 00:17:48 +02:00

сделал notifier без ошибок

This commit is contained in:
Nikitin Aleksandr
2024-06-07 16:09:45 +03:00
parent 0e946fec1c
commit 1fc18a1ad9
2 changed files with 43 additions and 36 deletions

View File

@@ -264,6 +264,7 @@ func ReplacePrimaryKeyOtvetID1(Text string, Table1 *types.Table) string {
Otvet := Text
ColumnNamePK, ColumnTypeGoPK := FindPrimaryKeyNameTypeGo(Table1)
ColumnPK := FindPrimaryKeyColumn(Table1)
//заменим ID-Alias на ID
TableName := Table1.Name
@@ -308,6 +309,15 @@ func ReplacePrimaryKeyOtvetID1(Text string, Table1 *types.Table) string {
Otvet = strings.ReplaceAll(Otvet, "AliasFromInt(ID)", "ID")
}
Value, GolangCode := ConvertProtobufTypeToGolangType(Table1, ColumnPK, "Request.")
if GolangCode == "" {
TextNew := "\t" + ColumnPK.NameGo + " := " + Value + "\n"
Otvet = strings.ReplaceAll(Otvet, "\tID := Request.ID\n", TextNew)
} else {
TextNew := "\t" + GolangCode + "\n"
Otvet = strings.ReplaceAll(Otvet, "\tID := Request.ID\n", TextNew)
}
return Otvet
}
@@ -1841,19 +1851,17 @@ func ConvertGolangTypeToProtobufType(Table1 *types.Table, Column1 *types.Column,
// ConvertProtobufTypeToGolangType - возвращает имя переменной + имя колонки, преобразованное в тип golang из protobuf
func ConvertProtobufTypeToGolangType(Table1 *types.Table, Column1 *types.Column, VariableName string) (VariableColumn string, GolangCode string) {
VariableColumn = VariableName + Column1.NameGo
RequestColumnName := FindRequestColumnName(Table1, Column1)
VariableColumn = VariableName + RequestColumnName
//GolangCode := ""
TableName := Table1.Name
IDName := Column1.Name
RequestColumnName := Column1.NameGo
RequestColumnName = FindRequestColumnName(Table1, Column1)
//alias в Int64
TextConvert, ok := types.MapConvertID[TableName+"."+IDName]
if ok == true {
VariableColumn = TextConvert + "(" + VariableName + Column1.NameGo + ")"
VariableColumn = TextConvert + "(" + VariableName + RequestColumnName + ")"
return VariableColumn, GolangCode
}
@@ -1861,7 +1869,7 @@ func ConvertProtobufTypeToGolangType(Table1 *types.Table, Column1 *types.Column,
switch Column1.TypeGo {
case "time.Time":
{
VariableColumn = VariableName + Column1.NameGo + ".AsTime()"
VariableColumn = VariableName + RequestColumnName + ".AsTime()"
return VariableColumn, GolangCode
}
case "uuid.UUID":
@@ -1875,28 +1883,6 @@ func ConvertProtobufTypeToGolangType(Table1 *types.Table, Column1 *types.Column,
return VariableColumn, GolangCode
}
}
//if Column1.TypeGo == "time.Time" {
// VariableColumn = VariableName + Column1.NameGo + ".AsTime()"
// return VariableColumn
//}
////преобразуем alias в обычный тип, и дату в timestamp
//switch Column1.TypeGo {
//case "time.Time":
// VariableColumn = "timestamppb.New(" + VariableName + Column1.NameGo + ")"
//case "string":
// VariableColumn = "string(" + VariableName + Column1.NameGo + ")"
//case "int64":
// VariableColumn = "int64(" + VariableName + Column1.NameGo + ")"
//case "int32":
// VariableColumn = "int32(" + VariableName + Column1.NameGo + ")"
//case "bool":
// VariableColumn = "bool(" + VariableName + Column1.NameGo + ")"
//case "float32":
// VariableColumn = "float32(" + VariableName + Column1.NameGo + ")"
//case "float64":
// VariableColumn = "float64(" + VariableName + Column1.NameGo + ")"
//}
return VariableColumn, GolangCode
}
@@ -2653,3 +2639,17 @@ func ReplaceCacheRemove_ManyPK(Text string, Table1 *types.Table) string {
return Otvet
}
// IsPrimaryKeyColumn - проверяет является ли колонка PrimaryKey
func IsPrimaryKeyColumn(Table1 *types.Table, Column *types.Column) bool {
Otvet := false
for _, Column1 := range Table1.MapColumns {
if Column1.IsPrimaryKey == true && Column1 == Column {
Otvet = true
break
}
}
return Otvet
}

View File

@@ -127,11 +127,16 @@ func CreateFiles(Table1 *types.Table) error {
CrudTableURL := create_files.FindCrudTableURL(TableName)
TextGRPCServer = create_files.AddImport(TextGRPCServer, CrudTableURL)
if Table1.PrimaryKeyColumnsCount == 1 {
TextGRPCServer = ReplaceIDRequestID_1PK(TextGRPCServer, Table1)
}
//замена ID на PrimaryKey
//замена "m.ID = AliasFromInt(ID)"
TextGRPCServer = create_files.ReplacePrimaryKeyM_ID(TextGRPCServer, Table1)
//замена "ID := Request.ID"
TextGRPCServer = create_files.ReplacePrimaryKeyOtvetID(TextGRPCServer, Table1)
//замена RequestId{}
TextGRPCServer = create_files.ReplaceTextRequestID_PrimaryKey(TextGRPCServer, Table1)
@@ -522,7 +527,8 @@ func FindTextUpdateEveryColumn1(TextGRPCServerUpdateFunc string, Table1 *types.T
_, _, TextRequestFieldGolang, TextGolangLine := create_files.FindTextProtobufRequest_ID_Type(Table1, Column1, "Request.")
//if Table1.PrimaryKeyColumnsCount > 1 {
TextRequest := create_files.FindTextProtobufRequest_Column_ManyPK(Table1, Column1)
ColumnPK := create_files.FindPrimaryKeyColumn(Table1)
//ColumnPK := create_files.FindPrimaryKeyColumn(Table1)
IsPrimaryKey := create_files.IsPrimaryKeyColumn(Table1, Column1)
//замена ID на PrimaryKey
Otvet = create_files.ReplacePrimaryKeyM_ID(Otvet, Table1)
@@ -532,7 +538,7 @@ func FindTextUpdateEveryColumn1(TextGRPCServerUpdateFunc string, Table1 *types.T
Otvet = strings.ReplaceAll(Otvet, config.Settings.TEXT_TEMPLATE_MODEL+"_Update", ModelName+"_"+FuncName)
Otvet = strings.ReplaceAll(Otvet, config.Settings.TEXT_TEMPLATE_MODEL, ModelName)
Otvet = strings.ReplaceAll(Otvet, config.Settings.TEXT_TEMPLATE_TABLENAME, Table1.Name)
if Column1 == ColumnPK {
if IsPrimaryKey == true {
Otvet = strings.ReplaceAll(Otvet, "\tColumnName := Request.FieldName\n", "")
} else if TextGolangLine != "" {
Otvet = strings.ReplaceAll(Otvet, "ColumnName := Request.FieldName", TextGolangLine)
@@ -780,16 +786,17 @@ func CreateFilesCache(Table1 *types.Table) error {
}
TextGRPCServer = create_files.ReplacePrimaryKeyOtvetID(TextGRPCServer, Table1)
TextGRPCServer = create_files.ReplacePrimaryKeyM_ID(TextGRPCServer, Table1)
if Table1.PrimaryKeyColumnsCount == 1 {
} else {
TextGRPCServer = create_files.ReplacePrimaryKeyM_ID(TextGRPCServer, Table1)
TextIDMany := ", ID)"
TextIDMany = create_files.ReplaceIDtoID_Many(TextIDMany, Table1)
TextGRPCServer = strings.ReplaceAll(TextGRPCServer, "(ID)", "("+Table1.Name+".StringIdentifier"+TextIDMany+")")
TextGRPCServer = create_files.ReplaceIDtoID_Many(TextGRPCServer, Table1)
//замена ID на PrimaryKey
}
TextGRPCServer = create_files.ReplaceIDtoID_Many(TextGRPCServer, Table1)
//замена RequestId{}
TextGRPCServer = create_files.ReplaceTextRequestID_PrimaryKey(TextGRPCServer, Table1)