介绍
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