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; using {ModelsNamespace}.Dto; using {ModelsNamespace}.Models; using {ServicesNamespace}.Business; using {ApiControllerNamespace}.Extensions; using {ApiControllerNamespace}.Filters; using ZR.Common; namespace {ApiControllerNamespace}.Controllers { /// /// 代码自动生成 /// [Verify] [Route("bus/{ModelName}")] public class {ModelName}Controller: BaseController { /// /// {TableDesc}接口 /// private readonly I{ModelName}Service _{ModelName}Service; public {ModelName}Controller(I{ModelName}Service {ModelName}Service) { _{ModelName}Service = {ModelName}Service; } /// /// 查询{TableDesc}列表 /// /// [HttpGet("list")] [ActionPermissionFilter(Permission = "{Permission}:list")] public IActionResult Query{ModelName}([FromQuery] {ModelName}QueryDto parm) { //开始拼装查询条件 var predicate = Expressionable.Create<{ModelName}>(); //TODO 搜索条件 //predicate = predicate.And(m => m.Name.Contains(parm.Name)); var response = _{ModelName}Service.GetPages(predicate.ToExpression(), parm); return SUCCESS(response); } /// /// 查询{TableDesc}详情 /// /// /// [HttpGet("{{PrimaryKey}}")] [ActionPermissionFilter(Permission = "{Permission}:query")] public IActionResult Get{ModelName}({PKCsharpType} {PrimaryKey}) { var response = _{ModelName}Service.GetId({PrimaryKey}); return SUCCESS(response); } /// /// 添加{TableDesc} /// /// [HttpPost] [ActionPermissionFilter(Permission = "{Permission}:add")] [Log(Title = "{TableDesc}添加", BusinessType = BusinessType.INSERT)] public IActionResult Add{ModelName}([FromBody] {ModelName}Dto parm) { if (parm == null) { throw new CustomException("请求参数错误"); } //从 Dto 映射到 实体 var model = parm.Adapt<{ModelName}>().ToCreate(); return SUCCESS(_{ModelName}Service.Add(model, it => new { {InsertColumn} })); } /// /// 更新{TableDesc} /// /// [HttpPut] [ActionPermissionFilter(Permission = "{Permission}:update")] [Log(Title = "{TableDesc}修改", BusinessType = BusinessType.UPDATE)] public IActionResult Update{ModelName}([FromBody] {ModelName}Dto parm) { if (parm == null) { throw new CustomException("请求实体不能为空"); } //从 Dto 映射到 实体 var model = parm.Adapt<{ModelName}>().ToUpdate(); var response = _{ModelName}Service.Update(w => w.{PrimaryKey} == model.{PrimaryKey}, it => new {ModelName}() { //Update 字段映射 {UpdateColumn} }); return SUCCESS(response); } /// /// 删除{TableDesc} /// /// [HttpDelete("{ids}")] [ActionPermissionFilter(Permission = "{Permission}:delete")] [Log(Title = "{TableDesc}删除", BusinessType = BusinessType.DELETE)] public IActionResult Delete{ModelName}(string ids) { int[] idsArr = Tools.SpitIntArrary(ids); if (idsArr.Length <= 0) { return OutputJson(ApiResult.Error($"删除失败Id 不能为空")); } var response = _{ModelName}Service.Delete(idsArr); return SUCCESS(response); } } }