Base新增 批量新增接口

master
xiaochanghai 1 year ago
parent 2842cca58a
commit 8b79ed7a09
  1. 60
      Tiobon.Core.Api/Controllers/Base/BaseController.cs
  2. 23
      Tiobon.Core.Api/Tiobon.Core.xml
  3. 4
      Tiobon.Core.Services/BASE/BaseServices.cs

@ -74,6 +74,26 @@ public class BaseController<IServiceBase, TEntity, TEntityDto, TInsertDto, TEdit
return data;
}
/// <summary>
/// 批量新增数据
/// </summary>
/// <param name="insertModels"></param>
[HttpPost]
[Route("BulkInsert")]
public async Task<ServiceResult<List<long>>> BulkInsert([FromBody] List<TInsertDto> insertModels)
{
var data = Success<List<long>>(null, "新增成功");
var ids = await InvokeServiceAsync("Add", [insertModels]) as List<long>;
data.Success = ids.Any();
if (data.Success)
data.Data = ids;
else
return Failed<List<long>>("新增失败");
return data;
}
#endregion
#region 更新
@ -116,26 +136,26 @@ public class BaseController<IServiceBase, TEntity, TEntityDto, TInsertDto, TEdit
#endregion
/// <summary>
/// 反射调用service方法
/// </summary>
/// <param name="methodName"></param>
/// <param name="parameters"></param>
/// <returns></returns>
[NonAction]
private object InvokeService(string methodName, object[] parameters)
{
return _service.GetType().GetMethod(methodName).Invoke(_service, parameters);
}
/// <summary>
/// 反射调用service方法
/// </summary>
/// <param name="methodName"></param>
/// <param name="types">为要调用重载的方法参数类型:new Type[] { typeof(SaveDataModel)</param>
/// <param name="parameters"></param>
/// <returns></returns>
[NonAction]
private object InvokeService(string methodName, Type[] types, object[] parameters) => _service.GetType().GetMethod(methodName, types).Invoke(_service, parameters);
///// <summary>
///// 反射调用service方法
///// </summary>
///// <param name="methodName"></param>
///// <param name="parameters"></param>
///// <returns></returns>
//[NonAction]
//private object InvokeService(string methodName, object[] parameters)
//{
// return _service.GetType().GetMethod(methodName).Invoke(_service, parameters);
//}
///// <summary>
///// 反射调用service方法
///// </summary>
///// <param name="methodName"></param>
///// <param name="types">为要调用重载的方法参数类型:new Type[] { typeof(SaveDataModel)</param>
///// <param name="parameters"></param>
///// <returns></returns>
//[NonAction]
//private object InvokeService(string methodName, Type[] types, object[] parameters) => _service.GetType().GetMethod(methodName, types).Invoke(_service, parameters);
[NonAction]

@ -40,6 +40,12 @@
<param name="insertModel"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.BaseController`5.BulkInsert(System.Collections.Generic.List{`3})">
<summary>
批量新增数据
</summary>
<param name="insertModels"></param>
</member>
<member name="M:Tiobon.Core.Controllers.BaseController`5.Put(System.Int64,`4)">
<summary>
更新数据
@ -55,23 +61,6 @@
<param name="Id">主键ID</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.BaseController`5.InvokeService(System.String,System.Object[])">
<summary>
反射调用service方法
</summary>
<param name="methodName"></param>
<param name="parameters"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.BaseController`5.InvokeService(System.String,System.Type[],System.Object[])">
<summary>
反射调用service方法
</summary>
<param name="methodName"></param>
<param name="types">为要调用重载的方法参数类型:new Type[] { typeof(SaveDataModel)</param>
<param name="parameters"></param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Controllers.TiobonController">
<summary>
博客管理

@ -433,13 +433,13 @@ namespace Tiobon.Core.Services.BASE
HttpRequest request = UserContext.Context.Request;
var api = request.Path.ObjToString().TrimEnd('/').ToLower();
var ip = GetUserIp(UserContext.Context);
listEntity.ForEach(entity =>
var list = Mapper.Map(listEntity).ToANew<List<TEntity>>();
list.ForEach(entity =>
{
BasePoco ent = entity as BasePoco;
ent.CreateIP = ip;
ent.CreateProg = api;
});
var list = Mapper.Map(listEntity).ToANew<List<TEntity>>();
return await BaseDal.Add(list);
}

Loading…
Cancel
Save