新增批量删除接口

master
xiaochanghai 1 year ago
parent 13e72e9694
commit 0afcae575f
  1. 24
      Tiobon.Core.Api/Controllers/Base/BaseController.cs
  2. 9
      Tiobon.Core.Api/Tiobon.Core.xml
  3. 1
      Tiobon.Core.IServices/BASE/IBaseServices.cs
  4. 8
      Tiobon.Core.Model/Base/BasePoco.cs
  5. 7
      Tiobon.Core.Repository/BASE/BaseRepository.cs
  6. 34
      Tiobon.Core.Services/BASE/BaseServices.cs

@ -1,5 +1,4 @@
using System.Reflection;
using SkyWalking.NetworkProtocol.V3;
namespace Tiobon.Core.Controllers;
@ -80,8 +79,7 @@ public class BaseController<IServiceBase, TEntity, TEntityDto, TInsertDto, TEdit
/// 批量新增数据
/// </summary>
/// <param name="insertModels"></param>
[HttpPost]
[Route("BulkInsert")]
[HttpPost, Route("BulkInsert")]
public async Task<ServiceResult<List<long>>> BulkInsert([FromBody] List<TInsertDto> insertModels)
{
var data = Success<List<long>>(null, "新增成功");
@ -114,11 +112,10 @@ public class BaseController<IServiceBase, TEntity, TEntityDto, TInsertDto, TEdit
return data;
}
/// <summary>
/// 扣费记录 -- 批量更新数据
/// 批量更新数据
/// </summary>
/// <param name="editModels"></param>
[HttpPut]
[Route("BulkUpdate")]
[HttpPut, Route("BulkUpdate")]
public async Task<ServiceResult> BulkUpdate([FromBody] Dictionary<long, TEditDto> editModels)
{
var data = Success("更新成功");
@ -147,6 +144,21 @@ public class BaseController<IServiceBase, TEntity, TEntityDto, TInsertDto, TEdit
return Failed("删除失败");
return data;
}
/// <summary>
/// 批量删除数据
/// </summary>
/// <param name="Ids">主键IDs</param>
/// <returns></returns>
[HttpDelete, Route("BulkDelete")]
public async Task<ServiceResult> BulkDelete([FromBody] long[] Ids)
{
var data = Success("删除成功");
data.Success = Convert.ToBoolean(await InvokeServiceAsync("DeleteByIds1", [Ids]));
if (!data.Success)
return Failed("删除失败");
return data;
}
#endregion
#endregion

@ -116,7 +116,7 @@
</member>
<member name="M:Tiobon.Core.Controllers.BaseController`5.BulkUpdate(System.Collections.Generic.Dictionary{System.Int64,`4})">
<summary>
扣费记录 -- 批量更新数据
批量更新数据
</summary>
<param name="editModels"></param>
</member>
@ -127,6 +127,13 @@
<param name="Id">主键ID</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.BaseController`5.BulkDelete(System.Int64[])">
<summary>
批量删除数据
</summary>
<param name="Ids">主键IDs</param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Controllers.TiobonController">
<summary>
博客管理

@ -101,6 +101,7 @@ namespace Tiobon.Core.IServices.BASE
Task<bool> Delete(TEntity model);
Task<bool> DeleteByIds(object[] ids);
Task<bool> DeleteByIds1(long[] ids);
Task<bool> Update(long Id, TEditDto model);
Task<bool> Update(Dictionary<long, TEditDto> editModels);

@ -44,25 +44,25 @@ namespace Tiobon.Core.Model
/// <summary>
/// 创建人
/// </summary>
[Display(Name = "创建人")]
[Display(Name = "创建人"), SugarColumn(IsOnlyIgnoreUpdate = true)]
public int? CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Display(Name = "创建时间")]
[Display(Name = "创建时间"), SugarColumn(IsOnlyIgnoreUpdate = true)]
public DateTime? CreateTime { get; set; }
/// <summary>
/// 创建程序
/// </summary>
[Display(Name = "创建程序")]
[Display(Name = "创建程序"), SugarColumn(IsOnlyIgnoreUpdate = true)]
public string CreateProg { get; set; }
/// <summary>
/// 创建IP
/// </summary>
[Display(Name = "创建IP")]
[Display(Name = "创建IP"), SugarColumn(IsOnlyIgnoreUpdate = true)]
public string CreateIP { get; set; }
/// <summary>

@ -201,12 +201,7 @@ namespace Tiobon.Core.Repository.Base
return await _db.Updateable<TEntity>(operateAnonymousObjects).ExecuteCommandAsync() > 0;
}
public async Task<bool> Update(
TEntity entity,
List<string> lstColumns = null,
List<string> lstIgnoreColumns = null,
string where = ""
)
public async Task<bool> Update(TEntity entity, List<string> lstColumns = null, List<string> lstIgnoreColumns = null, string where = "")
{
IUpdateable<TEntity> up = _db.Updateable(entity);
if (lstIgnoreColumns != null && lstIgnoreColumns.Count > 0)

@ -6,6 +6,7 @@ using Microsoft.AspNetCore.Http;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
using SqlSugar;
using Tiobon.Core.Common;
using Tiobon.Core.Common.DB.Dapper.Extensions;
using Tiobon.Core.Common.Extensions;
using Tiobon.Core.Common.Helper;
using Tiobon.Core.Common.UserManager;
@ -549,6 +550,11 @@ namespace Tiobon.Core.Services.BASE
return await BaseDal.DeleteById(id);
}
/// <summary>
/// 删除指定ID的数据
/// </summary>
/// <param name="id">主键ID</param>
/// <returns></returns>
public async Task<bool> DeleteById1(object id)
{
var entity = await BaseDal.QueryById(id);
@ -566,6 +572,34 @@ namespace Tiobon.Core.Services.BASE
{
return await BaseDal.DeleteByIds(ids);
}
/// <summary>
/// 删除指定ID集合的数据(批量删除)
/// </summary>
/// <param name="ids">主键ID集合</param>
/// <returns></returns>
public async Task<bool> DeleteByIds1(long[] ids)
{
HttpRequest request = UserContext.Context.Request;
var api = request.Path.ObjToString().TrimEnd('/').ToLower();
var ip = GetUserIp(UserContext.Context);
List<TEntity> entities = new List<TEntity>();
foreach (var id in ids)
{
if (id == null || !BaseDal.Any(id))
continue;
var entity = await BaseDal.QueryById(id);
BasePoco ent = entity as BasePoco;
ent.UpdateIP = ip;
ent.UpdateProg = api;
ent.IsEnable = 0;
entities.Add(entity);
}
return await BaseDal.Update(entities);
}
/// <summary>

Loading…
Cancel
Save