转移.net core 3.1,为.NET 5做准备

This commit is contained in:
ÂëÉñ
2020-10-22 14:59:36 +08:00
parent fd9bca23a7
commit a35d596237
1080 changed files with 175912 additions and 185681 deletions

View File

@@ -0,0 +1,152 @@

using System;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Interface;
using OpenAuth.App.Request;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 分配资源/分配字段等
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class AccessObjsController : ControllerBase
{
private readonly RevelanceManagerApp _app;
private readonly IAuth _authUtil;
public AccessObjsController(IAuth authUtil, RevelanceManagerApp app)
{
_app = app;
_authUtil = authUtil;
}
/// <summary>
/// 添加关联
/// <para>比如给用户分配资源那么firstId就是用户IDsecIds就是资源ID列表</para>
/// </summary>
/// <returns></returns>
[HttpPost]
public Response Assign(AssignReq request)
{
var result = new Response();
try
{
_app.Assign(request);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 取消关联
/// </summary>
[HttpPost]
public Response UnAssign(AssignReq request)
{
var result = new Response();
try
{
_app.UnAssign(request);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 角色分配数据字段权限
/// </summary>
/// <returns></returns>
[HttpPost]
public Response AssignDataProperty(AssignDataReq request)
{
var result = new Response();
try
{
_app.AssignData(request);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 取消角色的数据字段权限
/// <para>如果Properties为空则把角色的某一个模块权限全部删除</para>
/// <para>如果moduleId为空直接把角色的所有授权删除</para>
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public Response UnAssignDataProperty(AssignDataReq request)
{
var result = new Response();
try
{
_app.UnAssignData(request);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 角色分配用户,整体提交,会覆盖之前的配置
/// </summary>
[HttpPost]
public Response AssignRoleUsers(AssignRoleUsers request)
{
var result = new Response();
try
{
_app.AssignRoleUsers(request);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 部门分配用户,整体提交,会覆盖之前的配置
/// </summary>
[HttpPost]
public Response AssignOrgUsers(AssignOrgUsers request)
{
var result = new Response();
try
{
_app.AssignOrgUsers(request);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
}
}

View File

@@ -0,0 +1,37 @@
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 应用管理
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class ApplicationsController : ControllerBase
{
private readonly AppManager _app;
public ApplicationsController(AppManager app)
{
_app = app;
}
/// <summary>
/// 加载应用列表
/// </summary>
/// <returns></returns>
[HttpGet]
public TableData Load([FromQuery]QueryAppListReq request)
{
var applications = _app.GetList(request);
return new TableData
{
data = applications,
count = applications.Count
};
}
}
}

View File

@@ -0,0 +1,93 @@
using System;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 代码生成器表字段结构
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class BuilderTableColumnsController : ControllerBase
{
private readonly BuilderTableColumnApp _app;
//获取详情
[HttpGet]
public Response<BuilderTableColumn> Get(string id)
{
var result = new Response<BuilderTableColumn>();
try
{
result.Result = _app.Get(id);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
//修改
[HttpPost]
public Response Update(AddOrUpdateBuilderTableColumnReq obj)
{
var result = new Response();
try
{
_app.Update(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 加载列表
/// </summary>
[HttpGet]
public TableResp<BuilderTableColumn> Load([FromQuery]QueryBuilderTableColumnListReq request)
{
return _app.Load(request);
}
/// <summary>
/// 批量删除
/// </summary>
[HttpPost]
public Response Delete([FromBody]string[] ids)
{
var result = new Response();
try
{
_app.Delete(ids);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
public BuilderTableColumnsController(BuilderTableColumnApp app)
{
_app = app;
}
}
}

View File

@@ -0,0 +1,171 @@
using System;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 代码生成器相关操作
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class BuilderTablesController : ControllerBase
{
private readonly BuilderTableApp _app;
/// <summary>
/// 创建一个代码生成的模版
/// <para>会自动创建字段明细信息添加成功后使用BuilderTableColumnsController.Load加载字段明细</para>
/// <returns>返回添加的模版ID</returns>
/// </summary>
[HttpPost]
public Response<string> Add(AddOrUpdateBuilderTableReq obj)
{
var result = new Response<string>();
try
{
result.Result = _app.Add(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 只修改表信息,不会更新明细
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
[HttpPost]
public Response Update(AddOrUpdateBuilderTableReq obj)
{
var result = new Response();
try
{
_app.Update(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 加载列表
/// </summary>
[HttpGet]
public TableResp<BuilderTable> Load([FromQuery]QueryBuilderTableListReq request)
{
return _app.Load(request);
}
/// <summary>
/// 批量删除代码生成模版和对应的字段信息
/// </summary>
[HttpPost]
public Response Delete([FromBody]string[] ids)
{
var result = new Response();
try
{
_app.DelTableAndcolumns(ids);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 创建实体
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
[HttpPost]
public Response CreateEntity(CreateEntityReq obj)
{
var result = new Response();
try
{
_app.CreateEntity(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 创建业务逻辑层
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
[HttpPost]
public Response CreateBusiness(CreateBusiReq obj)
{
var result = new Response();
try
{
_app.CreateBusiness(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 创建vue界面
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
[HttpPost]
public Response CreateVue(CreateVueReq obj)
{
var result = new Response();
try
{
_app.CreateVue(obj);
_app.CreateVueApi(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
public BuilderTablesController(BuilderTableApp app)
{
_app = app;
}
}
}

View File

@@ -0,0 +1,92 @@
using System;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 字典所属分类管理
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class CategoryTypesController : ControllerBase
{
private readonly CategoryTypeApp _app;
//添加
[HttpPost]
public Response Add(AddOrUpdateCategoryTypeReq obj)
{
var result = new Response();
try
{
_app.Add(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
//修改
[HttpPost]
public Response Update(AddOrUpdateCategoryTypeReq obj)
{
var result = new Response();
try
{
_app.Update(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 加载列表
/// </summary>
[HttpGet]
public TableData Load([FromQuery]QueryCategoryTypeListReq request)
{
return _app.Load(request);
}
/// <summary>
/// 批量删除
/// </summary>
[HttpPost]
public Response Delete([FromBody]string[] ids)
{
var result = new Response();
try
{
_app.Delete(ids);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
public CategoryTypesController(CategoryTypeApp app)
{
_app = app;
}
}
}

View File

@@ -0,0 +1,121 @@
using System;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 分类(字典)管理
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class CategorysController : ControllerBase
{
private readonly CategoryApp _app;
/// <summary>
/// 获取分类详情
/// </summary>
/// <param name="id">分类id</param>
/// <returns></returns>
[HttpGet]
public Response<Category> Get(string id)
{
var result = new Response<Category>();
try
{
result.Result = _app.Get(id);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 添加分类
/// </summary>
/// <returns></returns>
[HttpPost]
public Response Add(AddOrUpdateCategoryReq obj)
{
var result = new Response();
try
{
_app.Add(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 修改分类(字典)
/// </summary>
/// <returns></returns>
[HttpPost]
public Response Update(AddOrUpdateCategoryReq obj)
{
var result = new Response();
try
{
_app.Update(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 加载列表
/// </summary>
[HttpGet]
public TableData Load([FromQuery]QueryCategoryListReq request)
{
return _app.Load(request);
}
/// <summary>
/// 批量删除
/// </summary>
[HttpPost]
public Response Delete([FromBody]string[] ids)
{
var result = new Response();
try
{
_app.Delete(ids);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
public CategorysController(CategoryApp app)
{
_app = app;
}
}
}

View File

@@ -0,0 +1,376 @@
// ***********************************************************************
// Assembly : OpenAuth.WebApi
// Author : yubaolee
// Created : 07-11-2016
//
// Last Modified By : yubaolee
// Last Modified On : 07-11-2016
// Contact :
// File: CheckController.cs
// 登录相关的操作
// ***********************************************************************
using Infrastructure;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Interface;
using OpenAuth.App.Response;
using OpenAuth.App.SSO;
using OpenAuth.Repository.Domain;
using System;
using System.Collections.Generic;
using System.Linq;
using Infrastructure.Helpers;
using Microsoft.Extensions.Logging;
namespace OpenAuth.WebApi.Controllers
{
/// <inheritdoc />
/// <summary>
/// 登录及与登录信息获取相关的接口
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class CheckController : ControllerBase
{
private readonly IAuth _authUtil;
private ILogger _logger;
private AuthStrategyContext _authStrategyContext;
public CheckController(IAuth authUtil, ILogger<CheckController> logger)
{
_authUtil = authUtil;
_logger = logger;
_authStrategyContext = _authUtil.GetCurrentUser();
}
/// <summary>
/// 获取登录用户资料
/// </summary>
/// <returns></returns>
[HttpGet]
public Response<UserView> GetUserProfile()
{
var resp = new Response<UserView>();
try
{
resp.Result = _authStrategyContext.User.MapTo<UserView>();
}
catch (Exception e)
{
resp.Code = 500;
resp.Message = e.Message;
}
return resp;
}
/// <summary>
/// 检验token是否有效
/// </summary>
/// <param name="token">The token.</param>
/// <param name="requestid">备用参数.</param>
[HttpGet]
public Response<bool> GetStatus()
{
var result = new Response<bool>();
try
{
result.Result = _authUtil.CheckLogin();
}
catch (Exception ex)
{
result.Code = Define.INVALID_TOKEN;
result.Message = ex.Message;
}
return result;
}
/// <summary>
/// 获取登录用户的所有可访问的角色
/// </summary>
[HttpGet]
public Response<List<Role>> GetRoles()
{
var result = new Response<List<Role>>();
try
{
result.Result = _authStrategyContext.Roles;
}
catch (CommonException ex)
{
if (ex.Code == Define.INVALID_TOKEN)
{
result.Code = ex.Code;
result.Message = ex.Message;
}
else
{
result.Code = 500;
result.Message = ex.InnerException != null
? "OpenAuth.WebAPI数据库访问失败:" + ex.InnerException.Message
: "OpenAuth.WebAPI数据库访问失败:" + ex.Message;
}
}
return result;
}
/// <summary>
/// 获取当前登录用户可访问的字段
/// </summary>
/// <param name="moduleCode">模块的Code如Category</param>
/// <returns></returns>
[HttpGet]
public Response<List<KeyDescription>> GetProperties(string moduleCode)
{
var result = new Response<List<KeyDescription>>();
try
{
result.Result = _authStrategyContext.GetProperties(moduleCode);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 获取登录用户的所有可访问的组织信息
/// </summary>
[HttpGet]
public Response<List<Org>> GetOrgs()
{
var result = new Response<List<Org>>();
try
{
result.Result = _authStrategyContext.Orgs;
}
catch (CommonException ex)
{
if (ex.Code == Define.INVALID_TOKEN)
{
result.Code = ex.Code;
result.Message = ex.Message;
}
else
{
result.Code = 500;
result.Message = ex.InnerException != null
? "OpenAuth.WebAPI数据库访问失败:" + ex.InnerException.Message
: "OpenAuth.WebAPI数据库访问失败:" + ex.Message;
}
}
return result;
}
/// <summary>
/// 加载机构的全部下级机构
/// </summary>
/// <param name="orgId">机构ID</param>
/// <returns></returns>
[HttpGet]
public TableData GetSubOrgs(string orgId)
{
string cascadeId = ".0.";
if (!string.IsNullOrEmpty(orgId))
{
var org = _authStrategyContext.Orgs.SingleOrDefault(u => u.Id == orgId);
if (org == null)
{
return new TableData
{
msg = "未找到指定的节点",
code = 500,
};
}
cascadeId = org.CascadeId;
}
var query = _authStrategyContext.Orgs
.Where(u => u.CascadeId.Contains(cascadeId))
.OrderBy(u =>u.CascadeId);
return new TableData
{
data = query.ToList(),
count = query.Count(),
};
}
/// <summary>
/// 获取登录用户的所有可访问的模块及菜单,以列表形式返回结果
/// </summary>
[HttpGet]
public Response<List<ModuleView>> GetModules()
{
var result = new Response<List<ModuleView>>();
try
{
result.Result = _authStrategyContext.Modules;
}
catch (CommonException ex)
{
if (ex.Code == Define.INVALID_TOKEN)
{
result.Code = ex.Code;
result.Message = ex.Message;
}
else
{
result.Code = 500;
result.Message = ex.InnerException != null
? "OpenAuth.WebAPI数据库访问失败:" + ex.InnerException.Message
: "OpenAuth.WebAPI数据库访问失败:" + ex.Message;
}
}
return result;
}
/// <summary>
/// 获取登录用户的所有可访问的模块及菜单,以树状结构返回
/// </summary>
[HttpGet]
public Response<IEnumerable<TreeItem<ModuleView>>> GetModulesTree()
{
var result = new Response<IEnumerable<TreeItem<ModuleView>>>();
try
{
result.Result = _authStrategyContext.Modules.GenerateTree(u => u.Id, u => u.ParentId);
}
catch (CommonException ex)
{
if (ex.Code == Define.INVALID_TOKEN)
{
result.Code = ex.Code;
result.Message = ex.Message;
}
else
{
result.Code = 500;
result.Message = ex.InnerException != null
? "OpenAuth.WebAPI数据库访问失败:" + ex.InnerException.Message
: "OpenAuth.WebAPI数据库访问失败:" + ex.Message;
}
}
return result;
}
/// <summary>
/// 获取登录用户的所有可访问的资源
/// </summary>
[HttpGet]
public Response<List<Resource>> GetResources()
{
var result = new Response<List<Resource>>();
try
{
result.Result = _authStrategyContext.Resources;
}
catch (CommonException ex)
{
if (ex.Code == Define.INVALID_TOKEN)
{
result.Code = ex.Code;
result.Message = ex.Message;
}
else
{
result.Code = 500;
result.Message = ex.InnerException != null
? "OpenAuth.WebAPI数据库访问失败:" + ex.InnerException.Message
: "OpenAuth.WebAPI数据库访问失败:" + ex.Message;
}
}
return result;
}
/// <summary>
/// 根据token获取用户名称
/// </summary>
[HttpGet]
public Response<string> GetUserName()
{
var result = new Response<string>();
try
{
result.Result = _authStrategyContext.User.Account;
}
catch (CommonException ex)
{
if (ex.Code == Define.INVALID_TOKEN)
{
result.Code = ex.Code;
result.Message = ex.Message;
}
else
{
result.Code = 500;
result.Message = ex.InnerException != null
? ex.InnerException.Message : ex.Message;
}
}
return result;
}
/// <summary>
/// 登录接口
/// </summary>
/// <param name="request">登录参数</param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public LoginResult Login([FromBody]PassportLoginRequest request)
{
var result = new LoginResult();
try
{
result = _authUtil.Login(request.AppKey, request.Account, request.Password);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.Message;
}
return result;
}
/// <summary>
/// 注销登录
/// </summary>
/// <param name="token"></param>
/// <param name="requestid">备用参数.</param>
[HttpPost]
public Response<bool> Logout()
{
var resp = new Response<bool>();
try
{
resp.Result = _authUtil.Logout();
}
catch (Exception e)
{
resp.Result = false;
resp.Message = e.Message;
}
return resp;
}
}
}

View File

@@ -0,0 +1,120 @@
using System;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 数据权限控制
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class DataPrivilegeRulesController : ControllerBase
{
private readonly DataPrivilegeRuleApp _app;
/// <summary>
/// 获取数据权限详情
/// </summary>
/// <param name="id">数据权限id</param>
/// <returns></returns>
[HttpGet]
public Response<DataPrivilegeRule> Get(string id)
{
var result = new Response<DataPrivilegeRule>();
try
{
result.Result = _app.Get(id);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 添加数据权限
/// </summary>
/// <returns></returns>
[HttpPost]
public Response Add(AddOrUpdateDataPriviReq obj)
{
var result = new Response();
try
{
_app.Add(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 修改数据权限
/// </summary>
/// <returns></returns>
[HttpPost]
public Response Update(AddOrUpdateDataPriviReq obj)
{
var result = new Response();
try
{
_app.Update(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 加载列表
/// </summary>
[HttpGet]
public TableData Load([FromQuery]QueryDataPrivilegeRuleListReq request)
{
return _app.Load(request);
}
/// <summary>
/// 批量删除
/// </summary>
[HttpPost]
public Response Delete([FromBody]string[] ids)
{
var result = new Response();
try
{
_app.Delete(ids);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
public DataPrivilegeRulesController(DataPrivilegeRuleApp app)
{
_app = app;
}
}
}

View File

@@ -0,0 +1,51 @@
using System;
using System.Collections.Generic;
using Infrastructure;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers
{
/// <summary> 文件上传</summary>
/// <remarks> yubaolee, 2019-03-08. </remarks>
[Route("api/[controller]/[action]")]
[ApiController]
public class FilesController :ControllerBase
{
private FileApp _app;
public FilesController(FileApp app)
{
_app = app;
}
/// <summary>
/// 批量上传文件接口
/// </summary>
/// <param name="files"></param>
/// <returns>服务器存储的文件信息</returns>
[HttpPost]
[AllowAnonymous]
public Response<IList<UploadFile>> Upload(IFormFileCollection files)
{
var result = new Response<IList<UploadFile>>();
try
{
result.Result = _app.Add(files);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.Message;
}
return result;
}
}
}

View File

@@ -0,0 +1,159 @@
// <copyright file="FlowInstancesController.cs" company="openauth.me">
// Copyright (c) 2019 openauth.me. All rights reserved.
// </copyright>
// <author>www.cnblogs.com/yubaolee</author>
// <date>2018-09-06</date>
// <summary>流程实例控制器</summary>
using System;
using System.Collections.Generic;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 流程实例
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class FlowInstancesController : ControllerBase
{
private readonly FlowInstanceApp _app;
[HttpGet]
public Response<FlowVerificationResp> Get(string id)
{
var result = new Response<FlowVerificationResp>();
try
{
var flowinstance = _app.Get(id);
result.Result = flowinstance.MapTo<FlowVerificationResp>();
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 获取一个流程实例的操作历史记录
/// </summary>
[HttpGet]
public Response<List<FlowInstanceOperationHistory>> QueryHistories([FromQuery]QueryFlowInstanceHistoryReq request)
{
var result = new Response<List<FlowInstanceOperationHistory>>();
try
{
result.Result= _app.QueryHistories(request);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>创建一个新的流程实例</summary>
/// <remarks> www.cnblogs.com/yubaolee, 2019-03-06. </remarks>
[HttpPost]
public Response Add([FromBody]AddFlowInstanceReq obj)
{
var result = new Response();
try
{
_app.CreateInstance(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
//添加或修改
[HttpPost]
public Response Update(FlowInstance obj)
{
var result = new Response();
try
{
_app.Update(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 流程节点审批
/// </summary>
/// <returns></returns>
[HttpPost]
public Response Verification(VerificationReq request)
{
var response = new Response();
try
{
_app.Verification(request);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 加载列表
/// </summary>
[HttpGet]
public TableData Load([FromQuery]QueryFlowInstanceListReq request)
{
return _app.Load(request);
}
[HttpPost]
public Response Delete([FromBody]string[] ids)
{
var result = new Response();
try
{
_app.Delete(ids);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
public FlowInstancesController(FlowInstanceApp app)
{
_app = app;
}
}
}

View File

@@ -0,0 +1,107 @@
using System;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 表单操作
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class FlowSchemesController : ControllerBase
{
private readonly FlowSchemeApp _app;
[HttpGet]
public Response<FlowScheme> Get(string id)
{
var result = new Response<FlowScheme>();
try
{
result.Result = _app.Get(id);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
//添加或修改
[HttpPost]
public Response Add(FlowScheme obj)
{
var result = new Response();
try
{
_app.Add(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
//添加或修改
[HttpPost]
public Response Update(FlowScheme obj)
{
var result = new Response();
try
{
_app.Update(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 加载列表
/// </summary>
[HttpGet]
public TableData Load([FromQuery]QueryFlowSchemeListReq request)
{
return _app.Load(request);
}
[HttpPost]
public Response Delete([FromBody]string[] ids)
{
var result = new Response();
try
{
_app.Delete(ids);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
public FlowSchemesController(FlowSchemeApp app)
{
_app = app;
}
}
}

View File

@@ -0,0 +1,107 @@
using System;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 表单操作
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class FormsController : ControllerBase
{
private readonly FormApp _app;
[HttpGet]
public Response<FormResp> Get(string id)
{
var result = new Response<FormResp>();
try
{
result.Result = _app.FindSingle(id);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
//添加或修改
[HttpPost]
public Response Add(Form obj)
{
var result = new Response();
try
{
_app.Add(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
//添加或修改
[HttpPost]
public Response Update(Form obj)
{
var result = new Response();
try
{
_app.Update(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 加载列表
/// </summary>
[HttpGet]
public TableData Load([FromQuery]QueryFormListReq request)
{
return _app.Load(request);
}
[HttpPost]
public Response Delete([FromBody]string[] ids)
{
var result = new Response();
try
{
_app.Delete(ids);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
public FormsController(FormApp app)
{
_app = app;
}
}
}

View File

@@ -0,0 +1,248 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Interface;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 模块及菜单管理
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class ModulesController : ControllerBase
{
private ModuleManagerApp _app;
private IAuth _authUtil;
public ModulesController(IAuth authUtil, ModuleManagerApp app)
{
_app = app;
_authUtil = authUtil;
}
/// <summary>
/// 加载角色模块
/// </summary>
/// <param name="firstId">The role identifier.</param>
/// <returns>System.String.</returns>
[HttpGet]
public Response<IEnumerable<Module>> LoadForRole(string firstId)
{
var result = new Response<IEnumerable<Module>>();
try
{
result.Result = _app.LoadForRole(firstId);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 根据某角色ID获取可访问某模块的菜单项
/// </summary>
/// <returns></returns>
[HttpGet]
public Response<IEnumerable<ModuleElement>> LoadMenusForRole(string moduleId, string firstId)
{
var result = new Response<IEnumerable<ModuleElement>>();
try
{
result.Result = _app.LoadMenusForRole(moduleId, firstId);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 获取角色已经分配的字段
/// </summary>
/// <param name="roleId">角色id</param>
/// <param name="moduleCode">模块代码如Category</param>
/// <returns></returns>
[HttpGet]
public Response<IEnumerable<string>> LoadPropertiesForRole(string roleId, string moduleCode)
{
var result = new Response<IEnumerable<string>>();
try
{
result.Result = _app.LoadPropertiesForRole(roleId, moduleCode);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 获取发起页面的菜单权限
/// </summary>
/// <returns>System.String.</returns>
[HttpGet]
public Response<List<ModuleElement>> LoadMenus(string moduleId)
{
var result = new Response<List<ModuleElement>>();
try
{
var user = _authUtil.GetCurrentUser();
if (string.IsNullOrEmpty(moduleId))
{
result.Result = user.ModuleElements;
}
else
{
var module = user.Modules.First(u => u.Id == moduleId);
if (module == null)
{
throw new Exception("模块不存在");
}
result.Result = module.Elements;
}
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
#region
//添加或修改
[HttpPost]
public Response<Module> Add(Module obj)
{
var result = new Response<Module>();
try
{
_app.Add(obj);
result.Result = obj;
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
//添加或修改
[HttpPost]
public Response Update(Module obj)
{
var result = new Response();
try
{
_app.Update(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
[HttpPost]
public Response Delete([FromBody]string[] ids)
{
var result = new Response();
try
{
_app.Delete(ids);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
#endregion
//添加或修改
[HttpPost]
public Response<ModuleElement> AddMenu(ModuleElement obj)
{
var result = new Response<ModuleElement>();
try
{
_app.AddMenu(obj);
result.Result = obj;
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
//添加或修改
[HttpPost]
public Response UpdateMenu(ModuleElement obj)
{
var result = new Response();
try
{
_app.UpdateMenu(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
[HttpPost]
public Response DeleteMenu([FromBody]string[] ids)
{
var result = new Response();
try
{
_app.DelMenu(ids);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
}
}

View File

@@ -0,0 +1,164 @@
using System;
using System.Collections.Generic;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 定时任务操作
/// 【系统模块】
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class OpenJobsController : ControllerBase
{
private readonly OpenJobApp _app;
//获取详情
[HttpGet]
public Response<OpenJob> Get(string id)
{
var result = new Response<OpenJob>();
try
{
result.Result = _app.Get(id);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 添加
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
[HttpPost]
public Response Add(AddOrUpdateOpenJobReq obj)
{
var result = new Response();
try
{
_app.Add(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 修改
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
[HttpPost]
public Response Update(AddOrUpdateOpenJobReq obj)
{
var result = new Response();
try
{
_app.Update(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 加载列表
/// </summary>
[HttpGet]
public TableData Load([FromQuery]QueryOpenJobListReq request)
{
return _app.Load(request);
}
/// <summary>
/// 批量删除
/// </summary>
[HttpPost]
public Response Delete([FromBody]string[] ids)
{
var result = new Response();
try
{
_app.Delete(ids);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 获取本地可执行的任务列表
/// </summary>
[HttpPost]
public Response<List<string>> QueryLocalHandlers()
{
var result = new Response<List<string>>();
try
{
result.Result = _app.QueryLocalHandlers();
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 改变任务状态,启动/停止
/// </summary>
[HttpPost]
public Response ChangeStatus(ChangeJobStatusReq req)
{
var result = new Response();
try
{
_app.ChangeJobStatus(req);
result.Message = "切换成功,可以在系统日志中查看运行结果";
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
public OpenJobsController(OpenJobApp app)
{
_app = app;
}
}
}

View File

@@ -0,0 +1,102 @@
using System;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 机构操作
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class OrgsController : ControllerBase
{
private readonly OrgManagerApp _app;
[HttpGet]
public Response<Org> Get(string id)
{
var result = new Response<Org>();
try
{
result.Result = _app.Get(id);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
//添加或修改
[HttpPost]
public Response<Org> Add(Org obj)
{
var result = new Response<Org>();
try
{
_app.Add(obj);
result.Result = obj;
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
//添加或修改
[HttpPost]
public Response Update(Org obj)
{
var result = new Response();
try
{
_app.Update(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 删除选中的部门及所有的子部门
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
[HttpPost]
public Response Delete([FromBody]string[] ids)
{
var result = new Response();
try
{
_app.DelOrgCascade(ids);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
public OrgsController(OrgManagerApp app)
{
_app = app;
}
}
}

View File

@@ -0,0 +1,106 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Interface;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 三方资源管理(暂时没有业务关联)
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class ResourcesController : ControllerBase
{
private readonly ResourceApp _app;
public ResourcesController(IAuth authUtil, ResourceApp app)
{
_app = app;
}
[HttpGet]
public TableData Load([FromQuery]QueryResourcesReq request)
{
return _app.Load(request);
}
[HttpPost]
public Response Delete([FromBody]string[] ids)
{
Response resp = new Response();
try
{
_app.Delete(ids);
}
catch (Exception e)
{
resp.Code = 500;
resp.Message = e.Message;
}
return resp;
}
[HttpPost]
public Response<string> Add(AddOrUpdateResReq obj)
{
var resp = new Response<string>();
try
{
_app.Add(obj);
resp.Result = obj.Id;
}
catch (Exception e)
{
resp.Code = 500;
resp.Message = e.Message;
}
return resp;
}
[HttpPost]
public Response Update(AddOrUpdateResReq obj)
{
Response resp = new Response();
try
{
_app.Update(obj);
}
catch (Exception e)
{
resp.Code = 500;
resp.Message = e.Message;
}
return resp;
}
/// <summary>
/// 加载角色资源
/// </summary>
/// <param name="appId">应用ID</param>
/// <param name="firstId">角色ID</param>
[HttpGet]
public Response<List<Resource>> LoadForRole(string appId, string firstId)
{
var result = new Response<List<Resource>>();
try
{
result.Result = _app.LoadForRole(appId, firstId).ToList();
}
catch (Exception e)
{
result.Code = 500;
result.Message = e.InnerException?.Message ?? e.Message;
}
return result;
}
}
}

View File

@@ -0,0 +1,142 @@
using System;
using System.Collections.Generic;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 表单操作
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class RolesController : ControllerBase
{
private readonly RoleApp _app;
private readonly RevelanceManagerApp _revelanceManagerApp;
public RolesController(RevelanceManagerApp revelanceManagerApp, RoleApp app)
{
_revelanceManagerApp = revelanceManagerApp;
_app = app;
}
[HttpGet]
public Response<Role> Get(string id)
{
var result = new Response<Role>();
try
{
result.Result = _app.Get(id);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
//添加或修改
[HttpPost]
public Response<RoleView> Add(RoleView obj)
{
var result = new Response<RoleView>();
try
{
_app.Add(obj);
result.Result = obj;
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
//添加或修改
[HttpPost]
public Response Update(RoleView obj)
{
var result = new Response();
try
{
_app.Update(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 加载列表
/// </summary>
[HttpGet]
public Response<List<Role>> Load([FromQuery]QueryRoleListReq request)
{
var result = new Response<List<Role>>();
try
{
result.Result = _app.Load(request);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 加载用户的角色
/// </summary>
[HttpGet]
public Response<List<string>> LoadForUser(string userId)
{
var result = new Response<List<string>>();
try
{
result.Result = _revelanceManagerApp.Get(Define.USERROLE, true, userId);
}
catch (Exception e)
{
result.Code = 500;
result.Message = e.InnerException?.Message ?? e.Message;
}
return result;
}
[HttpPost]
public Response Delete([FromBody]string[] ids)
{
var result = new Response();
try
{
_app.Delete(ids);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
}
}

View File

@@ -0,0 +1,37 @@
using Infrastructure;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using OpenAuth.App;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 系统配置信息
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class SysConfController :ControllerBase
{
private IOptions<AppSetting> _appConfiguration;
public SysConfController(IOptions<AppSetting> appConfiguration)
{
_appConfiguration = appConfiguration;
}
/// <summary>
/// 是否Identity认证
/// </summary>
/// <returns></returns>
[AllowAnonymous]
[HttpGet]
public Response<bool> IsIdentityAuth()
{
return new Response<bool>
{
Result = _appConfiguration.Value.IsIdentityAuth
};
}
}
}

View File

@@ -0,0 +1,115 @@
using System;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 系统日志
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class SysLogsController : ControllerBase
{
private readonly SysLogApp _app;
//获取详情
[HttpGet]
public Response<SysLog> Get(string id)
{
var result = new Response<SysLog>();
try
{
result.Result = _app.Get(id);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 添加
/// </summary>
[HttpPost]
public Response Add(SysLog obj)
{
var result = new Response();
try
{
_app.Add(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 修改日志(建议废弃)
/// </summary>
[HttpPost]
public Response Update(SysLog obj)
{
var result = new Response();
try
{
_app.Update(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 加载列表
/// </summary>
[HttpGet]
public TableData Load([FromQuery]QuerySysLogListReq request)
{
return _app.Load(request);
}
/// <summary>
/// 批量删除
/// </summary>
[HttpPost]
public Response Delete([FromBody]string[] ids)
{
var result = new Response();
try
{
_app.Delete(ids);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
public SysLogsController(SysLogApp app)
{
_app = app;
}
}
}

View File

@@ -0,0 +1,111 @@
using System;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 用户消息及系统消息
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class SysMessagesController : ControllerBase
{
private readonly SysMessageApp _app;
//获取详情
[HttpGet]
public Response<SysMessage> Get(string id)
{
var result = new Response<SysMessage>();
try
{
result.Result = _app.Get(id);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
//添加
[HttpPost]
public Response Add(SysMessage obj)
{
var result = new Response();
try
{
_app.Add(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
//修改
[HttpPost]
public Response Update(SysMessage obj)
{
var result = new Response();
try
{
_app.Update(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 加载列表
/// </summary>
[HttpGet]
public TableData Load([FromQuery]QuerySysMessageListReq request)
{
return _app.Load(request);
}
/// <summary>
/// 批量删除
/// </summary>
[HttpPost]
public Response Delete([FromBody]string[] ids)
{
var result = new Response();
try
{
_app.Delete(ids);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
public SysMessagesController(SysMessageApp app)
{
_app = app;
}
}
}

View File

@@ -0,0 +1,154 @@
using System;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 用户操作
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class UsersController : ControllerBase
{
private readonly UserManagerApp _app;
[HttpGet]
public Response<UserView> Get(string id)
{
var result = new Response<UserView>();
try
{
result.Result = _app.Get(id);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 修改用户资料
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public Response ChangeProfile(ChangeProfileReq request)
{
var result = new Response();
try
{
_app.ChangeProfile(request);
result.Message = "修改成功,重新登录生效";
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 修改密码
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public Response ChangePassword(ChangePasswordReq request)
{
var result = new Response();
try
{
_app.ChangePassword(request);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
//添加或修改
[HttpPost]
public Response<string> AddOrUpdate(UpdateUserReq obj)
{
var result = new Response<string>();
try
{
_app.AddOrUpdate(obj);
result.Result = obj.Id; //返回ID
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 加载列表
/// 获取当前登录用户可访问的一个部门及子部门全部用户
/// </summary>
[HttpGet]
public TableData Load([FromQuery]QueryUserListReq request)
{
return _app.Load(request);
}
[HttpPost]
public Response Delete([FromBody]string[] ids)
{
var result = new Response();
try
{
_app.Delete(ids);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 加载指定角色的用户
/// </summary>
[HttpGet]
public TableData LoadByRole([FromQuery]QueryUserListByRoleReq request)
{
return _app.LoadByRole(request);
}
/// <summary>
/// 加载指定部门的用户
/// 不包含下级部门的用户
/// </summary>
[HttpGet]
public TableData LoadByOrg([FromQuery]QueryUserListByOrgReq request)
{
return _app.LoadByOrg(request);
}
public UsersController(UserManagerApp app)
{
_app = app;
}
}
}

View File

@@ -0,0 +1,117 @@
using System;
using Infrastructure;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 订单明细
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class WmsInboundOrderDtblsController : ControllerBase
{
private readonly WmsInboundOrderDtblApp _app;
//获取详情
[HttpGet]
public Response<WmsInboundOrderDtbl> Get(string id)
{
var result = new Response<WmsInboundOrderDtbl>();
try
{
result.Result = _app.Get(id);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
//添加
[HttpPost]
public Response<string> Add(AddOrUpdateWmsInboundOrderDtblReq obj)
{
var result = new Response<string>();
try
{
_app.Add(obj);
result.Result = obj.Id;
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 修改明细
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
[HttpPost]
public Response Update(AddOrUpdateWmsInboundOrderDtblReq obj)
{
var result = new Response();
try
{
_app.Update(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 加载列表
/// </summary>
[HttpGet]
[AllowAnonymous]
public TableData Load([FromQuery]QueryWmsInboundOrderDtblListReq request)
{
return _app.Load(request);
}
/// <summary>
/// 批量删除
/// </summary>
[HttpPost]
public Response Delete([FromBody]string[] ids)
{
var result = new Response();
try
{
_app.Delete(ids);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
public WmsInboundOrderDtblsController(WmsInboundOrderDtblApp app)
{
_app = app;
}
}
}

View File

@@ -0,0 +1,122 @@
using System;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 订单头部信息
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class WmsInboundOrderTblsController : ControllerBase
{
private readonly WmsInboundOrderTblApp _app;
//获取详情
[HttpGet]
public Response<WmsInboundOrderTbl> Get(string id)
{
var result = new Response<WmsInboundOrderTbl>();
try
{
result.Result = _app.Get(id);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 新增订单,可以同时添加头/明细也可以只添加头根据返回的ID再添加明细
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
[HttpPost]
public Response Add(AddOrUpdateWmsInboundOrderTblReq obj)
{
var result = new Response();
try
{
_app.Add(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 修改头信息,同时修改明细信息
/// 如果提交的明细有id则编辑
/// 如果提交的明细没有id则添加;
/// 如果数据库中存在没有提交的明细,则删除数据库中记录
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
[HttpPost]
public Response Update(AddOrUpdateWmsInboundOrderTblReq obj)
{
var result = new Response();
try
{
_app.Update(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 加载列表
/// </summary>
[HttpGet]
public TableData Load([FromQuery]QueryWmsInboundOrderTblListReq request)
{
return _app.Load(request);
}
/// <summary>
/// 批量删除
/// </summary>
[HttpPost]
public Response Delete([FromBody]string[] ids)
{
var result = new Response();
try
{
_app.Delete(ids);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
public WmsInboundOrderTblsController(WmsInboundOrderTblApp app)
{
_app = app;
}
}
}