From 459d43d3ec75a402a83f0aacad1f5ce0fcd5f7f8 Mon Sep 17 00:00:00 2001 From: lzw <605106923@qq.com> Date: Tue, 12 Oct 2021 18:05:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=AE=9E=E7=8E=B0Iservice?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Yi.Framework.Interface/IMouldService.cs | 1 + .../Yi.Framework.Service/MenuService.cs | 56 ++++++++++++++++++ .../Yi.Framework.Service/MouldService.cs | 35 +++++++++++ .../Yi.Framework.Service/RoleService.cs | 26 +++++++- .../Yi.Framework.Service/UserService.cs | 59 ++++++++++++++++++- 5 files changed, 173 insertions(+), 4 deletions(-) create mode 100644 Yi.Framework/Yi.Framework.Service/MenuService.cs create mode 100644 Yi.Framework/Yi.Framework.Service/MouldService.cs diff --git a/Yi.Framework/Yi.Framework.Interface/IMouldService.cs b/Yi.Framework/Yi.Framework.Interface/IMouldService.cs index 18793441..7aafaff2 100644 --- a/Yi.Framework/Yi.Framework.Interface/IMouldService.cs +++ b/Yi.Framework/Yi.Framework.Interface/IMouldService.cs @@ -18,5 +18,6 @@ namespace Yi.Framework.Interface /// /// Task GetMenuByMould(mould _mould); + } } diff --git a/Yi.Framework/Yi.Framework.Service/MenuService.cs b/Yi.Framework/Yi.Framework.Service/MenuService.cs new file mode 100644 index 00000000..6c099dcd --- /dev/null +++ b/Yi.Framework/Yi.Framework.Service/MenuService.cs @@ -0,0 +1,56 @@ +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Interface; +using Yi.Framework.Model.Models; + +namespace Yi.Framework.Service +{ + public class MenuService:BaseService, IMenuService + { + public MenuService(DbContext Db) : base(Db) { } + + public async Task DelListByUpdateAsync(List _ids) + { + var menuList = await GetEntitiesAsync(u=>_ids.Contains(u.id)); + menuList.ToList().ForEach(u => u.is_delete = (short)Common.Enum.DelFlagEnum.Deleted); + return await UpdateListAsync(menuList); + } + + public async Task> GetAllEntitiesTrueAsync() + { + return await GetEntitiesAsync(u => u.is_delete == (short)Common.Enum.DelFlagEnum.Normal); + } + + public async Task> GetChildrenByMenu(menu _menu) + { + var menu_data = await GetEntity(u=>u.id==_menu.id); + var childrenList = menu_data.children; + return (List)childrenList; + } + + public async Task GetMenuMouldByMenu(menu _menu) + { + var menu_data = await GetEntity(u => u.id == _menu.id); + return menu_data; + } + + public async Task GetMouldByMenu(menu _menu) + { + var menu_data = await GetEntity(u => u.id == _menu.id); + var mould_data =await _Db.Set().Include(u => u.menu).Where(u => u.menu == menu_data).FirstOrDefaultAsync(); + return mould_data; + } + + public async Task SetMouldByMenu(int mouldId, int menuId) + { + var menu_data = await GetEntity(u => u.id == menuId); + var mould_data = await _Db.Set().Where(u => u.id==mouldId).FirstOrDefaultAsync(); + menu_data.mould = mould_data; + return await UpdateAsync(menu_data); + } + } +} diff --git a/Yi.Framework/Yi.Framework.Service/MouldService.cs b/Yi.Framework/Yi.Framework.Service/MouldService.cs new file mode 100644 index 00000000..ba21cdce --- /dev/null +++ b/Yi.Framework/Yi.Framework.Service/MouldService.cs @@ -0,0 +1,35 @@ +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Interface; +using Yi.Framework.Model.Models; + +namespace Yi.Framework.Service +{ + public class MouldService:BaseService, IMouldService + { + public MouldService(DbContext Db) : base(Db) { } + + public async Task DelListByUpdateAsync(List _ids) + { + var mouldList =await GetEntitiesAsync(u => _ids.Contains(u.id)); + mouldList.ToList().ForEach(u => u.is_delete = (short)Common.Enum.DelFlagEnum.Deleted); + return await UpdateListAsync(mouldList); + } + + public async Task> GetAllEntitiesTrueAsync() + { + return await GetEntitiesAsync(u => u.is_delete == (short)Common.Enum.DelFlagEnum.Normal); + } + + public async Task GetMenuByMould(mould _mould) + { + var mould_data =await GetEntity(u => u.id ==_mould.id); + return await _Db.Set().Where(u => u.mould == mould_data).FirstOrDefaultAsync(); + //return mould_data.menu; + } + } +} diff --git a/Yi.Framework/Yi.Framework.Service/RoleService.cs b/Yi.Framework/Yi.Framework.Service/RoleService.cs index 5c3dd6b7..6ce4f7d5 100644 --- a/Yi.Framework/Yi.Framework.Service/RoleService.cs +++ b/Yi.Framework/Yi.Framework.Service/RoleService.cs @@ -23,7 +23,31 @@ namespace Yi.Framework.Service } public async Task> GetAllEntitiesTrueAsync() { - return await _Db.Set().Where(u => u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).ToListAsync(); + return await GetEntitiesAsync(u => u.is_delete == (short)Common.Enum.DelFlagEnum.Normal); + } + + public async Task> GetMenusByRole(role _role) + { + return await _Db.Set().Include(u=>u.mould).ThenInclude(u=>u.menu) + .Where(u=>u.roles.Contains(_role)&& u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).ToListAsync(); + } + + public async Task> GetUsersByRole(role _role) + { + return await _Db.Set().Where(u => u.roles.Contains(_role) && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).ToListAsync(); + } + + public async Task SetMenusByRolesId(List menuIds, int roleId) + { + var role_data = await GetEntity(u => u.id == roleId && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal); + if (role_data == null) + { + return false; + } + var menuList = _Db.Set().Where(u => menuIds.Contains(u.id)&&u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).ToListAsync(); + + role_data.menus = (ICollection)menuList; + return await AddAsync(role_data); } } } diff --git a/Yi.Framework/Yi.Framework.Service/UserService.cs b/Yi.Framework/Yi.Framework.Service/UserService.cs index bb56006d..728d7bd2 100644 --- a/Yi.Framework/Yi.Framework.Service/UserService.cs +++ b/Yi.Framework/Yi.Framework.Service/UserService.cs @@ -6,14 +6,15 @@ using System.Linq.Expressions; using System.Text; using System.Threading.Tasks; using Yi.Framework.Interface; +using Yi.Framework.Model; using Yi.Framework.Model.Models; namespace Yi.Framework.Service { public class UserService: BaseService,IUserService { - public UserService(DbContext Db):base(Db) - { + public UserService(DbContext Db) :base(Db) + { } public async Task DelListByUpdateAsync(List _ids) { @@ -24,7 +25,59 @@ namespace Yi.Framework.Service public async Task> GetAllEntitiesTrueAsync() { - return await _Db.Set().Where(u=>u.is_delete==(short)Common.Enum.DelFlagEnum.Normal).ToListAsync(); + return await GetEntitiesAsync(u => u.is_delete == (short)Common.Enum.DelFlagEnum.Normal); + } + + public async Task> GetMenusByUser(user _user) + { + return await _Db.Set().Include(u => u.roles).ThenInclude(u => u.menus) + .Where(u=>u.id==_user.id&& u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).ToListAsync(); + } + + public async Task> GetMouldByUser(user _user) + { + return await _Db.Set().Include(u => u.menu) + .Where(u => u.id == _user.id && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).ToListAsync(); + } + + public async Task> GetRolesByUser(user _user) + { + return await _Db.Set().Include(u => u.users) + .Where(u => u.id == _user.id && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).ToListAsync(); + } + + public async Task Login(user _user) + { + var user_data =await GetEntity(u => u.username == _user.username&&u.password==_user.password&& + u.is_delete == (short)Common.Enum.DelFlagEnum.Normal); + if (user_data == null) + { + return false; + } + return true; + + } + + public async Task Register(user _user) + { + var user_data =await GetEntity(u => u.username == _user.username); + if (user_data != null) + { + return false; + } + return await AddAsync(_user); + } + + public async Task SetRolesByUserId(List roleIds, int userId) + { + var user_data =await GetEntity(u => u.id ==userId &&u.is_delete == (short)Common.Enum.DelFlagEnum.Normal); + if (user_data == null) + { + return false; + } + var roleList = _Db.Set().Where(u => roleIds.Contains(u.id)).ToList(); + user_data.roles = roleList; + return await AddAsync(user_data); } } }