using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Threading.Tasks; using ZR.Admin.WebApi.Filters; using ZR.Admin.WebApi.Controllers; using ZR.Service.Business; using SqlSugar; using Infrastructure; using Infrastructure.Attribute; using Infrastructure.Enums; using Infrastructure.Model; using Mapster; using ZR.Admin.WebApi.Extensions; using ZR.Model.Dto; using ZR.Model.Models; namespace ZRAdmin.Controllers { /// /// 代码自动生成 /// [Verify] [Route("bus/<#=ModelName#>")] public class <#=ControllerName#>Controller: BaseController { /// /// <#=FileName#>接口 /// private readonly I<#=ServiceName#> _<#=ServiceName#>; public <#=ControllerName#>Controller(I<#=ServiceName#> <#=ServiceName#>) { _<#=ServiceName#> = <#=ServiceName#>; } /// /// 查询<#=FileName#>列表 /// /// [HttpGet("list")] [ActionPermissionFilter(Permission = "<#=Permission#>:list")] public IActionResult Query([FromQuery] <#=ModelName#>QueryDto parm) { //开始拼装查询条件 var predicate = Expressionable.Create<<#=ModelName#>>(); //TODO 搜索条件 //predicate = predicate.And(m => m.Name.Contains(parm.Name)); var response = _<#=ServiceName#>.GetPages(predicate.ToExpression(), parm); return SUCCESS(response); } /// /// 查询<#=FileName#>详情 /// /// /// [HttpGet("{{primaryKey}}")] [ActionPermissionFilter(Permission = "<#=Permission#>:query")] public IActionResult Get({KeyTypeName} {primaryKey}) { var response = _<#=ServiceName#>.GetId({primaryKey}); return SUCCESS(response); } /// /// 添加<#=FileName#> /// /// [HttpPost] [ActionPermissionFilter(Permission = "<#=Permission#>:add")] [Log(Title = "<#=FileName#>添加", BusinessType = BusinessType.INSERT)] public IActionResult Create([FromBody] <#=ModelName#>Dto parm) { if (parm == null) { throw new CustomException("请求参数错误"); } //从 Dto 映射到 实体 var addModel = parm.Adapt<<#=ModelName#>>().ToCreate(); //addModel.CreateID = User.Identity.Name; return SUCCESS(_<#=ServiceName#>.Add(addModel)); } /// /// 更新<#=FileName#> /// /// [HttpPut("edit")] [ActionPermissionFilter(Permission = "<#=Permission#>:update")] [Log(Title = "<#=FileName#>修改", BusinessType = BusinessType.UPDATE)] public IActionResult Update([FromBody] <#=ModelName#>Dto parm) { //从 Dto 映射到 实体 var addModel = parm.Adapt<<#=ModelName#>>().ToCreate(); //addModel.CreateID = User.Identity.Name; //TODO 字段映射 var response = _<#=ServiceName#>.Update(addModel); return SUCCESS(response); } /// /// 删除<#=FileName#> /// /// [HttpDelete("{{primaryKey}}")] [ActionPermissionFilter(Permission = "<#=Permission#>:delete")] [Log(Title = "<#=FileName#>删除", BusinessType = BusinessType.DELETE)] public IActionResult Delete({KeyTypeName} {primaryKey} = 0) { if ({primaryKey} <= 0) { return OutputJson(ApiResult.Error($"删除失败Id 不能为空")); } // 删除<#=FileName#> var response = _<#=ServiceName#>.Delete({primaryKey}); return SUCCESS(response); } } }