diff --git a/Api/Ewide.Core/Const/CommonConst.cs b/Api/Ewide.Core/Const/CommonConst.cs
index 418ad6e..afa39b1 100644
--- a/Api/Ewide.Core/Const/CommonConst.cs
+++ b/Api/Ewide.Core/Const/CommonConst.cs
@@ -34,6 +34,6 @@
///
/// 区域缓存
///
- public const string CACHE_AREA_NUMBER = "areaNumber";
+ public const string CACHE_AREA_CODE = "areaCode";
}
}
diff --git a/Api/Ewide.Core/Controller/AreaCodeController.cs b/Api/Ewide.Core/Controller/AreaCodeController.cs
new file mode 100644
index 0000000..17d2546
--- /dev/null
+++ b/Api/Ewide.Core/Controller/AreaCodeController.cs
@@ -0,0 +1,87 @@
+using Ewide.Core.Service.Area;
+using Ewide.Core.Service.Area.Dto;
+using Furion.DynamicApiController;
+using Mapster;
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Ewide.Core.Controller
+{
+ ///
+ /// 区域代码相关服务
+ ///
+ [ApiDescriptionSettings(Name = "AreaCode", Order = 160)]
+ public class AreaCodeController : IDynamicApiController
+ {
+ private readonly IAreaCodeService _areaCodeService;
+
+ public AreaCodeController(IAreaCodeService areaCodeService)
+ {
+ _areaCodeService = areaCodeService;
+ }
+ ///
+ /// 查询
+ ///
+ ///
+ ///
+ [HttpGet("/sysArea/page")]
+ public async Task QueryAreaCodePageList([FromQuery] AreaCodeInput input)
+ {
+ return (await _areaCodeService.QueryAreaCodePageList(input));
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ [HttpGet("/sysArea/{code}")]
+ public async Task GetAreaCode([FromRoute]string code)
+ {
+ return (await _areaCodeService.GetAreaCode(code)).Adapt();
+ }
+ ///
+ /// 添加区域信息
+ ///
+ ///
+ ///
+ [HttpPost("/sysArea/add")]
+ public async Task AddAreaCode(AreaCodeInput input)
+ {
+ await _areaCodeService.AddAreaCode(input);
+ }
+ ///
+ /// 更新区域信息
+ ///
+ ///
+ ///
+ [HttpPost("/sysArea/edit")]
+ public async Task UpdateAreaCode(AreaCodeInput input)
+ {
+ await _areaCodeService.UpdateAreaCode(input);
+ }
+ ///
+ /// 删除区域
+ ///
+ ///
+ ///
+ [HttpPost("/sysArea/delete")]
+ public async Task DeleteAreaCode(DeleteAreaCodeInput input)
+ {
+ await _areaCodeService.DeleteAreaCode(input);
+ }
+ ///
+ /// 获取目录树
+ ///
+ ///
+ [HttpGet("/sysArea/tree")]
+ public async Task> GetAreaCodeTree()
+ {
+ return await _areaCodeService.GetAreaCodeTree();
+ }
+ }
+}
diff --git a/Api/Ewide.Core/Controller/AreaNumberController.cs b/Api/Ewide.Core/Controller/AreaNumberController.cs
deleted file mode 100644
index 048f5f6..0000000
--- a/Api/Ewide.Core/Controller/AreaNumberController.cs
+++ /dev/null
@@ -1,76 +0,0 @@
-using Ewide.Core.Service.Area;
-using Ewide.Core.Service.Area.Dto;
-using Furion.DynamicApiController;
-using Mapster;
-using Microsoft.AspNetCore.Mvc;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Ewide.Core.Controller
-{
- ///
- /// 区域代码相关服务
- ///
- [ApiDescriptionSettings(Name = "AreaNumber", Order = 160)]
- public class AreaNumberController : IDynamicApiController
- {
- private readonly IAreaNumberService _areaNumberService;
-
- public AreaNumberController(IAreaNumberService areaNumberService)
- {
- _areaNumberService = areaNumberService;
- }
- ///
- ///
- ///
- ///
- ///
- [HttpGet("/area/{code}")]
- public async Task GetAreaNumber([FromRoute]string code)
- {
- return (await _areaNumberService.GetAreaNumber(code)).Adapt();
- }
- ///
- /// 添加区域信息
- ///
- ///
- ///
- [HttpPost("/area/add")]
- public async Task AddAreaNumber(AreaNumberInput input)
- {
- await _areaNumberService.AddAreaNumber(input);
- }
- ///
- /// 更新区域信息
- ///
- ///
- ///
- [HttpPost("/area/edit")]
- public async Task UpdateAreaNumber(AreaNumberInput input)
- {
- await _areaNumberService.UpdateAreaNumber(input);
- }
- ///
- /// 删除区域
- ///
- ///
- ///
- [HttpPost("/area/delete")]
- public async Task DeleteAreaNumber(DeleteAreaNumberInput input)
- {
- await _areaNumberService.DeleteAreaNumber(input);
- }
- ///
- /// 获取目录树
- ///
- ///
- [HttpGet("/area/tree")]
- public async Task> GetAreaNumberTree()
- {
- return await _areaNumberService.GetAreaNumberTree();
- }
- }
-}
diff --git a/Api/Ewide.Core/Entity/AreaNumber.cs b/Api/Ewide.Core/Entity/SysAreaCode.cs
similarity index 90%
rename from Api/Ewide.Core/Entity/AreaNumber.cs
rename to Api/Ewide.Core/Entity/SysAreaCode.cs
index 7ca0293..30c1dc8 100644
--- a/Api/Ewide.Core/Entity/AreaNumber.cs
+++ b/Api/Ewide.Core/Entity/SysAreaCode.cs
@@ -8,26 +8,27 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace Ewide.Core.Entity
+namespace Ewide.Core
{
- [Table("ewide_area_number")]
+ [Table("sys_area_code")]
[Comment("区域表")]
- public class AreaNumber: IEntity
+ public class SysAreaCode: IEntity
{
[Key]
[Comment("系统使用的区域代码")]
- [MaxLength(10)]
+ [MaxLength(50)]
public string Code { get; set; }
[Comment("对外使用的区域代码")]
- [MaxLength(10)]
+ [MaxLength(50)]
public string ShowCode { get; set; }
[Comment("名称")]
[Required]
- [MaxLength(10)]
+ [MaxLength(100)]
public string Name { get; set; }
[Comment("备注")]
+ [MaxLength(1000)]
public string Note { get; set; }
[Comment("类别")]
diff --git a/Api/Ewide.Core/Entity/SysOrg.cs b/Api/Ewide.Core/Entity/SysOrg.cs
index 6d70306..d9e5af6 100644
--- a/Api/Ewide.Core/Entity/SysOrg.cs
+++ b/Api/Ewide.Core/Entity/SysOrg.cs
@@ -1,5 +1,4 @@
-using Ewide.Core.Entity;
-using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
@@ -73,7 +72,7 @@ namespace Ewide.Core
///
/// 一对一 一个组织对应一个区域代码
///
- public AreaNumber AreaNumber { get; set; }
+ public SysAreaCode AreaCode { get; set; }
///
/// 多对多(用户)
diff --git a/Api/Ewide.Core/Entity/SysRole.cs b/Api/Ewide.Core/Entity/SysRole.cs
index f1ce913..d9c029f 100644
--- a/Api/Ewide.Core/Entity/SysRole.cs
+++ b/Api/Ewide.Core/Entity/SysRole.cs
@@ -1,5 +1,4 @@
-using Ewide.Core.Entity;
-using Furion.DatabaseAccessor;
+using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
@@ -71,7 +70,7 @@ namespace Ewide.Core
///
public List SysRoleDataScopes { get; set; }
- public ICollection AreaNumbers { get; set; }
+ public ICollection AreaCodes { get; set; }
public List SysRoleAreas { get; set; }
@@ -102,10 +101,10 @@ namespace Ewide.Core
{
u.HasKey(c => new { c.SysRoleId, c.SysOrgId });
});
- entityBuilder.HasMany(p => p.AreaNumbers)
+ entityBuilder.HasMany(p => p.AreaCodes)
.WithMany(p => p.SysRoles)
.UsingEntity(
- u => u.HasOne(c => c.AreaNumber).WithMany(c => c.SysRoleAreas).HasForeignKey(c => c.AreaNumberCode),
+ u => u.HasOne(c => c.AreaCode).WithMany(c => c.SysRoleAreas).HasForeignKey(c => c.AreaNumberCode),
u => u.HasOne(c => c.SysRole).WithMany(c => c.SysRoleAreas).HasForeignKey(c => c.SysRoleId),
u =>
{
diff --git a/Api/Ewide.Core/Entity/SysRoleArea.cs b/Api/Ewide.Core/Entity/SysRoleArea.cs
index 8f59c65..78d74b5 100644
--- a/Api/Ewide.Core/Entity/SysRoleArea.cs
+++ b/Api/Ewide.Core/Entity/SysRoleArea.cs
@@ -8,7 +8,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace Ewide.Core.Entity
+namespace Ewide.Core
{
[Table("sys_role_area")]
[Comment("角色区域自定义数据")]
@@ -24,7 +24,7 @@ namespace Ewide.Core.Entity
[Comment("系统使用的区域代码")]
[MaxLength(10)]
public string AreaNumberCode { get; set; }
- public AreaNumber AreaNumber { get; set; }
+ public SysAreaCode AreaCode { get; set; }
}
}
diff --git a/Api/Ewide.Core/Entity/SysUser.cs b/Api/Ewide.Core/Entity/SysUser.cs
index 8bc6dca..6e2b4e0 100644
--- a/Api/Ewide.Core/Entity/SysUser.cs
+++ b/Api/Ewide.Core/Entity/SysUser.cs
@@ -1,5 +1,4 @@
-using Ewide.Core.Entity;
-using Furion.DatabaseAccessor;
+using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
@@ -128,7 +127,7 @@ namespace Ewide.Core
///
public List SysUserDataScopes { get; set; }
- public ICollection AreaNumbers { get; set; }
+ public ICollection AreaCodes { get; set; }
///
/// 多对多中间表(用户-区域 数据范围)
///
@@ -156,8 +155,8 @@ namespace Ewide.Core
{
u.HasKey(c => new { c.SysUserId, c.SysOrgId });
});
- entityBuilder.HasMany(p => p.AreaNumbers).WithMany(p => p.SysUsers).UsingEntity(
- u => u.HasOne(c => c.AreaNumber).WithMany(c => c.SysUserAreas).HasForeignKey(c => c.AreaNumberCode),
+ entityBuilder.HasMany(p => p.AreaCodes).WithMany(p => p.SysUsers).UsingEntity(
+ u => u.HasOne(c => c.AreaCode).WithMany(c => c.SysUserAreas).HasForeignKey(c => c.AreaNumberCode),
u => u.HasOne(c => c.SysUser).WithMany(c => c.SysUserAreas).HasForeignKey(c => c.SysUserId),
u =>
{
diff --git a/Api/Ewide.Core/Entity/SysUserArea.cs b/Api/Ewide.Core/Entity/SysUserArea.cs
index 19092fb..58b9b38 100644
--- a/Api/Ewide.Core/Entity/SysUserArea.cs
+++ b/Api/Ewide.Core/Entity/SysUserArea.cs
@@ -1,14 +1,9 @@
using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
-using System;
-using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-namespace Ewide.Core.Entity
+namespace Ewide.Core
{
[Table("sys_user_area")]
[Comment("用户授权区域信息")]
@@ -24,6 +19,6 @@ namespace Ewide.Core.Entity
[Comment("系统使用的区域代码")]
[MaxLength(10)]
public string AreaNumberCode { get; set; }
- public AreaNumber AreaNumber { get; set; }
+ public SysAreaCode AreaCode { get; set; }
}
}
diff --git a/Api/Ewide.Core/Ewide.Core.xml b/Api/Ewide.Core/Ewide.Core.xml
index c55c698..1328f72 100644
--- a/Api/Ewide.Core/Ewide.Core.xml
+++ b/Api/Ewide.Core/Ewide.Core.xml
@@ -303,90 +303,57 @@
验证码缓存
-
+
区域缓存
-
+
区域代码相关服务
-
+
+
+ 查询
+
+
+
+
+
-
+
添加区域信息
-
+
更新区域信息
-
+
删除区域
-
+
获取目录树
-
-
- 父节点就是去掉后面两位
-
-
-
-
- 多个区域有多个用户绑定自定义数据
-
-
-
-
- 中间表
-
-
-
-
- 多个区域有多个角色绑定权限数据
-
-
-
-
- 中间表
-
-
-
-
- 一个区域有多个组织
-
-
-
-
- 角色Id
-
-
-
-
- 用户Id
-
-
自定义实体基类
@@ -473,6 +440,36 @@
排序
+
+
+ 父节点就是去掉后面两位
+
+
+
+
+ 多个区域有多个用户绑定自定义数据
+
+
+
+
+ 中间表
+
+
+
+
+ 多个区域有多个角色绑定权限数据
+
+
+
+
+ 中间表
+
+
+
+
+ 一个区域有多个组织
+
+
代码生成表
@@ -1141,9 +1138,9 @@
备注
-
+
- 不关联上级菜单显示 0标识关联 1表示不需要关联菜单 仅按钮有效
+ 关联上级菜单显示 0表示不需要关联菜单 1表示关联 仅按钮有效
@@ -1356,7 +1353,7 @@
状态(字典 0正常 1停用 2删除)
-
+
一对一 一个组织对应一个区域代码
@@ -1494,6 +1491,11 @@
+
+
+ 角色Id
+
+
角色数据范围表
@@ -1770,6 +1772,11 @@
+
+
+ 用户Id
+
+
用户数据范围表
@@ -3127,34 +3134,34 @@
-
+
添加一个区域
-
+
删除一个区域
-
+
根据区域代码获取区域信息
区域代码
-
+
获取区域目录树
-
+
更新区域信息
@@ -5025,9 +5032,9 @@
备注
-
+
- 不绑定上级菜单
+ 绑定上级菜单显示
@@ -5095,7 +5102,17 @@
值
-
+
+
+ 菜单类型
+
+
+
+
+ 关联显示父级
+
+
+
排序,越小优先级越高
diff --git a/Api/Ewide.Core/SeedData/SysAreaCodeData.cs b/Api/Ewide.Core/SeedData/SysAreaCodeData.cs
new file mode 100644
index 0000000..21670fa
--- /dev/null
+++ b/Api/Ewide.Core/SeedData/SysAreaCodeData.cs
@@ -0,0 +1,23 @@
+using Furion.DatabaseAccessor;
+using Microsoft.EntityFrameworkCore;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Ewide.Core
+{
+ public class SysAreaCodeData : IEntitySeedData
+ {
+ public IEnumerable HasData(DbContext dbContext, Type dbContextLocator)
+ {
+ return new[]
+ {
+ new SysAreaCode{Code="3302",ShowCode="3302",Name="XX市",Note="XX市",LevelType=1,Sort=0 },
+ new SysAreaCode{Code="330266",ShowCode="330266",Name="测试区",Note="测试区",LevelType=2,Sort=100 },
+ new SysAreaCode{Code="330266001",ShowCode="330266001",Name="测试街道",Note="测试街道",LevelType=3,Sort=0},
+ };
+ }
+ }
+}
diff --git a/Api/Ewide.Core/SeedData/SysDictDataSeedData.cs b/Api/Ewide.Core/SeedData/SysDictDataSeedData.cs
index 7341465..50211b1 100644
--- a/Api/Ewide.Core/SeedData/SysDictDataSeedData.cs
+++ b/Api/Ewide.Core/SeedData/SysDictDataSeedData.cs
@@ -118,6 +118,10 @@ namespace Ewide.Core
new SysDictData{Id="76e885e8-1b40-45b6-bb0f-5519c6839df2", TypeId="0f1b8660-d932-4a53-a681-a38bebae91e0", Value="运行", Code="1", Sort=100, Remark="运行", Status=0 },
new SysDictData{Id="6e3591ec-2902-4bf3-b5a2-7ebc94ebc08f", TypeId="0f1b8660-d932-4a53-a681-a38bebae91e0", Value="停止", Code="2", Sort=100, Remark="停止", Status=0 },
+ new SysDictData{Id="6a01e89a-6bbb-4822-b862-8e566b6dde74", TypeId="2815b28b-e51d-4dfb-b549-2eaa27d8c23d", Value="市级编号", Code="1", Sort=1, Remark="市级编号", Status=0 },
+ new SysDictData{Id="fc843478-1e98-47e8-aaf3-12442fd4cbfc", TypeId="2815b28b-e51d-4dfb-b549-2eaa27d8c23d", Value="区县编号", Code="2", Sort=2, Remark="区县编号", Status=0 },
+ new SysDictData{Id="dad01f31-bb7f-4696-9e53-ad6d58b366a7", TypeId="2815b28b-e51d-4dfb-b549-2eaa27d8c23d", Value="乡镇街道编号", Code="3", Sort=3, Remark="乡镇街道编号", Status=0 },
+ new SysDictData{Id="514dbb46-ae79-4c07-96fa-496983765609", TypeId="2815b28b-e51d-4dfb-b549-2eaa27d8c23d", Value="社区/村委会编号", Code="4", Sort=4, Remark="社区/村委会编号", Status=0 },
};
}
}
diff --git a/Api/Ewide.Core/SeedData/SysDictTypeSeedData.cs b/Api/Ewide.Core/SeedData/SysDictTypeSeedData.cs
index d337e4d..9cfda91 100644
--- a/Api/Ewide.Core/SeedData/SysDictTypeSeedData.cs
+++ b/Api/Ewide.Core/SeedData/SysDictTypeSeedData.cs
@@ -20,6 +20,7 @@ namespace Ewide.Core
{
return new[]
{
+ new SysDictType{Id="2815b28b-e51d-4dfb-b549-2eaa27d8c23d", Name="区域编码类型", Code="dic_areacode_type", Sort=0, Remark="区域编码类型", Status=0 },
new SysDictType{Id="b0cfa91c-1189-4f39-bc5a-f035885d0604", Name="通用状态", Code="common_status", Sort=100, Remark="通用状态", Status=0 },
new SysDictType{Id="301ed120-dfc5-4d7c-af59-b56a519581c9", Name="性别", Code="sex", Sort=100, Remark="性别字典", Status=0 },
new SysDictType{Id="64afb5e7-9f00-4c4f-9ba6-6b41221bd862", Name="常量的分类", Code="consts_type", Sort=100, Remark="常量的分类,用于区别一组配置", Status=0 },
diff --git a/Api/Ewide.Core/SeedData/SysMenuSeedData.cs b/Api/Ewide.Core/SeedData/SysMenuSeedData.cs
index 61562ee..43801f6 100644
--- a/Api/Ewide.Core/SeedData/SysMenuSeedData.cs
+++ b/Api/Ewide.Core/SeedData/SysMenuSeedData.cs
@@ -57,6 +57,12 @@ new SysMenu{Id="c227e732-f231-4488-89b0-d1c9dad78950", Pid="0f60d129-9d3b-42b5-9
new SysMenu{Id="9dafbe04-83c9-482c-9c83-81f4da045da5", Pid="0f60d129-9d3b-42b5-9eb2-99bc066be6aa", Pids="[00000000-0000-0000-0000-000000000000],[f7d60a3f-2de3-4dca-a1d6-385cee9638bc],[0f60d129-9d3b-42b5-9eb2-99bc066be6aa],", Name="职位编辑", Code="sys_pos_mgr_edit", Type=2, Permission="sysPos:edit", Application="system", OpenType=0, Visible=true, Weight=1, Sort=100, Status=0},
new SysMenu{Id="031df05e-b7c6-4ecd-aff2-f189c994e86d", Pid="0f60d129-9d3b-42b5-9eb2-99bc066be6aa", Pids="[00000000-0000-0000-0000-000000000000],[f7d60a3f-2de3-4dca-a1d6-385cee9638bc],[0f60d129-9d3b-42b5-9eb2-99bc066be6aa],", Name="职位删除", Code="sys_pos_mgr_delete", Type=2, Permission="sysPos:delete", Application="system", OpenType=0, Visible=true, Weight=1, Sort=100, Status=0 },
new SysMenu{Id="fe5ee8a1-2145-43c6-bdeb-518f3a9c127d", Pid="0f60d129-9d3b-42b5-9eb2-99bc066be6aa", Pids="[00000000-0000-0000-0000-000000000000],[f7d60a3f-2de3-4dca-a1d6-385cee9638bc],[0f60d129-9d3b-42b5-9eb2-99bc066be6aa],", Name="职位详情", Code="sys_pos_mgr_detail", Type=2, Permission="sysPos:detail", Application="system", OpenType=0, Visible=true, Weight=1, Sort=100, Status=0 },
+new SysMenu{Id="235d9a5f-2469-4f17-a98c-45824513d5ae", Pid="f7d60a3f-2de3-4dca-a1d6-385cee9638bc", Pids="[00000000-0000-0000-0000-000000000000],[f7d60a3f-2de3-4dca-a1d6-385cee9638bc],", Name="区域管理", Code="org_areaManage", Type=1, Router="/area", Component="system/area/index", Application="system", OpenType=1, Visible=true, Weight=1, Sort=0, Status=0},
+new SysMenu{Id="d5130f78-5d8d-4c8d-b433-f8e6796f0d12", Pid="235d9a5f-2469-4f17-a98c-45824513d5ae", Pids="[00000000-0000-0000-0000-000000000000],[f7d60a3f-2de3-4dca-a1d6-385cee9638bc],[235d9a5f-2469-4f17-a98c-45824513d5ae],", Name="区域增加", Code="org_area_add", Type=2, Permission="sysArea:add", Application="system", OpenType=0, Visible=true, Weight=1, Sort=100, Status=0 },
+new SysMenu{Id="4f44d697-5421-487e-9d31-3161aee4b7cc", Pid="235d9a5f-2469-4f17-a98c-45824513d5ae", Pids="[00000000-0000-0000-0000-000000000000],[f7d60a3f-2de3-4dca-a1d6-385cee9638bc],[235d9a5f-2469-4f17-a98c-45824513d5ae],", Name="区域编辑", Code="org_area_edit", Type=2, Permission="sysArea:edit", Application="system", OpenType=0, Visible=true, Weight=1, Sort=100, Status=0 },
+new SysMenu{Id="142803a5-63de-48be-afa9-3bde8640d580", Pid="235d9a5f-2469-4f17-a98c-45824513d5ae", Pids="[00000000-0000-0000-0000-000000000000],[f7d60a3f-2de3-4dca-a1d6-385cee9638bc],[235d9a5f-2469-4f17-a98c-45824513d5ae],", Name="区域删除", Code="org_area_delete", Type=2, Permission="sysArea:delete", Application="system", OpenType=0, Visible=true, Weight=1, Sort=100, Status=0 },
+new SysMenu{Id="e7f28efd-2ac4-45c6-a73b-57ef7c5b8c8b", Pid="235d9a5f-2469-4f17-a98c-45824513d5ae", Pids="[00000000-0000-0000-0000-000000000000],[f7d60a3f-2de3-4dca-a1d6-385cee9638bc],[235d9a5f-2469-4f17-a98c-45824513d5ae],", Name="区域查询", Code="org_area_page", Type=2, Permission="sysArea:page", Application="system", OpenType=0, Visible=true, Weight=1, Sort=100, Status=0},
+new SysMenu{Id="8645a374-6939-4dd8-a827-c6a39771f33d", Pid="235d9a5f-2469-4f17-a98c-45824513d5ae", Pids="[00000000-0000-0000-0000-000000000000],[f7d60a3f-2de3-4dca-a1d6-385cee9638bc],[235d9a5f-2469-4f17-a98c-45824513d5ae],", Name="区域树", Code="org_area_tree", Type=2, Permission="sysArea:tree", Application="system", OpenType=0, Visible=true, Weight=1, Sort=100, Status=0 },
new SysMenu{Id="4c00d8c1-e871-4231-8b46-a3e3f3fd400c", Pid="00000000-0000-0000-0000-000000000000", Pids="[00000000-0000-0000-0000-000000000000],", Name="权限管理", Code="auth_manager", Type=0, Icon="safety-certificate", Router="/auth", Component="PageView", Application="system", OpenType=0, Visible=true, Weight=1, Sort=100, Status=0 },
new SysMenu{Id="05175bfd-6e5f-4c3b-8daf-0f79df4e9694", Pid="4c00d8c1-e871-4231-8b46-a3e3f3fd400c", Pids="[00000000-0000-0000-0000-000000000000],[4c00d8c1-e871-4231-8b46-a3e3f3fd400c],", Name="应用管理", Code="sys_app_mgr", Type=1, Router="/app", Component="system/app/index", Application="system", OpenType=1, Visible=true, Weight=1, Sort=100, Status=0 },
new SysMenu{Id="dbaa7a6d-234f-4cc9-977f-4544b8bb45b8", Pid="05175bfd-6e5f-4c3b-8daf-0f79df4e9694", Pids="[00000000-0000-0000-0000-000000000000],[4c00d8c1-e871-4231-8b46-a3e3f3fd400c],[05175bfd-6e5f-4c3b-8daf-0f79df4e9694],", Name="应用查询", Code="sys_app_mgr_page", Type=2, Permission="sysApp:page", Application="system", OpenType=0, Visible=true, Weight=1, Sort=100, Status=0 },
diff --git a/Api/Ewide.Core/Service/Area/AreaCodeService.cs b/Api/Ewide.Core/Service/Area/AreaCodeService.cs
new file mode 100644
index 0000000..2e48274
--- /dev/null
+++ b/Api/Ewide.Core/Service/Area/AreaCodeService.cs
@@ -0,0 +1,128 @@
+using Ewide.Core.Service.Area.Dto;
+using Furion.DatabaseAccessor;
+using Furion.DatabaseAccessor.Extensions;
+using Furion.DependencyInjection;
+using Furion.FriendlyException;
+using Mapster;
+using Microsoft.EntityFrameworkCore;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace Ewide.Core.Service.Area
+{
+ public class AreaCodeService : IAreaCodeService, ITransient
+ {
+ private readonly IRepository _areaCodeRep;
+ private readonly IRepository _sysOrgRep;
+ private readonly ISysCacheService _sysCacheService;
+
+ public AreaCodeService(IRepository AreaCodeRep, ISysCacheService sysCacheService, IRepository sysOrgRep)
+ {
+ _areaCodeRep = AreaCodeRep;
+ _sysCacheService = sysCacheService;
+ _sysOrgRep = sysOrgRep;
+ }
+ ///
+ /// 添加一个区域
+ ///
+ ///
+ ///
+ public async Task AddAreaCode(AreaCodeInput input)
+ {
+ CheckInput(input);
+ await _areaCodeRep.InsertNowAsync(input.Adapt());
+ await _sysCacheService.SetAreaCode(await _areaCodeRep.DetachedEntities.ToListAsync());
+ }
+ ///
+ /// 删除一个区域
+ ///
+ ///
+ ///
+ public async Task DeleteAreaCode(DeleteAreaCodeInput input)
+ {
+ var AreaCode = await _areaCodeRep.FirstOrDefaultAsync(p => p.Code == input.Code);
+ if (await _sysOrgRep.DetachedEntities.AnyAsync(o => o.AreaNumberCode == input.Code))
+ {
+ throw Oops.Oh("不能删除已包含区域的组织");
+ }
+ await AreaCode.DeleteNowAsync();
+ await _sysCacheService.SetAreaCode(await _areaCodeRep.DetachedEntities.ToListAsync());
+ }
+ ///
+ /// 根据区域代码获取区域信息
+ ///
+ /// 区域代码
+ ///
+ public async Task GetAreaCode(string code)
+ {
+ var cachedAreaCodes = await _sysCacheService.GetAreaCode();
+ if (cachedAreaCodes == null || cachedAreaCodes.Count < 0)
+ {
+ cachedAreaCodes = await _areaCodeRep.DetachedEntities.ToListAsync();
+ await _sysCacheService.SetAreaCode(cachedAreaCodes);
+ }
+ return cachedAreaCodes.FirstOrDefault(a => a.Code == code);
+ }
+ ///
+ /// 获取区域目录树
+ ///
+ ///
+ public async Task> GetAreaCodeTree()
+ {
+ var cachedAreaCodes = await _sysCacheService.GetAreaCode();
+ if (cachedAreaCodes == null || cachedAreaCodes.Count < 0)
+ {
+ cachedAreaCodes = await _areaCodeRep.DetachedEntities.ToListAsync();
+ await _sysCacheService.SetAreaCode(cachedAreaCodes);
+ }
+ return new TreeBuildUtil().DoTreeBuild(cachedAreaCodes.Select(u => new AreaTreeNode
+ {
+ Code = u.Code,
+ ParentCode = u.ParentCode,
+ Name = u.Name,
+ LevelType = u.LevelType,
+ Note = u.Note
+ }).ToList());
+ }
+
+ public async Task> GetAreaCodeWithChildren(string code)
+ {
+ return await _areaCodeRep.DetachedEntities.Where(a => a.Code.StartsWith(code)).ToListAsync();
+ }
+
+ public async Task QueryAreaCodePageList(AreaCodeInput input)
+ {
+ var AreaCodes = await _areaCodeRep.DetachedEntities
+ .Where(input.LevelType.HasValue ,a=>a.LevelType == input.LevelType)
+ .Where(!string.IsNullOrEmpty(input.Code),a=>a.Code.StartsWith(input.Code))
+ .Where(!string.IsNullOrEmpty(input.ShowCode),a =>a.ShowCode.StartsWith(input.ShowCode))
+ .Where(!string.IsNullOrEmpty(input.Name),a =>a.Name.StartsWith(input.Name))
+ .Select(p => p.Adapt()).ToPagedListAsync(input.PageNo, input.PageSize);
+ return XnPageResult.PageResult(AreaCodes);
+ }
+
+ ///
+ /// 更新区域信息
+ ///
+ ///
+ ///
+ public async Task UpdateAreaCode(AreaCodeInput input)
+ {
+ CheckInput(input);
+ var area = input.Adapt();
+ await area.UpdateNowAsync();
+ await _sysCacheService.SetAreaCode(await _areaCodeRep.DetachedEntities.ToListAsync());
+ }
+ private bool CheckInput(AreaCodeInput input)
+ {
+ //检查level和区域长度
+ if (false)
+ {
+ throw Oops.Oh("数据异常");
+ }
+ //检查是否有子节点
+ return true;
+ }
+ }
+}
diff --git a/Api/Ewide.Core/Service/Area/AreaNumberService.cs b/Api/Ewide.Core/Service/Area/AreaNumberService.cs
deleted file mode 100644
index 924ca08..0000000
--- a/Api/Ewide.Core/Service/Area/AreaNumberService.cs
+++ /dev/null
@@ -1,121 +0,0 @@
-using Ewide.Core.Entity;
-using Ewide.Core.Service.Area.Dto;
-using Furion.DatabaseAccessor;
-using Furion.DatabaseAccessor.Extensions;
-using Furion.DependencyInjection;
-using Furion.DynamicApiController;
-using Furion.FriendlyException;
-using Mapster;
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.EntityFrameworkCore;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Ewide.Core.Service.Area
-{
- public class AreaNumberService : IAreaNumberService, ITransient
- {
- private readonly IRepository _areaNumberRep;
- private readonly IRepository _sysOrgRep;
- private readonly ISysCacheService _sysCacheService;
-
- public AreaNumberService(IRepository areaNumberRep, ISysCacheService sysCacheService, IRepository sysOrgRep)
- {
- _areaNumberRep = areaNumberRep;
- _sysCacheService = sysCacheService;
- _sysOrgRep = sysOrgRep;
- }
- ///
- /// 添加一个区域
- ///
- ///
- ///
- public async Task AddAreaNumber(AreaNumberInput input)
- {
- CheckInput(input);
- await _areaNumberRep.InsertNowAsync(input.Adapt());
- await _sysCacheService.SetAreaNumber(await _areaNumberRep.DetachedEntities.ToListAsync());
- }
- ///
- /// 删除一个区域
- ///
- ///
- ///
- public async Task DeleteAreaNumber(DeleteAreaNumberInput input)
- {
- var areaNumber = await _areaNumberRep.FirstOrDefaultAsync(p => p.Code == input.Code);
- if (await _sysOrgRep.DetachedEntities.AnyAsync(o => o.AreaNumberCode == input.Code))
- {
- throw Oops.Oh("不能删除已包含区域的组织");
- }
- await areaNumber.DeleteNowAsync();
- await _sysCacheService.SetAreaNumber(await _areaNumberRep.DetachedEntities.ToListAsync());
- }
- ///
- /// 根据区域代码获取区域信息
- ///
- /// 区域代码
- ///
- public async Task GetAreaNumber(string code)
- {
- var cachedAreaNumbers = await _sysCacheService.GetAreaNumber();
- if (cachedAreaNumbers == null || cachedAreaNumbers.Count < 0)
- {
- cachedAreaNumbers = await _areaNumberRep.DetachedEntities.ToListAsync();
- await _sysCacheService.SetAreaNumber(cachedAreaNumbers);
- }
- return cachedAreaNumbers.FirstOrDefault(a => a.Code == code);
- }
- ///
- /// 获取区域目录树
- ///
- ///
- public async Task> GetAreaNumberTree()
- {
- var cachedAreaNumbers = await _sysCacheService.GetAreaNumber();
- if (cachedAreaNumbers == null || cachedAreaNumbers.Count < 0)
- {
- cachedAreaNumbers = await _areaNumberRep.DetachedEntities.ToListAsync();
- await _sysCacheService.SetAreaNumber(cachedAreaNumbers);
- }
- return new TreeBuildUtil().DoTreeBuild(cachedAreaNumbers.Select(u => new AreaTreeNode
- {
- Code = u.Code,
- ParentCode = u.ParentCode,
- Name = u.Name,
- LevelType = u.LevelType,
- Note = u.Note
- }).ToList());
- }
-
- public async Task> GetAreaNumberWithChildren(string code)
- {
- return await _areaNumberRep.DetachedEntities.Where(a => a.Code.StartsWith(code)).ToListAsync();
- }
- ///
- /// 更新区域信息
- ///
- ///
- ///
- public async Task UpdateAreaNumber(AreaNumberInput input)
- {
- CheckInput(input);
- var area = input.Adapt();
- await area.UpdateNowAsync();
- await _sysCacheService.SetAreaNumber(await _areaNumberRep.DetachedEntities.ToListAsync());
- }
- private bool CheckInput(AreaNumberInput input)
- {
- //检查level和区域长度
- if (false)
- {
- throw Oops.Oh("数据异常");
- }
- //检查是否有子节点
- return true;
- }
- }
-}
diff --git a/Api/Ewide.Core/Service/Area/Dto/AreaNumberInput.cs b/Api/Ewide.Core/Service/Area/Dto/AreaCodeInput.cs
similarity index 77%
rename from Api/Ewide.Core/Service/Area/Dto/AreaNumberInput.cs
rename to Api/Ewide.Core/Service/Area/Dto/AreaCodeInput.cs
index 48dcf9c..2068d29 100644
--- a/Api/Ewide.Core/Service/Area/Dto/AreaNumberInput.cs
+++ b/Api/Ewide.Core/Service/Area/Dto/AreaCodeInput.cs
@@ -7,24 +7,24 @@ using System.Threading.Tasks;
namespace Ewide.Core.Service.Area.Dto
{
- public class AreaNumberInput
+ public class AreaCodeInput : XnInputBase
{
public string Code { get; set; }
public string ShowCode { get; set; }
public string Name { get; set; }
- public int LevelType { get; set; }
+ public int? LevelType { get; set; }
public string Note { get; set; }
public int Sort { get; set; }
}
- public class UpdateAreaNumberInput
+ public class UpdateAreaCodeInput
{
public string ShowCode { get; set; }
public string Name { get; set; }
- public int LevelType { get; set; }
+ public int? LevelType { get; set; }
public string Note { get; set; }
public int Sort { get; set; }
}
- public class DeleteAreaNumberInput
+ public class DeleteAreaCodeInput
{
[Required(ErrorMessage ="区域代码不可为空")]
public string Code { get; set; }
diff --git a/Api/Ewide.Core/Service/Area/Dto/AreaNumberOutput.cs b/Api/Ewide.Core/Service/Area/Dto/AreaCodeOutput.cs
similarity index 85%
rename from Api/Ewide.Core/Service/Area/Dto/AreaNumberOutput.cs
rename to Api/Ewide.Core/Service/Area/Dto/AreaCodeOutput.cs
index 9c59878..14d5527 100644
--- a/Api/Ewide.Core/Service/Area/Dto/AreaNumberOutput.cs
+++ b/Api/Ewide.Core/Service/Area/Dto/AreaCodeOutput.cs
@@ -7,11 +7,11 @@ using System.Threading.Tasks;
namespace Ewide.Core.Service.Area.Dto
{
- public class AreaNumberOutput:AreaNumberInput
+ public class AreaCodeOutput:AreaCodeInput
{
public string ParentCode { get; set; }
}
- public class AreaTreeNode : AreaNumberOutput, ITreeNode
+ public class AreaTreeNode : AreaCodeOutput, ITreeNode
{
public List Children { get; set; } = new List();
diff --git a/Api/Ewide.Core/Service/Area/IAreaCodeService.cs b/Api/Ewide.Core/Service/Area/IAreaCodeService.cs
new file mode 100644
index 0000000..10d700e
--- /dev/null
+++ b/Api/Ewide.Core/Service/Area/IAreaCodeService.cs
@@ -0,0 +1,23 @@
+using Ewide.Core.Service.Area.Dto;
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Ewide.Core.Service.Area
+{
+ public interface IAreaCodeService
+ {
+ Task AddAreaCode(AreaCodeInput input);
+ Task DeleteAreaCode(DeleteAreaCodeInput input);
+ Task UpdateAreaCode(AreaCodeInput input);
+ Task GetAreaCode(string code);
+ Task> GetAreaCodeWithChildren(string code);
+
+ Task> GetAreaCodeTree();
+
+ Task QueryAreaCodePageList([FromQuery] AreaCodeInput input);
+ }
+}
diff --git a/Api/Ewide.Core/Service/Area/IAreaNumberService.cs b/Api/Ewide.Core/Service/Area/IAreaNumberService.cs
deleted file mode 100644
index 3f18f46..0000000
--- a/Api/Ewide.Core/Service/Area/IAreaNumberService.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using Ewide.Core.Entity;
-using Ewide.Core.Service.Area.Dto;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Ewide.Core.Service.Area
-{
- public interface IAreaNumberService
- {
- Task AddAreaNumber(AreaNumberInput input);
- Task DeleteAreaNumber(DeleteAreaNumberInput input);
- Task UpdateAreaNumber(AreaNumberInput input);
- Task GetAreaNumber(string code);
- Task> GetAreaNumberWithChildren(string code);
-
- Task> GetAreaNumberTree();
- }
-}
diff --git a/Api/Ewide.Core/Service/Cache/ISysCacheService.cs b/Api/Ewide.Core/Service/Cache/ISysCacheService.cs
index 62ac0f0..deeec91 100644
--- a/Api/Ewide.Core/Service/Cache/ISysCacheService.cs
+++ b/Api/Ewide.Core/Service/Cache/ISysCacheService.cs
@@ -1,5 +1,4 @@
-using Ewide.Core.Entity;
-using System.Collections.Generic;
+using System.Collections.Generic;
using System.Threading.Tasks;
namespace Ewide.Core.Service
@@ -15,8 +14,8 @@ namespace Ewide.Core.Service
Task SetDataScope(string userId, List dataScopes);
Task SetMenu(string userId, string appCode, List menus);
Task SetPermission(string userId, List permissions);
- Task> GetAreaNumber();
- Task SetAreaNumber(List areaNumbers);
+ Task> GetAreaCode();
+ Task SetAreaCode(List areaCodes);
Task SetAsync(string key, object value);
Task GetAsync(string key);
Task GetAsync(string key);
diff --git a/Api/Ewide.Core/Service/Cache/SysCacheService.cs b/Api/Ewide.Core/Service/Cache/SysCacheService.cs
index 89e3d8a..d1d8880 100644
--- a/Api/Ewide.Core/Service/Cache/SysCacheService.cs
+++ b/Api/Ewide.Core/Service/Cache/SysCacheService.cs
@@ -1,5 +1,4 @@
-using Ewide.Core.Entity;
-using Furion.DependencyInjection;
+using Furion.DependencyInjection;
using Furion.DynamicApiController;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
@@ -166,14 +165,14 @@ namespace Ewide.Core.Service
{
return _cache.GetAsync(key);
}
- public Task> GetAreaNumber()
+ public Task> GetAreaCode()
{
- return _cache.GetAsync>(CommonConst.CACHE_AREA_NUMBER);
+ return _cache.GetAsync>(CommonConst.CACHE_AREA_CODE);
}
- public async Task SetAreaNumber(List areaNumbers)
+ public async Task SetAreaCode(List areaCodes)
{
- await _cache.SetAsync(CommonConst.CACHE_AREA_NUMBER,areaNumbers);
+ await _cache.SetAsync(CommonConst.CACHE_AREA_CODE, areaCodes);
}
}
}
diff --git a/Api/Ewide.Core/Service/Org/SysOrgService.cs b/Api/Ewide.Core/Service/Org/SysOrgService.cs
index 43466f8..110ed20 100644
--- a/Api/Ewide.Core/Service/Org/SysOrgService.cs
+++ b/Api/Ewide.Core/Service/Org/SysOrgService.cs
@@ -1,5 +1,4 @@
-using Ewide.Core.Entity;
-using Furion;
+using Furion;
using Furion.DatabaseAccessor;
using Furion.DatabaseAccessor.Extensions;
using Furion.DependencyInjection;
diff --git a/Api/Ewide.Core/Service/Role/SysRoleAreaService.cs b/Api/Ewide.Core/Service/Role/SysRoleAreaService.cs
index a452eac..6b030e1 100644
--- a/Api/Ewide.Core/Service/Role/SysRoleAreaService.cs
+++ b/Api/Ewide.Core/Service/Role/SysRoleAreaService.cs
@@ -1,6 +1,4 @@
-using Ewide.Core.Entity;
-using Ewide.Core.Service.User;
-using Furion.DatabaseAccessor;
+using Furion.DatabaseAccessor;
using Furion.DatabaseAccessor.Extensions;
using Furion.DependencyInjection;
using Microsoft.EntityFrameworkCore;
diff --git a/Api/Ewide.Core/Service/User/SysUserAreaService.cs b/Api/Ewide.Core/Service/User/SysUserAreaService.cs
index 887439e..1af6857 100644
--- a/Api/Ewide.Core/Service/User/SysUserAreaService.cs
+++ b/Api/Ewide.Core/Service/User/SysUserAreaService.cs
@@ -1,5 +1,4 @@
-using Ewide.Core.Entity;
-using Ewide.Core.Service.Role;
+using Ewide.Core.Service.Role;
using Furion.DatabaseAccessor;
using Furion.DatabaseAccessor.Extensions;
using Furion.DependencyInjection;
diff --git a/Api/Ewide.Core/Service/User/SysUserDataScopeService.cs b/Api/Ewide.Core/Service/User/SysUserDataScopeService.cs
index 72ed189..6d1c178 100644
--- a/Api/Ewide.Core/Service/User/SysUserDataScopeService.cs
+++ b/Api/Ewide.Core/Service/User/SysUserDataScopeService.cs
@@ -1,5 +1,4 @@
-using Ewide.Core.Entity;
-using Furion.DatabaseAccessor;
+using Furion.DatabaseAccessor;
using Furion.DatabaseAccessor.Extensions;
using Furion.DependencyInjection;
using Microsoft.EntityFrameworkCore;