介绍

1、通过自定义代码模板,生成对应的代码,辅助开发

模板编辑地址

C:\0_RG\Code\RG6.PF\rg3-pf\RG3.Web.Host.PaaS\App_Data\Templates\AiCode\

代码实现路径

C:\0_RG\Code\RG6.PF\rg3-pf\RG3.BO.BI.DB\Controller\DbAiCodeController.cs

使用说明

https://doc.rg1008.com/docs/rg_dev/rg_dev-1el3e30is3u5g

列文件替换规则

sbColumnLine.Replace("{{column_name}}", colunm.Name.ToLower());// 字段名称
sbColumnLine.Replace("{{column_title}}", colunm.Title);// 字段标题
sbColumnLine.Replace("{{column_field}}", RegexUtil.ConvertDownLine2CamelCase(colunm.Name.ToLower()));// 小写驼峰
sbColumnLine.Replace("{{column_field_upper}}", RegexUtil.ConvertDownLine2CamelCase(colunm.Name.ToLower(), false)); //大写驼峰
sbColumnLine.Replace("{{column_data_type}}", colunm.DataType); //数据库类型
sbColumnLine.Replace("{{column_max_length}}", colunm.MaxLength?.ToString()); //长度
sbColumnLine.Replace("{{column_is_primary}}", colunm.IsPrimary == true ? "1" : "0"); //是否主键
sbColumnLine.Replace("{{column_is_null}}", colunm.IsNullValue == true ? "1" : "0"); // 是否为空
sbColumnLine.Replace("{{column_is_required}}", colunm.IsRequired == true ? "1" : "0"); //是否必填

开发语言字段数据类型

1、类型转换配置路径

C:\0_RG\Code\RG6.PF\rg3-pf\RG3.Web.Host.PaaS\Config\framework.json

"databaseMappingType": {
    "char": {
      "bizDataType": "string"
    }
},
"databaseMappingTypeJava": {
    "char": {
      "bizDataType": "string"
    }
}
#region 数据类型转换处理
var dataTypeL = colunm.DataType.ToLower();
sbColumnLine.Replace("{{column_type_database}}", colunm.DataType); //数据库数据类型
sbColumnLine.Replace("{{column_type_net}}", _configuration.GetValue<string>($"databaseMappingTypeNet:{dataTypeL}:bizDataType") ?? colunm.DataType); //.netcore数据类型
sbColumnLine.Replace("{{column_type_java}}", _configuration.GetValue<string>($"databaseMappingTypeJava:{dataTypeL}:bizDataType") ?? colunm.DataType); //java数据类型
sbColumnLine.Replace("{{column_type_javasript}}", _configuration.GetValue<string>($"databaseMappingTypeJavascript:{dataTypeL}:bizDataType") ?? colunm.DataType); //javascript数据类型
sbColumnLine.Replace("{{column_typescript_type}}", _configuration.GetValue<string>($"databaseMappingTypeTypeScript:{dataTypeL}:bizDataType") ?? colunm.DataType); //typescript数据类型
sbColumnLine.Replace("{{column_type_golang}}", _configuration.GetValue<string>($"databaseMappingTypeGoLang:{dataTypeL}:bizDataType") ?? colunm.DataType); //golang数据类型
sbColumnLine.Replace("{{column_type_rust}}", _configuration.GetValue<string>($"databaseMappingTypeRust:{dataTypeL}:bizDataType") ?? colunm.DataType); //rust数据类型
sbColumnLine.Replace("{{column_type_ios}}", _configuration.GetValue<string>($"databaseMappingTypeIos:{dataTypeL}:bizDataType") ?? colunm.DataType); //iso数据类型
sbColumnLine.Replace("{{column_type_andriod}}", _configuration.GetValue<string>($"databaseMappingTypeAndriod:{dataTypeL}:bizDataType") ?? colunm.DataType); //andriod数据类型
sbColumnLine.Replace("{{column_type_chh}}", _configuration.GetValue<string>($"databaseMappingTypeChh:{dataTypeL}:bizDataType") ?? colunm.DataType); //c++数据类型
#endregion 数据类型转换处理

表文件替换规则

sbTableLine.Replace("{{columns}}", sbColumnLines.ToString()); // 列文件占位符
sbTableLine.Replace("{{db_name}}", conn.DatabaseName); // 数据库名
sbTableLine.Replace("{{table_name}}", tableL); // 小写下划线表名
sbTableLine.Replace("{{table_name_upper_line}}", tableLU); // 大写下划线表名
sbTableLine.Replace("{{table_name_lowner_line}}", tableL); // 小写下划线表名
sbTableLine.Replace("{{table_name_upper}}", tableC); // 大写驼峰
sbTableLine.Replace("{{table_name_class}}", tableC); // 类名
sbTableLine.Replace("{{table_name_field}}", tableF); //小写驼峰表名
sbTableLine.Replace("{{table_name_hline}}", tableH); // 横杆连接
sbTableLine.Replace("{{table_field}}", tableF); //小写驼峰表名
sbTableLine.Replace("{{owner_id}}", ownerId); //所有者
sbTableLine.Replace("{{sys_id}}", sysId); //系统
sbTableLine.Replace("{{namespace_name}}", conn.NamespaceName); //命名空间名称
sbTableLine.Replace("{{package_name}}", conn.PackageName); //java包名称

表文件名替换规则

sbOutPath.Replace("{{table_name_lowner_line}}", tableL);// 小写下划线
sbOutPath.Replace("{{table_name_upper_line}}", tableLU); // 大写下划线表名
sbOutPath.Replace("{{table_name_lowner}}", tableL);// 小写下划线
sbOutPath.Replace("{{table_name_class}}", tableC); // 类名,大写驼峰
sbOutPath.Replace("{{table_name_upper}}", tableC); // 大写驼峰
sbOutPath.Replace("{{table_name_field}}", tableF);// 小写驼峰 
sbOutPath.Replace("{{table_name_hline}}", tableH);// 横杆  - 
sbOutPath.Replace("{{table_owner_id}}", ownerId); //项目所有者
sbOutPath.Replace("{{table_sys_id}}", sysId); //系统ID
sbOutPath.Replace("{{table_conn_name}}", conn.ConnName);// 数据库连接串
sbOutPath.Replace("{{namespace_name}}", conn.NamespaceName); //命名空间名称
sbOutPath.Replace("{{package_name}}", conn.PackageName); //java包名称
FileUtil.CreateFileAndContentAsync(sbOutPath.ToString(), sbTableLine.ToString(), encoding);
文档更新时间: 2023-10-26 07:31   作者:admin