lichunlei vor 4 Monaten
Ursprung
Commit
3a54f95fc5
53 geänderte Dateien mit 15 neuen und 6166 gelöschten Zeilen
  1. 0 139
      .drone.yml
  2. 2 2
      .vscode/launch.json
  3. 3 3
      .vscode/tasks.json
  4. 0 0
      AppFileMake.csproj
  5. 0 140
      Controllers/ApiGroupController.cs
  6. 0 158
      Controllers/ApiInfoController.cs
  7. 0 142
      Controllers/AppBottomNavsController.cs
  8. 0 136
      Controllers/AppReportRecordController.cs
  9. 0 142
      Controllers/AppVersionController.cs
  10. 0 99
      Controllers/Base/ApiPubController.cs
  11. 0 71
      Controllers/Base/HomeController.cs
  12. 0 188
      Controllers/Base/SysDeptController.cs
  13. 0 169
      Controllers/Base/SysLoginController.cs
  14. 0 224
      Controllers/Base/SysMenuController.cs
  15. 0 147
      Controllers/Base/SysPostController.cs
  16. 0 206
      Controllers/Base/SysRoleController.cs
  17. 0 260
      Controllers/Base/SysUserController.cs
  18. 0 91
      Controllers/Base/SysUserRoleController.cs
  19. 0 139
      Controllers/Client/AppController.cs
  20. 0 176
      Controllers/FileUpdateInfoController.cs
  21. 0 142
      Controllers/PageUpdateInfoController.cs
  22. 0 124
      Controllers/SysDictController.cs
  23. 0 124
      Controllers/SysDictItemController.cs
  24. 0 19
      Extensions/AppServiceExtensions.cs
  25. 3 3
      Filters/ActionPermissionFilter.cs
  26. 7 10
      Filters/AuthorizationFilter.cs
  27. 0 81
      Services/ApiGroupService.cs
  28. 0 55
      Services/ApiInfoService.cs
  29. 0 44
      Services/AppReportRecordService.cs
  30. 0 50
      Services/AppVersionService.cs
  31. 0 27
      Services/Base/IService/ISysDeptService.cs
  32. 0 67
      Services/Base/IService/ISysLoginService.cs
  33. 0 88
      Services/Base/IService/ISysMenuService.cs
  34. 0 8
      Services/Base/IService/ISysOauthClientDetailsService.cs
  35. 0 11
      Services/Base/IService/ISysPermissionService.cs
  36. 0 11
      Services/Base/IService/ISysPostService.cs
  37. 0 142
      Services/Base/IService/ISysRoleService.cs
  38. 0 14
      Services/Base/IService/ISysUserPostService.cs
  39. 0 68
      Services/Base/IService/ISysUserRoleService.cs
  40. 0 90
      Services/Base/IService/ISysUserService.cs
  41. 0 296
      Services/Base/SysDeptService.cs
  42. 0 215
      Services/Base/SysLoginService.cs
  43. 0 612
      Services/Base/SysMenuService.cs
  44. 0 21
      Services/Base/SysOauthClientDetailsService.cs
  45. 0 84
      Services/Base/SysPermissionService.cs
  46. 0 48
      Services/Base/SysPostService.cs
  47. 0 51
      Services/Base/SysRoleMenuService.cs
  48. 0 374
      Services/Base/SysRoleService.cs
  49. 0 68
      Services/Base/SysUserPostService.cs
  50. 0 138
      Services/Base/SysUserRoleService.cs
  51. 0 348
      Services/Base/SysUserService.cs
  52. 0 51
      Services/SysDictItemService.cs
  53. 0 50
      Services/SysDictService.cs

+ 0 - 139
.drone.yml

@@ -1,139 +0,0 @@
-kind: pipeline
-type: docker
-name: app-manager-prod
-
-volumes: # 声明数据卷
-  - name: targetDir
-    host:
-      path: /app-manager
-
-clone:
-  disable: false # 启用代码拉取
-
-steps:
-  - name: build-project
-    image: mcr.microsoft.com/dotnet/sdk:7.0
-    pull: if-not-exists
-    depends_on: [clone] # 依赖的步骤
-    volumes: # 挂载数据卷
-      - name: targetDir
-        path: /drone/src/dist/
-    commands: # 执行命令
-      - echo '' > ~/.nuget/NuGet/NuGet.Config
-      - echo '<?xml version="1.0" encoding="utf-8"?><configuration><packageSources><add key="nuget.org" value="https://nuget.cdn.azure.cn/v3/index.json" protocolVersion="3" /></packageSources></configuration>' > ~/.nuget/NuGet/NuGet.Config
-      - rm -rf /drone/src/dist/*
-      - dotnet publish -c release -o ./publish -r linux-x64
-      - cp -r ./publish/* /drone/src/dist # 复制文件
-    when:
-      status:
-        - success # 当前步骤成功时执行
-  - name: scp-project
-    image: appleboy/drone-scp
-    pull: if-not-exists
-    depends_on: [build-project] # 依赖的步骤
-    volumes: # 挂载数据卷
-      - name: targetDir # 数据卷名称
-        path: /app-manager # 容器内目录 绝对路径
-    settings:
-      host:
-        from_secret: app-manager-host-a
-      username:
-        from_secret: username
-      password:
-        from_secret: userpwd
-      port: 22
-      command_timeout: 2m
-      target: /home/ABServer/deploy-ready/
-      source:
-        - echo ====开始拷贝=======
-        - /app-manager/*
-        - echo ====结束拷贝=======
-      when:
-        status:
-          - success # 当前步骤成功时执行
-
-  - name: deploy-project
-    image: appleboy/drone-ssh
-    pull: if-not-exists
-    depends_on: [scp-project] # 依赖的步骤
-    settings:
-      host:
-        from_secret: app-manager-host-a
-      username:
-        from_secret: username
-      password:
-        from_secret: userpwd
-      port: 22
-      command_timeout: 2m
-      script:
-        - echo ====备份线上文件=======
-        - cp -r /home/ABServer/webroot/app-manager /home/ABServer/deploy-bak/
-        - echo ====开始部署=======
-        - cd /home/ABServer/
-        - cp -r /home/ABServer/deploy-ready/app-manager /home/ABServer/webroot/
-        - docker restart app-manager
-        - echo ====等待容器启动=======
-        - sleep 10 # 等待容器启动
-        - echo ====部署成功=======
-      when:
-        status:
-          - success # 当前步骤成功时执行
-  - name: scp-project-b
-    image: appleboy/drone-scp
-    pull: if-not-exists
-    depends_on: [deploy-project] # 依赖的步骤
-    volumes: # 挂载数据卷
-      - name: targetDir # 数据卷名称
-        path: /app-manager # 容器内目录 绝对路径
-    settings:
-      host:
-        from_secret: app-manager-host-b
-      username:
-        from_secret: username
-      password:
-        from_secret: userpwd
-      port: 22
-      command_timeout: 10m
-      target: /home/ABServer/deploy-ready/
-      source:
-        - echo ====开始拷贝=======
-        - /app-manager/*
-        - echo ====结束拷贝=======
-      when:
-        status:
-          - success # 当前步骤成功时执行
-
-  - name: deploy-project-b
-    image: appleboy/drone-ssh
-    pull: if-not-exists
-    depends_on: [scp-project-b] # 依赖的步骤
-    settings:
-      host:
-        from_secret: app-manager-host-b
-      username:
-        from_secret: username
-      password:
-        from_secret: userpwd
-      port: 22
-      command_timeout: 10m
-      script:
-        - echo ====备份线上文件=======
-        - cp -r /home/ABServer/webroot/app-manager /home/ABServer/deploy-bak/app-manager
-        - echo ====开始部署=======
-        - cd /home/ABServer/
-        - cp -r /home/ABServer/deploy-ready/app-manager /home/ABServer/webroot/
-        - docker restart app-manager
-        # - docker restart nodeServer1
-        - echo ====部署成功=======
-      when:
-        status:
-          - success # 当前步骤成功时执行
-
-trigger:
-  branch:
-    - release-app-manager
-  event:
-    - push
-  #排除合并请求
-  exclude:
-    - ref: refs/pull/*

+ 2 - 2
.vscode/launch.json

@@ -8,7 +8,7 @@
             "type": "coreclr",
             "request": "launch",
             "preLaunchTask": "build",
-            "program": "${workspaceFolder}/bin/Debug/net7.0/AppManager.dll",
+            "program": "${workspaceFolder}/bin/Debug/net7.0/AppFileMake.dll",
             "args": [],
             "cwd": "${workspaceFolder}",
             "stopAtEntry": false,
@@ -28,7 +28,7 @@
             "type": "coreclr",
             "request": "launch",
             "preLaunchTask": "build",
-            "program": "${workspaceFolder}/bin/Debug/net7.0/AppManager.dll",
+            "program": "${workspaceFolder}/bin/Debug/net7.0/AppFileMake.dll",
             "args": [],
             "cwd": "${workspaceFolder}",
             "stopAtEntry": false,

+ 3 - 3
.vscode/tasks.json

@@ -7,7 +7,7 @@
             "type": "process",
             "args": [
                 "build",
-                "${workspaceFolder}/AppManager.csproj",
+                "${workspaceFolder}/AppFileMake.csproj",
                 "/property:GenerateFullPaths=true",
                 "/consoleloggerparameters:NoSummary"
             ],
@@ -19,7 +19,7 @@
             "type": "process",
             "args": [
                 "publish",
-                "${workspaceFolder}/AppManager.csproj",
+                "${workspaceFolder}/AppFileMake.csproj",
                 "/property:GenerateFullPaths=true",
                 "/consoleloggerparameters:NoSummary"
             ],
@@ -32,7 +32,7 @@
             "args": [
                 "watch",
                 "run",
-                "${workspaceFolder}/AppManager.csproj",
+                "${workspaceFolder}/AppFileMake.csproj",
                 "/property:GenerateFullPaths=true",
                 "/consoleloggerparameters:NoSummary"
             ],

+ 0 - 0
AppManager.csproj → AppFileMake.csproj


+ 0 - 140
Controllers/ApiGroupController.cs

@@ -1,140 +0,0 @@
-using Attribute;
-using Common;
-using Dto;
-using Vo;
-using Enums;
-using Filters;
-using Infrastructure;
-using Infrastructure.Model;
-using Mapster;
-using Microsoft.AspNetCore.Mvc;
-using Middleware;
-using Model;
-using Services;
-using Model.Base;
-
-namespace Controllers
-{
-    /// <summary>
-    /// ApiGroup)Controller
-    /// </summary>
-    // [Route("ApiGroup")]
-    // [ApiExplorerSettings(GroupName = "ApiGroup")]
-    public class ApiGroupController : BaseController
-    {
-        /// <summary>
-        /// api分组接口
-        /// </summary>
-        private readonly IApiGroupService _ApiGroupService;
-
-
-        public ApiGroupController(IApiGroupService ApiGroupService)
-        {
-            _ApiGroupService = ApiGroupService;
-
-        }
-
-        /// <summary>
-        /// api接口分组列表
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>api接口分组列表</returns>
-        [HttpGet]
-        [Route("/v1/api/ApiGroup/list")]
-        public IActionResult List([FromQuery] ApiGroupListDto parm)
-        {
-            var response = _ApiGroupService.List(parm);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// api接口分组详情
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>api接口分组详情</returns>
-        [HttpGet]
-        [Route("/v1/api/ApiGroup/query")]
-        public IActionResult Query([FromQuery] ApiGroupQueryDto parm)
-        {
-            var response = _ApiGroupService.Queryable()
-                .First(x => x.id == parm.id)
-                .Adapt<ApiGroupQueryVo>() ?? new ApiGroupQueryVo();
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// api接口分组添加
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>api接口分组添加</returns>
-        [HttpPost]
-        [Route("/v1/api/ApiGroup/add")]
-        public IActionResult Add([FromBody] ApiGroupAddDto parm)
-        {
-            var modal = parm.Adapt<ApiGroup>().ToCreate(HttpContext);
-            var response = _ApiGroupService.Add(modal);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// api接口分组修改
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>api接口分组修改</returns>
-        [HttpPut]
-        [Route("/v1/api/ApiGroup/update")]
-        public IActionResult Update([FromBody] ApiGroupUpdateDto parm)
-        {
-            var modal = parm.Adapt<ApiGroup>().ToUpdate(HttpContext);
-            var response = _ApiGroupService.Update(modal, true);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// api接口分组删除
-        /// </summary>
-        /// <param name="Id">ID</param>
-        /// <returns>api接口分组删除</returns>
-        [HttpDelete]
-        [Route("/v1/api/ApiGroup/delete/{id}")]
-        public IActionResult Delete(int id)
-        {
-            var response = _ApiGroupService.Delete(id);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// api接口分组下拉框数据
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>api接口分组下拉框数据</returns>
-        [HttpGet]
-        [Route("/v1/api/ApiGroup/SelectList")]
-        public IActionResult SelectList()
-        {
-            var response = _ApiGroupService.SelectList();
-            return SUCCESS(response);
-        }
-
-
-
-
-
-
-    }
-}

+ 0 - 158
Controllers/ApiInfoController.cs

@@ -1,158 +0,0 @@
-using Attribute;
-using Common;
-using Dto;
-using Vo;
-using Enums;
-using Filters;
-using Infrastructure;
-using Infrastructure.Model;
-using Mapster;
-using Microsoft.AspNetCore.Mvc;
-using Middleware;
-using Model;
-using Services;
-using Model.Base;
-
-namespace Controllers
-{
-    /// <summary>
-    /// ApiInfo)Controller
-    /// </summary>
-    // [Route("ApiInfo")]
-    // [ApiExplorerSettings(GroupName = "ApiInfo")]
-    public class ApiInfoController : BaseController
-    {
-        /// <summary>
-        /// api分组接口
-        /// </summary>
-        private readonly IApiInfoService _ApiInfoService;
-
-
-        public ApiInfoController(IApiInfoService ApiInfoService)
-        {
-            _ApiInfoService = ApiInfoService;
-
-        }
-
-        /// <summary>
-        /// api接口列表
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>api接口列表</returns>
-        [HttpGet]
-        [Route("/v1/api/ApiInfo/list")]
-        public IActionResult List([FromQuery] PagerInfo page, [FromQuery] ApiInfoListDto parm)
-        {
-            var response = _ApiInfoService.List(page, parm);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// api接口详情
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>api接口详情</returns>
-        [HttpGet]
-        [Route("/v1/api/ApiInfo/query")]
-        public IActionResult Query([FromQuery] ApiInfoQueryDto parm)
-        {
-            var response = _ApiInfoService.Queryable()
-                .First(x => x.id == parm.id)
-                .Adapt<ApiInfoQueryVo>() ?? new ApiInfoQueryVo();
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// api接口添加
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>api接口添加</returns>
-        [HttpPost]
-        [Route("/v1/api/ApiInfo/add")]
-        public IActionResult Add([FromBody] ApiInfoAddDto parm)
-        {
-            var modal = parm.Adapt<ApiInfo>().ToCreate(HttpContext);
-            var response = _ApiInfoService.Add(modal);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// api接口设置版本号
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>api接口设置版本号</returns>
-        [HttpPut]
-        [Route("/v1/api/ApiInfo/setVersion")]
-        public IActionResult SetVersion([FromBody] ApiInfoSetVersionDto parm)
-        {
-            var modal = parm.Adapt<ApiInfo>().ToUpdate(HttpContext);
-            var response = _ApiInfoService.Update(modal, true);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// api接口删除
-        /// </summary>
-        /// <param name="Id">ID</param>
-        /// <returns>api接口删除</returns>
-        [HttpDelete]
-        [Route("/v1/api/ApiInfo/delete/{id}")]
-        public IActionResult Delete(int id)
-        {
-            var response = _ApiInfoService.Delete(id);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// api接口修改
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>api接口修改</returns>
-        [HttpPut]
-        [Route("/v1/api/ApiInfo/update")]
-        public IActionResult Update([FromBody] ApiInfoUpdateDto parm)
-        {
-            var modal = parm.Adapt<ApiInfo>().ToUpdate(HttpContext);
-            var response = _ApiInfoService.Update(modal, true);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// api接口设置请求地址
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>api接口设置请求地址</returns>
-        [HttpPut]
-        [Route("/v1/api/ApiInfo/setRouter")]
-        public IActionResult SetRouter([FromBody] ApiInfoSetRouterDto parm)
-        {
-            var modal = parm.Adapt<ApiInfo>().ToUpdate(HttpContext);
-            var response = _ApiInfoService.Update(modal, true);
-            return SUCCESS(response);
-        }
-
-
-
-
-
-
-    }
-}

+ 0 - 142
Controllers/AppBottomNavsController.cs

@@ -1,142 +0,0 @@
-using Attribute;
-using Common;
-using Dto;
-using Vo;
-using Enums;
-using Filters;
-using Infrastructure;
-using Infrastructure.Model;
-using Mapster;
-using Microsoft.AspNetCore.Mvc;
-using Middleware;
-using Model;
-using Services;
-using Model.Base;
-
-namespace Controllers
-{
-    /// <summary>
-    /// AppBottomNavs)Controller
-    /// </summary>
-    // [Route("AppBottomNavs")]
-    // [ApiExplorerSettings(GroupName = "AppBottomNavs")]
-    public class AppBottomNavsController : BaseController
-    {
-        /// <summary>
-        /// api分组接口
-        /// </summary>
-        private readonly IAppBottomNavsService _AppBottomNavsService;
-
-
-        public AppBottomNavsController(IAppBottomNavsService AppBottomNavsService)
-        {
-            _AppBottomNavsService = AppBottomNavsService;
-
-        }
-
-        /// <summary>
-        /// app底部导航列表
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>app底部导航列表</returns>
-        [HttpGet]
-        [Route("/v1/api/AppBottomNavs/list")]
-        public IActionResult List([FromQuery] AppBottomNavsListDto parm)
-        {
-            var response = _AppBottomNavsService.List(parm);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// app底部导航详情
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>app底部导航详情</returns>
-        [HttpGet]
-        [Route("/v1/api/AppBottomNavs/query")]
-        public IActionResult Query([FromQuery] AppBottomNavsQueryDto parm)
-        {
-            var response = _AppBottomNavsService.Queryable()
-                .First(x => x.id == parm.id)
-                .Adapt<AppBottomNavsQueryVo>() ?? new AppBottomNavsQueryVo();
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// app底部导航添加
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>app底部导航添加</returns>
-        [HttpPost]
-        [Route("/v1/api/AppBottomNavs/add")]
-        public IActionResult Add([FromBody] AppBottomNavsAddDto parm)
-        {
-            var modal = parm.Adapt<AppBottomNavs>().ToCreate(HttpContext);
-            var response = _AppBottomNavsService.Add(modal);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// app底部导航修改
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>app底部导航修改</returns>
-        [HttpPut]
-        [Route("/v1/api/AppBottomNavs/update")]
-        public IActionResult Update([FromBody] AppBottomNavsUpdateDto parm)
-        {
-            Function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(parm), "app底部导航修改");
-            var modal = parm.Adapt<AppBottomNavs>().ToUpdate(HttpContext);
-            var response = _AppBottomNavsService.Update(modal, true);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// app底部导航删除
-        /// </summary>
-        /// <param name="Id">ID</param>
-        /// <returns>app底部导航删除</returns>
-        [HttpDelete]
-        [Route("/v1/api/AppBottomNavs/delete/{id}")]
-        public IActionResult Delete(int id)
-        {
-            var response = _AppBottomNavsService.Delete(id);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// 复制
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>复制</returns>
-        [HttpPost]
-        [Route("/v1/api/AppBottomNavs/copy")]
-        public IActionResult Copy([FromBody] CopyDto parm)
-        {
-            _AppBottomNavsService.DeleteForCopy(parm);
-            _AppBottomNavsService.Copy(parm);
-            return SUCCESS("复制成功");
-        }
-
-
-
-
-
-
-    }
-}

+ 0 - 136
Controllers/AppReportRecordController.cs

@@ -1,136 +0,0 @@
-using Vo;
-using Microsoft.AspNetCore.Mvc;
-using Model;
-using Services;
-using Model.Base;
-using Vo.Admin;
-using Mapster;
-using Infrastructure;
-
-
-namespace Controllers.Admin
-{
-    /// <summary>
-    /// AppReportRecord)Controller
-    /// </summary>
-    // [Route("${Router}$")]
-    // [ApiExplorerSettings(GroupName = "AppReportRecord")]
-    public class AppReportRecordController : BaseController
-    {
-        /// <summary>
-        /// api分组接口
-        /// </summary>
-        private readonly IAppReportRecordService _AppReportRecordService;
-
-
-        public AppReportRecordController(IAppReportRecordService AppReportRecordService)
-        {
-            _AppReportRecordService = AppReportRecordService;
-
-        }
-
-          /// <param name="page">分页参数</param>
-        /// <summary>
-        /// 列表
-        /// </summary>
-        /// <param name="page">分页对象</param>
-        /// <param name="param">参数请求体</param>
-        /// <returns>列表</returns>
-        [HttpGet]
-        [Route("/v1/api/AppReportRecord/getAppReportRecordList")]
-        public IActionResult getAppReportRecordList([FromQuery] PagerInfo page, [FromQuery] AppReportRecord param)
-        {
-            var response = _AppReportRecordService.getAppReportRecordList(page, param);
-            return SUCCESS(response);
-        }
-        [HttpGet]
-        [Route("/noauth/tt")]
-        public IActionResult tt([FromQuery] PagerInfo page, [FromQuery] AppReportRecord param)
-        {
-            var response = _AppReportRecordService.getAppReportRecordList(page, param);
-            return SUCCESS(response);
-        }
-
-
-        /// <summary>
-        /// 详情
-        /// </summary>
-        /// <param name="param">参数请求体</param>
-        /// <returns>详情</returns>
-        [HttpGet]
-        [Route("/v1/api/AppReportRecord/getAppReportRecordQuery")]
-        public IActionResult getAppReportRecordQuery([FromQuery] AppReportRecord param)
-        {
-            var response = _AppReportRecordService.GetFirst(m => m.id == param.id).Adapt<GetAppReportRecordQueryVo>();
-            return SUCCESS(response);
-        }
-
-
-        /// <summary>
-        /// 添加
-        /// </summary>
-        /// <param name="param">参数请求体</param>
-        /// <returns>添加</returns>
-        [HttpPost]
-        [Route("/v1/api/AppReportRecord/addAppReportRecord")]
-        public IActionResult addAppReportRecord([FromBody] AppReportRecord param)
-        {
-            param.createTime = DateTime.Now;
-            var modal = param.Adapt<AppReportRecord>().ToCreate(HttpContext);
-            var response = _AppReportRecordService.Insertable(modal).SplitTable().ExecuteReturnSnowflakeId();
-            return SUCCESS(response);
-        }
-        [HttpGet]
-        [Route("/noauth/aa")]
-        public IActionResult aa(DateTime t)
-        {
-            var modal = new AppReportRecord()
-            {
-                createTime = t,
-                appVersion = "1",
-                userTag = "1",
-                pageTitle = "1",
-                pageUrl = "1",
-                userSysInfo = "1",
-                deviceSize = "1",
-                reportType = "1",
-                reportData = "1",
-            };
-            var response = _AppReportRecordService.Insertable(modal).SplitTable().ExecuteReturnSnowflakeId();
-            return SUCCESS(response);
-        }
-
-
-        /// <summary>
-        /// 修改
-        /// </summary>
-        /// <param name="param">参数请求体</param>
-        /// <returns>修改</returns>
-        [HttpPut]
-        [Route("/v1/api/AppReportRecord/updateAppReportRecord")]
-        public IActionResult updateAppReportRecord([FromBody] AppReportRecord param)
-        {
-            var modal = param.Adapt<AppReportRecord>().ToCreate(HttpContext);
-            var response = _AppReportRecordService.Update(modal, true);
-            return SUCCESS(response);
-        }
-
-
-        /// <summary>
-        /// 删除
-        /// </summary>
-        /// <param name="id">ID</param>
-        /// <returns>删除</returns>
-        [HttpDelete]
-        [Route("/v1/api/AppReportRecord/deleteAppReportRecord/{id}")]
-        public IActionResult deleteAppReportRecord(int id)
-        {
-            var response = _AppReportRecordService.Delete(id);
-            return SUCCESS(response);
-        }
-
-
-
-
-    }
-}

+ 0 - 142
Controllers/AppVersionController.cs

@@ -1,142 +0,0 @@
-using Attribute;
-using Common;
-using Dto;
-using Vo;
-using Enums;
-using Filters;
-using Infrastructure;
-using Infrastructure.Model;
-using Mapster;
-using Microsoft.AspNetCore.Mvc;
-using Middleware;
-using Model;
-using Services;
-using Model.Base;
-
-namespace Controllers
-{
-    /// <summary>
-    /// AppVersion)Controller
-    /// </summary>
-    // [Route("AppVersion")]
-    // [ApiExplorerSettings(GroupName = "AppVersion")]
-    public class AppVersionController : BaseController
-    {
-        /// <summary>
-        /// api分组接口
-        /// </summary>
-        private readonly IAppVersionService _AppVersionService;
-
-
-        public AppVersionController(IAppVersionService AppVersionService)
-        {
-            _AppVersionService = AppVersionService;
-
-        }
-
-        /// <summary>
-        /// app版本管理列表
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>app版本管理列表</returns>
-        [HttpGet]
-        [Route("/v1/api/AppVersion/list")]
-        public IActionResult List([FromQuery] AppVersionListDto parm)
-        {
-            var response = _AppVersionService.List(parm);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// app版本管理详情
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>app版本管理详情</returns>
-        [HttpGet]
-        [Route("/v1/api/AppVersion/query")]
-        public IActionResult Query([FromQuery] AppVersionQueryDto parm)
-        {
-            var response = _AppVersionService.Queryable()
-                .First(x => x.id == parm.id)
-                .Adapt<AppVersionQueryVo>() ?? new AppVersionQueryVo();
-            return SUCCESS(response);
-        }
-
-        /// <summary>
-        /// app版本管理详情
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>app版本管理详情</returns>
-        [HttpGet]
-        [Route("/v1/api/AppVersion/last")]
-        public IActionResult Last([FromQuery] AppVersionLastDto parm)
-        {
-            if(string.IsNullOrEmpty(parm.kind)) parm.kind = "creater";
-            var response = _AppVersionService.Queryable()
-                .Where(x => x.terminalKind == parm.terminalKind && x.kind == parm.kind)
-                .OrderByDescending(x => x.versionNum)
-                .First()
-                .Adapt<AppVersionQueryVo>() ?? new AppVersionQueryVo();
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// app版本管理添加
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>app版本管理添加</returns>
-        [HttpPost]
-        [Route("/v1/api/AppVersion/add")]
-        public IActionResult Add([FromBody] AppVersionAddDto parm)
-        {
-            var modal = parm.Adapt<AppVersion>().ToCreate(HttpContext);
-            var response = _AppVersionService.Add(modal);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// app版本管理修改
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>app版本管理修改</returns>
-        [HttpPut]
-        [Route("/v1/api/AppVersion/update")]
-        public IActionResult Update([FromBody] AppVersionUpdateDto parm)
-        {
-            var modal = parm.Adapt<AppVersion>().ToUpdate(HttpContext);
-            var response = _AppVersionService.Update(modal, true);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// app版本管理删除
-        /// </summary>
-        /// <param name="Id">ID</param>
-        /// <returns>app版本管理删除</returns>
-        [HttpDelete]
-        [Route("/v1/api/AppVersion/delete/{id}")]
-        public IActionResult Delete(int id)
-        {
-            var response = _AppVersionService.Delete(id);
-            return SUCCESS(response);
-        }
-
-
-
-
-
-
-    }
-}

+ 0 - 99
Controllers/Base/ApiPubController.cs

@@ -1,99 +0,0 @@
-using Attribute;
-using Common;
-using Dto;
-using Vo;
-using Enums;
-using Filters;
-using Infrastructure;
-using Infrastructure.Model;
-using Mapster;
-using Microsoft.AspNetCore.Mvc;
-using Middleware;
-using Model;
-using Services;
-using Model.Base;
-using Microsoft.AspNetCore.Authorization;
-
-namespace Controllers
-{
-    /// <summary>
-    /// ApiInfo)Controller
-    /// </summary>
-    // [Route("ApiInfo")]
-    // [ApiExplorerSettings(GroupName = "ApiInfo")]
-    public class ApiPubController : BaseController
-    {
-        /// <summary>
-        /// api分组接口
-        /// </summary>
-        private readonly IApiInfoService _ApiInfoService;
-        private readonly IApiGroupService _ApiGroupService;
-
-
-        public ApiPubController(IApiInfoService ApiInfoService, IApiGroupService ApiGroupService)
-        {
-            _ApiInfoService = ApiInfoService;
-            _ApiGroupService = ApiGroupService;
-
-        }
-
-
-        [AllowAnonymous]
-        [HttpPost]
-        [Route("/noauth/apiinfo/groupsforadmin")]
-        public IActionResult GroupsForAdmin(string value)
-        {
-            var response = _ApiGroupService.GroupsForAdmin(value);
-            return SUCCESS(response);
-        }
-
-        [AllowAnonymous]
-        [HttpPost]
-        [Route("/noauth/apiinfo/listforadmin")]
-        public IActionResult ListForAdmin(string value)
-        {
-            string jsonString = Dbconn.DesDecrypt(value, "&L^kg4N9");
-            Dictionary<string, object> data = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, object>>(jsonString);
-            Dictionary<string, int> groupobj = new Dictionary<string, int>();
-            Dictionary<string, object> obj = new Dictionary<string, object>();
-            if(jsonString.Contains("\"groups\""))
-            {
-                List<Dictionary<string, object>> groupJson = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(data["groups"].ToString());
-                for(int i = 0; i < groupJson.Count; i ++)
-                {
-                    string name = groupJson[i]["name"].ToString();
-                    int version = int.Parse(groupJson[i]["version"].ToString());
-                    groupobj.Add(name, version);
-                }
-            }
-            var groups = _ApiGroupService.GetList(m => m.groupKind == 1);
-            foreach(var group in groups)
-            {
-                int curVersion = int.Parse(Function.CheckInt(group.groupVersion));
-                if(groupobj.Any(m => m.Key == group.groupName && m.Value < curVersion))
-                {
-                    Dictionary<string, object> groupData = new Dictionary<string, object>();
-                    var apis = _ApiInfoService.GetList(m => m.groupId == group.id).ToList();
-                    foreach(var api in apis)
-                    {
-                        Dictionary<string, object> apiData = new Dictionary<string, object>();
-                        string url = api.apiHost;
-                        if(api.apiPort != 80 && api.apiPort != 443)
-                        {
-                            url += ":" + api.apiPort;
-                        }
-                        url += api.apiRouter;
-                        apiData.Add("name", api.apiName);
-                        apiData.Add("url", url);
-                        apiData.Add("method", api.apiMethod);
-                        groupData.Add(api.apiKey, apiData);
-                    }
-                    groupData.Add("groupVersion", group.groupVersion);
-                    groupData.Add("groupInfo", group.groupRemark);
-                    obj.Add(group.groupName, groupData);
-                }
-            }
-            return SUCCESS(obj);
-        }
-    }
-}

+ 0 - 71
Controllers/Base/HomeController.cs

@@ -1,71 +0,0 @@
-using Attribute;
-using Base;
-using Common;
-using Dto;
-using Enums;
-using Filters;
-using Infrastructure;
-using Infrastructure.Model;
-using Mapster;
-using Microsoft.AspNetCore.Mvc;
-using Middleware;
-using Model;
-using Model.Base;
-using Services;
-using Util;
-
-namespace Controllers
-{
-    /// <summary>
-    /// 主界面Controller
-    /// </summary>
-    
-    [Route("/")]
-    public class HomeController : BaseController
-    {
-
-        private readonly ISysPermissionService permissionService;
-
-        public HomeController(ISysPermissionService permissionService)
-        {
-            this.permissionService = permissionService;
-        }
-
-        [HttpPost("testlogin")]
-        public IActionResult Login([FromBody] LoginDto parm)
-        {
-            TokenModel loginUser = new(new TokenModel()
-            {
-                username = parm.AdminName,
-                userId = 1
-            }, new List<Roles>());
-            List<string> permissions = permissionService.List();
-            CacheService.SetUserPerms(GlobalConstant.UserPermKEY + "1", permissions);
-            return SUCCESS(JwtUtil.GenerateJwtToken(JwtUtil.AddClaims(loginUser)));
-        }
-
-        [HttpGet(template: "test")]
-        public IActionResult Test([FromQuery] LoginDto parm)
-        {
-            TokenModel loginUser = new(new TokenModel()
-            {
-                username = parm.AdminName,
-                userId = 1
-            }, new List<Roles>());
-            List<string> permissions = permissionService.List();
-            CacheService.SetUserPerms(GlobalConstant.UserPermKEY + "1", permissions);
-            return SUCCESS(JwtUtil.GenerateJwtToken(JwtUtil.AddClaims(loginUser)));
-        }
-
-        // [HttpGet(template: "test1")]
-        // public IActionResult Test1()
-        // {
-        //     List<TestVo> list = new List<TestVo>();
-        //     list.Add(new TestVo());
-        //     list.Add(new TestVo(){
-        //         Subs = new TestSubVo()
-        //     });
-        //     return SUCCESS(list);
-        // }
-    }
-}

+ 0 - 188
Controllers/Base/SysDeptController.cs

@@ -1,188 +0,0 @@
-using Attribute;
-using Common;
-using Dto;
-using Enums;
-using Extensions;
-using Filters;
-using Infrastructure;
-using Mapster;
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Mvc;
-using Middleware;
-using Model;
-using Model.Base;
-using Services;
-using System.Collections;
-using Util;
-using Vo;
-
-namespace Controllers
-{
-    /// <summary>
-    /// 部门
-    /// </summary>
-    [Verify]
-    public class SysDeptController : BaseController
-    {
-        public ISysDeptService DeptService;
-        public ISysUserService UserService;
-        public SysDeptController(ISysDeptService deptService
-            , ISysUserService userService)
-        {
-            DeptService = deptService;
-            UserService = userService;
-        }
-
-        /// <summary>
-        /// 获取部门列表
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("list")]
-        public IActionResult List([FromQuery] SysDeptQueryDto dept)
-        {
-            return SUCCESS(DeptService.GetSysDepts(dept), TIME_FORMAT_FULL);
-        }
-
-        /// <summary>
-        /// 获取所有部门列表
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("/v1/kxs/sysServer/dept/list")]
-        public IActionResult AllList()
-        {
-            return SUCCESS(DeptService.GetList(), TIME_FORMAT_FULL);
-        }
-
-        [AllowAnonymous]
-        [HttpGet("/feign/dept/query")]
-        public DeptFeignVo Query([FromQuery] long id)
-        {
-            var info = DeptService.GetFirst(m => m.deptId == id).Adapt<DeptFeignVo>();
-            return info;
-        }
-
-        /// <summary>
-        /// 查询部门列表(排除节点)
-        /// </summary>
-        /// <param name="deptId"></param>
-        /// <returns></returns>
-        [HttpGet("list/exclude/{deptId}")]
-        public IActionResult ExcludeChild(long deptId)
-        {
-            var depts = DeptService.GetSysDepts(new SysDeptQueryDto());
-
-            // for (int i = 0; i < depts.Count; i++)
-            // {
-            //     SysDept d = depts[i];
-            //     long[] deptIds = Tools.SpitLongArrary(d.Ancestors);
-            //     if (d.DeptId == deptId || ((IList)deptIds).Contains(deptId))
-            //     {
-            //         depts.Remove(d);
-            //     }
-            // }
-            return SUCCESS(depts);
-        }
-
-        /// <summary>
-        /// 获取部门下拉树列表
-        /// </summary>
-        /// <param name="dept"></param>
-        /// <returns></returns>
-        [HttpGet("/v1/kxs/sysServer/dept/tree")]
-        public IActionResult TreeSelect(SysDeptQueryDto dept)
-        {
-            var depts = DeptService.GetSysDepts(dept);
-
-            return SUCCESS(DeptService.BuildDeptTreeSelect(depts), TIME_FORMAT_FULL);
-        }
-
-        /// <summary>
-        /// 获取角色部门信息
-        /// 加载对应角色部门列表树
-        /// </summary>
-        /// <param name="roleId"></param>
-        /// <returns></returns>        
-        [HttpGet("roleDeptTreeselect/{roleId}")]
-        public IActionResult RoleMenuTreeselect(int roleId)
-        {
-            var depts = DeptService.GetSysDepts(new SysDeptQueryDto());
-            var checkedKeys = DeptService.SelectRoleDepts(roleId);
-            return SUCCESS(new
-            {
-                checkedKeys,
-                depts = DeptService.BuildDeptTreeSelect(depts),
-            });
-        }
-
-        /// <summary>
-        /// 根据部门编号获取详细信息
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("{deptId}")]
-        [ActionPermissionFilter(Permission = "system:dept:query")]
-        public IActionResult GetInfo(long deptId)
-        {
-            var info = DeptService.GetFirst(f => f.deptId == deptId);
-            return SUCCESS(info);
-        }
-
-        /// <summary>
-        /// 新增部门
-        /// </summary>
-        /// <param name="dept"></param>
-        /// <returns></returns>
-        [HttpPost("/v1/kxs/sysServer/dept/add")]
-        public IActionResult Add([FromBody] SysDept dept)
-        {
-            if (UserConstants.NOT_UNIQUE.Equals(DeptService.CheckDeptNameUnique(dept)))
-            {
-                return ToResponse(ResultCode.CUSTOM_ERROR, $"新增部门{dept.name}失败,部门名称已存在");
-            }
-            TokenModel loginUser = JwtUtil.GetLoginUser(HttpContext);
-            dept.CreateBy = loginUser.username;
-            dept.UpdateBy = loginUser.username;
-            dept.DelFlag = "0";
-            return SUCCESS(DeptService.InsertDept(dept));
-        }
-
-        /// <summary>
-        /// 修改部门
-        /// </summary>
-        /// <param name="dept"></param>
-        /// <returns></returns>
-        [HttpPut("/v1/kxs/sysServer/dept/update")]
-        public IActionResult Update([FromBody] SysDept dept)
-        {
-            if (UserConstants.NOT_UNIQUE.Equals(DeptService.CheckDeptNameUnique(dept)))
-            {
-                return ToResponse(ResultCode.CUSTOM_ERROR, $"修改部门{dept.name}失败,部门名称已存在");
-            }
-            else if (dept.parentId.Equals(dept.deptId))
-            {
-                return ToResponse(ResultCode.CUSTOM_ERROR, $"修改部门{dept.name}失败,上级部门不能是自己");
-            }
-            TokenModel loginUser = JwtUtil.GetLoginUser(HttpContext);
-            dept.UpdateBy = loginUser.username;
-            return SUCCESS(DeptService.UpdateDept(dept));
-        }
-
-        /// <summary>
-        /// 删除部门
-        /// </summary>
-        /// <returns></returns>
-        [HttpDelete("/v1/kxs/sysServer/dept/removeById/{id}")]
-        public IActionResult Remove(int id)
-        {
-            if (DeptService.Queryable().Count(it => it.parentId == id && it.DelFlag == "0") > 0)
-            {
-                return ToResponse(ResultCode.CUSTOM_ERROR, $"存在下级部门,不允许删除");
-            }
-            if (UserService.Queryable().Count(it => it.deptId == id && it.DelFlag == "0") > 0)
-            {
-                return ToResponse(ResultCode.CUSTOM_ERROR, $"部门存在用户,不允许删除");
-            }
-
-            return SUCCESS(DeptService.Delete(id));
-        }
-    }
-}

+ 0 - 169
Controllers/Base/SysLoginController.cs

@@ -1,169 +0,0 @@
-using Attribute;
-using Base;
-using Dto;
-using Enums;
-using Extensions;
-using Filters;
-using Infrastructure;
-using Mapster;
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Mvc;
-using Model;
-using Model.Base;
-using Services;
-using Util;
-
-namespace Controllers
-{
-    /// <summary>
-    /// 登录
-    /// </summary>
-    [ApiExplorerSettings(GroupName = "sys")]
-    public class SysLoginController : BaseController
-    {
-        private readonly ISysUserService sysUserService;
-        private readonly ISysMenuService sysMenuService;
-        private readonly ISysLoginService sysLoginService;
-        private readonly ISysPermissionService permissionService;
-        private readonly ISysRoleService roleService;
-
-        public SysLoginController(
-            ISysMenuService sysMenuService,
-            ISysUserService sysUserService,
-            ISysLoginService sysLoginService,
-            ISysPermissionService permissionService,
-            ISysRoleService sysRoleService)
-        {
-            this.sysMenuService = sysMenuService;
-            this.sysUserService = sysUserService;
-            this.sysLoginService = sysLoginService;
-            this.permissionService = permissionService;
-            roleService = sysRoleService;
-        }
-
-
-        /// <summary>
-        /// 登录
-        /// </summary>
-        /// <param name="loginBody">登录对象</param>
-        /// <returns></returns>
-        [Route("/v1/kxs/sysServer/oauth2/token")]
-        [HttpPost]
-        [Log(Title = "登录")]
-        public IActionResult Login([FromBody] LoginBodyDto loginBody)
-        {
-            if (loginBody == null) { throw new CustomException("请求参数错误"); }
-            loginBody.loginIP = HttpContextExtension.GetClientUserIp(HttpContext);
-
-            sysLoginService.CheckLockUser(loginBody.username);
-            string location = ""; //HttpContextExtension.GetIpInfo(loginBody.LoginIP);
-            var user = sysLoginService.Login(loginBody, new SysLogininfor() { LoginLocation = location });
-
-            List<SysRole> roles = roleService.SelectUserRoleListByUserId(user.userId);
-            //权限集合 eg *:*:*,system:user:list
-            List<string> permissions = permissionService.GetMenuPermission(user);
-
-            TokenModel loginUser = new(user.Adapt<TokenModel>(), roles.Adapt<List<Roles>>());
-            CacheService.SetUserPerms(GlobalConstant.UserPermKEY + user.userId, permissions);
-            
-            return SUCCESS(sysLoginService.GetLoginInfo(loginUser));
-        }
-
-        /// <summary>
-        /// 注销
-        /// </summary>
-        /// <returns></returns>
-        [Log(Title = "注销")]
-        [HttpPost("logout")]
-        public IActionResult LogOut()
-        {
-            //Task.Run(async () =>
-            //{
-            //    //注销登录的用户,相当于ASP.NET中的FormsAuthentication.SignOut  
-            //    await HttpContext.SignOutAsync();
-            //}).Wait();
-            var userid = HttpContext.GetUId();
-            var name = HttpContext.GetName();
-
-            CacheService.RemoveUserPerms(GlobalConstant.UserPermKEY + userid);
-            return SUCCESS(new { name, id = userid });
-        }
-
-        /// <summary>
-        /// 获取用户信息
-        /// </summary>
-        /// <returns></returns>
-        [Verify]
-        [HttpGet("getInfo")]
-        public IActionResult GetUserInfo()
-        {
-            long userid = HttpContext.GetUId();
-            var user = sysUserService.SelectUserById(userid);
-
-            //前端校验按钮权限使用
-            //角色集合 eg: admin,yunying,common
-            List<string> roles = permissionService.GetRolePermission(user);
-            //权限集合 eg *:*:*,system:user:list
-            List<string> permissions = permissionService.GetMenuPermission(user);
-
-            return SUCCESS(new { user, roles, permissions });
-        }
-
-        /// <summary>
-        /// 获取路由信息
-        /// </summary>
-        /// <returns></returns>
-        [Verify]
-        [HttpGet("getRouters")]
-        public IActionResult GetRouters()
-        {
-            long uid = HttpContext.GetUId();
-            var menus = sysMenuService.SelectMenuTreeByUserId(uid);
-
-            return SUCCESS(sysMenuService.BuildMenus(menus));
-        }
-
-        /// <summary>
-        /// 注册
-        /// </summary>
-        /// <param name="dto"></param>
-        /// <returns></returns>
-        [HttpPost("/register")]
-        [AllowAnonymous]
-        [Log(Title = "注册", BusinessType = BusinessType.INSERT)]
-        public IActionResult Register([FromBody] RegisterDto dto)
-        {
-            dto.UserIP = HttpContext.GetClientUserIp();
-            SysUser user = sysUserService.Register(dto);
-            if (user.userId > 0)
-            {
-                return SUCCESS(user);
-            }
-            return ToResponse(ResultCode.CUSTOM_ERROR, "注册失败,请联系管理员");
-        }
-        
-        /// <summary>
-        /// 生成二维码
-        /// </summary>
-        /// <param name="uuid"></param>
-        /// <param name="deviceId"></param>
-        /// <returns></returns>
-        [HttpGet("/GenerateQrcode")]
-        public IActionResult GenerateQrcode(string uuid, string deviceId)
-        {
-            var state = Guid.NewGuid().ToString();
-            var dict = new Dictionary<string, object>
-            {
-                { "state", state }
-            };
-            CacheService.SetScanLogin(uuid, dict);
-            return SUCCESS(new
-            {
-                status = 1,
-                state,
-                uuid,
-                codeContent = new { uuid, deviceId }// "https://qm.qq.com/cgi-bin/qm/qr?k=kgt4HsckdljU0VM-0kxND6d_igmfuPlL&authKey=r55YUbruiKQ5iwC/folG7KLCmZ++Y4rQVgNlvLbUniUMkbk24Y9+zNuOmOnjAjRc&noverify=0"
-            });
-        }
-    }
-}

+ 0 - 224
Controllers/Base/SysMenuController.cs

@@ -1,224 +0,0 @@
-using Attribute;
-using Dto;
-using Enums;
-using Extensions;
-using Filters;
-using Infrastructure;
-using Infrastructure.Model;
-using Mapster;
-using Microsoft.AspNetCore.Mvc;
-using Middleware;
-using Model;
-using Model.Base;
-using Services;
-using Util;
-
-namespace Controllers
-{
-    /// <summary>
-    /// 系统菜单
-    /// </summary>
-    [ApiExplorerSettings(GroupName = "sys")]
-    public class SysMenuController : BaseController
-    {
-        private readonly ISysRoleService sysRoleService;
-        private readonly ISysMenuService sysMenuService;
-        private readonly ISysRoleMenuService sysRoleMenuService;
-
-        public SysMenuController(
-            ISysRoleService sysRoleService,
-            ISysMenuService sysMenuService,
-            ISysRoleMenuService sysRoleMenuService)
-        {
-            this.sysRoleService = sysRoleService;
-            this.sysMenuService = sysMenuService;
-            this.sysRoleMenuService = sysRoleMenuService;
-        }
-
-        /// <summary>
-        /// 获取菜单树列表
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("/v1/kxs/sysServer/menu/tree")]
-        public IActionResult TreeMenuList([FromQuery] MenuQueryDto menu)
-        {
-            TokenModel loginUser = JwtUtil.GetLoginUser(HttpContext);
-            long userId = loginUser.userId;
-            return SUCCESS(sysMenuService.SelectTreeMenuList(menu, userId), "yyyy-MM-dd HH:mm:ss");
-        }
-
-        /// <summary>
-        /// 获取菜单列表
-        /// </summary>
-        /// <returns></returns>
-        [ActionPermissionFilter(Permission = "system:menu:list")]
-        [HttpGet("list")]
-        public IActionResult MenuList([FromQuery] MenuQueryDto menu)
-        {
-            long userId = HttpContext.GetUId();
-            return SUCCESS(sysMenuService.SelectMenuList(menu, userId), "yyyy-MM-dd HH:mm:ss");
-        }
-
-        /// <summary>
-        /// 根据菜单编号获取详细信息
-        /// </summary>
-        /// <param name="menuId"></param>
-        /// <returns></returns>
-        [HttpGet("{menuId}")]
-        [ActionPermissionFilter(Permission = "system:menu:query")]
-        public IActionResult GetMenuInfo(int menuId = 0)
-        {
-            return SUCCESS(sysMenuService.GetMenuByMenuId(menuId), "yyyy-MM-dd HH:mm:ss");
-        }
-
-        /// <summary>
-        /// 根据菜单编号获取菜单列表,菜单管理首次进入
-        /// </summary>
-        /// <param name="menuId"></param>
-        /// <returns></returns>
-        [HttpGet("list/{menuId}")]
-        [ActionPermissionFilter(Permission = "system:menu:query")]
-        public IActionResult GetMenuList(int menuId = 0)
-        {
-            long userId = HttpContext.GetUId();
-            return SUCCESS(sysMenuService.GetMenusByMenuId(menuId, userId), "yyyy-MM-dd HH:mm:ss");
-        }
-
-        /// <summary>
-        /// 获取角色菜单信息
-        /// 加载对应角色菜单列表树
-        /// </summary>
-        /// <param name="roleId"></param>
-        /// <returns></returns>
-        [HttpGet("/v1/kxs/sysServer/menu/getRoleTree")]
-        public IActionResult RoleMenuTreeselect([FromQuery] RoleMenuQueryDto menu)
-        {
-            TokenModel loginUser = JwtUtil.GetLoginUser(HttpContext);
-            var menus = sysMenuService.SelectMenuList(new MenuQueryDto(), loginUser.userId);
-            var setCheckedKeys = sysRoleService.SelectUserRoleMenus(menu.roleId);
-            return SUCCESS(new
-            {
-                setCheckedKeys,
-                menus = sysMenuService.BuildMenuTreeSelect(menus),
-            });
-        }
-
-        [Verify]
-        [HttpGet("/v1/kxs/sysServer/menu/getUserMenu")]
-        public IActionResult GetMenus()
-        {
-            long userId = HttpContext.GetUId();
-            var menus = sysMenuService.SelectMenuList(new MenuQueryDto(), userId);
-            return SUCCESS(sysMenuService.BuildLeftMenuTreeSelect(menus));
-        }
-
-        /// <summary>
-        /// 修改菜单
-        /// </summary>
-        /// <param name="menuDto"></param>
-        /// <returns></returns>
-        [HttpPut("/v1/kxs/sysServer/menu/update")]
-        public IActionResult MenuEdit([FromBody] MenuDto menuDto)
-        {
-            if (menuDto == null) { return ToResponse(ApiResult.Error(101, "请求参数错误")); }
-            //if (UserConstants.NOT_UNIQUE.Equals(sysMenuService.CheckMenuNameUnique(MenuDto)))
-            //{
-            //    return ToResponse(ApiResult.Error($"修改菜单'{MenuDto.menuName}'失败,菜单名称已存在"));
-            //}
-            var config = new TypeAdapterConfig();
-            //映射规则
-            config.ForType<SysMenu, MenuDto>()
-                .NameMatchingStrategy(NameMatchingStrategy.IgnoreCase);//忽略字段名称的大小写;//忽略除以上配置的所有字段
-
-            var modal = menuDto.Adapt<SysMenu>(config).ToUpdate(HttpContext);
-            if (modal.menuType == "3" && !modal.path.StartsWith("http"))
-            {
-                return ToResponse(ApiResult.Error($"修改菜单'{modal.name}'失败,地址必须以http(s)://开头"));
-            }
-            if (modal.menuId.Equals(modal.parentId))
-            {
-                return ToResponse(ApiResult.Error($"修改菜单'{modal.name}'失败,上级菜单不能选择自己"));
-            }
-            TokenModel loginUser = JwtUtil.GetLoginUser(HttpContext);
-            modal.UpdateBy = loginUser.username;
-            long result = sysMenuService.EditMenu(modal);
-
-            return SUCCESS(result);
-        }
-
-        /// <summary>
-        /// 添加菜单
-        /// </summary>
-        /// <param name="menuDto"></param>
-        /// <returns></returns>
-        [HttpPost("/v1/kxs/sysServer/menu/add")]
-        public IActionResult MenuAdd([FromBody] MenuDto menuDto)
-        {
-            var config = new TypeAdapterConfig();
-            //映射规则
-            config.ForType<SysMenu, MenuDto>()
-                .NameMatchingStrategy(NameMatchingStrategy.IgnoreCase);
-            var menu = menuDto.Adapt<SysMenu>(config).ToCreate(HttpContext);
-
-            if (menu == null) { return ToResponse(ApiResult.Error(101, "请求参数错误")); }
-            if (UserConstants.NOT_UNIQUE.Equals(sysMenuService.CheckMenuNameUnique(menu)))
-            {
-                return ToResponse(ApiResult.Error($"新增菜单'{menu.name}'失败,菜单名称已存在"));
-            }
-            if (menu.menuType == "3" && !menu.path.StartsWith("http"))
-            {
-                return ToResponse(ApiResult.Error($"新增菜单'{menu.name}'失败,地址必须以http(s)://开头"));
-            }
-            TokenModel loginUser = JwtUtil.GetLoginUser(HttpContext);
-            menu.CreateBy = loginUser.username;
-            menu.UpdateBy = loginUser.username;
-            menu.DelFlag = "0";
-            long result = sysMenuService.AddMenu(menu);
-
-            return SUCCESS(result);
-        }
-
-        /// <summary>
-        /// 菜单删除
-        /// </summary>
-        /// <param name="menuId"></param>
-        /// <returns></returns>
-        [HttpDelete("/v1/kxs/sysServer/menu/removeById/{id}")]
-        public IActionResult Remove(int id)
-        {
-            if (sysMenuService.HasChildByMenuId(id))
-            {
-                return ToResponse(ResultCode.CUSTOM_ERROR, "存在子菜单,不允许删除");
-            }
-            if (sysRoleMenuService.CheckMenuExistRole(id))
-            {
-                return ToResponse(ResultCode.CUSTOM_ERROR, "菜单已分配,不允许删除");
-            }
-            int result = sysMenuService.DeleteMenuById(id);
-
-            return SUCCESS(result);
-        }
-
-        /// <summary>
-        /// 保存排序
-        /// </summary>
-        /// <param name="id"></param>
-        /// <param name="value"></param>
-        /// <returns></returns>
-        [ActionPermissionFilter(Permission = "system:menu:update")]
-        [HttpGet("ChangeSort")]
-        [Log(Title = "保存排序", BusinessType = BusinessType.UPDATE)]
-        public IActionResult ChangeSort(int id = 0, int value = 0)
-        {
-            MenuDto MenuDto = new()
-            {
-                menuId = id,
-                sortOrder = value
-            };
-            if (MenuDto == null) { return ToResponse(ApiResult.Error(101, "请求参数错误")); }
-
-            int result = sysMenuService.ChangeSortMenu(MenuDto);
-            return ToResponse(result);
-        }
-    }
-}

+ 0 - 147
Controllers/Base/SysPostController.cs

@@ -1,147 +0,0 @@
-using Attribute;
-using Common;
-using Enums;
-using Filters;
-using Infrastructure;
-using Microsoft.AspNetCore.Mvc;
-using Middleware;
-using Model;
-using Model.Base;
-using Services;
-using Util;
-
-
-namespace Controllers
-{
-    /// <summary>
-    /// 岗位管理
-    /// </summary>
-    [Verify]
-    public class SysPostController : BaseController
-    {
-        private readonly ISysPostService PostService;
-        public SysPostController(ISysPostService postService)
-        {
-            PostService = postService;
-        }
-
-        /// <summary>
-        /// 岗位列表查询
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("/v1/kxs/sysServer/post/page")]
-        public IActionResult List([FromQuery] SysPost post, [FromQuery] PagerInfo pagerInfo)
-        {
-            var predicate = Expressionable.Create<SysPost>();
-            predicate.AndIF(!string.IsNullOrEmpty(post.postName), u => u.postName.Contains(post.postName));
-            var list = PostService.GetPages(predicate.ToExpression(), pagerInfo, s => new { s.postSort });
-
-            return SUCCESS(list);
-        }
-
-        /// <summary>
-        /// 获取所有岗位列表
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("/v1/kxs/sysServer/post/list")]
-        public IActionResult AllList()
-        {
-            return SUCCESS(PostService.GetList(), TIME_FORMAT_FULL);
-        }
-
-        /// <summary>
-        /// 岗位查询
-        /// </summary>
-        /// <param name="postId"></param>
-        /// <returns></returns>
-        [HttpGet("{postId}")]
-        [ActionPermissionFilter(Permission = "system:post:query")]
-        public IActionResult Query(long postId = 0)
-        {
-            return SUCCESS(PostService.GetId(postId));
-        }
-
-        /// <summary>
-        /// 岗位管理
-        /// </summary>
-        /// <param name="post"></param>
-        /// <returns></returns>
-        [HttpPost("/v1/kxs/sysServer/post/add")]
-        public IActionResult Add([FromBody] SysPost post)
-        {
-            if (UserConstants.NOT_UNIQUE.Equals(PostService.CheckPostNameUnique(post)))
-            {
-                return ToResponse(ResultCode.CUSTOM_ERROR, $"修改岗位{post.postName}失败,岗位名已存在");
-            }
-            if (UserConstants.NOT_UNIQUE.Equals(PostService.CheckPostCodeUnique(post)))
-            {
-                return ToResponse(ResultCode.CUSTOM_ERROR, $"修改岗位{post.postName}失败,岗位编码已存在");
-            }
-            TokenModel loginUser = JwtUtil.GetLoginUser(HttpContext);
-            post.CreateBy = loginUser.username;
-            post.UpdateBy = loginUser.username;
-            post.CreateTime = DateTime.Now;
-            post.UpdateTime = DateTime.Now;
-            post.DelFlag = "0";
-            return SUCCESS(PostService.Add(post, true));
-        }
-
-        /// <summary>
-        /// 岗位管理
-        /// </summary>
-        /// <param name="post"></param>
-        /// <returns></returns>
-        [HttpPut("/v1/kxs/sysServer/post/update")]
-        public IActionResult Update([FromBody] SysPost post)
-        {
-            if (UserConstants.NOT_UNIQUE.Equals(PostService.CheckPostNameUnique(post)))
-            {
-                return ToResponse(ResultCode.CUSTOM_ERROR, $"修改岗位{post.postName}失败,岗位名已存在");
-            }
-            if (UserConstants.NOT_UNIQUE.Equals(PostService.CheckPostCodeUnique(post)))
-            {
-                return ToResponse(ResultCode.CUSTOM_ERROR, $"修改岗位{post.postName}失败,岗位编码已存在");
-            }
-            TokenModel loginUser = JwtUtil.GetLoginUser(HttpContext);
-            post.UpdateBy = loginUser.username;
-            post.UpdateTime = DateTime.Now;
-            return SUCCESS(PostService.Update(post, true));
-        }
-
-        /// <summary>
-        /// 岗位删除
-        /// </summary>
-        /// <param name="id"></param>
-        /// <returns></returns>
-        [HttpDelete("/v1/kxs/sysServer/post/removeById/{id}")]
-        public IActionResult Delete(int id)
-        {
-            return SUCCESS(PostService.Delete(id));
-        }
-
-        /// <summary>
-        /// 获取岗位选择框列表
-        /// </summary>
-        [HttpGet("optionselect")]
-        public IActionResult Optionselect()
-        {
-            List<SysPost> posts = PostService.GetAll();
-            return SUCCESS(posts);
-        }
-
-        /// <summary>
-        /// 岗位导出
-        /// </summary>
-        /// <returns></returns>
-        [Log(BusinessType = BusinessType.EXPORT, IsSaveResponseData = false, Title = "岗位导出")]
-        [HttpGet("export")]
-        [ActionPermissionFilter(Permission = "system:post:export")]
-        public IActionResult Export()
-        {
-            var list = PostService.GetAll();
-
-            var result = ExportExcelMini(list, "post", "岗位列表");
-            return ExportExcel(result.Item2, result.Item1);
-        }
-    }
-}

+ 0 - 206
Controllers/Base/SysRoleController.cs

@@ -1,206 +0,0 @@
-using Attribute;
-using Common;
-using Dto;
-using Enums;
-using Extensions;
-using Filters;
-using Infrastructure;
-using Infrastructure.Model;
-using Mapster;
-using Microsoft.AspNetCore.Mvc;
-using Middleware;
-using Model;
-using Model.Base;
-using Services;
-using Util;
-
-namespace Controllers
-{
-    /// <summary>
-    /// 角色信息
-    /// </summary>
-    [Verify]
-    public class SysRoleController : BaseController
-    {
-        private readonly ISysRoleService sysRoleService;
-        private readonly ISysMenuService sysMenuService;
-
-        public SysRoleController(
-            ISysRoleService sysRoleService,
-            ISysMenuService sysMenuService)
-        {
-            this.sysRoleService = sysRoleService;
-            this.sysMenuService = sysMenuService;
-        }
-
-        /// <summary>
-        /// 获取系统角色管理
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("/v1/kxs/sysServer/role/page")]
-        public IActionResult List([FromQuery] SysRole role, [FromQuery] PagerInfo pager)
-        {
-            var list = sysRoleService.SelectRoleList(role, pager);
-
-            return SUCCESS(list, TIME_FORMAT_FULL);
-        }
-
-        /// <summary>
-        /// 获取所有角色列表
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("/v1/kxs/sysServer/role/list")]
-        public IActionResult AllList()
-        {
-            return SUCCESS(sysRoleService.GetList(), TIME_FORMAT_FULL);
-        }
-
-        /// <summary>
-        /// 根据角色编号获取详细信息
-        /// </summary>
-        /// <param name="roleId"></param>
-        /// <returns></returns>
-        [HttpGet("{roleId}")]
-        public IActionResult GetInfo(long roleId = 0)
-        {
-            var info = sysRoleService.SelectRoleById(roleId);
-
-            return SUCCESS(info, TIME_FORMAT_FULL);
-        }
-
-        /// <summary>
-        /// 添加角色
-        /// </summary>
-        /// <param name="dto"></param>
-        /// <returns></returns>
-        [HttpPost("/v1/kxs/sysServer/role/add")]
-        public IActionResult RoleAdd([FromBody] SysRoleDto dto)
-        {
-            SysRole sysRoleDto = dto.Adapt<SysRole>();
-            if (UserConstants.NOT_UNIQUE.Equals(sysRoleService.CheckRoleKeyUnique(sysRoleDto)))
-            {
-                return ToResponse(ApiResult.Error((int)ResultCode.CUSTOM_ERROR, $"新增角色'{sysRoleDto.roleName}'失败,角色权限已存在"));
-            }
-            TokenModel loginUser = JwtUtil.GetLoginUser(HttpContext);
-            sysRoleDto.CreateBy = loginUser.username;
-            sysRoleDto.UpdateBy = loginUser.username;
-            sysRoleDto.DelFlag = "0";
-            long roleId = sysRoleService.InsertRole(sysRoleDto);
-
-            return SUCCESS(roleId);
-        }
-
-        /// <summary>
-        /// 修改角色
-        /// </summary>
-        /// <param name="dto"></param>
-        /// <returns></returns>
-        [HttpPut("/v1/kxs/sysServer/role/update")]
-        public IActionResult RoleEdit([FromBody] SysRoleDto dto)
-        {
-            if (dto == null || dto.roleId <= 0)
-            {
-                return ToResponse(ApiResult.Error(101, "请求参数错误"));
-            }
-            SysRole sysRoleDto = dto.Adapt<SysRole>();
-            sysRoleService.CheckRoleAllowed(sysRoleDto);
-            var info = sysRoleService.SelectRoleById(sysRoleDto.roleId);
-            if (info != null && info.roleCode != sysRoleDto.roleCode)
-            {
-                if (UserConstants.NOT_UNIQUE.Equals(sysRoleService.CheckRoleKeyUnique(sysRoleDto)))
-                {
-                    return ToResponse(ApiResult.Error($"编辑角色'{sysRoleDto.roleName}'失败,角色权限已存在"));
-                }
-            }
-            TokenModel loginUser = JwtUtil.GetLoginUser(HttpContext);
-            sysRoleDto.UpdateBy = loginUser.username;
-            int upResult = sysRoleService.UpdateRole(sysRoleDto);
-            if (upResult > 0)
-            {
-                return SUCCESS(upResult);
-            }
-            return SUCCESS(ApiResult.Error($"修改角色'{sysRoleDto.roleName}'失败,请联系管理员"));
-        }
-
-        /// <summary>
-        /// 根据角色分配菜单
-        /// </summary>
-        /// <param name="sysRoleDto"></param>
-        /// <returns></returns>
-        [HttpPut("/v1/kxs/sysServer/role/menu")]
-        public IActionResult DataScope([FromBody] SysRoleDto sysRoleDto)
-        {
-            if (sysRoleDto == null || sysRoleDto.roleId <= 0) return ToResponse(ApiResult.Error(101, "请求参数错误"));
-            SysRole sysRole = sysRoleDto.Adapt<SysRole>();
-            sysRoleDto.createBy = HttpContext.GetName();
-            sysRoleService.CheckRoleAllowed(sysRole);
-
-            bool result = sysRoleService.AuthDataScope(sysRoleDto);
-
-            return SUCCESS(result);
-        }
-
-        /// <summary>
-        /// 角色删除
-        /// </summary>
-        /// <param name="roleId"></param>
-        /// <returns></returns>
-        [HttpDelete("/v1/kxs/sysServer/role/removeById/{id}")]
-        public IActionResult Remove(int id)
-        {
-            long[] roleIds = { id };
-            int result = sysRoleService.DeleteRoleByRoleId(roleIds);
-
-            return SUCCESS(result);
-        }
-
-        /// <summary>
-        /// 修改角色状态
-        /// </summary>
-        /// <param name="roleDto">角色对象</param>
-        /// <returns></returns>
-        [HttpPut("changeStatus")]
-        [Log(Title = "修改角色状态", BusinessType = BusinessType.UPDATE)]
-        [ActionPermissionFilter(Permission = "system:role:edit")]
-        public IActionResult ChangeStatus([FromBody] SysRole roleDto)
-        {
-            sysRoleService.CheckRoleAllowed(roleDto);
-            int result = sysRoleService.UpdateRoleStatus(roleDto);
-
-            return ToResponse(result);
-        }
-
-        /// <summary>
-        /// 角色导出
-        /// </summary>
-        /// <returns></returns>
-        [Log(BusinessType = BusinessType.EXPORT, IsSaveResponseData = false, Title = "角色导出")]
-        [HttpGet("export")]
-        [ActionPermissionFilter(Permission = "system:role:export")]
-        public IActionResult Export()
-        {
-            var list = sysRoleService.SelectRoleAll();
-
-            string sFileName = ExportExcel(list, "sysrole", "角色");
-            return SUCCESS(new { path = "/export/" + sFileName, fileName = sFileName });
-        }
-
-        /// <summary>
-        /// 导出角色菜单
-        /// </summary>
-        /// <param name="roleId"></param>
-        /// <returns></returns>
-        [Log(BusinessType = BusinessType.EXPORT, IsSaveResponseData = false, Title = "角色菜单导出")]
-        [HttpGet("exportRoleMenu")]
-        [ActionPermissionFilter(Permission = "system:role:export")]
-        public IActionResult ExportRoleMenu(int roleId)
-        {
-            MenuQueryDto dto = new() { delFlag = "0", menuTypeIds = "M,C,F" };
-
-            var list = sysMenuService.SelectRoleMenuListByRole(dto, roleId);
-
-            var result = ExportExcelMini(list, roleId.ToString(), "角色菜单");
-            return ExportExcel(result.Item2, result.Item1);
-        }
-    }
-}

+ 0 - 260
Controllers/Base/SysUserController.cs

@@ -1,260 +0,0 @@
-using Attribute;
-using Common;
-using Dto;
-using Enums;
-using Feign;
-using Filters;
-using Infrastructure;
-using Infrastructure.Model;
-using Mapster;
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Mvc;
-using Middleware;
-using MiniExcelLibs;
-using Model;
-using Model.Base;
-using Model.Kxs;
-using Services;
-using Util;
-using Vo;
-
-namespace Controllers
-{
-    /// <summary>
-    /// 用户管理
-    /// </summary>
-    [Verify]
-    public class SysUserController : BaseController
-    {
-        private readonly ISysUserService UserService;
-        private readonly ISysRoleService RoleService;
-        private readonly ISysPostService PostService;
-        private readonly ISysUserPostService UserPostService;
-        private readonly SysDeptFeign SysDept;
-
-        public SysUserController(
-            ISysUserService userService,
-            ISysRoleService roleService,
-            ISysPostService postService,
-            ISysUserPostService userPostService,
-            SysDeptFeign sysDeptFeign)
-        {
-            UserService = userService;
-            RoleService = roleService;
-            PostService = postService;
-            UserPostService = userPostService;
-            SysDept = sysDeptFeign;
-        }
-
-        /// <summary>
-        /// 用户管理 -> 获取用户
-        /// /system/user/list
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("/v1/kxs/sysServer/user/page")]
-        public IActionResult List([FromQuery] SysUserQueryDto user, PagerInfo pager)
-        {
-            var list = UserService.SelectUserList(user, pager);
-
-            return SUCCESS(list);
-        }
-
-        [AllowAnonymous]
-        [HttpGet("/feign/user/test")]
-        public SysUserVo Test([FromQuery] long id)
-        {
-            var info = UserService.Queryable()
-                .Includes(m => m.deptJoin)
-                .CrossQuery(typeof(Users), "kxs")
-                .Includes(m => m.user)
-                .First(m => m.userId == id)
-                .Adapt<SysUserVo>() ?? new SysUserVo();
-            return info;
-        }
-
-        [AllowAnonymous]
-        [HttpGet("/feign/user/testlist")]
-        public PagedInfo<SysUserVo> TestList()
-        {
-            var response = UserService.TestList(SysDept);
-            return response;
-        }
-
-        /// <summary>
-        /// 用户管理 -> 编辑、添加用户获取用户,信息查询
-        /// </summary>
-        /// <param name="userId"></param>
-        /// <returns></returns>
-        [HttpGet("")]
-        [HttpGet("{userId:int=0}")]
-        [ActionPermissionFilter(Permission = "system:user:query")]
-        public IActionResult GetInfo(int userId)
-        {
-            Dictionary<string, object> dic = new();
-            var roles = RoleService.SelectRoleAll();
-            dic.Add("roles", roles);
-            //dic.Add("roles", SysUser.IsAdmin(userId) ? roles : roles.FindAll(f => !f.IsAdmin()));
-            dic.Add("posts", PostService.GetAll());
-
-            //编辑
-            if (userId > 0)
-            {
-                SysUser sysUser = UserService.SelectUserById(userId);
-                dic.Add("user", sysUser);
-                dic.Add("postIds", UserPostService.GetUserPostsByUserId(userId));
-                dic.Add("roleIds", sysUser.RoleIds);
-            }
-
-            return SUCCESS(dic);
-        }
-
-        /// <summary>
-        /// 添加用户
-        /// </summary>
-        /// <param name="parm"></param>
-        /// <returns></returns>
-        [HttpPost("/v1/kxs/sysServer/user/add")]
-        public IActionResult AddUser([FromBody] SysUserDto parm)
-        {
-            var user = parm.Adapt<SysUser>().ToCreate(HttpContext);
-            if (user == null) { return ToResponse(ApiResult.Error(101, "请求参数错误")); }
-            if (UserConstants.NOT_UNIQUE.Equals(UserService.CheckUserNameUnique(user.username)))
-            {
-                return ToResponse(ApiResult.Error($"新增用户 '{user.username}'失败,登录账号已存在"));
-            }
-
-            user.RoleIds = parm.role;
-            user.PostIds = parm.post;
-            user.salt = Function.get_Random(6);
-            user.password = Function.MD532(Function.CheckNull(user.password) + user.salt);
-            TokenModel loginUser = JwtUtil.GetLoginUser(HttpContext);
-            user.CreateBy = loginUser.username;
-            user.UpdateBy = loginUser.username;
-            user.LockFlag = "0";
-            user.DelFlag = "0";
-
-            return SUCCESS(UserService.InsertUser(user));
-        }
-
-        /// <summary>
-        /// 修改用户
-        /// </summary>
-        /// <param name="parm"></param>
-        /// <returns></returns>
-        [HttpPut("/v1/kxs/sysServer/user/update")]
-        public IActionResult UpdateUser([FromBody] SysUserDto parm)
-        {
-            var user = parm.Adapt<SysUser>().ToUpdate(HttpContext);
-            if (user == null || user.userId <= 0) { return ToResponse(ApiResult.Error(101, "请求参数错误")); }
-
-            user.RoleIds = parm.role;
-            user.PostIds = parm.post;
-            if(!string.IsNullOrEmpty(parm.password))
-            {
-                user.salt = Function.get_Random(6);
-                user.password = Function.MD532(Function.CheckNull(user.password) + user.salt);
-            }
-            TokenModel loginUser = JwtUtil.GetLoginUser(HttpContext);
-            user.UpdateBy = loginUser.username;
-
-            int upResult = UserService.UpdateUser(user);
-
-            return SUCCESS(upResult);
-        }
-
-        /// <summary>
-        /// 改变用户状态
-        /// </summary>
-        /// <param name="user"></param>
-        /// <returns></returns>
-        [HttpPut("changeStatus")]
-        [Log(Title = "修改用户状态", BusinessType = BusinessType.UPDATE)]
-        [ActionPermissionFilter(Permission = "system:user:update")]
-        public IActionResult ChangeStatus([FromBody] SysUser user)
-        {
-            if (user == null) { return ToResponse(ApiResult.Error(101, "请求参数错误")); }
-
-            int result = UserService.ChangeUserStatus(user);
-            return ToResponse(result);
-        }
-
-        /// <summary>
-        /// 删除用户
-        /// </summary>
-        /// <param name="userid"></param>
-        /// <returns></returns>
-        [HttpDelete("/v1/kxs/sysServer/user/removeById/{id}")]
-        public IActionResult Remove(int id = 0)
-        {
-            if (id <= 0) { return ToResponse(ApiResult.Error(101, "请求参数错误")); }
-            if (id == 1) return ToResponse(ResultCode.FAIL, "不能删除管理员账号");
-            int result = UserService.DeleteUser(id);
-
-            return SUCCESS(result);
-        }
-
-        /// <summary>
-        /// 重置密码
-        /// </summary>
-        /// <returns></returns>
-        [HttpPut("resetPwd")]
-        [Log(Title = "重置密码", BusinessType = BusinessType.UPDATE)]
-        [ActionPermissionFilter(Permission = "system:user:resetPwd")]
-        public IActionResult ResetPwd([FromBody] SysUserDto sysUser)
-        {
-            //密码md5
-            sysUser.password = Function.MD532(sysUser.password);
-
-            int result = UserService.ResetPwd(sysUser.userId, sysUser.password);
-            return ToResponse(result);
-        }
-
-        /// <summary>
-        /// 导入
-        /// </summary>
-        /// <param name="formFile">使用IFromFile必须使用name属性否则获取不到文件</param>
-        /// <returns></returns>
-        [HttpPost("importData")]
-        [Log(Title = "用户导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false, IsSaveResponseData = true)]
-        [ActionPermissionFilter(Permission = "system:user:import")]
-        public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile)
-        {
-            List<SysUser> users = new();
-            using (var stream = formFile.OpenReadStream())
-            {
-                users = stream.Query<SysUser>(startCell: "A2").ToList();
-            }
-
-            return SUCCESS(UserService.ImportUsers(users));
-        }
-
-        /// <summary>
-        /// 用户导入模板下载
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("importTemplate")]
-        [Log(Title = "用户模板", BusinessType = BusinessType.EXPORT, IsSaveRequestData = true, IsSaveResponseData = false)]
-        [AllowAnonymous]
-        public IActionResult ImportTemplateExcel()
-        {
-            (string, string) result = DownloadImportTemplate("user");
-            return ExportExcel(result.Item2, result.Item1);
-        }
-
-        /// <summary>
-        /// 用户导出
-        /// </summary>
-        /// <param name="user"></param>
-        /// <returns></returns>
-        [HttpGet("export")]
-        [Log(Title = "用户导出", BusinessType = BusinessType.EXPORT)]
-        [ActionPermissionFilter(Permission = "system:user:export")]
-        public IActionResult UserExport([FromQuery] SysUserQueryDto user)
-        {
-            var list = UserService.SelectUserList(user, new PagerInfo(1, 10000));
-
-            var result = ExportExcelMini(list.Records, "user", "用户列表");
-            return ExportExcel(result.Item2, result.Item1);
-        }
-    }
-}

+ 0 - 91
Controllers/Base/SysUserRoleController.cs

@@ -1,91 +0,0 @@
-using Attribute;
-using Dto;
-using Enums;
-using Filters;
-using Infrastructure;
-using Microsoft.AspNetCore.Mvc;
-using Middleware;
-using Services;
-
-namespace Controllers
-{
-    /// <summary>
-    /// 用户角色管理
-    /// </summary>
-    [Verify]
-    [Route("system/userRole")]
-    [ApiExplorerSettings(GroupName = "sys")]
-    public class SysUserRoleController : BaseController
-    {
-        private readonly ISysUserRoleService SysUserRoleService;
-        private readonly ISysUserService UserService;
-
-        public SysUserRoleController(
-            ISysUserRoleService sysUserRoleService,
-            ISysUserService userService)
-        {
-            SysUserRoleService = sysUserRoleService;
-            UserService = userService;
-        }
-
-        /// <summary>
-        /// 根据角色编号获取已分配的用户
-        /// </summary>
-        /// <param name="roleUserQueryDto"></param>
-        /// <returns></returns>
-        [HttpGet("list")]
-        [ActionPermissionFilter(Permission = "system:roleusers:list")]
-        public IActionResult GetList([FromQuery] RoleUserQueryDto roleUserQueryDto)
-        {
-            var list = SysUserRoleService.GetSysUsersByRoleId(roleUserQueryDto);
-
-            return SUCCESS(list, TIME_FORMAT_FULL);
-        }
-
-        /// <summary>
-        /// 添加角色用户
-        /// </summary>
-        /// <returns></returns>
-        [HttpPost("create")]
-        [ActionPermissionFilter(Permission = "system:roleusers:add")]
-        [Log(Title = "添加角色用户", BusinessType = BusinessType.INSERT)]
-        public IActionResult Create([FromBody] RoleUsersCreateDto roleUsersCreateDto)
-        {
-            var response = SysUserRoleService.InsertRoleUser(roleUsersCreateDto);
-
-            return SUCCESS(response);
-        }
-
-        /// <summary>
-        /// 删除角色用户
-        /// </summary>
-        /// <param name="roleUsersCreateDto"></param>
-        /// <returns></returns>
-        [HttpPost("delete")]
-        [ActionPermissionFilter(Permission = "system:roleusers:remove")]
-        [Log(Title = "删除角色用户", BusinessType = BusinessType.DELETE)]
-        public IActionResult Delete([FromBody] RoleUsersCreateDto roleUsersCreateDto)
-        {
-            return SUCCESS(SysUserRoleService.DeleteRoleUserByUserIds(roleUsersCreateDto.RoleId, roleUsersCreateDto.UserIds));
-        }
-
-        /// <summary>
-        /// 获取未分配用户角色
-        /// </summary>
-        /// <param name="roleUserQueryDto"></param>
-        /// <returns></returns>
-        [HttpGet("GetExcludeUsers")]
-        public IActionResult GetExcludeUsers([FromQuery] RoleUserQueryDto roleUserQueryDto)
-        {
-            if (roleUserQueryDto.RoleId <= 0)
-            {
-                throw new CustomException(ResultCode.PARAM_ERROR, "roleId不能为空");
-            }
-
-            // 获取未添加用户
-            var list = SysUserRoleService.GetExcludedSysUsersByRoleId(roleUserQueryDto);
-
-            return SUCCESS(list, TIME_FORMAT_FULL);
-        }
-    }
-}

+ 0 - 139
Controllers/Client/AppController.cs

@@ -1,139 +0,0 @@
-using Attribute;
-using Common;
-using Dto;
-using Vo;
-using Enums;
-using Filters;
-using Infrastructure;
-using Infrastructure.Model;
-using Mapster;
-using Microsoft.AspNetCore.Mvc;
-using Middleware;
-using Model;
-using Services.Client;
-using Model.Base;
-using Base;
-
-namespace Controllers
-{
-    /// <summary>
-    /// App)Controller
-    /// </summary>
-    // [Route("app")]
-    // [ApiExplorerSettings(GroupName = "App")]
-    public class AppController : BaseController
-    {
-        /// <summary>
-        /// api分组接口
-        /// </summary>
-        private readonly IAppBottomNavsService _AppBottomNavsService;
-        private readonly IFileUpdateInfoService _FileUpdateInfoService;
-        private readonly IPageUpdateInfoService _PageUpdateInfoService;
-
-
-        public AppController(IAppBottomNavsService AppBottomNavsService,IFileUpdateInfoService FileUpdateInfoService,IPageUpdateInfoService PageUpdateInfoService)
-        {
-            _AppBottomNavsService = AppBottomNavsService;
-            _FileUpdateInfoService = FileUpdateInfoService;
-            _PageUpdateInfoService = PageUpdateInfoService;
-
-        }
-
-        /// <summary>
-        /// APP底部导航列表
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>APP底部导航列表</returns>
-        [HttpGet]
-        [Route("/v1/kxsconfig/app/appBottomNavs")]
-        public IActionResult AppBottomNavs([FromQuery] AppAppBottomNavsDto parm)
-        {
-            string kind = Function.CheckNull(parm.kind);
-            if(kind.Contains("/"))
-            {
-                string[] data = kind.Split('/');
-                parm.kind = data[0];
-                parm.appVersion = data[1];
-            }
-            var response = _AppBottomNavsService.AppBottomNavs(parm);
-            response.Extra = new Dictionary<string, object>();
-            response.Extra.Add("greyStyle", "");
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// APP静态资源
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>APP静态资源</returns>
-        [HttpGet]
-        [Route("/v1/kxsconfig/app/staticFiles")]
-        public IActionResult StaticFiles([FromQuery] AppStaticFilesDto parm)
-        {
-            string kind = Function.CheckNull(parm.kind);
-            if(kind.Contains("/"))
-            {
-                string[] data = kind.Split('/');
-                parm.kind = data[0];
-                parm.appVersion = data[1];
-            }
-            var response = _FileUpdateInfoService.StaticFiles(parm);
-            OssConfigs ossConfigs = new();
-            AppSettings.Bind("OssConfigs", ossConfigs);
-            foreach(var sub in response.Records)
-            {
-                sub.downloadUrl = ossConfigs.Host + "skin/app/" + parm.kind + "/" + sub.path + sub.fileName;
-                sub.dataId = Function.MD5_16(sub.id.ToString() + "123890");
-            }
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// APP页面数据检查
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>APP页面数据检查</returns>
-        [HttpGet]
-        [Route("/v1/kxsconfig/app/pageInfo")]
-        public IActionResult PageInfo([FromQuery] AppPageInfoDto parm)
-        {
-            string kind = Function.CheckNull(parm.kind);
-            if(kind.Contains("/"))
-            {
-                string[] data = kind.Split('/');
-                parm.kind = data[0];
-                parm.appVersion = data[1];
-            }
-            OssConfigs ossConfigs = new();
-            AppSettings.Bind("OssConfigs", ossConfigs);
-            string modulePath = parm.modulePath + ".html";
-            var response = _PageUpdateInfoService.Queryable()
-                .First(x => x.modulePath == modulePath && x.appVersion == parm.appVersion && x.kind == parm.kind)
-                .Adapt<AppPageInfoVo>() ?? new AppPageInfoVo();
-            response.dataId = Function.MD5_16(response.id.ToString() + "123890");
-            if (parm.moduleVersion < response.moduleVersion)
-            {
-                string PagePath = "template/app/" + kind + "/" + response.modulePath;
-                string pageContent = Function.GetNetFileContent(ossConfigs.Host + PagePath);
-                response.moduleContent = pageContent; //模板内容
-            }
-            else
-            {
-                response.moduleContent = ""; //模板内容
-            }
-            return SUCCESS(response);
-        }
-
-
-
-
-
-
-    }
-}

+ 0 - 176
Controllers/FileUpdateInfoController.cs

@@ -1,176 +0,0 @@
-using Attribute;
-using Common;
-using Dto;
-using Vo;
-using Enums;
-using Filters;
-using Infrastructure;
-using Infrastructure.Model;
-using Mapster;
-using Microsoft.AspNetCore.Mvc;
-using Middleware;
-using Model;
-using Services;
-using Model.Base;
-using Base;
-
-namespace Controllers
-{
-    /// <summary>
-    /// FileUpdateInfo)Controller
-    /// </summary>
-    // [Route("FileUpdateInfo")]
-    // [ApiExplorerSettings(GroupName = "FileUpdateInfo")]
-    public class FileUpdateInfoController : BaseController
-    {
-        /// <summary>
-        /// api分组接口
-        /// </summary>
-        private readonly IFileUpdateInfoService _FileUpdateInfoService;
-
-
-        public FileUpdateInfoController(IFileUpdateInfoService FileUpdateInfoService)
-        {
-            _FileUpdateInfoService = FileUpdateInfoService;
-
-        }
-
-        /// <summary>
-        /// 资源文件更新信息列表
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>资源文件更新信息列表</returns>
-        [HttpGet]
-        [Route("/v1/api/FileUpdateInfo/list")]
-        public IActionResult List([FromQuery] FileUpdateInfoListDto parm, [FromQuery] PagerInfo page)
-        {
-            var response = _FileUpdateInfoService.List(parm, page);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// 资源文件更新信息详情
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>资源文件更新信息详情</returns>
-        [HttpGet]
-        [Route("/v1/api/FileUpdateInfo/query")]
-        public IActionResult Query([FromQuery] FileUpdateInfoQueryDto parm)
-        {
-            var response = _FileUpdateInfoService.Queryable()
-                .First(x => x.id == parm.id)
-                .Adapt<FileUpdateInfoQueryVo>() ?? new FileUpdateInfoQueryVo();
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// 资源文件更新信息添加
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>资源文件更新信息添加</returns>
-        [HttpPost]
-        [Route("/v1/api/FileUpdateInfo/add")]
-        public IActionResult Add([FromBody] FileUpdateInfoAddDto parm)
-        {
-            var modal = parm.Adapt<FileUpdateInfo>().ToCreate(HttpContext);
-            var response = _FileUpdateInfoService.Add(modal);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// 资源文件更新信息修改
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>资源文件更新信息修改</returns>
-        [HttpPut]
-        [Route("/v1/api/FileUpdateInfo/update")]
-        public IActionResult Update([FromBody] FileUpdateInfoUpdateDto parm)
-        {
-            var modal = parm.Adapt<FileUpdateInfo>().ToUpdate(HttpContext);
-            var response = _FileUpdateInfoService.Update(modal, true);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// 资源文件更新信息删除
-        /// </summary>
-        /// <param name="Id">ID</param>
-        /// <returns>资源文件更新信息删除</returns>
-        [HttpDelete]
-        [Route("/v1/api/FileUpdateInfo/delete/{id}")]
-        public IActionResult Delete(int id)
-        {
-            var response = _FileUpdateInfoService.Delete(id);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// 资源文件更新信息刷新文件
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>资源文件更新信息刷新文件</returns>
-        [HttpGet]
-        [Route("/v1/api/FileUpdateInfo/updateFile")]
-        public IActionResult UpdateFile([FromQuery] FileUpdateInfoUpdateFileDto parm)
-        {
-            _FileUpdateInfoService.UpdateFile(parm);
-            return SUCCESS("ok");
-        }
-
-
-
-
-        /// <summary>
-        /// 资源文件更新信息更新版本号
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>资源文件更新信息更新版本号</returns>
-        [HttpPut]
-        [Route("/v1/api/FileUpdateInfo/upVersion")]
-        public IActionResult UpVersion([FromBody] FileUpdateInfoUpVersionDto parm)
-        {
-            var modal = _FileUpdateInfoService.GetFirst(m => m.id == parm.id);
-            modal.versionNum += 1;
-            var response = _FileUpdateInfoService.Update(modal, true);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// 复制
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>复制</returns>
-        [HttpPost]
-        [Route("/v1/api/FileUpdateInfo/copy")]
-        public IActionResult Copy([FromBody] CopyDto parm)
-        {
-            _FileUpdateInfoService.DeleteForCopy(parm);
-            _FileUpdateInfoService.Copy(parm);
-            return SUCCESS("复制成功");
-        }
-
-
-
-
-
-
-    }
-}

+ 0 - 142
Controllers/PageUpdateInfoController.cs

@@ -35,124 +35,6 @@ namespace Controllers
             _FileUpdateInfoService = FileUpdateInfoService;
         }
 
-        /// <summary>
-        /// 页面模板更新信息列表
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>页面模板更新信息列表</returns>
-        [HttpGet]
-        [Route("/v1/api/PageUpdateInfo/list")]
-        public IActionResult List([FromQuery] PageUpdateInfoListDto parm, [FromQuery] PagerInfo page)
-        {
-            var response = _PageUpdateInfoService.List(parm, page);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// 页面模板更新信息详情
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>页面模板更新信息详情</returns>
-        [HttpGet]
-        [Route("/v1/api/PageUpdateInfo/query")]
-        public IActionResult Query([FromQuery] PageUpdateInfoQueryDto parm)
-        {
-            var response = _PageUpdateInfoService.Queryable()
-                .First(x => x.id == parm.id)
-                .Adapt<PageUpdateInfoQueryVo>() ?? new PageUpdateInfoQueryVo();
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// 页面模板更新信息添加
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>页面模板更新信息添加</returns>
-        [HttpPost]
-        [Route("/v1/api/PageUpdateInfo/add")]
-        public IActionResult Add([FromBody] PageUpdateInfoAddDto parm)
-        {
-            var modal = parm.Adapt<PageUpdateInfo>().ToCreate(HttpContext);
-            var response = _PageUpdateInfoService.Add(modal);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// 页面模板更新信息修改
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>页面模板更新信息修改</returns>
-        [HttpPut]
-        [Route("/v1/api/PageUpdateInfo/update")]
-        public IActionResult Update([FromBody] PageUpdateInfoUpdateDto parm)
-        {
-            var modal = parm.Adapt<PageUpdateInfo>().ToUpdate(HttpContext);
-            var response = _PageUpdateInfoService.Update(modal, true);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// 页面模板更新信息删除
-        /// </summary>
-        /// <param name="Id">ID</param>
-        /// <returns>页面模板更新信息删除</returns>
-        [HttpDelete]
-        [Route("/v1/api/PageUpdateInfo/delete/{id}")]
-        public IActionResult Delete(int id)
-        {
-            var response = _PageUpdateInfoService.Delete(id);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// 页面模板更新信息刷新文件
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>页面模板更新信息刷新文件</returns>
-        [HttpGet]
-        [Route("/v1/api/PageUpdateInfo/updateTemplate")]
-        public IActionResult UpdateTemplate([FromQuery] PageUpdateInfoUpdateTemplateDto parm)
-        {
-            _PageUpdateInfoService.UpdateTemplate(parm);
-            return SUCCESS("ok");
-        }
-
-
-
-
-        /// <summary>
-        /// 页面模板更新信息更新版本号码
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>页面模板更新信息更新版本号码</returns>
-        [HttpPut]
-        [Route("/v1/api/PageUpdateInfo/upVersion")]
-        public IActionResult UpVersion([FromBody] PageUpdateInfoUpVersionDto parm)
-        {
-            var modal = _PageUpdateInfoService.GetFirst(m => m.id == parm.id);
-            modal.moduleVersion += 1;
-            var response = _PageUpdateInfoService.Update(modal, true);
-            return SUCCESS(response);
-        }
-
-
-
-
 
         /// <summary>
         /// 生成APP配置文件
@@ -231,30 +113,6 @@ namespace Controllers
             return Content("fail");
         }
 
-        
-        /// <summary>
-        /// 页面模板复制
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>页面模板复制</returns>
-        [HttpPost]
-        [Route("/v1/api/PageUpdateInfo/copy")]
-        public IActionResult Copy([FromBody] CopyDto parm)
-        {
-            _PageUpdateInfoService.DeleteForCopy(parm);
-            _PageUpdateInfoService.Copy(parm);
-            return SUCCESS("复制成功");
-        }
-
-
-        [Route("/noauth/test")]
-        public string test()
-        {
-            string str = "[{\"title\":\"首页\",\"normalIcon\":\"/static/images/tab-icon1-no@3x.png\",\"selectIcon\":\"/static/images/tab-icon1-active1@3x.png\",\"normalTextColor\":\"999999\",\"selectTextColor\":\"333333\",\"pageName\":\"index1\",\"NoUrlMessage\":\"\",\"backgroudColor\":\"FFFFFF\",\"statusBarColor\":\"true\",\"showTitle\":true},{\"title\":\"工作台\",\"normalIcon\":\"/static/images/tab-icon2-no@3x.png\",\"selectIcon\":\"/static/images/tab-icon2-active1@3x.png\",\"normalTextColor\":\"999999\",\"selectTextColor\":\"333333\",\"pageName\":\"work-center1\",\"NoUrlMessage\":null,\"backgroudColor\":\"FFFFFF\",\"statusBarColor\":\"true\",\"showTitle\":true},{\"title\":\"消息\",\"normalIcon\":\"/static/images/tab-icon3-no@3x.png\",\"selectIcon\":\"/static/images/tab-icon3-active1@3x.png\",\"normalTextColor\":\"999999\",\"selectTextColor\":\"333333\",\"pageName\":\"notice-center1\",\"NoUrlMessage\":null,\"backgroudColor\":\"FFFFFF\",\"statusBarColor\":\"true\",\"showTitle\":false},{\"title\":\"我的\",\"normalIcon\":\"/static/images/tab-icon4-no@3x.png\",\"selectIcon\":\"/static/images/tab-icon4-active1@3x.png\",\"normalTextColor\":\"999999\",\"selectTextColor\":\"333333\",\"pageName\":\"user-center1\",\"NoUrlMessage\":null,\"backgroudColor\":\"FFFFFF\",\"statusBarColor\":\"true\",\"showTitle\":true}]";
-            return Dbconn.Encrypt3DES(str, "*ga34|^7");
-        }
-
-
 
     }
 }

+ 0 - 124
Controllers/SysDictController.cs

@@ -1,124 +0,0 @@
-using Attribute;
-using Common;
-using Dto;
-using Vo;
-using Enums;
-using Filters;
-using Infrastructure;
-using Infrastructure.Model;
-using Mapster;
-using Microsoft.AspNetCore.Mvc;
-using Middleware;
-using Model;
-using Services;
-using Model.Base;
-
-namespace Controllers
-{
-    /// <summary>
-    /// SysDict)Controller
-    /// </summary>
-    // [Route("SysDict")]
-    // [ApiExplorerSettings(GroupName = "SysDict")]
-    public class SysDictController : BaseController
-    {
-        /// <summary>
-        /// api分组接口
-        /// </summary>
-        private readonly ISysDictService _SysDictService;
-
-
-        public SysDictController(ISysDictService SysDictService)
-        {
-            _SysDictService = SysDictService;
-
-        }
-
-        /// <summary>
-        /// 字典表列表
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>字典表列表</returns>
-        [HttpGet]
-        [Route("/v1/api/SysDict/list")]
-        public IActionResult List([FromQuery] SysDictListDto parm)
-        {
-            var response = _SysDictService.List(parm);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// 字典表详情
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>字典表详情</returns>
-        [HttpGet]
-        [Route("/v1/api/SysDict/query")]
-        public IActionResult Query([FromQuery] SysDictQueryDto parm)
-        {
-            var response = _SysDictService.Queryable()
-                .First(x => x.id == parm.id)
-                .Adapt<SysDictQueryVo>() ?? new SysDictQueryVo();
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// 字典表添加
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>字典表添加</returns>
-        [HttpPost]
-        [Route("/v1/api/SysDict/add")]
-        public IActionResult Add([FromBody] SysDictAddDto parm)
-        {
-            var modal = parm.Adapt<SysDict>().ToCreate(HttpContext);
-            var response = _SysDictService.Add(modal);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// 字典表修改
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>字典表修改</returns>
-        [HttpPut]
-        [Route("/v1/api/SysDict/update")]
-        public IActionResult Update([FromBody] SysDictUpdateDto parm)
-        {
-            var modal = parm.Adapt<SysDict>().ToUpdate(HttpContext);
-            var response = _SysDictService.Update(modal, true);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// 字典表删除
-        /// </summary>
-        /// <param name="Id">编号</param>
-        /// <returns>字典表删除</returns>
-        [HttpDelete]
-        [Route("/v1/api/SysDict/delete/{id}")]
-        public IActionResult Delete(long id)
-        {
-            var response = _SysDictService.Delete(id);
-            return SUCCESS(response);
-        }
-
-
-
-
-
-
-    }
-}

+ 0 - 124
Controllers/SysDictItemController.cs

@@ -1,124 +0,0 @@
-using Attribute;
-using Common;
-using Dto;
-using Vo;
-using Enums;
-using Filters;
-using Infrastructure;
-using Infrastructure.Model;
-using Mapster;
-using Microsoft.AspNetCore.Mvc;
-using Middleware;
-using Model;
-using Services;
-using Model.Base;
-
-namespace Controllers
-{
-    /// <summary>
-    /// SysDictItem)Controller
-    /// </summary>
-    // [Route("SysDictItem")]
-    // [ApiExplorerSettings(GroupName = "SysDictItem")]
-    public class SysDictItemController : BaseController
-    {
-        /// <summary>
-        /// api分组接口
-        /// </summary>
-        private readonly ISysDictItemService _SysDictItemService;
-
-
-        public SysDictItemController(ISysDictItemService SysDictItemService)
-        {
-            _SysDictItemService = SysDictItemService;
-
-        }
-
-        /// <summary>
-        /// 字典项列表
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>字典项列表</returns>
-        [HttpGet]
-        [Route("/v1/api/SysDictItem/list")]
-        public IActionResult List([FromQuery] SysDictItemListDto parm)
-        {
-            var response = _SysDictItemService.List(parm);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// 字典项详情
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>字典项详情</returns>
-        [HttpGet]
-        [Route("/v1/api/SysDictItem/query")]
-        public IActionResult Query([FromQuery] SysDictItemQueryDto parm)
-        {
-            var response = _SysDictItemService.Queryable()
-                .First(x => x.id == parm.id)
-                .Adapt<SysDictItemQueryVo>() ?? new SysDictItemQueryVo();
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// 字典项添加
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>字典项添加</returns>
-        [HttpPost]
-        [Route("/v1/api/SysDictItem/add")]
-        public IActionResult Add([FromBody] SysDictItemAddDto parm)
-        {
-            var modal = parm.Adapt<SysDictItem>().ToCreate(HttpContext);
-            var response = _SysDictItemService.Add(modal);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// 字典项修改
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>字典项修改</returns>
-        [HttpPut]
-        [Route("/v1/api/SysDictItem/update")]
-        public IActionResult Update([FromBody] SysDictItemUpdateDto parm)
-        {
-            var modal = parm.Adapt<SysDictItem>().ToUpdate(HttpContext);
-            var response = _SysDictItemService.Update(modal, true);
-            return SUCCESS(response);
-        }
-
-
-
-
-        /// <summary>
-        /// 字典项删除
-        /// </summary>
-        /// <param name="Id">编号</param>
-        /// <returns>字典项删除</returns>
-        [HttpDelete]
-        [Route("/v1/api/SysDictItem/delete/{id}")]
-        public IActionResult Delete(long id)
-        {
-            var response = _SysDictItemService.Delete(id);
-            return SUCCESS(response);
-        }
-
-
-
-
-
-
-    }
-}

+ 0 - 19
Extensions/AppServiceExtensions.cs

@@ -28,31 +28,12 @@ namespace Infrastructure
 
             //必须注册的service
             // services.AddTransient<ISysOperLogService, SysOperLogService>();
-            services.AddTransient<ISysPermissionService, SysPermissionService>();
-            services.AddTransient<ISysDeptService, SysDeptService>();
-            services.AddTransient<ISysLoginService, SysLoginService>();
-            services.AddTransient<ISysMenuService, SysMenuService>();
-            services.AddTransient<ISysRoleMenuService, SysRoleMenuService>();
-            services.AddTransient<ISysPostService, SysPostService>();
-            services.AddTransient<ISysRoleService, SysRoleService>();
-            services.AddTransient<ISysUserPostService, SysUserPostService>();
-            services.AddTransient<ISysUserRoleService, SysUserRoleService>();
-            services.AddTransient<ISysRoleDeptService, SysRoleDeptService>();
-            services.AddTransient<ISysUserService, SysUserService>();
-            services.AddTransient<ISysOauthClientDetailsService, SysOauthClientDetailsService>();
-            services.AddTransient<IAppReportRecordService, AppReportRecordService>();
-
-            services.AddTransient<IApiGroupService, ApiGroupService>();
-            services.AddTransient<IApiInfoService, ApiInfoService>();
-            services.AddTransient<IAppVersionService, AppVersionService>();
             services.AddTransient<IAppBottomNavsService, AppBottomNavsService>();
             services.AddTransient<IPageUpdateInfoService, PageUpdateInfoService>();
             services.AddTransient<IFileUpdateInfoService, FileUpdateInfoService>();
             services.AddTransient<Services.Client.IAppBottomNavsService, Services.Client.AppBottomNavsService>();
             services.AddTransient<Services.Client.IPageUpdateInfoService, Services.Client.PageUpdateInfoService>();
             services.AddTransient<Services.Client.IFileUpdateInfoService, Services.Client.FileUpdateInfoService>();
-            services.AddTransient<ISysDictService, SysDictService>();
-            services.AddTransient<ISysDictItemService, SysDictItemService>();
         }
 
         private static void Register(IServiceCollection services, string item)

+ 3 - 3
Filters/ActionPermissionFilter.cs

@@ -51,10 +51,10 @@ namespace Middleware
 
                 if (perms == null)
                 {
-                    var sysPermissionService = App.GetService<ISysPermissionService>();
-                    perms = sysPermissionService.List();
+                    // var sysPermissionService = App.GetService<ISysPermissionService>();
+                    // perms = sysPermissionService.List();
 
-                    CacheService.SetUserPerms(GlobalConstant.UserPermKEY + userId, perms);
+                    // CacheService.SetUserPerms(GlobalConstant.UserPermKEY + userId, perms);
                 }
 
                 if (perms.Exists(f => f.Equals(GlobalConstant.AdminPerm)))

+ 7 - 10
Filters/AuthorizationFilter.cs

@@ -16,11 +16,8 @@ namespace Filters
     public class AuthorizationFilter : IAuthorizationFilter
     {
         
-        private readonly ISysLoginService SysLoginService;
-
-        public AuthorizationFilter(ISysLoginService sysLoginService)
+        public AuthorizationFilter()
         {
-            this.SysLoginService = sysLoginService;
         }
 
         /// <summary>
@@ -116,12 +113,12 @@ namespace Filters
                     {
                         var scope = request.Query["scope"].ToString();
                         var grantType = request.Query["grant_type"].ToString();
-                        bool checkLogin = SysLoginService.CheckLogin(scope, grantType, context.HttpContext.GetToken().Replace("Basic ", ""));
-                        if(!checkLogin)
-                        {
-                            string msg = $"请求访问失败,无法访问系统资源";
-                            context.Result = new JsonResult(ApiResult.Error(ResultCode.DENY, msg));
-                        }
+                        // bool checkLogin = SysLoginService.CheckLogin(scope, grantType, context.HttpContext.GetToken().Replace("Basic ", ""));
+                        // if(!checkLogin)
+                        // {
+                        //     string msg = $"请求访问失败,无法访问系统资源";
+                        //     context.Result = new JsonResult(ApiResult.Error(ResultCode.DENY, msg));
+                        // }
                     }
                 }
             }

+ 0 - 81
Services/ApiGroupService.cs

@@ -1,81 +0,0 @@
-using Attribute;
-using Dto;
-using Vo;
-using Model;
-using Model.Base;
-
-using Repository;
-using Service;
-using Microsoft.AspNetCore.Mvc;
-using Common;
-
-namespace Services
-{
-    /// <summary>
-    /// api接口分组Service业务层处理
-    /// </summary>
-    [AppService(ServiceType = typeof(IApiGroupService), ServiceLifetime = LifeTime.Transient)]
-    public class ApiGroupService : BaseService<ApiGroup>, IApiGroupService
-    {
-        /// <summary>
-        /// api接口分组-列表
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>api接口分组列表</returns>
-        public PagedInfo<ApiGroupListVo> List([FromQuery] ApiGroupListDto parm)
-        {
-            //开始拼装查询条件
-            var predicate = Expressionable.Create<ApiGroup>();
-            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.groupName), m => m.groupName.Contains(parm.groupName));
-            var response = Queryable()
-                .Where(predicate.ToExpression())
-                .OrderByDescending(m => m.id)
-                .ToPage<ApiGroup, ApiGroupListVo>(new PagerInfo());
-            return response;
-        }
-
-
-
-
-        public List<string> GroupsForAdmin(string value)
-        {
-            string jsonString = Dbconn.DesDecrypt(value, "&L^kg4N9");
-            Dictionary<string, string> data = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, string>>(jsonString);
-            string key = data["key"];
-            if(key != "kxs#2024")
-            {
-                return new List<string>();
-            }
-            var response = Queryable()
-                .Where(m => m.groupKind == 1)
-                .ToList()
-                .Select(m => m.groupName)
-                .ToList();
-            return response;
-        }
-
-
-
-
-
-        /// <summary>
-        /// api接口分组-下拉框数据
-        /// </summary>
-        /// <returns>api接口分组下拉框数据</returns>
-        public PagedInfo<ApiGroupSelectListVo> SelectList()
-        {
-            //开始拼装查询条件
-            var predicate = Expressionable.Create<ApiGroup>();
-            var response = Queryable()
-                .Where(predicate.ToExpression())
-                .OrderByDescending(m => m.id)
-                .ToPage<ApiGroup, ApiGroupSelectListVo>(new PagerInfo());
-            return response;
-        }
-
-
-
-
-
-    }
-}

+ 0 - 55
Services/ApiInfoService.cs

@@ -1,55 +0,0 @@
-using Attribute;
-using Dto;
-using Vo;
-using Model;
-using Model.Base;
-
-using Repository;
-using Service;
-using Microsoft.AspNetCore.Mvc;
-
-namespace Services
-{
-    /// <summary>
-    /// api接口Service业务层处理
-    /// </summary>
-    [AppService(ServiceType = typeof(IApiInfoService), ServiceLifetime = LifeTime.Transient)]
-    public class ApiInfoService : BaseService<ApiInfo>, IApiInfoService
-    {
-        /// <summary>
-        /// api接口-列表
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>api接口列表</returns>
-        public PagedInfo<ApiInfoListVo> List([FromQuery] PagerInfo page, [FromQuery] ApiInfoListDto parm)
-        {
-            //开始拼装查询条件
-            var predicate = Expressionable.Create<ApiInfo>();
-            predicate = predicate.AndIF(parm.groupId > 0, m => m.groupId == parm.groupId);
-            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.apiName), m => m.apiName.Contains(parm.apiName));
-            var response = Queryable()
-                .Where(predicate.ToExpression())
-                .OrderByDescending(m => m.id)
-                .Includes(m => m.apiGroupJoin)
-                .ToPage<ApiInfo, ApiInfoListVo>(page);
-            return response;
-        }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    }
-}

+ 0 - 44
Services/AppReportRecordService.cs

@@ -1,44 +0,0 @@
-using Attribute;
-using Model;
-using Model.Base;
-using Repository;
-using Service;
-using Microsoft.AspNetCore.Mvc;
-using Vo.Admin;
-
-
-namespace Services
-{
-    /// <summary>
-    /// app上报记录Service业务层处理
-    /// </summary>
-    [AppService(ServiceType = typeof(IAppReportRecordService), ServiceLifetime = LifeTime.Transient)]
-    public class AppReportRecordService : BaseService<AppReportRecord>, IAppReportRecordService
-    {
-        /// <summary>
-        /// app上报记录-列表
-        /// </summary>
-        /// <param name="param">参数请求体</param>
-        /// <param name="page">分页参数</param>
-        /// <returns>列表</returns>
-        public PagedInfo<GetAppReportRecordListVo> getAppReportRecordList([FromQuery] PagerInfo page, [FromQuery] AppReportRecord param)
-        {
-            //拼装查询条件
-            var predicate = Expressionable.Create<AppReportRecord>();
-            predicate = predicate.AndIF(!string.IsNullOrEmpty(param.appVersion), m => m.appVersion.Contains(param.appVersion));
-            predicate = predicate.AndIF(!string.IsNullOrEmpty(param.userTag), m => m.userTag.Contains(param.userTag));
-            predicate = predicate.AndIF(!string.IsNullOrEmpty(param.pageTitle), m => m.pageTitle.Contains(param.pageTitle));
-            predicate = predicate.AndIF(!string.IsNullOrEmpty(param.pageUrl), m => m.pageUrl.Contains(param.pageUrl));
-            predicate = predicate.AndIF(!string.IsNullOrEmpty(param.deviceSize), m => m.deviceSize.Contains(param.deviceSize));
-            predicate = predicate.AndIF(!string.IsNullOrEmpty(param.reportType), m => m.reportType.Contains(param.reportType));
-            var response = Queryable()
-                .Where(predicate.ToExpression())
-                .SplitTable(DateTime.Now.AddMonths(-3), DateTime.Now)
-                .OrderByDescending(m => m.id)
-                .ToPage<AppReportRecord, GetAppReportRecordListVo>(page);
-            return response;
-        }
-
-
-    }
-}

+ 0 - 50
Services/AppVersionService.cs

@@ -1,50 +0,0 @@
-using Attribute;
-using Dto;
-using Vo;
-using Model;
-using Model.Base;
-
-using Repository;
-using Service;
-using Microsoft.AspNetCore.Mvc;
-
-namespace Services
-{
-    /// <summary>
-    /// app版本管理Service业务层处理
-    /// </summary>
-    [AppService(ServiceType = typeof(IAppVersionService), ServiceLifetime = LifeTime.Transient)]
-    public class AppVersionService : BaseService<AppVersion>, IAppVersionService
-    {
-        /// <summary>
-        /// app版本管理-列表
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>app版本管理列表</returns>
-        public PagedInfo<AppVersionListVo> List([FromQuery] AppVersionListDto parm)
-        {
-            //开始拼装查询条件
-            var predicate = Expressionable.Create<AppVersion>();
-            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.appVersion), m => m.appVersion == parm.appVersion);
-            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.kind), m => m.kind.Contains(parm.kind));
-            var response = Queryable()
-                .Where(predicate.ToExpression())
-                .OrderByDescending(m => m.id)
-                .ToPage<AppVersion, AppVersionListVo>(new PagerInfo());
-            return response;
-        }
-
-
-
-
-
-
-
-
-
-
-
-
-
-    }
-}

+ 0 - 27
Services/Base/IService/ISysDeptService.cs

@@ -1,27 +0,0 @@
-using Dto;
-using Model;
-using Vo;
-
-namespace Services
-{
-    public interface ISysDeptService : IBaseService<SysDept>
-    {
-        List<SysDept> GetSysDepts(SysDeptQueryDto dept);
-        string CheckDeptNameUnique(SysDept dept);
-        int InsertDept(SysDept dept);
-        int UpdateDept(SysDept dept);
-        void UpdateDeptChildren(long deptId, string newAncestors, string oldAncestors);
-        List<SysDept> GetChildrenDepts(List<SysDept> depts, long deptId);
-        List<SysDept> BuildDeptTree(List<SysDept> depts);
-        List<TreeSelectVo> BuildDeptTreeSelect(List<SysDept> depts);
-
-        List<long> SelectRoleDepts(long roleId);
-        bool DeleteRoleDeptByRoleId(long roleId);
-        int InsertRoleDepts(SysRole role);
-    }
-
-    public interface ISysRoleDeptService : IBaseService<SysRoleDept>
-    {
-        List<SysRoleDept> SelectRoleDeptByRoleId(long roleId);
-    }
-}

+ 0 - 67
Services/Base/IService/ISysLoginService.cs

@@ -1,67 +0,0 @@
-using Dto;
-using Model;
-using Model.Base;
-using Vo;
-
-namespace Services
-{
-    public interface ISysLoginService : IBaseService<SysLogininfor>
-    {
-        /// <summary>
-        /// 验证登录接口
-        /// </summary>
-        /// <param name="loginBody"></param>
-        /// <param name="logininfor"></param>
-        /// <returns></returns>
-        public bool CheckLogin(string scope, string grantType, string token);
-        /// <summary>
-        /// 登录成功返回数据
-        /// </summary>
-        /// <param name="loginUser"></param>
-        /// <returns></returns>
-        public OAuthVo GetLoginInfo(TokenModel loginUser);
-        /// <summary>
-        /// 登录
-        /// </summary>
-        /// <param name="loginBody"></param>
-        /// <param name="logininfor"></param>
-        /// <returns></returns>
-        public SysUser Login(LoginBodyDto loginBody, SysLogininfor logininfor);
-        /// <summary>
-        /// 手机号登录
-        /// </summary>
-        /// <param name="loginBody"></param>
-        /// <param name="logininfor"></param>
-        /// <param name="user"></param>
-        /// <returns></returns>
-        SysUser PhoneLogin(PhoneLoginDto loginBody, SysLogininfor logininfor, SysUser user);
-        /// <summary>
-        /// 查询操作日志
-        /// </summary>
-        /// <param name="logininfoDto"></param>
-        /// <param name="pager">分页</param>
-        /// <returns></returns>
-        public PagedInfo<SysLogininfor> GetLoginLog(SysLogininfor logininfoDto, PagerInfo pager);
-
-        /// <summary>
-        /// 记录登录日志
-        /// </summary>
-        /// <param name="sysLogininfor"></param>
-        /// <returns></returns>
-        public void AddLoginInfo(SysLogininfor sysLogininfor);
-
-        /// <summary>
-        /// 清空登录日志
-        /// </summary>
-        public void TruncateLogininfo();
-
-        /// <summary>
-        /// 删除登录日志
-        /// </summary>
-        /// <param name="ids"></param>
-        /// <returns></returns>
-        public int DeleteLogininforByIds(long[] ids);
-
-        void CheckLockUser(string userName);
-    }
-}

+ 0 - 88
Services/Base/IService/ISysMenuService.cs

@@ -1,88 +0,0 @@
-using Dto;
-using Model;
-using Vo;
-
-namespace Services
-{
-    public interface ISysMenuService : IBaseService<SysMenu>
-    {
-        //List<SysMenu> SelectMenuList(long userId);
-
-        List<SysMenu> SelectMenuList(MenuQueryDto menu, long userId);
-        List<TreeSelectVo> SelectTreeMenuList(MenuQueryDto menu, long userId);
-
-        SysMenu GetMenuByMenuId(int menuId);
-        List<SysMenu> GetMenusByMenuId(int menuId, long userId);
-        long AddMenu(SysMenu menu);
-
-        long EditMenu(SysMenu menu);
-
-        int DeleteMenuById(int menuId);
-
-        string CheckMenuNameUnique(SysMenu menu);
-
-        int ChangeSortMenu(MenuDto menuDto);
-
-        bool HasChildByMenuId(long menuId);
-
-        List<SysMenu> SelectMenuTreeByUserId(long userId);
-
-        //List<SysMenu> SelectMenuPermsListByUserId(long userId);
-
-        List<string> SelectMenuPermsByUserId(long userId);
-
-        //bool CheckMenuExistRole(long menuId);
-
-        List<RouterVo> BuildMenus(List<SysMenu> menus);
-
-        List<TreeSelectVo> BuildMenuTreeSelect(List<SysMenu> menus);
-
-        List<LeftMenuVo> BuildLeftMenuTreeSelect(List<SysMenu> menus);
-
-        List<SysMenu> SelectTreeMenuListByRoles(MenuQueryDto menu, List<long> roles);
-        List<RoleMenuExportDto> SelectRoleMenuListByRole(MenuQueryDto menu, int roleId);
-    }
-
-    /// <summary>
-    /// 角色菜单
-    /// </summary>
-    public interface ISysRoleMenuService : IBaseService<SysRoleMenu>
-    {
-        bool CheckMenuExistRole(long menuId);
-        /// <summary>
-        /// 根据角色获取菜单id
-        /// </summary>
-        /// <param name="roleId"></param>
-        /// <returns></returns>
-        List<SysRoleMenu> SelectRoleMenuByRoleId(long roleId);
-
-        /// <summary>
-        /// 根据用户所有角色获取菜单
-        /// </summary>
-        /// <param name="roleIds"></param>
-        /// <returns></returns>
-        List<SysRoleMenu> SelectRoleMenuByRoleIds(long[] roleIds);
-
-        /// <summary>
-        /// 批量插入用户菜单
-        /// </summary>
-        /// <param name="sysRoleMenus"></param>
-        /// <returns></returns>
-        int AddRoleMenu(List<SysRoleMenu> sysRoleMenus);
-
-        /// <summary>
-        /// 删除角色与菜单关联
-        /// </summary>
-        /// <param name="roleId"></param>
-        /// <returns></returns>
-        int DeleteRoleMenuByRoleId(long roleId);
-
-        /// <summary>
-        /// 删除角色指定菜单
-        /// </summary>
-        /// <param name="roleId"></param>
-        /// <param name="menuIds"></param>
-        /// <returns></returns>
-        bool DeleteRoleMenuByRoleIdMenuIds(long roleId, long[] menuIds);
-    }
-}

+ 0 - 8
Services/Base/IService/ISysOauthClientDetailsService.cs

@@ -1,8 +0,0 @@
-using Model;
-
-namespace Services
-{
-    public interface ISysOauthClientDetailsService : IBaseService<SysOauthClientDetails>
-    {
-    }
-}

+ 0 - 11
Services/Base/IService/ISysPermissionService.cs

@@ -1,11 +0,0 @@
-using Model;
-
-namespace Services
-{
-    public interface ISysPermissionService
-    {
-        public List<string> List();
-        public List<string> GetRolePermission(SysUser user);
-        public List<string> GetMenuPermission(SysUser user);
-    }
-}

+ 0 - 11
Services/Base/IService/ISysPostService.cs

@@ -1,11 +0,0 @@
-using Model;
-
-namespace Services
-{
-    public interface ISysPostService : IBaseService<SysPost>
-    {
-        string CheckPostNameUnique(SysPost sysPost);
-        string CheckPostCodeUnique(SysPost sysPost);
-        List<SysPost> GetAll();
-    }
-}

+ 0 - 142
Services/Base/IService/ISysRoleService.cs

@@ -1,142 +0,0 @@
-using Dto;
-using Model;
-using Model.Base;
-
-namespace Services
-{
-    public interface ISysRoleService : IBaseService<SysRole>
-    {
-        /// <summary>
-        /// 根据条件分页查询角色数据
-        /// </summary>
-        /// <param name="role">角色信息</param>
-        /// <param name="pager"></param>
-        /// <returns>角色数据集合信息</returns>
-        public PagedInfo<SysRole> SelectRoleList(SysRole role, PagerInfo pager);
-
-        /// <summary>
-        /// 查询所有角色
-        /// </summary>
-        /// <returns></returns>
-        public List<SysRole> SelectRoleAll();
-
-        /// <summary>
-        /// 根据用户查询
-        /// </summary>
-        /// <param name="userId"></param>
-        /// <returns></returns>
-        public List<SysRole> SelectRolePermissionByUserId(long userId);
-
-        /// <summary>
-        /// 通过角色ID查询角色
-        /// </summary>
-        /// <param name="roleId">角色ID</param>
-        /// <returns>角色对象信息</returns>
-        public SysRole SelectRoleById(long roleId);
-
-        /// <summary>
-        /// 批量删除角色信息
-        /// </summary>
-        /// <param name="roleIds">需要删除的角色ID</param>
-        /// <returns></returns>
-        public int DeleteRoleByRoleId(long[] roleIds);
-
-        /// <summary>
-        /// 更改角色权限状态
-        /// </summary>
-        /// <param name="roleDto"></param>
-        /// <returns></returns>
-        public int UpdateRoleStatus(SysRole roleDto);
-
-        /// <summary>
-        /// 校验角色权限是否唯一
-        /// </summary>
-        /// <param name="sysRole">角色信息</param>
-        /// <returns></returns>
-        public string CheckRoleKeyUnique(SysRole sysRole);
-
-        /// <summary>
-        /// 校验角色是否允许操作
-        /// </summary>
-        /// <param name="role"></param>
-        public void CheckRoleAllowed(SysRole role);
-
-        /// <summary>
-        /// 新增保存角色信息
-        /// </summary>
-        /// <param name="sysRole">角色信息</param>
-        /// <returns></returns>
-        public long InsertRole(SysRole sysRole);
-
-        /// <summary>
-        /// 通过角色ID删除角色和菜单关联
-        /// </summary>
-        /// <param name="roleId">角色ID</param>
-        /// <returns></returns>
-        public int DeleteRoleMenuByRoleId(long roleId);
-
-        /// <summary>
-        /// 授权数据范围
-        /// </summary>
-        /// <param name="role"></param>
-        /// <returns></returns>
-        bool AuthDataScope(SysRoleDto role);
-        #region Service
-
-
-        /// <summary>
-        /// 新增角色菜单信息
-        /// </summary>
-        /// <param name="sysRoleDto"></param>
-        /// <returns></returns>
-        public int InsertRoleMenu(SysRoleDto sysRoleDto);
-
-        /// <summary>
-        /// 判断是否是管理员
-        /// </summary>
-        /// <param name="userid"></param>
-        /// <returns></returns>
-        public bool IsAdmin(long userid);
-
-        /// <summary>
-        /// 获取角色菜单id集合
-        /// </summary>
-        /// <param name="roleId"></param>
-        /// <returns></returns>
-        public List<long> SelectUserRoleMenus(long roleId);
-        List<long> SelectRoleMenuByRoleIds(long[] roleIds);
-        /// <summary>
-        /// 获取用户角色列表
-        /// </summary>
-        /// <param name="userId"></param>
-        /// <returns></returns>
-        public List<SysRole> SelectUserRoleListByUserId(long userId);
-
-        /// <summary>
-        /// 获取用户权限集合
-        /// </summary>
-        /// <param name="userId"></param>
-        /// <returns></returns>
-        public List<long> SelectUserRoles(long userId);
-
-        /// <summary>
-        /// 获取用户权限字符串集合
-        /// </summary>
-        /// <param name="userId"></param>
-        /// <returns></returns>
-        public List<string> SelectUserRoleKeys(long userId);
-
-        public List<string> SelectUserRoleNames(long userId);
-
-        #endregion
-
-        /// <summary>
-        /// 修改保存角色信息
-        /// </summary>
-        /// <param name="sysRole">角色信息</param>
-        /// <returns></returns>
-        public int UpdateRole(SysRole sysRole);
-
-        int UpdateSysRole(SysRole sysRole);
-    }
-}

+ 0 - 14
Services/Base/IService/ISysUserPostService.cs

@@ -1,14 +0,0 @@
-using Model;
-
-namespace Services
-{
-    public interface ISysUserPostService : IBaseService<SysUserPost>
-    {
-        public void InsertUserPost(SysUser user);
-
-        public List<long> GetUserPostsByUserId(long userId);
-
-        public string GetPostsStrByUserId(long userId);
-        bool Delete(long userId);
-    }
-}

+ 0 - 68
Services/Base/IService/ISysUserRoleService.cs

@@ -1,68 +0,0 @@
-using Dto;
-using Model;
-using Model.Base;
-
-namespace Services
-{
-    public interface ISysUserRoleService : IBaseService<SysUserRole>
-    {
-        public int CountUserRoleByRoleId(long roleId);
-
-        /// <summary>
-        /// 删除用户角色
-        /// </summary>
-        /// <param name="userId"></param>
-        /// <returns></returns>
-        public int DeleteUserRoleByUserId(int userId);
-
-        /// <summary>
-        /// 批量删除角色对应用户
-        /// </summary>
-        /// <param name="roleId"></param>
-        /// <param name="userIds"></param>
-        /// <returns></returns>
-        public int DeleteRoleUserByUserIds(long roleId, List<long> userIds);
-
-        /// <summary>
-        /// 添加用户角色
-        /// </summary>
-        /// <param name="sysUsers"></param>
-        /// <returns></returns>
-        public int AddUserRole(List<SysUserRole> sysUsers);
-
-        /// <summary>
-        /// 获取用户数据根据角色id
-        /// </summary>
-        /// <param name="roleId"></param>
-        /// <returns></returns>
-        public List<SysUser> GetSysUsersByRoleId(long roleId);
-
-        /// <summary>
-        /// 获取用户数据根据角色id
-        /// </summary>
-        /// <param name="roleUserQueryDto"></param>
-        /// <returns></returns>
-        public PagedInfo<SysUser> GetSysUsersByRoleId(RoleUserQueryDto roleUserQueryDto);
-
-        /// <summary>
-        /// 获取尚未指派的用户数据根据角色id
-        /// </summary>
-        /// <param name="roleUserQueryDto"></param>
-        /// <returns></returns>
-        public PagedInfo<SysUser> GetExcludedSysUsersByRoleId(RoleUserQueryDto roleUserQueryDto);
-
-        /// <summary>
-        /// 新增用户角色信息
-        /// </summary>
-        /// <param name="user"></param>
-        /// <returns></returns>
-        public int InsertUserRole(SysUser user);
-
-        /// <summary>
-        /// 新增加角色用户
-        /// </summary>
-        /// <param name="roleUsersCreateDto"></param>
-        /// <returns></returns>
-        public int InsertRoleUser(RoleUsersCreateDto roleUsersCreateDto);
-    }
-}

+ 0 - 90
Services/Base/IService/ISysUserService.cs

@@ -1,90 +0,0 @@
-using Dto;
-using Feign;
-using Model;
-using Model.Base;
-using Vo;
-
-namespace Services
-{
-    public interface ISysUserService : IBaseService<SysUser>
-    {
-        public PagedInfo<SysUser> SelectUserList(SysUserQueryDto user, PagerInfo pager);
-
-        /// <summary>
-        /// 通过用户ID查询用户
-        /// </summary>
-        /// <param name="userId"></param>
-        /// <returns></returns>
-        public SysUser SelectUserById(long userId);
-
-        /// <summary>
-        /// 校验用户名称是否唯一
-        /// </summary>
-        /// <param name="userName"></param>
-        /// <returns></returns>
-        public string CheckUserNameUnique(string userName);
-
-        /// <summary>
-        /// 新增保存用户信息
-        /// </summary>
-        /// <param name="sysUser"></param>
-        /// <returns></returns>
-        public SysUser InsertUser(SysUser sysUser);
-
-        /// <summary>
-        /// 修改用户信息
-        /// </summary>
-        /// <param name="user"></param>
-        /// <returns></returns>
-        public int UpdateUser(SysUser user);
-
-        public int ChangeUser(SysUser user);
-
-        /// <summary>
-        /// 重置密码
-        /// </summary>
-        /// <param name="userid"></param>
-        /// <param name="password"></param>
-        /// <returns></returns>
-        public int ResetPwd(long userid, string password);
-
-        public int ChangeUserStatus(SysUser user);
-
-        /// <summary>
-        /// 删除用户
-        /// </summary>
-        /// <param name="userid"></param>
-        /// <returns></returns>
-        public int DeleteUser(long userid);
-
-        /// <summary>
-        /// 修改用户头像
-        /// </summary>
-        /// <param name="user"></param>
-        /// <returns></returns>
-        public int UpdatePhoto(SysUser user);
-
-        /// <summary>
-        /// 注册
-        /// </summary>
-        /// <param name="dto"></param>
-        /// <returns></returns>
-        SysUser Register(RegisterDto dto);
-        void CheckUserAllowed(SysUser user);
-        void CheckUserDataScope(long userid, long loginUserId);
-
-        /// <summary>
-        /// 导入
-        /// </summary>
-        /// <param name="users"></param>
-        /// <returns></returns>
-        (string, object, object) ImportUsers(List<SysUser> users);
-
-        SysUser Login(LoginBodyDto user);
-
-        void UpdateLoginInfo(string userIP, long userId);
-
-
-        PagedInfo<SysUserVo> TestList(SysDeptFeign SysDept);
-    }
-}

+ 0 - 296
Services/Base/SysDeptService.cs

@@ -1,296 +0,0 @@
-using Attribute;
-using Dto;
-using Extensions;
-using Infrastructure;
-using Model;
-using Service;
-using Vo;
-
-namespace Services
-{
-    /// <summary>
-    /// 部门管理
-    /// </summary>
-    [AppService(ServiceType = typeof(ISysDeptService), ServiceLifetime = LifeTime.Transient)]
-    public class SysDeptService : BaseService<SysDept>, ISysDeptService
-    {
-        public ISysRoleDeptService RoleDeptRepository;
-        public SysDeptService(ISysRoleDeptService roleDeptRepository)
-        {
-            RoleDeptRepository = roleDeptRepository;
-        }
-
-        /// <summary>
-        /// 查询部门管理数据
-        /// </summary>
-        /// <param name="dept"></param>
-        /// <returns></returns>
-        public List<SysDept> GetSysDepts(SysDeptQueryDto dept)
-        {
-            var predicate = Expressionable.Create<SysDept>();
-            predicate = predicate.And(it => it.DelFlag == "0");
-            predicate = predicate.AndIF(dept.deptName.IfNotEmpty(), it => it.name.Contains(dept.deptName));
-
-            var response = GetList(predicate.ToExpression());
-
-            return response;
-        }
-
-        /// <summary>
-        /// 校验部门名称是否唯一
-        /// </summary>
-        /// <param name="dept"></param>
-        /// <returns></returns>
-        public string CheckDeptNameUnique(SysDept dept)
-        {
-            long deptId = dept.deptId == 0 ? -1L : dept.deptId;
-            SysDept info = GetFirst(it => it.name == dept.name && it.parentId == dept.parentId);
-            if (info != null && info.deptId != deptId)
-            {
-                return UserConstants.NOT_UNIQUE;
-            }
-            return UserConstants.UNIQUE;
-        }
-
-        /// <summary>
-        /// 新增保存部门信息
-        /// </summary>
-        /// <param name="dept"></param>
-        /// <returns></returns>
-        public int InsertDept(SysDept dept)
-        {
-            // SysDept info = GetFirst(it => it.deptId == dept.parentId);
-            //如果父节点不为正常状态,则不允许新增子节点
-            // if (info != null && UserConstants.DEPT_NORMAL != info?.status)
-            // {
-            //     throw new CustomException("部门停用,不允许新增");
-            // }
-            // dept.ancestors = "";
-            // if (info != null)
-            // {
-            //     dept.ancestors = info.ancestors + "," + dept.parentId;
-            // }
-            dept.CreateTime = DateTime.Now;
-            dept.UpdateTime = DateTime.Now;
-            return Add(dept);
-        }
-
-        /// <summary>
-        /// 修改保存部门信息
-        /// </summary>
-        /// <param name="dept"></param>
-        /// <returns></returns>
-        public int UpdateDept(SysDept dept)
-        {
-            dept.UpdateTime = DateTime.Now;
-            // SysDept newParentDept = GetFirst(it => it.deptId == dept.parentId);
-            // SysDept oldDept = GetFirst(m => m.deptId == dept.deptId);
-            // if (newParentDept != null && oldDept != null)
-            // {
-            //     string newAncestors = newParentDept.ancestors + "," + newParentDept.deptId;
-            //     string oldAncestors = oldDept.ancestors;
-            //     dept.ancestors = newAncestors;
-            //     UpdateDeptChildren(dept.deptId, newAncestors, oldAncestors);
-            // }
-            // int result = Context.Updateable(dept).ExecuteCommand();
-            // if (UserConstants.DEPT_NORMAL.Equals(dept.Status) && dept.Ancestors.IfNotEmpty()
-            //     && !"0".Equals(dept.Ancestors))
-            // {
-            //     // 如果该部门是启用状态,则启用该部门的所有上级部门
-            //     UpdateParentDeptStatusNormal(dept);
-            // }
-            int result = Update(dept, true);
-            return result;
-        }
-
-        /// <summary>
-        /// 修改该部门的父级部门状态
-        /// </summary>
-        /// <param name="dept">当前部门</param>
-        private void UpdateParentDeptStatusNormal(SysDept dept)
-        {
-            // long[] depts = Tools.SpitLongArrary(dept.Ancestors);
-            // dept.Status = 0;
-            // dept.Update_time = DateTime.Now;
-
-            // Update(dept, it => new { it.Update_by, it.Update_time, it.Status }, f => depts.Contains(f.DeptId));
-        }
-
-        /// <summary>
-        /// 修改子元素关系
-        /// </summary>
-        /// <param name="deptId">被修改的部门ID</param>
-        /// <param name="newAncestors">新的父ID集合</param>
-        /// <param name="oldAncestors">旧的父ID集合</param>
-        public void UpdateDeptChildren(long deptId, string newAncestors, string oldAncestors)
-        {
-            List<SysDept> children = GetChildrenDepts(GetSysDepts(new SysDeptQueryDto()), deptId);
-
-            // foreach (var child in children)
-            // {
-            //     string ancestors = child.Ancestors.ReplaceFirst(oldAncestors, newAncestors);
-            //     long[] ancestorsArr = Tools.SpitLongArrary(ancestors).Distinct().ToArray();
-            //     child.Ancestors = string.Join(",", ancestorsArr);
-            // }
-            // if (children.Any())
-            // {
-            //     Context.Updateable(children).WhereColumns(f => new { f.DeptId })
-            //     .UpdateColumns(it => new { it.Ancestors }).ExecuteCommand();
-            // }
-        }
-
-        /// <summary>
-        /// 获取所有子部门
-        /// </summary>
-        /// <param name="depts"></param>
-        /// <param name="deptId"></param>
-        /// <returns></returns>
-        public List<SysDept> GetChildrenDepts(List<SysDept> depts, long deptId)
-        {
-            // return depts.FindAll(delegate (SysDept item)
-            // {
-            //     long[] pid = Tools.SpitLongArrary(item.Ancestors);
-            //     return pid.Contains(deptId);
-            // });
-            return new List<SysDept>();
-        }
-
-        /// <summary>
-        /// 构建前端所需要树结构
-        /// </summary>
-        /// <param name="depts">部门列表</param>
-        /// <returns></returns>
-        public List<SysDept> BuildDeptTree(List<SysDept> depts)
-        {
-            List<SysDept> returnList = new List<SysDept>();
-            List<long> tempList = depts.Select(f => f.deptId).ToList();
-            foreach (var dept in depts)
-            {
-                // 如果是顶级节点, 遍历该父节点的所有子节点
-                if (!tempList.Contains(dept.parentId))
-                {
-                    RecursionFn(depts, dept);
-                    returnList.Add(dept);
-                }
-            }
-
-            if (!returnList.Any())
-            {
-                returnList = depts;
-            }
-            return returnList;
-        }
-
-        /// <summary>
-        /// 构建前端所需下拉树结构
-        /// </summary>
-        /// <param name="depts"></param>
-        /// <returns></returns>
-        public List<TreeSelectVo> BuildDeptTreeSelect(List<SysDept> depts)
-        {
-            List<SysDept> menuTrees = BuildDeptTree(depts);
-            List<TreeSelectVo> treeMenuVos = new List<TreeSelectVo>();
-            foreach (var item in menuTrees)
-            {
-                treeMenuVos.Add(new TreeSelectVo(item));
-            }
-            return treeMenuVos;
-        }
-
-        /// <summary>
-        /// 递归列表
-        /// </summary>
-        /// <param name="list"></param>
-        /// <param name="t"></param>
-        private void RecursionFn(List<SysDept> list, SysDept t)
-        {
-            //得到子节点列表
-            List<SysDept> childList = GetChildList(list, t);
-            t.children = childList;
-            foreach (var item in childList)
-            {
-                if (GetChildList(list, item).Count() > 0)
-                {
-                    RecursionFn(list, item);
-                }
-            }
-        }
-        /// <summary>
-        /// 递归获取子菜单
-        /// </summary>
-        /// <param name="list">所有菜单</param>
-        /// <param name="dept"></param>
-        /// <returns></returns>
-        private List<SysDept> GetChildList(List<SysDept> list, SysDept dept)
-        {
-            return list.Where(p => p.parentId == dept.deptId).ToList();
-        }
-
-        #region 角色部门
-
-        /// <summary>
-        /// 根据角色获取菜单id
-        /// </summary>
-        /// <param name="roleId"></param>
-        /// <returns></returns>
-        public List<SysRoleDept> SelectRoleDeptByRoleId(long roleId)
-        {
-            return RoleDeptRepository.SelectRoleDeptByRoleId(roleId);
-        }
-
-        /// <summary>
-        /// 获取角色部门id集合
-        /// </summary>
-        /// <param name="roleId"></param>
-        /// <returns></returns>
-        public List<long> SelectRoleDepts(long roleId)
-        {
-            var list = SelectRoleDeptByRoleId(roleId);
-
-            return list.Select(x => x.DeptId).Distinct().ToList();
-        }
-
-        /// <summary>
-        /// 删除角色部门数据
-        /// </summary>
-        /// <param name="roleId"></param>
-        /// <returns></returns>
-        public bool DeleteRoleDeptByRoleId(long roleId)
-        {
-            return RoleDeptRepository.Delete(f => f.RoleId == roleId);
-        }
-
-        /// <summary>
-        /// 批量插入角色部门
-        /// </summary>
-        /// <param name="role"></param>
-        /// <returns></returns>
-        public int InsertRoleDepts(SysRole role)
-        {
-            int rows = 1;
-            // List<SysRoleDept> list = new();
-            // foreach (var item in role.DeptIds)
-            // {
-            //     list.Add(new SysRoleDept() { DeptId = item, RoleId = role.RoleId });
-            // }
-            // if (list.Count > 0)
-            // {
-            //     rows = RoleDeptRepository.Insert(list);
-            // }
-            return rows;
-        }
-        #endregion
-    }
-
-    /// <summary>
-    /// 角色部门
-    /// </summary>
-    [AppService(ServiceType = typeof(ISysRoleDeptService), ServiceLifetime = LifeTime.Transient)]
-    public class SysRoleDeptService : BaseService<SysRoleDept>, ISysRoleDeptService
-    {
-        public List<SysRoleDept> SelectRoleDeptByRoleId(long roleId)
-        {
-            return GetList(it => it.RoleId == roleId).ToList();
-        }
-    }
-}

+ 0 - 215
Services/Base/SysLoginService.cs

@@ -1,215 +0,0 @@
-using System.Text;
-using Attribute;
-using Base;
-using Common;
-using Dto;
-using Extensions;
-using Infrastructure;
-using Infrastructure.Model;
-using Microsoft.AspNetCore.Identity;
-using Model;
-using Model.Base;
-using Repository;
-using Service;
-using UAParser;
-using Util;
-using Vo;
-
-namespace Services
-{
-    /// <summary>
-    /// 登录
-    /// </summary>
-    [AppService(ServiceType = typeof(ISysLoginService), ServiceLifetime = LifeTime.Transient)]
-    public class SysLoginService : BaseService<SysLogininfor>, ISysLoginService
-    {
-        private readonly ISysUserService SysUserService;
-        private readonly ISysOauthClientDetailsService SysOauthClientDetailsService;
-        private readonly IHttpContextAccessor httpContextAccessor;
-
-        public SysLoginService(ISysUserService sysUserService, ISysOauthClientDetailsService sysOauthClientDetailsService, IHttpContextAccessor httpContextAccessor)
-        {
-            SysUserService = sysUserService;
-            SysOauthClientDetailsService = sysOauthClientDetailsService;
-            this.httpContextAccessor = httpContextAccessor;
-        }
-
-        /// <summary>
-        /// 验证登录接口
-        /// </summary>
-        /// <param name="scope"></param>
-        /// <param name="grantType"></param>
-        /// <param name="token"></param>
-        /// <returns></returns>
-        public bool CheckLogin(string scope, string grantType, string token)
-        {
-            token = Encoding.UTF8.GetString(Convert.FromBase64String(token));
-            string[] checkUserData = token.Split(':');
-            string clienId = checkUserData[0];
-            string clienSecret = checkUserData[1];
-            SysOauthClientDetails oauth = SysOauthClientDetailsService.GetFirst(m => m.ClientId == clienId && m.ClientSecret == clienSecret);
-            if(oauth != null)
-            {
-                if(oauth.Scope == scope && oauth.AuthorizedGrantTypes.EndsWith(grantType))
-                {
-                    return true;
-                }
-            }
-            return false;
-        }
-
-        /// <summary>
-        /// 登录成功返回数据
-        /// </summary>
-        /// <param name="loginUser"></param>
-        /// <returns></returns>
-        public OAuthVo GetLoginInfo(TokenModel loginUser)
-        {
-            OAuthVo info = new ();
-            info.access_token = JwtUtil.GenerateJwtToken(JwtUtil.AddClaims(loginUser));
-            info.refresh_token = Guid.NewGuid().ToString();
-            info.user_id = loginUser.userId;
-            info.username = loginUser.username;
-            
-            JwtSettings jwtSettings = new();
-            AppSettings.Bind("JwtSettings", jwtSettings);
-            info.exp = DateTime.Now.AddMinutes(jwtSettings.Expire);
-            return info;
-        }
-
-        /// <summary>
-        /// 登录验证
-        /// </summary>
-        /// <param name="logininfor"></param>
-        /// <param name="loginBody"></param>
-        /// <returns></returns>
-        public SysUser Login(LoginBodyDto loginBody, SysLogininfor logininfor)
-        {
-            SysUser user = SysUserService.GetFirst(m => m.username == loginBody.username);
-            loginBody.password = Function.MD532(loginBody.password + user.salt);
-            user = SysUserService.Login(loginBody);
-            logininfor.UserName = loginBody.username;
-            logininfor.Status = "1";
-            logininfor.LoginTime = DateTime.Now;
-            logininfor.Ipaddr = loginBody.loginIP;
-
-            ClientInfo clientInfo = httpContextAccessor.HttpContext.GetClientInfo();
-            logininfor.Browser = clientInfo.ToString();
-            logininfor.Os = clientInfo.OS.ToString();
-
-            if (user == null || user.userId <= 0)
-            {
-                logininfor.Msg = "用户名或密码错误";
-                AddLoginInfo(logininfor);
-                throw new CustomException(ResultCode.LOGIN_ERROR, logininfor.Msg, false);
-            }
-            if (user.LockFlag == "9")
-            {
-                logininfor.Msg = "该用户已禁用";
-                AddLoginInfo(logininfor);
-                throw new CustomException(ResultCode.LOGIN_ERROR, logininfor.Msg, false);
-            }
-
-            logininfor.Status = "0";
-            logininfor.Msg = "登录成功";
-            AddLoginInfo(logininfor);
-            SysUserService.UpdateLoginInfo(loginBody.loginIP, user.userId);
-            return user;
-        }
-        /// <summary>
-        /// 登录验证
-        /// </summary>
-        /// <param name="logininfor"></param>
-        /// <param name="loginBody"></param>
-        /// <param name="user"></param>
-        /// <returns></returns>
-        public SysUser PhoneLogin(PhoneLoginDto loginBody, SysLogininfor logininfor, SysUser user)
-        {
-            logininfor.UserName = user.username;
-            logininfor.Status = "1";
-            logininfor.LoginTime = DateTime.Now;
-            logininfor.Ipaddr = loginBody.LoginIP;
-
-            ClientInfo clientInfo = httpContextAccessor.HttpContext.GetClientInfo();
-            logininfor.Browser = clientInfo.ToString();
-            logininfor.Os = clientInfo.OS.ToString();
-
-            if (user.LockFlag == "9")
-            {
-                logininfor.Msg = "该用户已禁用";
-                AddLoginInfo(logininfor);
-                throw new CustomException(ResultCode.LOGIN_ERROR, logininfor.Msg, false);
-            }
-
-            logininfor.Status = "0";
-            logininfor.Msg = "登录成功";
-            AddLoginInfo(logininfor);
-            SysUserService.UpdateLoginInfo(loginBody.LoginIP, user.userId);
-            return user;
-        }
-        /// <summary>
-        /// 查询登录日志
-        /// </summary>
-        /// <param name="logininfoDto"></param>
-        /// <param name="pager">分页</param>
-        /// <returns></returns>
-        public PagedInfo<SysLogininfor> GetLoginLog(SysLogininfor logininfoDto, PagerInfo pager)
-        {
-            //logininfoDto.BeginTime = DateTimeHelper.GetBeginTime(logininfoDto.BeginTime, -1);
-            //logininfoDto.EndTime = DateTimeHelper.GetBeginTime(logininfoDto.EndTime, 1);
-
-            var exp = Expressionable.Create<SysLogininfor>();
-
-            exp.AndIF(logininfoDto.BeginTime == null, it => it.LoginTime >= DateTime.Now.ToShortDateString().ParseToDateTime());
-            exp.AndIF(logininfoDto.BeginTime != null, it => it.LoginTime >= logininfoDto.BeginTime && it.LoginTime <= logininfoDto.EndTime);
-            exp.AndIF(logininfoDto.Ipaddr.IfNotEmpty(), f => f.Ipaddr == logininfoDto.Ipaddr);
-            exp.AndIF(logininfoDto.UserName.IfNotEmpty(), f => f.UserName.Contains(logininfoDto.UserName));
-            exp.AndIF(logininfoDto.Status.IfNotEmpty(), f => f.Status == logininfoDto.Status);
-            var query = Queryable().Where(exp.ToExpression())
-            .OrderBy(it => it.InfoId, OrderByType.Desc);
-
-            return query.ToPage(pager);
-        }
-
-        /// <summary>
-        /// 记录登录日志
-        /// </summary>
-        /// <param name="sysLogininfor"></param>
-        /// <returns></returns>
-        public void AddLoginInfo(SysLogininfor sysLogininfor)
-        {
-            // Insert(sysLogininfor);
-        }
-
-        /// <summary>
-        /// 清空登录日志
-        /// </summary>
-        public void TruncateLogininfo()
-        {
-            Truncate();
-        }
-
-        /// <summary>
-        /// 删除登录日志
-        /// </summary>
-        /// <param name="ids"></param>
-        /// <returns></returns>
-        public int DeleteLogininforByIds(long[] ids)
-        {
-            return Delete(ids);
-        }
-
-        public void CheckLockUser(string userName)
-        {
-            var lockTimeStamp = CacheService.GetLockUser(userName);
-            var lockTime = DateTimeHelper.ToLocalTimeDateBySeconds(lockTimeStamp);
-            var ts = lockTime - DateTime.Now;
-
-            if (lockTimeStamp > 0 && ts.TotalSeconds > 0)
-            {
-                throw new CustomException(ResultCode.LOGIN_ERROR, $"你的账号已被锁,剩余{Math.Round(ts.TotalMinutes, 0)}分钟");
-            }
-        }
-
-    }
-}

+ 0 - 612
Services/Base/SysMenuService.cs

@@ -1,612 +0,0 @@
-using Attribute;
-using Common;
-using Dto;
-using Enums;
-using Extensions;
-using Model;
-using Service;
-using Services;
-using Vo;
-
-namespace Services
-{
-    /// <summary>
-    /// 菜单
-    /// </summary>
-    [AppService(ServiceType = typeof(ISysMenuService), ServiceLifetime = LifeTime.Transient)]
-    public class SysMenuService : BaseService<SysMenu>, ISysMenuService
-    {
-        public ISysRoleService SysRoleService;
-
-        public SysMenuService(ISysRoleService sysRoleService)
-        {
-            SysRoleService = sysRoleService;
-        }
-
-        /// <summary>
-        /// 获取所有菜单数(菜单管理)
-        /// </summary>
-        /// <returns></returns>
-        public List<TreeSelectVo> SelectTreeMenuList(MenuQueryDto menu, long userId)
-        {
-            // if (menu.parentId != null)
-            // {
-            //     return GetMenusByMenuId(menu.parentId.ParseToInt(), userId);
-            // }
-            List<TreeSelectVo> menuList = BuildMenuTreeSelect(SelectMenuList(menu, userId));
-            return menuList;
-        }
-
-        /// <summary>
-        /// 获取所有菜单列表
-        /// </summary>
-        /// <returns></returns>
-        public List<SysMenu> SelectMenuList(MenuQueryDto menu, long userId)
-        {
-            List<SysMenu> menuList;
-            if (SysRoleService.IsAdmin(userId))
-            {
-                menuList = SelectMenuList(menu);
-            }
-            else
-            {
-                var userRoles = SysRoleService.SelectUserRoles(userId);
-                menuList = SelectMenuListByRoles(menu, userRoles);
-            }
-            return menuList;
-        }
-
-        /// <summary>
-        /// 获取菜单详情
-        /// </summary>
-        /// <param name="menuId"></param>
-        /// <returns></returns>
-        public SysMenu GetMenuByMenuId(int menuId)
-        {
-            return GetFirst(it => it.menuId == menuId);
-        }
-
-        /// <summary>
-        /// 根据菜单id获取菜单列表
-        /// </summary>
-        /// <param name="menuId"></param>
-        /// <param name="userId"></param>
-        /// <returns></returns>
-        public List<SysMenu> GetMenusByMenuId(int menuId, long userId)
-        {
-            var menuExpression = Expressionable.Create<SysMenu>();
-            menuExpression.And(c => c.parentId == menuId);
-
-            if (!SysRoleService.IsAdmin(userId))
-            {
-                var userRoles = SysRoleService.SelectUserRoles(userId);
-                var roleMenus = Context.Queryable<SysRoleMenu>()
-                    .Where(r => userRoles.Contains(r.RoleId)).Select(s => s.MenuId).ToList();
-
-                menuExpression.And(c => roleMenus.Contains(c.menuId));
-            }
-            var list = GetList(menuExpression.ToExpression()).OrderBy(f => f.sortOrder).ToList();
-            Context.ThenMapper(list, item =>
-            {
-                item.subNum = Context.Queryable<SysMenu>().SetContext(x => x.parentId, () => item.menuId, item).Count;
-            });
-            return list;
-        }
-
-        /// <summary>
-        /// 添加菜单
-        /// </summary>
-        /// <param name="menu"></param>
-        /// <returns></returns>
-        public long AddMenu(SysMenu menu)
-        {
-            menu.CreateTime = DateTime.Now;
-            menu.UpdateTime = DateTime.Now;
-            return InsertReturnBigIdentity(menu);
-        }
-
-        /// <summary>
-        /// 编辑菜单
-        /// </summary>
-        /// <param name="menu"></param>
-        /// <returns></returns>
-        public long EditMenu(SysMenu menu)
-        {
-            menu.UpdateTime = DateTime.Now;
-            menu.icon = string.IsNullOrEmpty(menu.icon) ? "" : menu.icon;
-            return Update(menu, true);
-        }
-
-        /// <summary>
-        /// 删除菜单管理信息
-        /// </summary>
-        /// <param name="menuId"></param>
-        /// <returns></returns>
-        public int DeleteMenuById(int menuId)
-        {
-            return Delete(menuId);
-        }
-
-        /// <summary>
-        /// 校验菜单名称是否唯一
-        /// </summary>
-        /// <param name="menu"></param>
-        /// <returns></returns>
-        public string CheckMenuNameUnique(SysMenu menu)
-        {
-            long menuId = menu.menuId == 0 ? -1 : menu.menuId;
-            SysMenu info = GetFirst(it => it.name == menu.name && it.parentId == menu.parentId);
-
-            //if (info != null && menuId != info.menuId && menu.menuName.Equals(info.menuName))
-            //{
-            //    return UserConstants.NOT_UNIQUE;
-            //}
-            if (info != null && info.menuId != menu.menuId)
-            {
-                return UserConstants.NOT_UNIQUE;
-            }
-            return UserConstants.UNIQUE;
-        }
-
-        /// <summary>
-        /// 菜单排序
-        /// </summary>
-        /// <param name="menuDto"></param>
-        /// <returns></returns>
-        public int ChangeSortMenu(MenuDto menuDto)
-        {
-            return Update(new SysMenu() { menuId = menuDto.menuId, sortOrder = menuDto.sortOrder }, it => new { it.sortOrder });
-        }
-
-        /// <summary>
-        /// 是否存在菜单子节点
-        /// </summary>
-        /// <param name="menuId"></param>
-        /// <returns></returns>
-        public bool HasChildByMenuId(long menuId)
-        {
-            return Count(it => it.parentId == menuId) > 0;
-        }
-
-        /// <summary>
-        /// 获取左边导航栏菜单树
-        /// </summary>
-        /// <param name="userId"></param>
-        /// <returns></returns>
-        public List<SysMenu> SelectMenuTreeByUserId(long userId)
-        {
-            MenuQueryDto dto = new() { delFlag = "0", menuTypeIds = "M,C" };
-            if (SysRoleService.IsAdmin(userId))
-            {
-                return SelectTreeMenuList(dto);
-            }
-            else
-            {
-                List<long> roleIds = SysRoleService.SelectUserRoles(userId);
-                return SelectTreeMenuListByRoles(dto, roleIds);
-            }
-        }
-
-        /// <summary>
-        /// 查询精确到按钮的操作权限
-        /// </summary>
-        /// <param name="userId"></param>
-        /// <returns></returns>
-        public List<string> SelectMenuPermsByUserId(long userId)
-        {
-            var menus = Context.Queryable<SysMenu, SysRoleMenu, SysUserRole, SysRole>((m, rm, ur, r) => new JoinQueryInfos(
-                JoinType.Left, m.menuId == rm.MenuId,
-                JoinType.Left, rm.RoleId == ur.RoleId,
-                JoinType.Left, ur.RoleId == r.roleId
-                ))
-                .WithCache(60 * 10)
-                .Where((m, rm, ur, r) => m.DelFlag == "0" && ur.UserId == userId)
-                .Select((m, rm, ur, r) => m).ToList();
-            var menuList = menus.Where(f => !string.IsNullOrEmpty(f.permission));
-
-            return menuList.Select(x => x.permission).Distinct().ToList();
-        }
-
-        /// <summary>
-        /// 根据用户查询系统菜单列表
-        /// </summary>
-        /// <param name="menu"></param>
-        /// <param name="roles">用户角色集合</param>
-        /// <returns></returns>
-        public List<SysMenu> SelectTreeMenuListByRoles(MenuQueryDto menu, List<long> roles)
-        {
-            var roleMenus = Context.Queryable<SysRoleMenu>()
-                .Where(r => roles.Contains(r.RoleId))
-                .Select(f => f.MenuId).Distinct().ToList();
-
-            return Queryable()
-                .Where(c => roleMenus.Contains(c.menuId))
-                .WhereIF(!string.IsNullOrEmpty(menu.menuName), (c) => c.name.Contains(menu.menuName))
-                .WhereIF(!string.IsNullOrEmpty(menu.visible), (c) => c.visible == menu.visible)
-                .WhereIF(!string.IsNullOrEmpty(menu.delFlag), (c) => c.DelFlag == menu.delFlag)
-                // .WhereIF(!string.IsNullOrEmpty(menu.menuTypeIds), c => menu.menuTypeIdArr.Contains(c.menuType))
-                .OrderBy((c) => new { c.parentId, c.sortOrder })
-                .Select(c => c)
-                .ToTree(it => it.children, it => it.parentId, 0);
-        }
-
-        /// <summary>
-        /// 根据用户查询系统菜单列表
-        /// </summary>
-        /// <param name="menu"></param>
-        /// <param name="roleId">用户角色</param>
-        /// <returns></returns>
-        public List<RoleMenuExportDto> SelectRoleMenuListByRole(MenuQueryDto menu, int roleId)
-        {
-            var menuIds = Context.Queryable<SysRoleMenu>()
-                .Where(r => r.RoleId == roleId)
-                .Select(f => f.MenuId).Distinct().ToList();
-
-            return Context.Queryable<SysMenu>()
-                .InnerJoin<SysMenu>((t1, t2) => t1.menuId == t2.parentId)
-                .InnerJoin<SysMenu>((t1, t2, t3) => t2.menuId == t3.parentId)
-                .Where((t1, t2, t3) => menuIds.Contains(t1.menuId))
-                .Select((t1, t2, t3) => new RoleMenuExportDto()
-                {
-                    MenuName = $"{t1.name}->{t2.name}->{t3.name}",
-                    Path = t2.path,
-                    Component = t2.path,
-                    Perms = t3.permission,
-                    MenuType = (MenuType)(object)t3.menuType,
-                    Status = (MenuStatus)(object)t3.DelFlag
-                }).ToList();
-        }
-
-        /// <summary>
-        /// 获取所有菜单
-        /// </summary>
-        /// <returns></returns>
-        private List<SysMenu> SelectMenuList(MenuQueryDto menu)
-        {
-            var menuExp = Expressionable.Create<SysMenu>();
-            menuExp.AndIF(!string.IsNullOrEmpty(menu.menuName), it => it.name.Contains(menu.menuName));
-            menuExp.AndIF(!string.IsNullOrEmpty(menu.visible), it => it.visible == menu.visible);
-            menuExp.AndIF(!string.IsNullOrEmpty(menu.delFlag), it => it.DelFlag == menu.delFlag);
-            // menuExp.AndIF(!string.IsNullOrEmpty(menu.menuTypeIds), it => menu.menuTypeIdArr.Contains(it.menuType));
-            menuExp.AndIF(menu.parentId != null, it => it.parentId == menu.parentId);
-
-            return Queryable()
-            .Where(menuExp.ToExpression())
-            .OrderBy(it => new { it.parentId, it.sortOrder })
-            .ToList();
-        }
-
-        /// <summary>
-        /// 根据用户查询系统菜单列表
-        /// </summary>
-        /// <param name="sysMenu"></param>
-        /// <param name="roles">用户角色集合</param>
-        /// <returns></returns>
-        private List<SysMenu> SelectMenuListByRoles(MenuQueryDto sysMenu, List<long> roles)
-        {
-            var roleMenus = Context.Queryable<SysRoleMenu>()
-                .Where(r => roles.Contains(r.RoleId));
-
-            return Queryable()
-                .InnerJoin(roleMenus, (c, j) => c.menuId == j.MenuId)
-                .Where((c, j) => c.DelFlag == "0")
-                .WhereIF(!string.IsNullOrEmpty(sysMenu.menuName), (c, j) => c.name.Contains(sysMenu.menuName))
-                .WhereIF(!string.IsNullOrEmpty(sysMenu.visible), (c, j) => c.visible == sysMenu.visible)
-                .OrderBy((c, j) => new { c.parentId, c.sortOrder })
-                .Select(c => c)
-                .ToList();
-        }
-
-        /// <summary>
-        /// 获取所有菜单(菜单管理)
-        /// </summary>
-        /// <returns></returns>
-        public List<SysMenu> SelectTreeMenuList(MenuQueryDto menu)
-        {
-            int parentId = menu.parentId != null ? (int)menu.parentId : 0;
-
-            var list = Queryable()
-                .WithCache(60 * 10)
-                .WhereIF(!string.IsNullOrEmpty(menu.menuName), it => it.name.Contains(menu.menuName))
-                .WhereIF(!string.IsNullOrEmpty(menu.visible), it => it.visible == menu.visible)
-                .WhereIF(!string.IsNullOrEmpty(menu.delFlag), it => it.DelFlag == menu.delFlag)
-                // .WhereIF(!string.IsNullOrEmpty(menu.menuTypeIds), it => menu.menuTypeIdArr.Contains(it.menuType))
-                .WhereIF(menu.parentId != null, it => it.parentId == menu.parentId)
-                .OrderBy(it => new { it.parentId, it.sortOrder })
-                .ToTree(it => it.children, it => it.parentId, parentId);
-
-            return list;
-        }
-        #region 方法
-
-        ///// <summary>
-        ///// 根据父节点的ID获取所有子节点
-        ///// </summary>
-        ///// <param name="list">分类表</param>
-        ///// <param name="parentId">传入的父节点ID</param>
-        ///// <returns></returns>
-        //public List<SysMenu> GetChildPerms(List<SysMenu> list, int parentId)
-        //{
-        //    List<SysMenu> returnList = new List<SysMenu>();
-        //    var data = list.FindAll(f => f.parentId == parentId);
-
-        //    foreach (var item in data)
-        //    {
-        //        RecursionFn(list, item);
-
-        //        returnList.Add(item);
-        //    }
-        //    return returnList;
-        //}
-
-        /// <summary>
-        /// 递归列表
-        /// </summary>
-        /// <param name="list"></param>
-        /// <param name="t"></param>
-        private void RecursionFn(List<SysMenu> list, SysMenu t)
-        {
-            //得到子节点列表
-            List<SysMenu> childList = GetChildList(list, t);
-            t.children = childList;
-            t.meta = new TreeSelectMeta();
-            t.meta.title = t.name;
-            t.meta.icon = t.icon;
-            t.id = t.menuId;
-            foreach (var item in childList)
-            {
-                if (GetChildList(list, item).Count() > 0)
-                {
-                    RecursionFn(list, item);
-                }
-            }
-        }
-
-        /// <summary>
-        /// 递归获取子菜单
-        /// </summary>
-        /// <param name="list">所有菜单</param>
-        /// <param name="sysMenu"></param>
-        /// <returns></returns>
-        private List<SysMenu> GetChildList(List<SysMenu> list, SysMenu sysMenu)
-        {
-            return list.Where(p => p.parentId == sysMenu.menuId).ToList();
-        }
-
-        /// <summary>
-        /// 获取路由侧边栏,动态生成
-        /// </summary>
-        /// <param name="menus"></param>
-        /// <returns></returns>
-        public List<RouterVo> BuildMenus(List<SysMenu> menus)
-        {
-            List<RouterVo> routers = new();
-            if (menus == null) return routers;
-
-            foreach (var menu in menus)
-            {
-                RouterVo router = new()
-                {
-                    Hidden = "1".Equals(menu.visible),
-                    Name = GetRouteName(menu),
-                    Path = GetRoutePath(menu),
-                    Component = GetComponent(menu),
-                    Meta = new Meta(menu.name, menu.icon, "1".Equals(menu.keepAlive), menu.enName, menu.path, menu.CreateTime.Value)
-                };
-
-                List<SysMenu> cMenus = menu.children;
-                //是目录并且有子菜单
-                if (cMenus != null && cMenus.Count > 0 && UserConstants.TYPE_DIR.Equals(menu.menuType))
-                {
-                    router.AlwaysShow = true;
-                    router.Redirect = "noRedirect";
-                    router.Children = BuildMenus(cMenus);
-                }
-                else if (IsMeunFrame(menu))
-                {
-                    router.Meta = null;
-                    List<RouterVo> childrenList = new();
-                    RouterVo children = new()
-                    {
-                        Path = menu.path,
-                        Name = string.IsNullOrEmpty(menu.path) ? "" : menu.path.ToLower(),
-                        Meta = new Meta(menu.name, menu.icon, "1".Equals(menu.keepAlive), menu.enName, menu.path, menu.CreateTime.Value)
-                    };
-                    childrenList.Add(children);
-                    router.Children = childrenList;
-                }
-                else if (menu.parentId == 0 && IsInnerLink(menu))
-                {
-                    router.Meta = new Meta(menu.name, menu.icon);
-                    router.Path = "/";
-                    List<RouterVo> childrenList = new();
-                    RouterVo children = new();
-                    string routerPath = InnerLinkReplaceEach(menu.path);
-                    children.Path = routerPath;
-                    children.Component = UserConstants.INNER_LINK;
-                    children.Name = routerPath.ToLower();
-                    children.Meta = new Meta(menu.name, menu.icon, menu.path);
-                    childrenList.Add(children);
-                    router.Children = childrenList;
-                }
-                routers.Add(router);
-            }
-
-            return routers;
-        }
-
-        /// <summary>
-        /// 构建前端所需要下拉树结构
-        /// </summary>
-        /// <param name="menus">菜单列表</param>
-        /// <returns>下拉树结构列表</returns>
-        public List<SysMenu> BuildMenuTree(List<SysMenu> menus)
-        {
-            List<SysMenu> returnList = new();
-            List<long> tempList = menus.Select(f => f.menuId).ToList();
-
-            foreach (var menu in menus)
-            {
-                // 如果是顶级节点, 遍历该父节点的所有子节点
-                if (!tempList.Contains(menu.parentId))
-                {
-                    var menuInfo = menus.Find(f => f.menuId == menu.menuId);
-                    //移除按钮没有上级
-                    if (!tempList.Contains(menuInfo.parentId) && menu.menuType != "F")
-                    {
-                        RecursionFn(menus, menu);
-                        returnList.Add(menu);
-                    }
-                }
-            }
-            if (!returnList.Any())
-            {
-                returnList = menus;
-            }
-            return returnList;
-        }
-
-        /// <summary>
-        /// 构建前端所需要下拉树结构
-        /// </summary>
-        /// <param name="menus"></param>
-        /// <returns></returns>
-        public List<TreeSelectVo> BuildMenuTreeSelect(List<SysMenu> menus)
-        {
-            List<SysMenu> menuTrees = BuildMenuTree(menus);
-            List<TreeSelectVo> treeMenuVos = new List<TreeSelectVo>();
-            foreach (var item in menuTrees)
-            {
-                treeMenuVos.Add(new TreeSelectVo(item));
-            }
-            return treeMenuVos;
-        }
-        public List<LeftMenuVo> BuildLeftMenuTreeSelect(List<SysMenu> menus)
-        {
-            List<SysMenu> menuTrees = BuildMenuTree(menus);
-            List<LeftMenuVo> treeMenuVos = new List<LeftMenuVo>();
-            foreach (var item in menuTrees)
-            {
-                treeMenuVos.Add(new LeftMenuVo(item));
-            }
-            return treeMenuVos;
-        }
-
-        /// <summary>
-        /// 获取路由名称
-        /// </summary>
-        /// <param name="menu">菜单信息</param>
-        /// <returns>路由名称</returns>
-        public string GetRouteName(SysMenu menu)
-        {
-            string routerName = menu.path.ToLower();
-            // 非外链并且是一级目录(类型为目录)
-            if (IsMeunFrame(menu))
-            {
-                routerName = string.Empty;
-            }
-            return routerName;
-        }
-
-        /// <summary>
-        /// 获取路由路径
-        /// </summary>
-        /// <param name="menu">菜单信息</param>
-        /// <returns>路由地址</returns>
-        public string GetRoutePath(SysMenu menu)
-        {
-            string routerPath = menu.path;
-            // 内链打开外网方式
-            if (menu.parentId != 0 && IsInnerLink(menu))
-            {
-                routerPath = InnerLinkReplaceEach(routerPath);
-            }
-            // 非外链并且是一级目录(类型为目录)
-            if (0 == menu.parentId && UserConstants.TYPE_DIR.Equals(menu.menuType)
-                && UserConstants.NO_FRAME.Equals(menu.embedded))
-            {
-                routerPath = "/" + menu.path;
-            }
-            else if (IsMeunFrame(menu))// 非外链并且是一级目录(类型为菜单)
-            {
-                routerPath = "/";
-            }
-            return routerPath;
-        }
-
-        /// <summary>
-        /// 获取组件名称
-        /// </summary>
-        /// <param name="menu"></param>
-        /// <returns></returns>
-        public string GetComponent(SysMenu menu)
-        {
-            string component = UserConstants.LAYOUT;
-            // if (!string.IsNullOrEmpty(menu.Component) && !IsMeunFrame(menu))
-            // {
-            //     component = menu.Component;
-            // }
-            // else if (menu.Component.IsEmpty() && menu.ParentId != 0 && IsInnerLink(menu))
-            // {
-            //     component = UserConstants.INNER_LINK;
-            // }
-            // else if (string.IsNullOrEmpty(menu.Component) && IsParentView(menu))
-            // {
-            //     component = UserConstants.PARENT_VIEW;
-            // }
-            return component;
-        }
-
-        /// <summary>
-        /// 是否为菜单内部跳转
-        /// </summary>
-        /// <param name="menu">菜单信息</param>
-        /// <returns></returns>
-        public bool IsMeunFrame(SysMenu menu)
-        {
-            return menu.parentId == 0 && UserConstants.TYPE_MENU.Equals(menu.menuType)
-                && menu.embedded.Equals(UserConstants.NO_FRAME);
-        }
-
-        /// <summary>
-        /// 是否为内链组件
-        /// </summary>
-        /// <param name="menu">菜单信息</param>
-        /// <returns>结果</returns>
-        public bool IsInnerLink(SysMenu menu)
-        {
-            return menu.embedded.Equals(UserConstants.NO_FRAME) && Tools.IsUrl(menu.path);
-        }
-
-        /// <summary>
-        /// 是否为parent_view组件
-        /// </summary>
-        /// <param name="menu">菜单信息</param>
-        /// <returns></returns>
-        public bool IsParentView(SysMenu menu)
-        {
-            return menu.parentId != 0 && UserConstants.TYPE_DIR.Equals(menu.menuType);
-        }
-
-        /// <summary>
-        /// 内链域名特殊字符替换
-        /// </summary>
-        /// <param name = "path" ></ param >
-        /// < returns ></ returns >
-        public string InnerLinkReplaceEach(string path)
-        {
-            return path.IsNotEmpty() ? path
-                .Replace(UserConstants.HTTP, "")
-                .Replace(UserConstants.HTTPS, "")
-                .Replace(UserConstants.WWW, "")
-                .Replace(".", "/") : path;
-        }
-        #endregion
-
-
-        public void AddSysMenu()
-        {
-            
-        }
-    }
-}

+ 0 - 21
Services/Base/SysOauthClientDetailsService.cs

@@ -1,21 +0,0 @@
-using Attribute;
-using Dto;
-using Extensions;
-using Infrastructure;
-using Model;
-using Service;
-using Vo;
-
-namespace Services
-{
-    /// <summary>
-    /// 部门管理
-    /// </summary>
-    [AppService(ServiceType = typeof(ISysOauthClientDetailsService), ServiceLifetime = LifeTime.Transient)]
-    public class SysOauthClientDetailsService : BaseService<SysOauthClientDetails>, ISysOauthClientDetailsService
-    {
-        public SysOauthClientDetailsService()
-        {
-        }
-    }
-}

+ 0 - 84
Services/Base/SysPermissionService.cs

@@ -1,84 +0,0 @@
-using Attribute;
-using Base;
-using Dto;
-using Model;
-using Model.Base;
-using Repository;
-using Service;
-
-namespace Services
-{
-    /// <summary>
-    /// 文章目录Service业务层处理
-    /// </summary>
-    [AppService(ServiceType = typeof(ISysPermissionService), ServiceLifetime = LifeTime.Transient)]
-    public class SysPermissionService : BaseService<SysPermission>, ISysPermissionService
-    {
-        private readonly ISysRoleService SysRoleService;
-        private readonly ISysMenuService SysMenuService;
-
-        public SysPermissionService(
-            ISysRoleService sysRoleService,
-            ISysMenuService sysMenuService)
-        {
-            SysRoleService = sysRoleService;
-            SysMenuService = sysMenuService;
-        }
-
-        /// <summary>
-        /// 查询列表
-        /// </summary>
-        /// <param name="parm"></param>
-        /// <returns></returns>
-        public List<string> List()
-        {
-            List<string> list = new();
-            list.Add("apigroup:add");
-            list.Add("apigroup:edit");
-            list.Add("apigroup:delete");
-            list.Add("apigroup:export");
-            list.Add("apigroup:sort");
-            return list;
-        }
-
-        /// <summary>
-        /// 获取角色数据权限
-        /// </summary>
-        /// <param name="user">用户信息</param>
-        /// <returns>角色权限信息</returns>
-        public List<string> GetRolePermission(SysUser user)
-        {
-            List<string> roles = new();
-            // 管理员拥有所有权限
-            if (user.IsAdmin())
-            {
-                roles.Add("admin");
-            }
-            else
-            {
-                roles.AddRange(SysRoleService.SelectUserRoleKeys(user.userId));
-            }
-            return roles;
-        }
-
-        /// <summary>
-        /// 获取菜单数据权限
-        /// </summary>
-        /// <param name="user">用户信息</param>
-        /// <returns>菜单权限信息</returns>
-        public List<string> GetMenuPermission(SysUser user)
-        {
-            List<string> perms = new();
-            // 管理员拥有所有权限
-            if (user.IsAdmin() || GetRolePermission(user).Exists(f => f.Equals(GlobalConstant.AdminRole)))
-            {
-                perms.Add(GlobalConstant.AdminPerm);
-            }
-            else
-            {
-                perms.AddRange(SysMenuService.SelectMenuPermsByUserId(user.userId));
-            }
-            return perms;
-        }
-    }
-}

+ 0 - 48
Services/Base/SysPostService.cs

@@ -1,48 +0,0 @@
-using Attribute;
-using Model;
-using Service;
-
-namespace Services
-{
-    /// <summary>
-    /// 岗位管理
-    /// </summary>
-    [AppService(ServiceType = typeof(ISysPostService), ServiceLifetime = LifeTime.Transient)]
-    public class SysPostService : BaseService<SysPost>, ISysPostService
-    {
-        /// <summary>
-        /// 校验岗位编码是否唯一
-        /// </summary>
-        /// <param name="post"></param>
-        /// <returns></returns>
-        public string CheckPostCodeUnique(SysPost post)
-        {
-            SysPost info = GetFirst(it => it.postCode.Equals(post.postCode));
-            if (info != null && info.postId != post.postId)
-            {
-                return UserConstants.NOT_UNIQUE;
-            }
-            return UserConstants.UNIQUE;
-        }
-
-        /// <summary>
-        /// 校验岗位名称是否唯一
-        /// </summary>
-        /// <param name="post"></param>
-        /// <returns></returns>
-        public string CheckPostNameUnique(SysPost post)
-        {
-            SysPost info = GetFirst(it => it.postName.Equals(post.postName));
-            if (info != null && info.postId != post.postId)
-            {
-                return UserConstants.NOT_UNIQUE;
-            }
-            return UserConstants.UNIQUE;
-        }
-
-        public List<SysPost> GetAll()
-        {
-            return GetAll(false);
-        }
-    }
-}

+ 0 - 51
Services/Base/SysRoleMenuService.cs

@@ -1,51 +0,0 @@
-using Attribute;
-using Model;
-using Service;
-
-namespace Services
-{
-    /// <summary>
-    /// 角色菜单
-    /// </summary>
-    [AppService(ServiceType = typeof(ISysRoleMenuService), ServiceLifetime = LifeTime.Transient)]
-    public class SysRoleMenuService : BaseService<SysRoleMenu>, ISysRoleMenuService
-    {
-        public int AddRoleMenu(List<SysRoleMenu> sysRoleMenus)
-        {
-            return Insert(sysRoleMenus);
-        }
-
-        public bool CheckMenuExistRole(long menuId)
-        {
-            return Count(it => it.MenuId == menuId) > 0;
-        }
-
-        public int DeleteRoleMenuByRoleId(long roleId)
-        {
-            return Delete(roleId);
-        }
-        public bool DeleteRoleMenuByRoleIdMenuIds(long roleId, long[] menuIds)
-        {
-            return Delete(f => f.RoleId == roleId && menuIds.Contains(f.MenuId));
-        }
-        /// <summary>
-        /// 根据角色获取菜单id
-        /// </summary>
-        /// <param name="roleId"></param>
-        /// <returns></returns>
-        public List<SysRoleMenu> SelectRoleMenuByRoleId(long roleId)
-        {
-            return GetList(f => f.RoleId == roleId);
-        }
-
-        /// <summary>
-        /// 根据用户所有角色获取菜单
-        /// </summary>
-        /// <param name="roleIds"></param>
-        /// <returns></returns>
-        public List<SysRoleMenu> SelectRoleMenuByRoleIds(long[] roleIds)
-        {
-            return GetList(it => roleIds.Contains(it.RoleId));
-        }
-    }
-}

+ 0 - 374
Services/Base/SysRoleService.cs

@@ -1,374 +0,0 @@
-using Attribute;
-using Base;
-using Dto;
-using Infrastructure;
-using Model;
-using Model.Base;
-using Repository;
-using Service;
-using System.Collections;
-
-namespace Services
-{
-    /// <summary>
-    /// 角色
-    /// </summary>
-    [AppService(ServiceType = typeof(ISysRoleService), ServiceLifetime = LifeTime.Transient)]
-    public class SysRoleService : BaseService<SysRole>, ISysRoleService
-    {
-        private ISysUserRoleService SysUserRoleService;
-        private ISysDeptService DeptService;
-        private ISysRoleMenuService RoleMenuService;
-        public SysRoleService(
-            ISysUserRoleService sysUserRoleService,
-            ISysDeptService deptService,
-            ISysRoleMenuService roleMenuService)
-        {
-            SysUserRoleService = sysUserRoleService;
-            DeptService = deptService;
-            RoleMenuService = roleMenuService;
-        }
-
-        /// <summary>
-        /// 根据条件分页查询角色数据
-        /// </summary>
-        /// <param name="sysRole">角色信息</param>
-        /// <param name="pager">分页信息</param>
-        /// <returns>角色数据集合信息</returns>
-        public PagedInfo<SysRole> SelectRoleList(SysRole sysRole, PagerInfo pager)
-        {
-            var exp = Expressionable.Create<SysRole>();
-            exp.And(role => role.DelFlag == "0");
-            exp.AndIF(!string.IsNullOrEmpty(sysRole.roleName), role => role.roleName.Contains(sysRole.roleName));
-            exp.AndIF(!string.IsNullOrEmpty(sysRole.roleCode), role => role.roleCode == sysRole.roleCode);
-
-            var query = Queryable()
-                .Where(exp.ToExpression())
-                .OrderBy(x => x.roleId)
-                .Select((role) => new SysRole
-                {
-                    userNum = SqlFunc.Subqueryable<SysUserRole>().Where(f => f.RoleId == role.roleId).Count()
-                }, true);
-
-            return query.ToPage(pager);
-        }
-
-        /// <summary>
-        /// 查询所有角色
-        /// </summary>
-        /// <returns></returns>
-        public List<SysRole> SelectRoleAll()
-        {
-            return Queryable()
-                .Where(role => role.DelFlag == "0")
-                .OrderBy(role => role.roleId)
-                .ToList();
-        }
-
-        /// <summary>
-        /// 根据用户查询
-        /// </summary>
-        /// <param name="userId"></param>
-        /// <returns></returns>
-        public List<SysRole> SelectRolePermissionByUserId(long userId)
-        {
-            return Queryable()
-                .Where(role => role.DelFlag == "0")
-                .Where(it => SqlFunc.Subqueryable<SysUserRole>().Where(s => s.UserId == userId).Any())
-                .OrderBy(role => role.roleId)
-                .ToList();
-        }
-
-        /// <summary>
-        /// 通过角色ID查询角色
-        /// </summary>
-        /// <param name="roleId">角色ID</param>
-        /// <returns>角色对象信息</returns>
-        public SysRole SelectRoleById(long roleId)
-        {
-            return GetId(roleId);
-        }
-
-        /// <summary>
-        /// 批量删除角色信息
-        /// </summary>
-        /// <param name="roleIds">需要删除的角色ID</param>
-        /// <returns></returns>
-        public int DeleteRoleByRoleId(long[] roleIds)
-        {
-            foreach (var item in roleIds)
-            {
-                CheckRoleAllowed(new SysRole(item));
-                SysRole role = SelectRoleById(item);
-                if (SysUserRoleService.CountUserRoleByRoleId(item) > 0)
-                {
-                    throw new CustomException($"{role.roleName}已分配,不能删除");
-                }
-            }
-            return Delete(roleIds);
-        }
-
-        /// <summary>
-        /// 更改角色权限状态
-        /// </summary>
-        /// <param name="roleDto"></param>
-        /// <returns></returns>
-        public int UpdateRoleStatus(SysRole roleDto)
-        {
-            return Update(roleDto, it => new { it.DelFlag }, f => f.roleId == roleDto.roleId);
-        }
-
-        /// <summary>
-        /// 校验角色权限是否唯一
-        /// </summary>
-        /// <param name="sysRole">角色信息</param>
-        /// <returns></returns>
-        public string CheckRoleKeyUnique(SysRole sysRole)
-        {
-            long roleId = 0 == sysRole.roleId ? -1L : sysRole.roleId;
-            SysRole info = GetFirst(it => it.roleCode == sysRole.roleCode);
-            if (info != null && info.roleId != roleId)
-            {
-                return UserConstants.NOT_UNIQUE;
-            }
-            return UserConstants.UNIQUE;
-        }
-
-        /// <summary>
-        /// 校验角色是否允许操作
-        /// </summary>
-        /// <param name="role"></param>
-        public void CheckRoleAllowed(SysRole role)
-        {
-            if (IsRoleAdmin(role.roleId))
-            {
-                throw new CustomException("不允许操作超级管理员角色");
-            }
-        }
-
-        /// <summary>
-        /// 新增保存角色信息
-        /// </summary>
-        /// <param name="sysRole">角色信息</param>
-        /// <returns></returns>
-        public long InsertRole(SysRole sysRole)
-        {
-            sysRole.CreateTime = DateTime.Now;
-            sysRole.roleId = InsertReturnBigIdentity(sysRole);
-            //插入角色部门数据
-            DeptService.InsertRoleDepts(sysRole);
-
-            return sysRole.roleId;
-        }
-
-        /// <summary>
-        /// 通过角色ID删除角色和菜单关联
-        /// </summary>
-        /// <param name="roleId">角色ID</param>
-        /// <returns></returns>
-        public int DeleteRoleMenuByRoleId(long roleId)
-        {
-            return RoleMenuService.DeleteRoleMenuByRoleId(roleId);
-        }
-
-        /// <summary>
-        /// 修改数据权限信息
-        /// </summary>
-        /// <param name="sysRoleDto"></param>
-        /// <returns></returns>
-        public bool AuthDataScope(SysRoleDto sysRoleDto)
-        {
-            return UseTran2(() =>
-            {
-                //删除角色菜单
-                //DeleteRoleMenuByRoleId(sysRoleDto.roleId);
-                //InsertRoleMenu(sysRoleDto);
-                var oldMenus = SelectUserRoleMenus(sysRoleDto.roleId);
-                var newMenus = sysRoleDto.menuIds;
-
-                //并集菜单
-                var arr_c = oldMenus.Intersect(newMenus).ToArray();
-                //获取减量菜单
-                var delMenuIds = oldMenus.Where(c => !arr_c.Contains(c)).ToArray();
-                //获取增量
-                var addMenuIds = newMenus.Where(c => !arr_c.Contains(c)).ToArray();
-
-                RoleMenuService.DeleteRoleMenuByRoleIdMenuIds(sysRoleDto.roleId, delMenuIds);
-                sysRoleDto.menuIds = addMenuIds.ToList();
-                sysRoleDto.delMenuIds= delMenuIds.ToList();
-                InsertRoleMenu(sysRoleDto);
-                Console.WriteLine($"减少了{delMenuIds.Length},增加了{addMenuIds.Length}菜单");
-            });
-        }
-
-        #region Service
-
-
-        /// <summary>
-        /// 批量新增角色菜单信息
-        /// </summary>
-        /// <param name="sysRoleDto"></param>
-        /// <returns></returns>
-        public int InsertRoleMenu(SysRoleDto sysRoleDto)
-        {
-            int rows = 1;
-            // 新增用户与角色管理
-            List<SysRoleMenu> sysRoleMenus = new();
-            foreach (var item in sysRoleDto.menuIds)
-            {
-                SysRoleMenu rm = new()
-                {
-                    MenuId = item,
-                    RoleId = sysRoleDto.roleId,
-                };
-                sysRoleMenus.Add(rm);
-            }
-            //添加角色菜单
-            if (sysRoleMenus.Count > 0)
-            {
-                rows = RoleMenuService.AddRoleMenu(sysRoleMenus);
-            }
-
-            return rows;
-        }
-
-        /// <summary>
-        /// 判断是否是管理员
-        /// </summary>
-        /// <param name="userid"></param>
-        /// <returns></returns>
-        public bool IsAdmin(long userid)
-        {
-            List<string> roles = SelectUserRoleKeys(userid);
-
-            return ((IList)roles).Contains(GlobalConstant.AdminRole);
-        }
-
-        /// <summary>
-        /// 判断是否是管理员
-        /// </summary>
-        /// <param name="roleid"></param>
-        /// <returns></returns>
-        public bool IsRoleAdmin(long roleid)
-        {
-            var roleInfo = GetFirst(x => x.roleId == roleid) ?? new SysRole();
-
-            return roleInfo.roleCode == GlobalConstant.AdminRole;
-        }
-
-        /// <summary>
-        /// 获取角色菜单id集合
-        /// </summary>
-        /// <param name="roleId"></param>
-        /// <returns></returns>
-        public List<long> SelectUserRoleMenus(long roleId)
-        {
-            var list = RoleMenuService.SelectRoleMenuByRoleId(roleId);
-
-            return list.Select(x => x.MenuId).Distinct().ToList();
-        }
-
-        /// <summary>
-        /// 根据用户所有角色获取菜单
-        /// </summary>
-        /// <param name="roleIds"></param>
-        /// <returns></returns>
-        public List<long> SelectRoleMenuByRoleIds(long[] roleIds)
-        {
-            return RoleMenuService.SelectRoleMenuByRoleIds(roleIds)
-                .Select(x => x.MenuId)
-                .Distinct().ToList();
-        }
-
-        /// <summary>
-        /// 获取用户角色列表
-        /// </summary>
-        /// <param name="userId"></param>
-        /// <returns></returns>
-        public List<SysRole> SelectUserRoleListByUserId(long userId)
-        {
-            return Context.Queryable<SysUserRole>()
-                .LeftJoin<SysRole>((ur, r) => ur.RoleId == r.roleId)
-                .Where((ur, r) => ur.UserId == userId && r.roleId > 0)
-                .WithCache(60 * 10)
-                .Select((ur, r) => r)
-                .ToList();
-        }
-
-        /// <summary>
-        /// 获取用户权限集合
-        /// </summary>
-        /// <param name="userId"></param>
-        /// <returns></returns>
-        public List<long> SelectUserRoles(long userId)
-        {
-            var list = SelectUserRoleListByUserId(userId).Where(f => f.DelFlag == "0");
-
-            return list.Select(x => x.roleId).ToList();
-        }
-
-        /// <summary>
-        /// 获取用户权限字符串集合
-        /// </summary>
-        /// <param name="userId"></param>
-        /// <returns></returns>
-        public List<string> SelectUserRoleKeys(long userId)
-        {
-            var list = SelectUserRoleListByUserId(userId);
-            return list.Select(x => x.roleCode).ToList();
-        }
-
-        /// <summary>
-        /// 获取用户所有角色名
-        /// </summary>
-        /// <param name="userId"></param>
-        /// <returns></returns>
-        public List<string> SelectUserRoleNames(long userId)
-        {
-            var list = SelectUserRoleListByUserId(userId);
-            return list.Select(x => x.roleName).ToList();
-        }
-        #endregion
-
-        /// <summary>
-        /// 修改保存角色信息
-        /// </summary>
-        /// <param name="sysRole">角色信息</param>
-        /// <returns></returns>
-        public int UpdateRole(SysRole sysRole)
-        {
-            sysRole.UpdateTime = DateTime.Now;
-            var result = UseTran(() =>
-            {
-                //修改角色信息
-                UpdateSysRole(sysRole);
-                //删除角色与部门管理
-                // DeptService.DeleteRoleDeptByRoleId(sysRole.roleId);
-                // //插入角色部门数据
-                // DeptService.InsertRoleDepts(sysRole);
-            });
-
-            return result.IsSuccess ? 1 : 0;
-        }
-
-        /// <summary>
-        /// 修改用户角色
-        /// </summary>
-        /// <param name="sysRole"></param>
-        /// <returns></returns>
-        public int UpdateSysRole(SysRole sysRole)
-        {
-            var db = Context;
-            sysRole.UpdateTime = db.GetDate();
-
-            return db.Updateable<SysRole>()
-            .SetColumns(it => it.UpdateTime == sysRole.UpdateTime)
-            .SetColumns(it => it.roleDesc == sysRole.roleDesc)
-            .SetColumns(it => it.UpdateBy == sysRole.UpdateBy)
-            .SetColumnsIF(!string.IsNullOrEmpty(sysRole.roleName), it => it.roleName == sysRole.roleName)
-            .SetColumnsIF(!string.IsNullOrEmpty(sysRole.roleCode), it => it.roleCode == sysRole.roleCode)
-            .Where(it => it.roleId == sysRole.roleId)
-            .ExecuteCommand();
-        }
-    }
-}

+ 0 - 68
Services/Base/SysUserPostService.cs

@@ -1,68 +0,0 @@
-using Attribute;
-using Model;
-using Service;
-
-namespace Services
-{
-    /// <summary>
-    /// 用户岗位
-    /// </summary>
-    [AppService(ServiceType = typeof(ISysUserPostService), ServiceLifetime = LifeTime.Transient)]
-    public class SysUserPostService : BaseService<SysUserPost>, ISysUserPostService
-    {
-        /// <summary>
-        /// 新增用户岗位信息
-        /// </summary>
-        /// <param name="user"></param>
-        public void InsertUserPost(SysUser user)
-        {
-            // 新增用户与岗位管理
-            List<SysUserPost> list = new();
-            foreach (var item in user.PostIds)
-            {
-                list.Add(new SysUserPost() { PostId = item, UserId = user.userId });
-            }
-            InsertRange(list);
-        }
-
-        /// <summary>
-        /// 查询用户岗位集合
-        /// </summary>
-        /// <param name="userId"></param>
-        /// <returns></returns>
-        public List<long> GetUserPostsByUserId(long userId)
-        {
-            var list = GetList(f => f.UserId == userId);
-            return list.Select(x => x.PostId).ToList();
-        }
-
-        /// <summary>
-        /// 获取用户岗位
-        /// </summary>
-        /// <param name="userId"></param>
-        /// <returns></returns>
-        public string GetPostsStrByUserId(long userId)
-        {
-            var list = SelectPostsByUserId(userId);
-            return string.Join(',', list.Select(x => x.postName));
-        }
-
-        public bool Delete(long userId)
-        {
-            return Delete(x => x.UserId == userId);
-        }
-
-        /// <summary>
-        /// 获取用户岗位
-        /// </summary>
-        /// <param name="userId"></param>
-        /// <returns></returns>
-        public List<SysPost> SelectPostsByUserId(long userId)
-        {
-            return Context.Queryable<SysPost, SysUserPost>((p, up) => new JoinQueryInfos(
-                JoinType.Left, up.PostId == p.postId
-                )).Where((p, up) => up.UserId == userId)
-                .Select<SysPost>().ToList();
-        }
-    }
-}

+ 0 - 138
Services/Base/SysUserRoleService.cs

@@ -1,138 +0,0 @@
-using Attribute;
-using Dto;
-using Extensions;
-using Model;
-using Model.Base;
-using Repository;
-using Service;
-
-namespace Services
-{
-    /// <summary>
-    /// 用户角色
-    /// </summary>
-    [AppService(ServiceType = typeof(ISysUserRoleService), ServiceLifetime = LifeTime.Transient)]
-    public class SysUserRoleService : BaseService<SysUserRole>, ISysUserRoleService
-    {
-        /// <summary>
-        /// 通过角色ID查询角色使用数量
-        /// </summary>
-        /// <param name="roleId"></param>
-        /// <returns></returns>
-        public int CountUserRoleByRoleId(long roleId)
-        {
-            return Count(it => it.RoleId == roleId);
-        }
-
-        /// <summary>
-        /// 删除用户角色
-        /// </summary>
-        /// <param name="userId"></param>
-        /// <returns></returns>
-        public int DeleteUserRoleByUserId(int userId)
-        {
-            return Delete(it => it.UserId == userId) ? 1 : 0;
-        }
-
-        /// <summary>
-        /// 批量删除角色对应用户
-        /// </summary>
-        /// <param name="roleId"></param>
-        /// <param name="userIds"></param>
-        /// <returns></returns>
-        public int DeleteRoleUserByUserIds(long roleId, List<long> userIds)
-        {
-            return Delete(it => it.RoleId == roleId && userIds.Contains(it.UserId)) ? 1 : 0;
-        }
-
-        /// <summary>
-        /// 添加用户角色
-        /// </summary>
-        /// <param name="sysUserRoles"></param>
-        /// <returns></returns>
-        public int AddUserRole(List<SysUserRole> sysUserRoles)
-        {
-            return Insert(sysUserRoles);
-        }
-
-        /// <summary>
-        /// 获取用户数据根据角色id
-        /// </summary>
-        /// <param name="roleId"></param>
-        /// <returns></returns>
-        public List<SysUser> GetSysUsersByRoleId(long roleId)
-        {
-            return Context.Queryable<SysUserRole, SysUser>((t1, u) => new JoinQueryInfos(
-                   JoinType.Left, t1.UserId == u.userId))
-                .WithCache(60 * 10)
-                .Where((t1, u) => t1.RoleId == roleId && u.DelFlag == "0")
-                .Select((t1, u) => u)
-                .ToList();
-        }
-
-        /// <summary>
-        /// 获取用户数据根据角色id
-        /// </summary>
-        /// <param name="roleUserQueryDto"></param>
-        /// <returns></returns>
-        public PagedInfo<SysUser> GetSysUsersByRoleId(RoleUserQueryDto roleUserQueryDto)
-        {
-            var query = Context.Queryable<SysUserRole, SysUser>((t1, u) => new JoinQueryInfos(
-                JoinType.Left, t1.UserId == u.userId))
-                .Where((t1, u) => t1.RoleId == roleUserQueryDto.RoleId && u.DelFlag == "0");
-            if (!string.IsNullOrEmpty(roleUserQueryDto.UserName))
-            {
-                query = query.Where((t1, u) => u.username.Contains(roleUserQueryDto.UserName));
-            }
-            return query.Select((t1, u) => u).ToPage(roleUserQueryDto);
-        }
-
-        /// <summary>
-        /// 获取尚未指派的用户数据根据角色id
-        /// </summary>
-        /// <param name="roleUserQueryDto"></param>
-        /// <returns></returns>
-        public PagedInfo<SysUser> GetExcludedSysUsersByRoleId(RoleUserQueryDto roleUserQueryDto)
-        {
-            var query = Context.Queryable<SysUser>()
-                .Where(it => it.DelFlag == "0")
-                .Where(it => SqlFunc.Subqueryable<SysUserRole>().Where(s => s.UserId == it.userId && s.RoleId == roleUserQueryDto.RoleId).NotAny())
-                .WhereIF(roleUserQueryDto.UserName.IsNotEmpty(), it => it.username.Contains(roleUserQueryDto.UserName));
-
-            return query.ToPage(roleUserQueryDto);
-        }
-
-        /// <summary>
-        /// 新增用户角色信息
-        /// </summary>
-        /// <param name="user"></param>
-        /// <returns></returns>
-        public int InsertUserRole(SysUser user)
-        {
-            //if(user.RoleIds == null) return 0;
-            List<SysUserRole> userRoles = new();
-            foreach (var item in user.RoleIds)
-            {
-                userRoles.Add(new SysUserRole() { RoleId = item, UserId = user.userId });
-            }
-
-            return userRoles.Count > 0 ? AddUserRole(userRoles) : 0;
-        }
-
-        /// <summary>
-        /// 新增加角色用户
-        /// </summary>
-        /// <param name="roleUsersCreateDto"></param>
-        /// <returns></returns>
-        public int InsertRoleUser(RoleUsersCreateDto roleUsersCreateDto)
-        {
-            List<SysUserRole> userRoles = new();
-            foreach (var item in roleUsersCreateDto.UserIds)
-            {
-                userRoles.Add(new SysUserRole() { RoleId = roleUsersCreateDto.RoleId, UserId = item });
-            }
-
-            return userRoles.Count > 0 ? AddUserRole(userRoles) : 0;
-        }
-    }
-}

+ 0 - 348
Services/Base/SysUserService.cs

@@ -1,348 +0,0 @@
-using Attribute;
-using Base;
-using Common;
-using Dto;
-using Extensions;
-using Feign;
-using Infrastructure;
-using IPTools.Core;
-using Model;
-using Model.Base;
-using Model.Kxs;
-using Repository;
-using Service;
-using System.Collections;
-using Vo;
-
-namespace Services
-{
-    /// <summary>
-    /// 系统用户
-    /// </summary>
-    [AppService(ServiceType = typeof(ISysUserService), ServiceLifetime = LifeTime.Transient)]
-    public class SysUserService : BaseService<SysUser>, ISysUserService
-    {
-        private readonly ISysRoleService RoleService;
-        private readonly ISysPostService PostService;
-        private readonly ISysUserRoleService UserRoleService;
-        private readonly ISysUserPostService UserPostService;
-
-        public SysUserService(
-            ISysRoleService sysRoleService,
-            ISysPostService sysPostService,
-            ISysUserRoleService userRoleService,
-            ISysUserPostService userPostService)
-        {
-            RoleService = sysRoleService;
-            PostService = sysPostService;
-            UserRoleService = userRoleService;
-            UserPostService = userPostService;
-        }
-
-        /// <summary>
-        /// 根据条件分页查询用户列表
-        /// </summary>
-        /// <returns></returns>
-        public PagedInfo<SysUser> SelectUserList(SysUserQueryDto user, PagerInfo pager)
-        {
-            var exp = Expressionable.Create<SysUser>();
-            exp.AndIF(!string.IsNullOrEmpty(user.username), u => u.username.Contains(user.username));
-            exp.AndIF(!string.IsNullOrEmpty(value: user.nickname), u => u.username.Contains(user.nickname));
-            exp.AndIF(!string.IsNullOrEmpty(user.name), u => u.username.Contains(user.name));
-            exp.AndIF(!string.IsNullOrEmpty(user.phone), u => u.username.Contains(user.phone));
-            exp.And(u => u.DelFlag == "0");
-            var query = Queryable()
-                .Where(exp.ToExpression())
-                .OrderByDescending(m => m.userId);
-
-            PagedInfo<SysUser> result = query.ToPage(pager);
-            foreach(SysUser sub in result.Records)
-            {
-                List<long> userRoles = UserRoleService.GetList(m => m.UserId == sub.userId).Select(m => m.RoleId).ToList();
-                sub.RoleList = RoleService.GetList(m => userRoles.Contains(m.roleId));
-
-                List<long> userPost = UserPostService.GetList(m => m.UserId == sub.userId).Select(m => m.PostId).ToList();
-                sub.PostList = PostService.GetList(m => userPost.Contains(m.postId));
-            }
-
-            return result;
-        }
-
-        /// <summary>
-        /// 通过用户ID查询用户
-        /// </summary>
-        /// <param name="userId"></param>
-        /// <returns></returns>
-        public SysUser SelectUserById(long userId)
-        {
-            var user = Queryable().Filter(null, true).WithCache(60 * 5)
-                .Where(f => f.userId == userId).First();
-            // if (user != null && user.UserId > 0)
-            // {
-            //     user.Roles = RoleService.SelectUserRoleListByUserId(userId);
-            //     user.RoleIds = user.Roles.Select(x => x.RoleId).ToArray();
-            // }
-            return user;
-        }
-
-        /// <summary>
-        /// 校验用户名称是否唯一
-        /// </summary>
-        /// <param name="userName"></param>
-        /// <returns></returns>
-        public string CheckUserNameUnique(string userName)
-        {
-            int count = Count(it => it.username == userName);
-            if (count > 0)
-            {
-                return UserConstants.NOT_UNIQUE;
-            }
-            return UserConstants.UNIQUE;
-        }
-
-        /// <summary>
-        /// 新增保存用户信息
-        /// </summary>
-        /// <param name="sysUser"></param>
-        /// <returns></returns>
-        public SysUser InsertUser(SysUser sysUser)
-        {
-            sysUser.CreateTime = DateTime.Now;
-            sysUser.UpdateTime = DateTime.Now;
-            var result = UseTran(() =>
-            {
-                sysUser.userId = Insertable(sysUser).ExecuteReturnIdentity();
-                //新增用户角色信息
-                UserRoleService.InsertUserRole(sysUser);
-                //新增用户岗位信息
-                UserPostService.InsertUserPost(sysUser);
-            });
-            if (!result.IsSuccess)
-            {
-                throw new Exception("提交数据异常," + result.ErrorMessage, result.ErrorException);
-            }
-            return sysUser;
-        }
-
-        /// <summary>
-        /// 修改用户信息
-        /// </summary>
-        /// <param name="user"></param>
-        /// <returns></returns>
-        public int UpdateUser(SysUser user)
-        {
-            var roleIds = RoleService.SelectUserRoles(user.userId);
-            var diffArr = roleIds.Where(c => !((IList)user.RoleIds).Contains(c)).ToArray();
-            var diffArr2 = user.RoleIds.Where(c => !((IList)roleIds).Contains(c)).ToArray();
-            bool result = UseTran2(() =>
-            {
-                if (diffArr.Length > 0 || diffArr2.Length > 0)
-                {
-                    //删除用户与角色关联
-                    UserRoleService.DeleteUserRoleByUserId((int)user.userId);
-                    //新增用户与角色关联
-                    UserRoleService.InsertUserRole(user);
-                }
-                // 删除用户与岗位关联
-                UserPostService.Delete(user.userId);
-                // 新增用户与岗位管理
-                UserPostService.InsertUserPost(user);
-                ChangeUser(user);
-            });
-            return result ? 1 : 0;
-        }
-
-        public int ChangeUser(SysUser user)
-        {
-            user.UpdateTime = DateTime.Now;
-            return Update(user, true);
-        }
-
-        /// <summary>
-        /// 重置密码
-        /// </summary>
-        /// <param name="userid"></param>
-        /// <param name="password"></param>
-        /// <returns></returns>
-        public int ResetPwd(long userid, string password)
-        {
-            return Update(new SysUser() { userId = userid, password = password }, it => new { it.password }, f => f.userId == userid);
-        }
-
-        /// <summary>
-        /// 修改用户状态
-        /// </summary>
-        /// <param name="user"></param>
-        /// <returns></returns>
-        public int ChangeUserStatus(SysUser user)
-        {
-            CheckUserAllowed(user);
-            return Update(user, it => new { it.DelFlag }, f => f.userId == user.userId);
-        }
-
-        /// <summary>
-        /// 删除用户
-        /// </summary>
-        /// <param name="userid"></param>
-        /// <returns></returns>
-        public int DeleteUser(long userid)
-        {
-            CheckUserAllowed(new SysUser() { userId = userid });
-            //删除用户与角色关联
-            UserRoleService.DeleteUserRoleByUserId((int)userid);
-            // 删除用户与岗位关联
-            UserPostService.Delete(userid);
-            return Update(new SysUser() { userId = userid, DelFlag = "2" }, it => new { it.DelFlag }, f => f.userId == userid);
-        }
-
-        /// <summary>
-        /// 修改用户头像
-        /// </summary>
-        /// <param name="user"></param>
-        /// <returns></returns>
-        public int UpdatePhoto(SysUser user)
-        {
-            return Update(user, it => new { it.avatar }, f => f.userId == user.userId); ;
-        }
-
-        /// <summary>
-        /// 注册用户
-        /// </summary>
-        /// <param name="dto"></param>
-        /// <returns></returns>
-        public SysUser Register(RegisterDto dto)
-        {
-            if (!Tools.PasswordStrength(dto.Password))
-            {
-                throw new CustomException("密码强度不符合要求");
-            }
-            if (!Tools.CheckUserName(dto.Username))
-            {
-                throw new CustomException("用户名不符合要求");
-            }
-            //密码md5
-            string password = Function.MD532(dto.Password);
-            var ip_info = IpTool.Search(dto.UserIP);
-            SysUser user = new()
-            {
-                CreateTime = DateTime.Now,
-                username = dto.Username,
-                nickname = dto.Username,
-                password = password,
-                deptId = 0,
-            };
-            if (UserConstants.NOT_UNIQUE.Equals(CheckUserNameUnique(dto.Username)))
-            {
-                throw new CustomException($"保存用户{dto.Username}失败,注册账号已存在");
-            }
-            user.userId = Insertable(user).ExecuteReturnIdentity();
-            return user;
-        }
-
-        /// <summary>
-        /// 校验角色是否允许操作
-        /// </summary>
-        /// <param name="user"></param>
-        public void CheckUserAllowed(SysUser user)
-        {
-            if (user.IsAdmin())
-            {
-                throw new CustomException("不允许操作超级管理员角色");
-            }
-        }
-
-        /// <summary>
-        /// 校验用户是否有数据权限
-        /// </summary>
-        /// <param name="userid"></param>
-        /// <param name="loginUserId"></param>
-        public void CheckUserDataScope(long userid, long loginUserId)
-        {
-            if (!SysUser.IsAdmin(loginUserId))
-            {
-                SysUser user = new SysUser() { userId = userid };
-
-                //TODO 判断用户是否有数据权限
-            }
-        }
-
-        /// <summary>
-        /// 导入数据
-        /// </summary>
-        /// <param name="users"></param>
-        /// <returns></returns>
-        public (string, object, object) ImportUsers(List<SysUser> users)
-        {
-            users.ForEach(x =>
-            {
-                x.CreateTime = DateTime.Now;
-                x.DelFlag = "0";
-                x.password = "E10ADC3949BA59ABBE56E057F20F883E";
-            });
-            var x = Context.Storageable(users)
-                .SplitInsert(it => !it.Any())
-                .SplitIgnore(it => it.Item.username == GlobalConstant.AdminRole)
-                .SplitError(x => x.Item.username.IsEmpty(), "用户名不能为空")
-                .SplitError(x => !Tools.CheckUserName(x.Item.username), "用户名不符合规范")
-                .WhereColumns(it => it.username)//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2})
-                .ToStorage();
-            var result = x.AsInsertable.ExecuteCommand();//插入可插入部分;
-
-            string msg = string.Format(" 插入{0} 更新{1} 错误数据{2} 不计算数据{3} 删除数据{4} 总共{5}",
-                               x.InsertList.Count,
-                               x.UpdateList.Count,
-                               x.ErrorList.Count,
-                               x.IgnoreList.Count,
-                               x.DeleteList.Count,
-                               x.TotalList.Count);
-            //输出统计                      
-            Console.WriteLine(msg);
-
-            //输出错误信息               
-            foreach (var item in x.ErrorList)
-            {
-                Console.WriteLine("userName为" + item.Item.username + " : " + item.StorageMessage);
-            }
-            foreach (var item in x.IgnoreList)
-            {
-                Console.WriteLine("userName为" + item.Item.username + " : " + item.StorageMessage);
-            }
-
-            return (msg, x.ErrorList, x.IgnoreList);
-        }
-
-        /// <summary>
-        /// 登录
-        /// </summary>
-        /// <param name="user">登录实体</param>
-        /// <returns></returns>
-        public SysUser Login(LoginBodyDto user)
-        {
-            return GetFirst(it => it.username == user.username && it.password.ToLower() == user.password.ToLower());
-        }
-
-        /// <summary>
-        /// 修改登录信息
-        /// </summary>
-        /// <param name="userIP"></param>
-        /// <param name="userId"></param>
-        /// <returns></returns>
-        public void UpdateLoginInfo(string userIP, long userId)
-        {
-        }
-
-        public PagedInfo<SysUserVo> TestList(SysDeptFeign SysDept)
-        {
-            //开始拼装查询条件
-            var predicate = Expressionable.Create<SysUser>();
-            var response = Queryable()
-                .Where(predicate.ToExpression())
-                .OrderByDescending(m => m.userId)
-                .Includes(m => m.deptJoin)
-                .CrossQuery(typeof(Users), "kxs")
-                .Includes(m => m.user)
-                .ToPage<SysUser, SysUserVo>(new PagerInfo());
-            return response;
-        }
-    }
-}

+ 0 - 51
Services/SysDictItemService.cs

@@ -1,51 +0,0 @@
-using Attribute;
-using Dto;
-using Vo;
-using Model;
-using Model.Base;
-
-using Repository;
-using Service;
-using Microsoft.AspNetCore.Mvc;
-
-namespace Services
-{
-    /// <summary>
-    /// 字典项Service业务层处理
-    /// </summary>
-    [AppService(ServiceType = typeof(ISysDictItemService), ServiceLifetime = LifeTime.Transient)]
-    public class SysDictItemService : BaseService<SysDictItem>, ISysDictItemService
-    {
-        /// <summary>
-        /// 字典项-列表
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>字典项列表</returns>
-        public PagedInfo<SysDictItemListVo> List([FromQuery] SysDictItemListDto parm)
-        {
-            //开始拼装查询条件
-            var predicate = Expressionable.Create<SysDictItem>();
-            predicate = predicate.AndIF(parm.dictId != null, m => m.dictId == parm.dictId);
-            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.label), m => m.label.Contains(parm.label));
-            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.description), m => m.description.Contains(parm.description));
-            var response = Queryable()
-                .Where(predicate.ToExpression())
-                .OrderByDescending(m => m.id)
-                .ToPage<SysDictItem, SysDictItemListVo>(new PagerInfo());
-            return response;
-        }
-
-
-
-
-
-
-
-
-
-
-
-
-
-    }
-}

+ 0 - 50
Services/SysDictService.cs

@@ -1,50 +0,0 @@
-using Attribute;
-using Dto;
-using Vo;
-using Model;
-using Model.Base;
-
-using Repository;
-using Service;
-using Microsoft.AspNetCore.Mvc;
-
-namespace Services
-{
-    /// <summary>
-    /// 字典表Service业务层处理
-    /// </summary>
-    [AppService(ServiceType = typeof(ISysDictService), ServiceLifetime = LifeTime.Transient)]
-    public class SysDictService : BaseService<SysDict>, ISysDictService
-    {
-        /// <summary>
-        /// 字典表-列表
-        /// </summary>
-        /// <param name="parm">请求参数</param>
-        /// <returns>字典表列表</returns>
-        public PagedInfo<SysDictListVo> List([FromQuery] SysDictListDto parm)
-        {
-            //开始拼装查询条件
-            var predicate = Expressionable.Create<SysDict>();
-            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.dictType), m => m.dictType.Contains(parm.dictType));
-            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.description), m => m.description.Contains(parm.description));
-            var response = Queryable()
-                .Where(predicate.ToExpression())
-                .OrderByDescending(m => m.id)
-                .ToPage<SysDict, SysDictListVo>(new PagerInfo());
-            return response;
-        }
-
-
-
-
-
-
-
-
-
-
-
-
-
-    }
-}