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 Ewide.Core.Service.Area.Dto;
|
||||||
using Furion.DynamicApiController;
|
using Furion.DynamicApiController;
|
||||||
using Mapster;
|
using Mapster;
|
||||||
@@ -18,10 +19,13 @@ namespace Ewide.Core.Controller
|
|||||||
public class AreaCodeController : IDynamicApiController
|
public class AreaCodeController : IDynamicApiController
|
||||||
{
|
{
|
||||||
private readonly IAreaCodeService _areaCodeService;
|
private readonly IAreaCodeService _areaCodeService;
|
||||||
|
private readonly ISysUserService _sysUserService;
|
||||||
public AreaCodeController(IAreaCodeService areaCodeService)
|
private readonly IUserManager _userManager;
|
||||||
|
public AreaCodeController(IAreaCodeService areaCodeService, IUserManager userManager, ISysUserService sysUserService)
|
||||||
{
|
{
|
||||||
_areaCodeService = areaCodeService;
|
_areaCodeService = areaCodeService;
|
||||||
|
_userManager = userManager;
|
||||||
|
_sysUserService = sysUserService;
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 查询
|
/// 查询
|
||||||
@@ -81,7 +85,13 @@ namespace Ewide.Core.Controller
|
|||||||
[HttpGet("/sysArea/tree")]
|
[HttpGet("/sysArea/tree")]
|
||||||
public async Task<List<AreaTreeNode>> GetAreaCodeTree([FromQuery]int? level)
|
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>
|
<param name="code">区域代码</param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</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>
|
||||||
获取区域目录树
|
获取区域目录树
|
||||||
</summary>
|
</summary>
|
||||||
@@ -6967,6 +6967,13 @@
|
|||||||
<param name="input"></param>
|
<param name="input"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</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)">
|
<member name="M:Ewide.Core.Service.SysUserService.ResetUserPwd(Ewide.Core.Service.QueryUserInput)">
|
||||||
<summary>
|
<summary>
|
||||||
重置用户密码
|
重置用户密码
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ namespace Ewide.Core.Service.Area
|
|||||||
/// 获取区域目录树
|
/// 获取区域目录树
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <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);
|
level = level.GetValueOrDefault(100);
|
||||||
var cachedAreaCodes = await _sysCacheService.GetAreaCode();
|
var cachedAreaCodes = await _sysCacheService.GetAreaCode();
|
||||||
@@ -92,7 +92,12 @@ namespace Ewide.Core.Service.Area
|
|||||||
await _sysCacheService.SetAreaCode(cachedAreaCodes);
|
await _sysCacheService.SetAreaCode(cachedAreaCodes);
|
||||||
#endif
|
#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
|
return new TreeBuildUtil<AreaTreeNode>().DoTreeBuild(cachedAreaCodes.Select(u => new AreaTreeNode
|
||||||
{
|
{
|
||||||
Code = u.Code,
|
Code = u.Code,
|
||||||
@@ -167,5 +172,10 @@ namespace Ewide.Core.Service.Area
|
|||||||
}
|
}
|
||||||
return true;
|
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<SysAreaCode> GetAreaCode(string code);
|
||||||
Task<List<SysAreaCode>> GetAreaCodeWithChildren(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<dynamic> QueryAreaCodePageList([FromQuery] AreaCodeInput input);
|
||||||
|
|
||||||
|
Task<List<string>> GetAreaCodeListByOrgId(List<string> orgIdList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,15 +50,12 @@ namespace Ewide.Core.Service.User
|
|||||||
{
|
{
|
||||||
u.Delete();
|
u.Delete();
|
||||||
});
|
});
|
||||||
|
var dbset = _sysUserAreaRep.Entities;
|
||||||
input.GrantAreaCodeList.ForEach(u =>
|
await _sysUserAreaRep.InsertAsync(input.GrantAreaCodeList.Select(u => new SysUserArea
|
||||||
{
|
{
|
||||||
new SysUserArea
|
SysUserId = input.Id,
|
||||||
{
|
AreaCode = u
|
||||||
SysUserId = input.Id,
|
}));
|
||||||
AreaCode = u
|
|
||||||
}.Insert();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using Furion.DatabaseAccessor;
|
using Ewide.Core.Service.Role;
|
||||||
|
using Furion.DatabaseAccessor;
|
||||||
using Furion.DatabaseAccessor.Extensions;
|
using Furion.DatabaseAccessor.Extensions;
|
||||||
using Furion.DataEncryption;
|
using Furion.DataEncryption;
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -27,13 +28,15 @@ namespace Ewide.Core.Service
|
|||||||
private readonly ISysEmpService _sysEmpService;
|
private readonly ISysEmpService _sysEmpService;
|
||||||
private readonly ISysUserDataScopeService _sysUserDataScopeService;
|
private readonly ISysUserDataScopeService _sysUserDataScopeService;
|
||||||
private readonly ISysUserRoleService _sysUserRoleService;
|
private readonly ISysUserRoleService _sysUserRoleService;
|
||||||
|
private readonly ISysUserAreaService _sysUserAreaService;
|
||||||
|
|
||||||
public SysUserService(IRepository<SysUser> sysUserRep,
|
public SysUserService(IRepository<SysUser> sysUserRep,
|
||||||
IUserManager userManager,
|
IUserManager userManager,
|
||||||
ISysCacheService sysCacheService,
|
ISysCacheService sysCacheService,
|
||||||
ISysEmpService sysEmpService,
|
ISysEmpService sysEmpService,
|
||||||
ISysUserDataScopeService sysUserDataScopeService,
|
ISysUserDataScopeService sysUserDataScopeService,
|
||||||
ISysUserRoleService sysUserRoleService)
|
ISysUserRoleService sysUserRoleService,
|
||||||
|
ISysUserAreaService sysUserAreaService)
|
||||||
{
|
{
|
||||||
_sysUserRep = sysUserRep;
|
_sysUserRep = sysUserRep;
|
||||||
_userManager = userManager;
|
_userManager = userManager;
|
||||||
@@ -41,6 +44,7 @@ namespace Ewide.Core.Service
|
|||||||
_sysEmpService = sysEmpService;
|
_sysEmpService = sysEmpService;
|
||||||
_sysUserDataScopeService = sysUserDataScopeService;
|
_sysUserDataScopeService = sysUserDataScopeService;
|
||||||
_sysUserRoleService = sysUserRoleService;
|
_sysUserRoleService = sysUserRoleService;
|
||||||
|
_sysUserAreaService = sysUserAreaService;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -288,7 +292,16 @@ namespace Ewide.Core.Service
|
|||||||
{
|
{
|
||||||
return await _sysUserDataScopeService.GetUserDataScopeIdList(input.Id);
|
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>
|
||||||
/// 重置用户密码
|
/// 重置用户密码
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ namespace Ewide.Test
|
|||||||
_output.WriteLine($"login status code {response.StatusCode}");
|
_output.WriteLine($"login status code {response.StatusCode}");
|
||||||
var body = await response.Content.ReadAsStringAsync();
|
var body = await response.Content.ReadAsStringAsync();
|
||||||
_output.WriteLine($"body {body}");
|
_output.WriteLine($"body {body}");
|
||||||
var result = JsonConvert.DeserializeObject<XnRestfulResult<LoginOutput>>(body);
|
var result = JsonConvert.DeserializeObject<RestfulResult<LoginOutput>>(body);
|
||||||
Assert.NotNull(result.Data);
|
Assert.NotNull(result.Data);
|
||||||
}
|
}
|
||||||
[Theory]
|
[Theory]
|
||||||
@@ -56,7 +56,7 @@ namespace Ewide.Test
|
|||||||
, Encoding.UTF8, "application/json"));
|
, Encoding.UTF8, "application/json"));
|
||||||
var body = await response.Content.ReadAsStringAsync();
|
var body = await response.Content.ReadAsStringAsync();
|
||||||
_output.WriteLine($"body {body}");
|
_output.WriteLine($"body {body}");
|
||||||
var result = JsonConvert.DeserializeObject<XnRestfulResult<string>>(body);
|
var result = JsonConvert.DeserializeObject<RestfulResult<string>>(body);
|
||||||
Assert.Equal(code, result.Code);
|
Assert.Equal(code, result.Code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,7 +78,7 @@ namespace Ewide.Test
|
|||||||
, Encoding.UTF8, "application/json"));
|
, Encoding.UTF8, "application/json"));
|
||||||
var body = await response.Content.ReadAsStringAsync();
|
var body = await response.Content.ReadAsStringAsync();
|
||||||
_output.WriteLine($"body {body}");
|
_output.WriteLine($"body {body}");
|
||||||
var result = JsonConvert.DeserializeObject<XnRestfulResult<string>>(body);
|
var result = JsonConvert.DeserializeObject<RestfulResult<string>>(body);
|
||||||
if (!result.Success)
|
if (!result.Success)
|
||||||
{
|
{
|
||||||
throw new ArgumentException("»ñÈ¡AccessTokenʧ°Ü");
|
throw new ArgumentException("»ñÈ¡AccessTokenʧ°Ü");
|
||||||
|
|||||||
Reference in New Issue
Block a user