using System.Threading.Tasks; using ZhonTai.Admin.Core.Attributes; using ZhonTai.Admin.Core.Dto; using ZhonTai.Admin.Services.RoleGroup.Dto; using ZhonTai.Admin.Domain.RoleGroup; using ZhonTai.DynamicApi; using ZhonTai.DynamicApi.Attributes; using ZhonTai.Admin.Core.Consts; using ZhonTai.Admin.Domain.Role; namespace ZhonTai.Admin.Services.RoleGroup; /// /// 角色分组服务 /// [DynamicApi(Area = AdminConsts.AreaName)] public class RoleGroupService : BaseService, IRoleGroupService, IDynamicApi { private readonly IRoleGroupRepository _RoleGroupRepository; private readonly IRoleRepository _roleRepository; public RoleGroupService(IRoleGroupRepository RoleGroupRepository, IRoleRepository roleRepository) { _RoleGroupRepository = RoleGroupRepository; _roleRepository = roleRepository; } /// /// 新增 /// /// /// public async Task AddAsync(RoleGroupAddInput input) { var RoleGroup = Mapper.Map(input); var id = (await _RoleGroupRepository.InsertAsync(RoleGroup)).Id; return ResultOutput.Result(id > 0); } /// /// 修改 /// /// /// public async Task UpdateAsync(RoleGroupUpdateInput input) { if (!(input?.Id > 0)) { return ResultOutput.NotOk(); } var entity = await _RoleGroupRepository.GetAsync(input.Id); if (!(entity?.Id > 0)) { return ResultOutput.NotOk("角色分组不存在!"); } Mapper.Map(input, entity); await _RoleGroupRepository.UpdateAsync(entity); return ResultOutput.Ok(); } /// /// 彻底删除 /// /// /// [Transaction] public async Task DeleteAsync(long id) { //判断角色下是否有用户 //删除角色数据 await _roleRepository.DeleteAsync(a => a.RoleGroupId == id); //删除角色分组 await _RoleGroupRepository.DeleteAsync(a => a.Id == id); return ResultOutput.Ok(); } }