init
This commit is contained in:
50
DouyinApi.Api/Controllers/Tenant/TenantByDbController.cs
Normal file
50
DouyinApi.Api/Controllers/Tenant/TenantByDbController.cs
Normal file
@@ -0,0 +1,50 @@
|
||||
using DouyinApi.Common.HttpContextUser;
|
||||
using DouyinApi.Controllers;
|
||||
using DouyinApi.IServices.BASE;
|
||||
using DouyinApi.Model;
|
||||
using DouyinApi.Model.Models;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace DouyinApi.Api.Controllers.Tenant;
|
||||
|
||||
/// <summary>
|
||||
/// 多租户-多库方案 测试
|
||||
/// </summary>
|
||||
[Produces("application/json")]
|
||||
[Route("api/Tenant/ByDb")]
|
||||
[Authorize]
|
||||
public class TenantByDbController : BaseApiController
|
||||
{
|
||||
private readonly IBaseServices<SubLibraryBusinessTable> _services;
|
||||
private readonly IUser _user;
|
||||
|
||||
public TenantByDbController(IUser user, IBaseServices<SubLibraryBusinessTable> services)
|
||||
{
|
||||
_user = user;
|
||||
_services = services;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取租户下全部业务数据 <br/>
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public async Task<MessageModel<List<SubLibraryBusinessTable>>> GetAll()
|
||||
{
|
||||
var data = await _services.Query();
|
||||
return Success(data);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新增数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<MessageModel> Post(SubLibraryBusinessTable data)
|
||||
{
|
||||
await _services.Db.Insertable(data).ExecuteReturnSnowflakeIdAsync();
|
||||
|
||||
return Success();
|
||||
}
|
||||
}
|
||||
49
DouyinApi.Api/Controllers/Tenant/TenantByIdController.cs
Normal file
49
DouyinApi.Api/Controllers/Tenant/TenantByIdController.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
using DouyinApi.Common.HttpContextUser;
|
||||
using DouyinApi.Controllers;
|
||||
using DouyinApi.IServices.BASE;
|
||||
using DouyinApi.Model;
|
||||
using DouyinApi.Model.Models;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace DouyinApi.Api.Controllers.Tenant;
|
||||
|
||||
/// <summary>
|
||||
/// 多租户-Id方案 测试
|
||||
/// </summary>
|
||||
[Produces("application/json")]
|
||||
[Route("api/Tenant/ById")]
|
||||
[Authorize]
|
||||
public class TenantByIdController : BaseApiController
|
||||
{
|
||||
private readonly IBaseServices<BusinessTable> _services;
|
||||
private readonly IUser _user;
|
||||
|
||||
public TenantByIdController(IUser user, IBaseServices<BusinessTable> services)
|
||||
{
|
||||
_user = user;
|
||||
_services = services;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取租户下全部业务数据 <br/>
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public async Task<MessageModel<List<BusinessTable>>> GetAll()
|
||||
{
|
||||
var data = await _services.Query();
|
||||
return Success(data);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新增业务数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<MessageModel> Post([FromBody] BusinessTable data)
|
||||
{
|
||||
await _services.Db.Insertable(data).ExecuteReturnSnowflakeIdAsync();
|
||||
return Success();
|
||||
}
|
||||
}
|
||||
57
DouyinApi.Api/Controllers/Tenant/TenantByTableController.cs
Normal file
57
DouyinApi.Api/Controllers/Tenant/TenantByTableController.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
using DouyinApi.Common.HttpContextUser;
|
||||
using DouyinApi.Controllers;
|
||||
using DouyinApi.IServices.BASE;
|
||||
using DouyinApi.Model;
|
||||
using DouyinApi.Model.Models;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace DouyinApi.Api.Controllers.Tenant;
|
||||
|
||||
/// <summary>
|
||||
/// 多租户-多表方案 测试
|
||||
/// </summary>
|
||||
[Produces("application/json")]
|
||||
[Route("api/Tenant/ByTable")]
|
||||
[Authorize]
|
||||
public class TenantByTableController : BaseApiController
|
||||
{
|
||||
private readonly IBaseServices<MultiBusinessTable> _services;
|
||||
private readonly IUser _user;
|
||||
|
||||
public TenantByTableController(IUser user, IBaseServices<MultiBusinessTable> services)
|
||||
{
|
||||
_user = user;
|
||||
_services = services;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取租户下全部业务数据 <br/>
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public async Task<MessageModel<List<MultiBusinessTable>>> GetAll()
|
||||
{
|
||||
//查询
|
||||
// var data = await _services.Query();
|
||||
|
||||
//关联查询
|
||||
var data = await _services.Db
|
||||
.Queryable<MultiBusinessTable>()
|
||||
.Includes(s => s.Child)
|
||||
.ToListAsync();
|
||||
return Success(data);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新增数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<MessageModel> Post(MultiBusinessTable data)
|
||||
{
|
||||
await _services.Db.Insertable(data).ExecuteReturnSnowflakeIdAsync();
|
||||
|
||||
return Success();
|
||||
}
|
||||
}
|
||||
87
DouyinApi.Api/Controllers/Tenant/TenantManagerController.cs
Normal file
87
DouyinApi.Api/Controllers/Tenant/TenantManagerController.cs
Normal file
@@ -0,0 +1,87 @@
|
||||
using DouyinApi.Controllers;
|
||||
using DouyinApi.IServices;
|
||||
using DouyinApi.Model;
|
||||
using DouyinApi.Model.Models;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace DouyinApi.Api.Controllers.Tenant;
|
||||
|
||||
/// <summary>
|
||||
/// 租户管理
|
||||
/// </summary>
|
||||
[Produces("application/json")]
|
||||
[Route("api/TenantManager")]
|
||||
[Authorize]
|
||||
public class TenantManagerController : BaseApiController
|
||||
{
|
||||
private readonly ITenantService _services;
|
||||
|
||||
public TenantManagerController(ITenantService services)
|
||||
{
|
||||
_services = services;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取全部租户
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public async Task<MessageModel<List<SysTenant>>> GetAll()
|
||||
{
|
||||
var data = await _services.Query();
|
||||
return Success(data);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取租户信息
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet("{id}")]
|
||||
public async Task<MessageModel<SysTenant>> GetInfo(long id)
|
||||
{
|
||||
var data = await _services.QueryById(id);
|
||||
return Success(data);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新增租户信息 <br/>
|
||||
/// 此处只做演示,具体要以实际业务为准
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<MessageModel> Post(SysTenant tenant)
|
||||
{
|
||||
await _services.SaveTenant(tenant);
|
||||
return Success();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 修改租户信息 <br/>
|
||||
/// 此处只做演示,具体要以实际业务为准
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPut]
|
||||
public async Task<MessageModel> Put(SysTenant tenant)
|
||||
{
|
||||
await _services.SaveTenant(tenant);
|
||||
return Success();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除租户 <br/>
|
||||
/// 此处只做演示,具体要以实际业务为准
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpDelete]
|
||||
public async Task<MessageModel> Delete(long id)
|
||||
{
|
||||
//是否删除租户库?
|
||||
//要根据实际情况而定
|
||||
//例如直接删除租户库、备份租户库到xx
|
||||
await _services.DeleteById(id);
|
||||
return Success();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user