Merge pull request '代码生成器新增默认值,在添加时自动添加默认值' (#108) from 616036448/Admin.NET.Pro:main into main
Reviewed-on: http://101.43.53.74:3000/Admin.NET/Admin.NET.Pro/pulls/108
This commit is contained in:
commit
c525fe5e2b
@ -210,4 +210,10 @@ public partial class SysCodeGenConfig : EntityBase
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[SugarColumn(ColumnDescription = "字段验证规则", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
[SugarColumn(ColumnDescription = "字段验证规则", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||||
public string? Rules { get; set; }
|
public string? Rules { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 默认值
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnDescription = "默认值", Length = 256)]
|
||||||
|
public string? DefaultValue { get; set; }
|
||||||
}
|
}
|
||||||
@ -198,6 +198,11 @@ public class CodeGenConfig
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string Rules { get; set; }
|
public string Rules { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 默认值
|
||||||
|
/// </summary>
|
||||||
|
public string? DefaultValue { get; set; }
|
||||||
|
|
||||||
#region 不在数据库中的字段
|
#region 不在数据库中的字段
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@ -55,4 +55,9 @@ public class ColumnOuput
|
|||||||
/// 主外键
|
/// 主外键
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string ColumnKey { get; set; }
|
public string ColumnKey { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 默认值
|
||||||
|
/// </summary>
|
||||||
|
public string DefaultValue { get; set; }
|
||||||
}
|
}
|
||||||
@ -151,6 +151,7 @@ public class SysCodeGenConfigService : IDynamicApiController, ITransient
|
|||||||
codeGenConfig.EffectType = CodeGenUtil.DataTypeToEff(codeGenConfig.NetType);
|
codeGenConfig.EffectType = CodeGenUtil.DataTypeToEff(codeGenConfig.NetType);
|
||||||
codeGenConfig.QueryType = GetDefaultQueryType(codeGenConfig); // QueryTypeEnum.eq.ToString();
|
codeGenConfig.QueryType = GetDefaultQueryType(codeGenConfig); // QueryTypeEnum.eq.ToString();
|
||||||
codeGenConfig.OrderNo = orderNo;
|
codeGenConfig.OrderNo = orderNo;
|
||||||
|
codeGenConfig.DefaultValue = GetDefaultValue(tableColumn.DefaultValue);
|
||||||
codeGenConfigs.Add(codeGenConfig);
|
codeGenConfigs.Add(codeGenConfig);
|
||||||
|
|
||||||
orderNo += 10; // 每个配置排序间隔10
|
orderNo += 10; // 每个配置排序间隔10
|
||||||
@ -174,4 +175,34 @@ public class SysCodeGenConfigService : IDynamicApiController, ITransient
|
|||||||
_ => "==",
|
_ => "==",
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取默认值
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="dataValue"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
private static string? GetDefaultValue(string dataValue)
|
||||||
|
{
|
||||||
|
if (dataValue == null) return null;
|
||||||
|
string value = "";
|
||||||
|
// 正则表达式模式
|
||||||
|
// \( 和 \) 用来匹配字面量的括号
|
||||||
|
// .+ 用来匹配一个或多个任意字符,但不包括换行符
|
||||||
|
string pattern = @"\((.+)\)";//适合MSSQL其他数据库没有测试
|
||||||
|
|
||||||
|
// 使用 Regex 类进行匹配
|
||||||
|
Match match = Regex.Match(dataValue, pattern);
|
||||||
|
|
||||||
|
// 如果找到了匹配项
|
||||||
|
if (match.Success)
|
||||||
|
{
|
||||||
|
// 提取括号内的值
|
||||||
|
value = match.Groups[1].Value.Trim('\'');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
value = dataValue;
|
||||||
|
}
|
||||||
|
return value;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -234,7 +234,8 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
|||||||
ColumnKey = u.IsPrimarykey.ToString(),
|
ColumnKey = u.IsPrimarykey.ToString(),
|
||||||
NetType = CodeGenUtil.ConvertDataType(u, provider.CurrentConnectionConfig.DbType),
|
NetType = CodeGenUtil.ConvertDataType(u, provider.CurrentConnectionConfig.DbType),
|
||||||
DataType = u.DataType,
|
DataType = u.DataType,
|
||||||
ColumnComment = string.IsNullOrWhiteSpace(u.ColumnDescription) ? u.DbColumnName : u.ColumnDescription
|
ColumnComment = string.IsNullOrWhiteSpace(u.ColumnDescription) ? u.DbColumnName : u.ColumnDescription,
|
||||||
|
DefaultValue = u.DefaultValue,
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
// 获取实体的属性信息,赋值给PropertyName属性(CodeFirst模式应以PropertyName为实际使用名称)
|
// 获取实体的属性信息,赋值给PropertyName属性(CodeFirst模式应以PropertyName为实际使用名称)
|
||||||
|
|||||||
@ -355,7 +355,19 @@ const resetQuery = async () => {
|
|||||||
// 打开新增页面
|
// 打开新增页面
|
||||||
const handleAdd = () => {
|
const handleAdd = () => {
|
||||||
state.title = '添加@(@Model.BusName)';
|
state.title = '添加@(@Model.BusName)';
|
||||||
editDialogRef.value?.openDialog({ type: 1 });
|
let data = {
|
||||||
|
@foreach (var column in Model.TableField){
|
||||||
|
if(@column.WhetherAddUpdate == "Y"&&@column.DefaultValue!=null){
|
||||||
|
if(@column.NetType.StartsWith("int")||@column.NetType.StartsWith("decimal")){
|
||||||
|
@:@column.LowerPropertyName:@(@column.DefaultValue),
|
||||||
|
}
|
||||||
|
if(@column.NetType.StartsWith("string")){
|
||||||
|
@:@column.LowerPropertyName:'@(@column.DefaultValue)',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
editDialogRef.value?.openDialog(data);
|
||||||
};
|
};
|
||||||
|
|
||||||
// 打开编辑页面
|
// 打开编辑页面
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user