Files
shgx_tz_mes_backend_sync/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/ControllersTemplate.txt

138 lines
4.4 KiB
Plaintext
Raw Normal View History

using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using SqlSugar;
using Infrastructure;
using Infrastructure.Attribute;
using Infrastructure.Enums;
using Infrastructure.Model;
using Mapster;
2021-09-10 22:15:01 +08:00
using {ModelsNamespace}.Dto;
using {ModelsNamespace}.Models;
2021-09-16 17:52:31 +08:00
using {ServicesNamespace}.Business;
using {ApiControllerNamespace}.Extensions;
using {ApiControllerNamespace}.Filters;
using ZR.Common;
2021-09-29 15:57:56 +08:00
using Infrastructure.Extensions;
2021-09-16 17:52:31 +08:00
namespace {ApiControllerNamespace}.Controllers
{
/// <summary>
/// {FunctionName}Controller
///
/// @author {Author}
/// @date {DateTime}
/// </summary>
[Verify]
2021-09-23 22:26:45 +08:00
[Route("{ModuleName}/{ModelName}")]
2021-09-16 17:52:31 +08:00
public class {ModelName}Controller: BaseController
{
/// <summary>
/// {FunctionName}接口
/// </summary>
2021-09-16 17:52:31 +08:00
private readonly I{ModelName}Service _{ModelName}Service;
2021-09-16 17:52:31 +08:00
public {ModelName}Controller(I{ModelName}Service {ModelName}Service)
{
2021-09-16 17:52:31 +08:00
_{ModelName}Service = {ModelName}Service;
}
/// <summary>
/// 查询{FunctionName}列表
/// </summary>
/// <returns></returns>
[HttpGet("list")]
2021-09-12 19:57:50 +08:00
[ActionPermissionFilter(Permission = "{Permission}:list")]
2021-09-16 19:07:49 +08:00
public IActionResult Query{ModelName}([FromQuery] {ModelName}QueryDto parm)
{
//开始拼装查询条件
2021-09-12 19:57:50 +08:00
var predicate = Expressionable.Create<{ModelName}>();
//TODO 自己实现搜索条件查询语法参考Sqlsugar默认查询所有
//predicate = predicate.And(m => m.Name.Contains(parm.Name));
2021-09-16 17:52:31 +08:00
var response = _{ModelName}Service.GetPages(predicate.ToExpression(), parm);
return SUCCESS(response);
}
/// <summary>
/// 查询{FunctionName}详情
/// </summary>
2021-09-16 17:52:31 +08:00
/// <param name="{PrimaryKey}"></param>
/// <returns></returns>
2021-09-16 17:52:31 +08:00
[HttpGet("{{PrimaryKey}}")]
2021-09-12 19:57:50 +08:00
[ActionPermissionFilter(Permission = "{Permission}:query")]
public IActionResult Get{ModelName}({PKCsharpType} {PrimaryKey})
{
2021-09-16 17:52:31 +08:00
var response = _{ModelName}Service.GetId({PrimaryKey});
return SUCCESS(response);
}
/// <summary>
/// 添加{FunctionName}
/// </summary>
/// <returns></returns>
[HttpPost]
2021-09-12 19:57:50 +08:00
[ActionPermissionFilter(Permission = "{Permission}:add")]
2021-10-10 10:22:30 +08:00
[Log(Title = "{FunctionName}", BusinessType = BusinessType.INSERT)]
2021-09-16 19:07:49 +08:00
public IActionResult Add{ModelName}([FromBody] {ModelName}Dto parm)
{
if (parm == null)
{
throw new CustomException("请求参数错误");
}
//从 Dto 映射到 实体
2021-09-29 15:57:56 +08:00
var model = parm.Adapt<{ModelName}>().ToCreate(HttpContext);
2021-09-21 20:31:35 +08:00
return SUCCESS(_{ModelName}Service.Add(model, it => new
{
2021-10-10 10:22:30 +08:00
{InsertColumn}
2021-09-21 20:31:35 +08:00
}));
}
/// <summary>
/// 更新{FunctionName}
/// </summary>
/// <returns></returns>
2021-09-10 18:39:20 +08:00
[HttpPut]
2021-09-12 19:57:50 +08:00
[ActionPermissionFilter(Permission = "{Permission}:update")]
2021-10-10 10:22:30 +08:00
[Log(Title = "{FunctionName}", BusinessType = BusinessType.UPDATE)]
2021-09-16 19:07:49 +08:00
public IActionResult Update{ModelName}([FromBody] {ModelName}Dto parm)
{
2021-09-10 18:39:20 +08:00
if (parm == null)
{
throw new CustomException("请求实体不能为空");
}
//从 Dto 映射到 实体
2021-09-29 15:57:56 +08:00
var model = parm.Adapt<{ModelName}>().ToUpdate(HttpContext);
2021-09-10 18:39:20 +08:00
2021-09-21 20:31:35 +08:00
var response = _{ModelName}Service.Update(w => w.{PrimaryKey} == model.{PrimaryKey}, it => new {ModelName}()
2021-09-10 18:39:20 +08:00
{
2021-09-18 18:13:28 +08:00
//Update 字段映射
2021-10-10 10:22:30 +08:00
{UpdateColumn}
2021-09-10 18:39:20 +08:00
});
return SUCCESS(response);
}
/// <summary>
/// 删除{FunctionName}
/// </summary>
/// <returns></returns>
[HttpDelete("{ids}")]
2021-09-12 19:57:50 +08:00
[ActionPermissionFilter(Permission = "{Permission}:delete")]
2021-10-10 10:22:30 +08:00
[Log(Title = "{FunctionName}", BusinessType = BusinessType.DELETE)]
public IActionResult Delete{ModelName}(string ids)
{
int[] idsArr = Tools.SpitIntArrary(ids);
2021-09-27 16:07:55 +08:00
if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); }
var response = _{ModelName}Service.Delete(idsArr);
return SUCCESS(response);
}
}
}