|
|
@@ -330,7 +330,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
|
|
File.WriteAllText(targetPathList[i], tResult, Encoding.UTF8);
|
|
|
}
|
|
|
|
|
|
- await AddMenu(input.TableName, input.BusName, input.MenuPid);
|
|
|
+ await AddMenu(input.TableName, input.BusName, input.MenuPid, tableFieldList);
|
|
|
// 非ZIP压缩返回空
|
|
|
if (!input.GenerateType.StartsWith('1'))
|
|
|
return null;
|
|
|
@@ -376,7 +376,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
|
|
/// <param name="busName"></param>
|
|
|
/// <param name="pid"></param>
|
|
|
/// <returns></returns>
|
|
|
- private async Task AddMenu(string className, string busName, long pid)
|
|
|
+ private async Task AddMenu(string className, string busName, long pid, List<CodeGenConfig> tableFieldList)
|
|
|
{
|
|
|
var pPath = string.Empty;
|
|
|
// 若 pid=0 为顶级则创建菜单目录
|
|
|
@@ -441,53 +441,106 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
|
|
await _db.Deleteable<SysRoleMenu>().Where(e => listIds.Contains(e.MenuId)).ExecuteCommandAsync();
|
|
|
}
|
|
|
var pid1 = (await _db.Insertable(menuType1).ExecuteReturnEntityAsync()).Id;
|
|
|
-
|
|
|
+ int menuOrder = 101;
|
|
|
// 按钮-page
|
|
|
var menuType2 = new SysMenu
|
|
|
{
|
|
|
Pid = pid1,
|
|
|
- Title = busName + "查询",
|
|
|
+ Title = "查询",
|
|
|
Type = MenuTypeEnum.Btn,
|
|
|
- Permission = className[..1].ToLower() + className[1..] + ":page",
|
|
|
- };
|
|
|
+ Permission = className[..1].ToLower() + className[1..] + ":page",
|
|
|
+ OrderNo = menuOrder
|
|
|
+ };
|
|
|
+ menuOrder += 3;
|
|
|
|
|
|
// 按钮-detail
|
|
|
var menuType2_1 = new SysMenu
|
|
|
{
|
|
|
Pid = pid1,
|
|
|
- Title = busName + "详情",
|
|
|
+ Title = "详情",
|
|
|
Type = MenuTypeEnum.Btn,
|
|
|
- Permission = className[..1].ToLower() + className[1..] + ":detail",
|
|
|
- };
|
|
|
+ Permission = className[..1].ToLower() + className[1..] + ":detail",
|
|
|
+ OrderNo = menuOrder
|
|
|
+ };
|
|
|
+ menuOrder += 3;
|
|
|
|
|
|
// 按钮-add
|
|
|
var menuType2_2 = new SysMenu
|
|
|
{
|
|
|
Pid = pid1,
|
|
|
- Title = busName + "增加",
|
|
|
+ Title = "增加",
|
|
|
Type = MenuTypeEnum.Btn,
|
|
|
- Permission = className[..1].ToLower() + className[1..] + ":add",
|
|
|
- };
|
|
|
+ Permission = className[..1].ToLower() + className[1..] + ":add",
|
|
|
+ OrderNo = menuOrder
|
|
|
+ };
|
|
|
+ menuOrder += 3;
|
|
|
|
|
|
// 按钮-delete
|
|
|
var menuType2_3 = new SysMenu
|
|
|
{
|
|
|
Pid = pid1,
|
|
|
- Title = busName + "删除",
|
|
|
+ Title = "删除",
|
|
|
Type = MenuTypeEnum.Btn,
|
|
|
- Permission = className[..1].ToLower() + className[1..] + ":delete",
|
|
|
- };
|
|
|
+ Permission = className[..1].ToLower() + className[1..] + ":delete",
|
|
|
+ OrderNo = menuOrder
|
|
|
+ };
|
|
|
+ menuOrder += 3;
|
|
|
|
|
|
// 按钮-edit
|
|
|
var menuType2_4 = new SysMenu
|
|
|
{
|
|
|
Pid = pid1,
|
|
|
- Title = busName + "编辑",
|
|
|
+ Title = "编辑",
|
|
|
Type = MenuTypeEnum.Btn,
|
|
|
- Permission = className[..1].ToLower() + className[1..] + ":edit",
|
|
|
- };
|
|
|
-
|
|
|
- var menuList = new List<SysMenu>() { menuType2, menuType2_1, menuType2_2, menuType2_3, menuType2_4 };
|
|
|
+ Permission = className[..1].ToLower() + className[1..] + ":edit",
|
|
|
+ OrderNo = menuOrder
|
|
|
+ };
|
|
|
+ menuOrder += 3;
|
|
|
+
|
|
|
+ var menuList = new List<SysMenu>() { menuType2, menuType2_1, menuType2_2, menuType2_3, menuType2_4 };
|
|
|
+ // 加入fk、Upload、ApiTreeSelect 等接口的权限
|
|
|
+ var fkTableList = tableFieldList.Where(u => u.EffectType == "fk").ToList();
|
|
|
+ foreach (var @column in fkTableList)
|
|
|
+ {
|
|
|
+ var menuType = new SysMenu
|
|
|
+ {
|
|
|
+ Pid = pid1,
|
|
|
+ Title = "外键" + @column.ColumnName,
|
|
|
+ Type = MenuTypeEnum.Btn,
|
|
|
+ Permission = className[..1].ToLower() + className[1..] + ":" + column.FkEntityName + column.ColumnName + "Dropdown",
|
|
|
+ OrderNo = menuOrder
|
|
|
+ };
|
|
|
+ menuOrder += 3;
|
|
|
+ menuList.Add(menuType);
|
|
|
+ }
|
|
|
+ var treeSelectTableList = tableFieldList.Where(u => u.EffectType == "ApiTreeSelect").ToList();
|
|
|
+ foreach (var @column in treeSelectTableList)
|
|
|
+ {
|
|
|
+ var menuType = new SysMenu
|
|
|
+ {
|
|
|
+ Pid = pid1,
|
|
|
+ Title = "树型" + @column.ColumnName,
|
|
|
+ Type = MenuTypeEnum.Btn,
|
|
|
+ Permission = className[..1].ToLower() + className[1..] + ":" + column.FkEntityName + "Tree",
|
|
|
+ OrderNo = menuOrder
|
|
|
+ };
|
|
|
+ menuOrder += 3;
|
|
|
+ menuList.Add(menuType);
|
|
|
+ }
|
|
|
+ var uploadTableList = tableFieldList.Where(u => u.EffectType == "Upload").ToList();
|
|
|
+ foreach (var @column in uploadTableList)
|
|
|
+ {
|
|
|
+ var menuType = new SysMenu
|
|
|
+ {
|
|
|
+ Pid = pid1,
|
|
|
+ Title = "上传" + @column.ColumnName,
|
|
|
+ Type = MenuTypeEnum.Btn,
|
|
|
+ Permission = className[..1].ToLower() + className[1..] + ":Upload" + column.ColumnName,
|
|
|
+ OrderNo = menuOrder
|
|
|
+ };
|
|
|
+ menuOrder += 3;
|
|
|
+ menuList.Add(menuType);
|
|
|
+ }
|
|
|
await _db.Insertable(menuList).ExecuteCommandAsync();
|
|
|
}
|
|
|
|