Merge branch 'master' of http://118.178.224.202:3000/ewide/ewide_core
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using Ewide.Core.Service.Area;
|
||||
using Ewide.Core.Service;
|
||||
using Ewide.Core.Service.Area;
|
||||
using Ewide.Core.Service.Area.Dto;
|
||||
using Furion.DynamicApiController;
|
||||
using Mapster;
|
||||
@@ -18,10 +19,13 @@ namespace Ewide.Core.Controller
|
||||
public class AreaCodeController : IDynamicApiController
|
||||
{
|
||||
private readonly IAreaCodeService _areaCodeService;
|
||||
|
||||
public AreaCodeController(IAreaCodeService areaCodeService)
|
||||
private readonly ISysUserService _sysUserService;
|
||||
private readonly IUserManager _userManager;
|
||||
public AreaCodeController(IAreaCodeService areaCodeService, IUserManager userManager, ISysUserService sysUserService)
|
||||
{
|
||||
_areaCodeService = areaCodeService;
|
||||
_userManager = userManager;
|
||||
_sysUserService = sysUserService;
|
||||
}
|
||||
/// <summary>
|
||||
/// 查询
|
||||
@@ -81,7 +85,13 @@ namespace Ewide.Core.Controller
|
||||
[HttpGet("/sysArea/tree")]
|
||||
public async Task<List<AreaTreeNode>> GetAreaCodeTree([FromQuery]int? level)
|
||||
{
|
||||
return await _areaCodeService.GetAreaCodeTree(level);
|
||||
List<string> areaCodeList = null;
|
||||
if (!_userManager.SuperAdmin)
|
||||
{
|
||||
var orgIdList = await _sysUserService.GetUserDataScopeIdList(_userManager.UserId);
|
||||
areaCodeList = await _areaCodeService.GetAreaCodeListByOrgId(orgIdList);
|
||||
}
|
||||
return await _areaCodeService.GetAreaCodeTree(level, areaCodeList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3058,7 +3058,7 @@
|
||||
<param name="code">区域代码</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Ewide.Core.Service.Area.AreaCodeService.GetAreaCodeTree(System.Nullable{System.Int32})">
|
||||
<member name="M:Ewide.Core.Service.Area.AreaCodeService.GetAreaCodeTree(System.Nullable{System.Int32},System.Collections.Generic.List{System.String})">
|
||||
<summary>
|
||||
获取区域目录树
|
||||
</summary>
|
||||
@@ -6967,6 +6967,13 @@
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Ewide.Core.Service.SysUserService.GetUserOwnArea(Ewide.Core.Service.QueryUserInput)">
|
||||
<summary>
|
||||
获取用户拥有区域
|
||||
</summary>
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Ewide.Core.Service.SysUserService.ResetUserPwd(Ewide.Core.Service.QueryUserInput)">
|
||||
<summary>
|
||||
重置用户密码
|
||||
|
||||
@@ -80,7 +80,7 @@ namespace Ewide.Core.Service.Area
|
||||
/// 获取区域目录树
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public async Task<List<AreaTreeNode>> GetAreaCodeTree(int? level)
|
||||
public async Task<List<AreaTreeNode>> GetAreaCodeTree(int? level, List<string> areaCodeList)
|
||||
{
|
||||
level = level.GetValueOrDefault(100);
|
||||
var cachedAreaCodes = await _sysCacheService.GetAreaCode();
|
||||
@@ -92,7 +92,12 @@ namespace Ewide.Core.Service.Area
|
||||
await _sysCacheService.SetAreaCode(cachedAreaCodes);
|
||||
#endif
|
||||
}
|
||||
cachedAreaCodes = cachedAreaCodes.Where(p => p.LevelType <= level).ToList();
|
||||
var query = cachedAreaCodes.Where(p => p.LevelType <= level);
|
||||
if (areaCodeList != null)
|
||||
{
|
||||
query = query.Where(p => areaCodeList.Contains(p.Code));
|
||||
}
|
||||
cachedAreaCodes = query.ToList();
|
||||
return new TreeBuildUtil<AreaTreeNode>().DoTreeBuild(cachedAreaCodes.Select(u => new AreaTreeNode
|
||||
{
|
||||
Code = u.Code,
|
||||
@@ -167,5 +172,10 @@ namespace Ewide.Core.Service.Area
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public async Task<List<string>> GetAreaCodeListByOrgId(List<string> orgIdList)
|
||||
{
|
||||
return await _sysOrgRep.DetachedEntities.Where(p => orgIdList.Contains(p.Id)).Select(p => p.AreaCode).Distinct().ToListAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,8 +16,10 @@ namespace Ewide.Core.Service.Area
|
||||
Task<SysAreaCode> GetAreaCode(string code);
|
||||
Task<List<SysAreaCode>> GetAreaCodeWithChildren(string code);
|
||||
|
||||
Task<List<AreaTreeNode>> GetAreaCodeTree(int? level);
|
||||
Task<List<AreaTreeNode>> GetAreaCodeTree(int? level,List<string> areaCodeList);
|
||||
|
||||
Task<dynamic> QueryAreaCodePageList([FromQuery] AreaCodeInput input);
|
||||
|
||||
Task<List<string>> GetAreaCodeListByOrgId(List<string> orgIdList);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,15 +50,12 @@ namespace Ewide.Core.Service.User
|
||||
{
|
||||
u.Delete();
|
||||
});
|
||||
|
||||
input.GrantAreaCodeList.ForEach(u =>
|
||||
var dbset = _sysUserAreaRep.Entities;
|
||||
await _sysUserAreaRep.InsertAsync(input.GrantAreaCodeList.Select(u => new SysUserArea
|
||||
{
|
||||
new SysUserArea
|
||||
{
|
||||
SysUserId = input.Id,
|
||||
AreaCode = u
|
||||
}.Insert();
|
||||
});
|
||||
SysUserId = input.Id,
|
||||
AreaCode = u
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Furion.DatabaseAccessor;
|
||||
using Ewide.Core.Service.Role;
|
||||
using Furion.DatabaseAccessor;
|
||||
using Furion.DatabaseAccessor.Extensions;
|
||||
using Furion.DataEncryption;
|
||||
using Furion.DependencyInjection;
|
||||
@@ -27,13 +28,15 @@ namespace Ewide.Core.Service
|
||||
private readonly ISysEmpService _sysEmpService;
|
||||
private readonly ISysUserDataScopeService _sysUserDataScopeService;
|
||||
private readonly ISysUserRoleService _sysUserRoleService;
|
||||
private readonly ISysUserAreaService _sysUserAreaService;
|
||||
|
||||
public SysUserService(IRepository<SysUser> sysUserRep,
|
||||
IUserManager userManager,
|
||||
ISysCacheService sysCacheService,
|
||||
ISysEmpService sysEmpService,
|
||||
ISysUserDataScopeService sysUserDataScopeService,
|
||||
ISysUserRoleService sysUserRoleService)
|
||||
ISysUserRoleService sysUserRoleService,
|
||||
ISysUserAreaService sysUserAreaService)
|
||||
{
|
||||
_sysUserRep = sysUserRep;
|
||||
_userManager = userManager;
|
||||
@@ -41,6 +44,7 @@ namespace Ewide.Core.Service
|
||||
_sysEmpService = sysEmpService;
|
||||
_sysUserDataScopeService = sysUserDataScopeService;
|
||||
_sysUserRoleService = sysUserRoleService;
|
||||
_sysUserAreaService = sysUserAreaService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -288,7 +292,16 @@ namespace Ewide.Core.Service
|
||||
{
|
||||
return await _sysUserDataScopeService.GetUserDataScopeIdList(input.Id);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取用户拥有区域
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("/sysUser/ownArea")]
|
||||
public async Task<dynamic> GetUserOwnArea([FromQuery] QueryUserInput input)
|
||||
{
|
||||
return await _sysUserAreaService.GetUserAreaIdList(input.Id);
|
||||
}
|
||||
/// <summary>
|
||||
/// 重置用户密码
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user