上传T4模板
This commit is contained in:
@@ -92,6 +92,7 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
||||
var _user = this.HttpContext.GetCurrentUserInfo();
|
||||
var menuList= await _userService.GetMenusByUser(_user);
|
||||
return Result.Success().SetData(menuList);
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -105,7 +106,24 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
||||
|
||||
var _children= await _menuService.AddChildrenMenu(new menu() { id=childrenDto.parentId}, childrenDto.data);
|
||||
return Result.Success();
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取用户的目录菜单,不包含接口
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public async Task<Result> GeTopMenuByUser()
|
||||
{
|
||||
var _user = this.HttpContext.GetCurrentUserInfo();
|
||||
var menuList =await _userService.GetMenuByUser(_user);
|
||||
return Result.Success().SetData(menuList);
|
||||
}
|
||||
public async Task<Result> GeTopMenuByUser(menu _menu)
|
||||
{
|
||||
var _user = this.HttpContext.GetCurrentUserInfo();
|
||||
var menu_data= await _userService.GetMenuByUser(_user);
|
||||
var menuList = await _menuService.GetChildrenMenu(_menu);
|
||||
return Result.Success().SetData(menuList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ using Yi.Framework.Model.Models;
|
||||
|
||||
namespace Yi.Framework.Interface
|
||||
{
|
||||
public interface IMenuService:IBaseService<menu>
|
||||
public partial interface IMenuService:IBaseService<menu>
|
||||
{
|
||||
Task<bool> DelListByUpdateAsync(List<int> _ids);
|
||||
/// <summary>
|
||||
@@ -59,6 +59,6 @@ namespace Yi.Framework.Interface
|
||||
/// 获取子菜单
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
Task<List<menu>> GetChildrenMenu();
|
||||
Task<List<menu>> GetChildrenMenu(menu _menu);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ using Yi.Framework.Model.Models;
|
||||
|
||||
namespace Yi.Framework.Interface
|
||||
{
|
||||
public interface IMouldService : IBaseService<mould>
|
||||
public partial interface IMouldService : IBaseService<mould>
|
||||
{
|
||||
Task<bool> DelListByUpdateAsync(List<int> _ids);
|
||||
Task<IEnumerable<mould>> GetAllEntitiesTrueAsync();
|
||||
|
||||
@@ -7,7 +7,7 @@ using Yi.Framework.Model.Models;
|
||||
|
||||
namespace Yi.Framework.Interface
|
||||
{
|
||||
public interface IRoleService:IBaseService<role>
|
||||
public partial interface IRoleService:IBaseService<role>
|
||||
{
|
||||
Task<bool> DelListByUpdateAsync(List<int> _ids);
|
||||
Task<IEnumerable<role>> GetAllEntitiesTrueAsync();
|
||||
|
||||
@@ -7,7 +7,7 @@ using Yi.Framework.Model.Models;
|
||||
|
||||
namespace Yi.Framework.Interface
|
||||
{
|
||||
public interface IUserService:IBaseService<user>
|
||||
public partial interface IUserService:IBaseService<user>
|
||||
{
|
||||
Task<bool> DelListByUpdateAsync(List<int> _ids);
|
||||
Task<IEnumerable<user>> GetAllEntitiesTrueAsync();
|
||||
@@ -58,6 +58,13 @@ namespace Yi.Framework.Interface
|
||||
/// <param name="emailAddress"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> EmailIsExsit(string emailAddress);
|
||||
|
||||
/// <summary>
|
||||
/// 获取用户的目录菜单,没有绑定接口
|
||||
/// </summary>
|
||||
/// <param name="_user"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<List<menu>>> GetMenuByUser(user _user);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
30
Yi.Framework/Yi.Framework.Interface/T4Iservice.cs
Normal file
30
Yi.Framework/Yi.Framework.Interface/T4Iservice.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Model.Models;
|
||||
|
||||
namespace Yi.Framework.Interface
|
||||
{
|
||||
|
||||
public partial interface IMenuService:IBaseService<menu>
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public partial interface IMouldService:IBaseService<mould>
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public partial interface IRoleService:IBaseService<role>
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public partial interface IUserService:IBaseService<user>
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
41
Yi.Framework/Yi.Framework.Interface/T4Iservice.tt
Normal file
41
Yi.Framework/Yi.Framework.Interface/T4Iservice.tt
Normal file
@@ -0,0 +1,41 @@
|
||||
<#@ template debug="false" hostspecific="true" language="C#" #>
|
||||
<#@ assembly name="System.Core" #>
|
||||
<#@ import namespace="System.Linq" #>
|
||||
<#@ import namespace="System.Text" #>
|
||||
<#@ import namespace="System.IO" #>
|
||||
<#@ import namespace="System.Collections.Generic" #>
|
||||
<#@ output extension=".cs" #>
|
||||
<#
|
||||
|
||||
DirectoryInfo dir = new DirectoryInfo(@"D:\YiFramework\Yi\Yi.Framework\Yi.Framework.Model\Models\");
|
||||
FileInfo[] finfo = dir.GetFiles();
|
||||
string filenames = string.Empty;
|
||||
List<string> filenameList = new List<string>();
|
||||
for (int i = 0; i < finfo.Length; i++)
|
||||
{
|
||||
filenames = finfo[i].Name ;
|
||||
string[] fname=filenames.Split('.');
|
||||
filenameList.Add(fname[0]);
|
||||
}
|
||||
|
||||
|
||||
#>
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Model.Models;
|
||||
|
||||
namespace Yi.Framework.Interface
|
||||
{
|
||||
<# foreach(string k in filenameList){
|
||||
string fn= k.Substring(0,1).ToUpper()+k.Substring(1);
|
||||
#>
|
||||
|
||||
public partial interface I<#= fn #>Service:IBaseService<<#= k #>>
|
||||
{
|
||||
|
||||
}
|
||||
<# } #>
|
||||
}
|
||||
@@ -8,13 +8,21 @@
|
||||
<Compile Remove="T4Service.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="T4Iservice.cs">
|
||||
<DesignTime>True</DesignTime>
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>T4Iservice.tt</DependentUpon>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Yi.Framework.Model\Yi.Framework.Model.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="T4IService.tt">
|
||||
<LastGenOutput>T4IService.cs</LastGenOutput>
|
||||
<LastGenOutput>T4Iservice.cs</LastGenOutput>
|
||||
<Generator>TextTemplatingFileGenerator</Generator>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
@@ -10,5 +10,6 @@ namespace Yi.Framework.Model.Models
|
||||
{
|
||||
public int? is_top { get; set; }
|
||||
public int? sort { get; set; }
|
||||
public int? is_show { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -34,7 +34,6 @@ namespace Yi.Framework.Model
|
||||
optionsBuilder.UseSqlite(_connStr);
|
||||
}
|
||||
}
|
||||
public DbSet<user> user { get; set; }
|
||||
public DbSet<role> role { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ namespace Yi.Framework.Model.Models
|
||||
public string icon { get; set; }
|
||||
public string router { get; set; }
|
||||
public string menu_name { get; set; }
|
||||
|
||||
|
||||
|
||||
|
||||
public ICollection<menu> children { get; set; }
|
||||
|
||||
17
Yi.Framework/Yi.Framework.Model/T4DataContext.cs
Normal file
17
Yi.Framework/Yi.Framework.Model/T4DataContext.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Yi.Framework.Model.Models;
|
||||
|
||||
namespace Yi.Framework.Model
|
||||
{
|
||||
public partial class DataContext :DbContext
|
||||
{
|
||||
public DbSet<menu> menu { get; set; }
|
||||
public DbSet<mould> mould { get; set; }
|
||||
public DbSet<role> role { get; set; }
|
||||
public DbSet<user> user { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
39
Yi.Framework/Yi.Framework.Model/T4DataContext.tt
Normal file
39
Yi.Framework/Yi.Framework.Model/T4DataContext.tt
Normal file
@@ -0,0 +1,39 @@
|
||||
<#@ template debug="false" hostspecific="true" language="C#" #>
|
||||
<#@ assembly name="System.Core" #>
|
||||
<#@ import namespace="System.Linq" #>
|
||||
<#@ import namespace="System.Text" #>
|
||||
<#@ import namespace="System.IO" #>
|
||||
<#@ import namespace="System.Collections.Generic" #>
|
||||
<#@ output extension=".cs" #>
|
||||
<#
|
||||
|
||||
DirectoryInfo dir = new DirectoryInfo(@"D:\YiFramework\Yi\Yi.Framework\Yi.Framework.Model\Models\");
|
||||
FileInfo[] finfo = dir.GetFiles();
|
||||
string filenames = string.Empty;
|
||||
List<string> filenameList = new List<string>();
|
||||
for (int i = 0; i < finfo.Length; i++)
|
||||
{
|
||||
filenames = finfo[i].Name ;
|
||||
string[] f=filenames.Split('.');
|
||||
filenameList.Add(f[0]);
|
||||
}
|
||||
|
||||
|
||||
#>
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Yi.Framework.Model.Models;
|
||||
|
||||
namespace Yi.Framework.Model
|
||||
{
|
||||
public partial class DataContext :DbContext
|
||||
{
|
||||
<# foreach(string k in filenameList){
|
||||
#>
|
||||
public DbSet<<#=k #>> <#=k #> { get; set; }
|
||||
<# } #>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,14 @@
|
||||
<Folder Include="Search\" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="T4DataContext.cs">
|
||||
<DesignTime>True</DesignTime>
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>T4DataContext.tt</DependentUpon>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="5.0.10" />
|
||||
</ItemGroup>
|
||||
@@ -21,6 +29,10 @@
|
||||
<Generator>TextTemplatingFileGenerator</Generator>
|
||||
<LastGenOutput>T4DaraContext.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Update="T4DataContext.tt">
|
||||
<Generator>TextTemplatingFileGenerator</Generator>
|
||||
<LastGenOutput>T4DataContext.cs</LastGenOutput>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@@ -33,6 +45,11 @@
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>T4DaraContext.tt</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Update="T4DataContext.cs">
|
||||
<DesignTime>True</DesignTime>
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>T4DataContext.tt</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -9,7 +9,7 @@ using Yi.Framework.Model.Models;
|
||||
|
||||
namespace Yi.Framework.Service
|
||||
{
|
||||
public class MenuService:BaseService<menu>, IMenuService
|
||||
public partial class MenuService:BaseService<menu>, IMenuService
|
||||
{
|
||||
public MenuService(DbContext Db) : base(Db) { }
|
||||
|
||||
@@ -41,11 +41,13 @@ namespace Yi.Framework.Service
|
||||
return childrenList;
|
||||
}
|
||||
|
||||
public async Task<List<menu>> GetChildrenMenu()
|
||||
public async Task<List<menu>> GetChildrenMenu(menu _menu)
|
||||
{
|
||||
return await _Db.Set<menu>().Include(u => u.children)
|
||||
.Where(u => u.is_delete == (short)Common.Enum.DelFlagEnum.Normal&& u.is_top == (short)Common.Enum.TopFlagEnum.Children )
|
||||
.ToListAsync();
|
||||
var menu= await _Db.Set<menu>().Include(u => u.children).Include(u=>u.mould)
|
||||
.Where(u =>u.id==_menu.id&& u.is_delete == (short)Common.Enum.DelFlagEnum.Normal&& u.is_top == (short)Common.Enum.TopFlagEnum.Children )
|
||||
.FirstOrDefaultAsync();
|
||||
var childrenList = menu.children.ToList();
|
||||
return childrenList;
|
||||
}
|
||||
|
||||
public async Task<menu> GetMenuMouldByMenu(menu _menu)
|
||||
@@ -75,5 +77,6 @@ namespace Yi.Framework.Service
|
||||
menu_data.mould = mould_data;
|
||||
return await UpdateAsync(menu_data);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ using Yi.Framework.Model.Models;
|
||||
|
||||
namespace Yi.Framework.Service
|
||||
{
|
||||
public class MouldService:BaseService<mould>, IMouldService
|
||||
public partial class MouldService:BaseService<mould>, IMouldService
|
||||
{
|
||||
public MouldService(DbContext Db) : base(Db) { }
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ using Yi.Framework.Model.Models;
|
||||
|
||||
namespace Yi.Framework.Service
|
||||
{
|
||||
public class RoleService:BaseService<role>, IRoleService
|
||||
public partial class RoleService:BaseService<role>, IRoleService
|
||||
{
|
||||
public RoleService(DbContext Db):base(Db)
|
||||
{
|
||||
@@ -30,7 +30,9 @@ namespace Yi.Framework.Service
|
||||
{
|
||||
var role_data =await _Db.Set<role>().Include(u => u.menus)
|
||||
.Where(u => u.id == _role.id && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).FirstOrDefaultAsync();
|
||||
return role_data.menus.ToList();
|
||||
var menuList =role_data.menus.Where(u => u.is_top == (short)Common.Enum.TopFlagEnum.Top && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal)
|
||||
.ToList();
|
||||
return menuList;
|
||||
}
|
||||
|
||||
public async Task<List<user>> GetUsersByRole(role _role)
|
||||
|
||||
32
Yi.Framework/Yi.Framework.Service/T4Service.cs
Normal file
32
Yi.Framework/Yi.Framework.Service/T4Service.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Model.Models;
|
||||
using Yi.Framework.Interface;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace Yi.Framework.Service
|
||||
{
|
||||
|
||||
public partial class MenuService:BaseService<menu>,IMenuService
|
||||
{
|
||||
//public MenuService(DbContext Db):base(Db){ }
|
||||
}
|
||||
|
||||
public partial class MouldService:BaseService<mould>,IMouldService
|
||||
{
|
||||
//public MouldService(DbContext Db):base(Db){ }
|
||||
}
|
||||
|
||||
public partial class RoleService:BaseService<role>,IRoleService
|
||||
{
|
||||
//public RoleService(DbContext Db):base(Db){ }
|
||||
}
|
||||
|
||||
public partial class UserService:BaseService<user>,IUserService
|
||||
{
|
||||
//public UserService(DbContext Db):base(Db){ }
|
||||
}
|
||||
}
|
||||
43
Yi.Framework/Yi.Framework.Service/T4Service.tt
Normal file
43
Yi.Framework/Yi.Framework.Service/T4Service.tt
Normal file
@@ -0,0 +1,43 @@
|
||||
<#@ template debug="false" hostspecific="true" language="C#" #>
|
||||
<#@ assembly name="System.Core" #>
|
||||
<#@ import namespace="System.Linq" #>
|
||||
<#@ import namespace="System.Text" #>
|
||||
<#@ import namespace="System.IO" #>
|
||||
<#@ import namespace="System.Collections.Generic" #>
|
||||
<#@ output extension=".cs" #>
|
||||
<#
|
||||
|
||||
DirectoryInfo dir = new DirectoryInfo(@"D:\YiFramework\Yi\Yi.Framework\Yi.Framework.Model\Models\");
|
||||
FileInfo[] finfo = dir.GetFiles();
|
||||
string filenames = string.Empty;
|
||||
List<string> filenameList = new List<string>();
|
||||
for (int i = 0; i < finfo.Length; i++)
|
||||
{
|
||||
filenames = finfo[i].Name ;
|
||||
string[] fname=filenames.Split('.');
|
||||
filenameList.Add(fname[0]);
|
||||
}
|
||||
|
||||
|
||||
#>
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Model.Models;
|
||||
using Yi.Framework.Interface;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace Yi.Framework.Service
|
||||
{
|
||||
<# foreach(string k in filenameList){
|
||||
string fn= k.Substring(0,1).ToUpper()+k.Substring(1);
|
||||
#>
|
||||
|
||||
public partial class <#= fn #>Service:BaseService<<#= k #>>,I<#= fn #>Service
|
||||
{
|
||||
//public <#= fn #>Service(DbContext Db):base(Db){ }
|
||||
}
|
||||
<# } #>
|
||||
}
|
||||
@@ -11,10 +11,12 @@ using Yi.Framework.Model.Models;
|
||||
|
||||
namespace Yi.Framework.Service
|
||||
{
|
||||
public class UserService: BaseService<user>,IUserService
|
||||
public partial class UserService: BaseService<user>,IUserService
|
||||
{
|
||||
public UserService(DbContext Db) :base(Db)
|
||||
private IRoleService _roleService;
|
||||
public UserService(DbContext Db, IRoleService roleService) :base(Db)
|
||||
{
|
||||
_roleService = roleService;
|
||||
}
|
||||
public async Task<bool> DelListByUpdateAsync(List<int> _ids)
|
||||
{
|
||||
@@ -97,5 +99,19 @@ namespace Yi.Framework.Service
|
||||
|
||||
return await UpdateListAsync(user_data);
|
||||
}
|
||||
public async Task <List<List<menu>>> GetMenuByUser(user _user)
|
||||
{
|
||||
var user_data =await _Db.Set<user>().Include(u => u.roles).ThenInclude(u => u.menus)
|
||||
.Where(u => u.id == _user.id && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).FirstOrDefaultAsync();
|
||||
var roleList= user_data.roles.ToList();
|
||||
var menuList = new List<List<menu>>();
|
||||
foreach (var role in roleList)
|
||||
{
|
||||
var menu= await _roleService.GetMenusByRole(role);
|
||||
menuList.Add(menu);
|
||||
}
|
||||
return menuList;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,14 @@
|
||||
<Compile Remove="T4DaraContext.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="T4Service.cs">
|
||||
<DesignTime>True</DesignTime>
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>T4Service.tt</DependentUpon>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Yi.Framework.Interface\Yi.Framework.Interface.csproj" />
|
||||
<ProjectReference Include="..\Yi.Framework.Model\Yi.Framework.Model.csproj" />
|
||||
|
||||
Reference in New Issue
Block a user