using $ProjectNamePrefix$.Core.Common.HttpContextUser;
|
using $ProjectNamePrefix$.Core.Extensions.Others;
|
using $ProjectNamePrefix$.Core.IServices;
|
using $ProjectNamePrefix$.Core.Model;
|
using $ProjectNamePrefix$.Core.Model.CommonModel;
|
using $ProjectNamePrefix$.Core.Model.Models;
|
using $ProjectNamePrefix$.Core.Model.ParamModels;
|
using $ProjectNamePrefix$.Core.Utility;
|
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.Extensions.Logging;
|
using Newtonsoft.Json;
|
using System.Collections.Generic;
|
using System.Threading.Tasks;
|
using System;
|
|
namespace $ProjectNamePrefix$.Core.Api.Controllers
|
{
|
/// <summary>
|
/// $ChinaComment$
|
/// </summary>
|
[Route("api/[controller]/[action]")]
|
[ApiController]
|
[Authorize(Permissions.Name)]
|
public class $EntityName$Controller : ControllerBase
|
{
|
private readonly I$EntityName$Services _$EntityName$Services;
|
private readonly IUser _user;
|
private readonly ILogger<$EntityName$Controller> _logger;
|
|
public $EntityName$Controller(I$EntityName$Services $EntityName$Services, IUser user, ILogger<$EntityName$Controller> logger)
|
{
|
_$EntityName$Services = $EntityName$Services;
|
_user = user;
|
_logger = logger;
|
}
|
|
/// <summary>
|
/// ·ÖÒ³»ñÈ¡$ChinaComment$Áбí
|
/// </summary>
|
/// <param name="param">ɸѡÌõ¼þ</param>
|
/// <returns>»ñÈ¡½á¹û</returns>
|
[HttpPost]
|
public async Task<MessageModel<PageModel<$EntityName$>>> Get([FromBody] $EntityName$Param param)
|
{
|
if (string.IsNullOrEmpty(param.searchVal) || string.IsNullOrWhiteSpace(param.searchVal))
|
{
|
param.searchVal = string.Empty;
|
}
|
|
var whereConditions = WhereConditionsExtensions.GetWhereConditions<$EntityName$, $EntityName$Param>(param);
|
if (!whereConditions.IsSuccess) {
|
return new MessageModel<PageModel<$EntityName$>>()
|
{
|
msg = whereConditions.ErrMsg,
|
success = false,
|
response = null
|
};
|
}
|
var data = await _$EntityName$Services.QueryPage(whereConditions.data, param.page, param.pageSize, " $OrderByName$ desc ");
|
return new MessageModel<PageModel<$EntityName$>>()
|
{
|
msg = "»ñÈ¡³É¹¦",
|
success = true,
|
response = data
|
};
|
|
}
|
|
/// <summary>
|
/// »ñÈ¡µ¥¸ö$ChinaComment$
|
/// </summary>
|
/// <param name="id">Ö÷¼ü</param>
|
/// <returns>»ñÈ¡½á¹û</returns>
|
[HttpGet]
|
public async Task<MessageModel<$EntityName$>> Get(int id = 0)
|
{
|
return new MessageModel<$EntityName$>()
|
{
|
msg = "»ñÈ¡³É¹¦",
|
success = true,
|
response = await _$EntityName$Services.QueryById(id)
|
};
|
}
|
|
/// <summary>
|
/// ÐÂÔö$ChinaComment$
|
/// </summary>
|
/// <param name="request">ÒªÐÂÔöµÄ$ChinaComment$¶ÔÏó</param>
|
/// <returns></returns>
|
[HttpPost]
|
public async Task<MessageModel<string>> Post([FromBody] $EntityName$ request)
|
{
|
try
|
{
|
#region ÑéÖ¤
|
MessageModel<string> retBody = null;
|
retBody = ValidateDataHelper.CommonValidateIsNULL<$EntityName$, string>(request);
|
if (retBody != null)
|
{
|
return retBody;
|
}
|
|
List<ValidateModel> columnsList = null;
|
columnsList = new List<ValidateModel>() {
|
$ValidateEmptyForInsert$
|
};
|
retBody = ValidateDataHelper.CommonValidate<$EntityName$, string>(request, columnsList);
|
if (retBody != null)
|
{
|
return retBody;
|
}
|
#endregion
|
|
request.CreateTime = request.ModifyTime = DateTime.Now;
|
request.CreateBy = request.ModifyBy = _user.Name;
|
request.CreateId = request.ModifyId = _user.ID;
|
request.OperationRemark = "Ìí¼Ó";
|
var id = await _$EntityName$Services.Add(request);
|
var success = id > 0;
|
|
if (success)
|
{
|
return MessageModel<string>.Success("Ìí¼Ó³É¹¦", id.ObjToString());
|
}
|
return MessageModel<string>.Fail("Ìí¼Óʧ°Ü");
|
}
|
catch (Exception ex)
|
{
|
_logger.LogError(ex,"ÐÂÔö$ChinaComment$³öÏÖÒì³£:" + ex.Message);
|
return MessageModel<string>.Fail("ÐÂÔö$ChinaComment$³öÏÖÒì³£:" + ex.Message);
|
}
|
}
|
|
/// <summary>
|
/// ¸üÐÂ$ChinaComment$
|
/// </summary>
|
/// <param name="request">Òª¸üеÄ$ChinaComment$¶ÔÏó</param>
|
/// <returns>¸üнá¹û</returns>
|
[HttpPut]
|
public async Task<MessageModel<string>> Put([FromBody] $EntityName$ request)
|
{
|
try
|
{
|
#region ÑéÖ¤
|
MessageModel<string> retBody = null;
|
retBody = ValidateDataHelper.CommonValidateIsNULL<$EntityName$, string>(request);
|
if (retBody != null)
|
{
|
return retBody;
|
}
|
|
List<ValidateModel> columnsList = null;
|
columnsList = new List<ValidateModel>()
|
{
|
$ValidateEmptyForUpdate$
|
};
|
retBody = ValidateDataHelper.CommonValidate<$EntityName$, string>(request, columnsList);
|
if (retBody != null)
|
{
|
return retBody;
|
}
|
#endregion
|
|
var dbObj = await _$EntityName$Services.QueryById(request.Id);
|
if (dbObj == null)
|
{
|
return MessageModel<string>.Fail("Êý¾Ý²»´æÔÚ!");
|
}
|
|
request.ModifyTime = DateTime.Now;
|
request.ModifyBy = _user.Name;
|
request.ModifyId = _user.ID;
|
request.OperationRemark = "¸üÐÂ";
|
var success = await _$EntityName$Services.Update(request);
|
|
if (success)
|
{
|
return MessageModel<string>.Success("¸üгɹ¦", request.Id.ObjToString());
|
}
|
return MessageModel<string>.Fail("¸üÐÂʧ°Ü");
|
}
|
catch (Exception ex)
|
{
|
_logger.LogError(ex,"¸üÐÂ$ChinaComment$³öÏÖÒì³£:" + ex.Message);
|
return MessageModel<string>.Fail("¸üÐÂ$ChinaComment$³öÏÖÒì³£:" + ex.Message);
|
}
|
}
|
|
/// <summary>
|
/// ɾ³ý$ChinaComment$
|
/// </summary>
|
/// <param name="id">Ö÷¼ü</param>
|
/// <returns>ɾ³ý½á¹û</returns>
|
[HttpDelete]
|
public async Task<MessageModel<string>> Delete(int id = 0)
|
{
|
try
|
{
|
var data = new MessageModel<string>();
|
if (id > 0)
|
{
|
var detail = await _$EntityName$Services.QueryById(id);
|
if (detail != null)
|
{
|
data.success = await _$EntityName$Services.DeleteById(detail.Id);
|
if (data.success)
|
{
|
data.msg = "ɾ³ý³É¹¦";
|
data.response = detail?.Id.ObjToString();
|
}
|
}
|
else {
|
return MessageModel<string>.Fail("Êý¾Ý²»´æÔÚ!");
|
}
|
}
|
else
|
{
|
data.success = false;
|
data.msg = "ɾ³ýʧ°Ü,$ChinaComment$²»´æÔÚ";
|
}
|
return data;
|
}
|
catch (Exception ex)
|
{
|
_logger.LogError(ex,"ɾ³ý$ChinaComment$³öÏÖÒì³£:" + ex.Message);
|
return MessageModel<string>.Fail("ɾ³ý$ChinaComment$³öÏÖÒì³£:" + ex.Message);
|
}
|
}
|
|
/// <summary>
|
/// Â߼ɾ³ý$ChinaComment$
|
/// </summary>
|
/// <param name="id">Ö÷¼ü</param>
|
/// <returns>ɾ³ý½á¹û</returns>
|
[HttpDelete]
|
public async Task<MessageModel<string>> LogicDelete(int id = 0)
|
{
|
try
|
{
|
var data = new MessageModel<string>();
|
if (id > 0)
|
{
|
var detail = await _$EntityName$Services.QueryById(id);
|
if (detail != null)
|
{
|
detail.ModifyTime = DateTime.Now;
|
detail.ModifyBy = _user.Name;
|
detail.ModifyId = _user.ID;
|
detail.IsDeleted = true;
|
detail.OperationRemark = "ɾ³ý";
|
data.success = await _$EntityName$Services.Update(detail);
|
if (data.success)
|
{
|
data.msg = "ɾ³ý³É¹¦";
|
data.response = detail?.Id.ObjToString();
|
}
|
}
|
}
|
else
|
{
|
data.success = false;
|
data.msg = "ɾ³ýʧ°Ü,Êý¾Ý²»´æÔÚ";
|
}
|
return data;
|
}
|
catch (Exception ex)
|
{
|
_logger.LogError(ex,"Â߼ɾ³ý$ChinaComment$³öÏÖÒì³£:" + ex.Message);
|
return MessageModel<string>.Fail("Â߼ɾ³ý$ChinaComment$³öÏÖÒì³£:" + ex.Message);
|
}
|
}
|
}
|
}
|