This commit is contained in:
cjd
2025-11-04 21:09:16 +08:00
parent 8260e293c7
commit bb90a020dc
592 changed files with 61749 additions and 27 deletions

View 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();
}
}

View 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();
}
}

View 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();
}
}

View 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();
}
}