@{ var dataPermission=@Model.DataPermission=="Y";//是否启用数据权限 var isOrgTree=@Model.LeftTree=="org";//是否启用组织树 var funcList=@Model.FuncList;//获取功能列表 var isTreeList = @Model.ModuleType=="treeList";//是否是树表-列表 var isTreeTree = @Model.ModuleType=="treeTree"; //是否是树-树 var tableFieIds=@Model.TableFields;//获取字段 } using Microsoft.AspNetCore.Mvc; using System.ComponentModel; using MoYu.DynamicApiController; using @(@Model.ServicePosition); namespace @(@Model.ControllerPosition); /// /// @(@Model.FunctionName)控制器 /// [ApiDescriptionSettings("@(@Model.ApiGroup)", Tag = "@(@Model.FunctionName)")] [Route("@(@Model.RouteName)/@(@Model.BusName)")] @if(dataPermission) @:[RolePermission] public class @(@Model.ClassName)Controller: IDynamicApiController { private readonly I@(@Model.ServiceName) _@(@Model.ServiceFirstLower); @if(isOrgTree){ @if(dataPermission){ @:private readonly IOrgService _orgService; } else{ @:private readonly ISysOrgService _sysOrgService; } } public @(@Model.ClassName)Controller(I@(@Model.ServiceName) @(@Model.ServiceFirstLower) @if(isOrgTree){ @if(dataPermission){ @:,IOrgService orgService } else{ @:,ISysOrgService sysOrgService } } ) { this._@(@Model.ServiceFirstLower) = @(@Model.ServiceFirstLower); @if(isOrgTree){ @if(dataPermission){ @:_orgService = orgService; } else{ @:_sysOrgService = sysOrgService; } } } #region Get请求 /// /// @(@Model.DescriptionPage) /// /// /// [HttpGet("page")] [DisplayName("@(@Model.DescriptionPage)")] public async Task Page([FromQuery] @Model.PageInput input) { return await _@(@Model.ServiceFirstLower).Page(input); } /// /// @(@Model.DescriptionList) /// /// /// [HttpGet("list")] [DisplayName("@(@Model.DescriptionList)")] public async Task List([FromQuery] @Model.PageInput input) { return await _@(@Model.ServiceFirstLower).List(input); } /// /// @(@Model.DescriptionDetail) /// /// /// [HttpGet("detail")] [DisplayName("@(@Model.DescriptionDetail)")] public async Task Detail([FromQuery] BaseIdInput input) { return await _@(@Model.ServiceFirstLower).Detail(input); } @{Fk();} @{Tree();} @{OtherGet();} #endregion #region Post请求 /// /// @(@Model.DescriptionAdd) /// /// /// [HttpPost("add")] [DisplayName("@(@Model.DescriptionAdd)")] public async Task Add([FromBody] @(@Model.ClassName)AddInput input) { await _@(@Model.ServiceFirstLower).Add(input); } /// /// @(@Model.DescriptionEdit) /// /// /// [HttpPost("edit")] [DisplayName("@(@Model.DescriptionEdit)")] public async Task Edit([FromBody] @(@Model.ClassName)EditInput input) { await _@(@Model.ServiceFirstLower).Edit(input); } /// /// @(@Model.DescriptionDelete) /// /// /// [HttpPost("delete")] [DisplayName("@(@Model.DescriptionDelete)")] public async Task Delete([FromBody] BaseIdListInput input) { await _@(@Model.ServiceFirstLower).Delete(input); } @{OtherPost();} #endregion } @{ void Fk(){ foreach (var column in tableFieIds){//遍历字段 if(column.EffectType=="fk"){//如果是外键 @:/// @:/// @(column.FieldRemark)选择器 @:/// @:/// @:[HttpGet("fk@(column.FkEntityName)Selector")] @:[DisplayName("@(column.FieldRemark)选择器")] @:public async Task Fk@(column.FkEntityName)Selector() @:{ @:return await _@(@Model.ServiceFirstLower).Fk@(column.FkEntityName)Selector(); @:} @: } } } void OtherGet(){ foreach(var func in funcList){ switch (func)//根据类型生成不同请求 { //导入 case "import": @:/// @:/// @(@Model.DescriptionPreview) @:/// @:/// @:/// @:[HttpPost("preview")] @:[DisableRequestSizeLimit] @:[SuppressMonitor] @:[DisplayName("@(@Model.DescriptionPreview)")] @:public async Task Preview([FromForm] ImportPreviewInput input) @:{ @:return await _@(@Model.ServiceFirstLower).Preview(input); @:} @: @:/// @:/// @(@Model.DescriptionTemplate) @:/// @:/// @:[HttpGet("template")] @:[SuppressMonitor] @:public async Task Template() @:{ @:return await _@(@Model.ServiceFirstLower).Template(); @:} @: break; } } } //左侧树接口 void Tree(){ if(isOrgTree){ @:/// @:/// 获取组织树选择器 @:/// @:/// @:[HttpGet("orgTreeSelector")] @:[DisplayName("组织树查询")] @:public async Task OrgTreeSelector() @:{ @if(dataPermission){ @:return await _orgService.Tree(); } else{ @:return await _sysOrgService.Tree(); } @:} } else if(isTreeList){ @:/// @:/// @(@Model.DescriptionTree) @:/// @:/// @:[HttpGet("tree")] @:[DisplayName("@(@Model.DescriptionTree)")] @:public async Task Tree() @:{ @:return await _@(@Model.ServiceFirstLower).Tree(); @:} } else if(isTreeTree){ @:/// @:/// @(@Model.DescriptionTree) @:/// @:/// @:[HttpGet("tree")] @:[DisplayName("@(@Model.DescriptionTree)")] @:public async Task Tree([FromQuery] @Model.TreeInput input) @:{ @:return await _@(@Model.ServiceFirstLower).Tree(input); @:} } } void OtherPost(){ foreach(var func in funcList){ switch (func)//根据类型生成不同请求 { //导入 case "import": @:/// @:/// @(@Model.DescriptionImport) @:/// @:/// @:/// @:[HttpPost("import")] @:[DisplayName("@(@Model.DescriptionImport)")] @:public async Task Import([SuppressMonitor][FromBody] ImportResultInput<@(@Model.ClassName)ImportInput> input) @:{ @:return await _@(@Model.ServiceFirstLower).Import(input); @:} @: break; //导出 case "export": @:/// @:/// @(@Model.DescriptionExport) @:/// @:/// @:/// @:[HttpPost("export")] @:[DisplayName("@(@Model.DescriptionExport)")] @:public async Task Export([FromBody] @Model.PageInput input) @:{ @:return await _@(@Model.ServiceFirstLower).Export(input); @:} @: break; //批量编辑 case "batchEdit": @:/// @:/// @(@Model.DescriptionEdits) @:/// @:/// @:/// @:[HttpPost("edits")] @:[DisplayName("@(@Model.DescriptionEdits)")] @:public async Task Edits([FromBody] BatchEditInput input) @:{ @:await _@(@Model.ServiceFirstLower).Edits(input); @:} @: break; } } } }