sunpengfei
7 天以前 a2efd6c3bdbea77ef13205f4102cae774a233041
FlexJobApi.Core/Utils/ResourceUtils/ResourceUtils.cs
@@ -6,6 +6,8 @@
using Furion.DynamicApiController;
using Furion.FriendlyException;
using Furion.HttpRemote;
using Furion.Logging;
using Furion.Logging.Extensions;
using Mapster;
using MediatR;
using Microsoft.AspNetCore.Mvc;
@@ -69,14 +71,13 @@
                    var model = new ResourceModel();
                    model.TraceId = traceId;
                    model.ApplicationName = resourceService.ApplicationName;
                    model.Controller = controller;
                    model.ControllerName = resourceController.ControllerName;
                    model.ControllerSummary = resourceControllers.GetDescription(controller);
                    model.ActionName = Regex.Replace(request.Name, @"(Command|Query)$", "", RegexOptions.None);
                    model.ActionSummary = requestXmlDoc?.Summary;
                    model.Service = resourceController.Service;
                    model.ServiceName = resourceService.ServiceName;
                    model.RouteArea = resourceService.RouteArea;
                    model.Route = $"/api/{resourceService.RouteArea ?? "main"}/{controller}/{model.ActionName}";
                    model.Route = $"/api/{resourceService.RouteArea ?? "main"}/{model.ControllerName}/{model.ActionName}";
                    model.Method =
                        resourceAttribute.Method != EnumResourceMethod.None
                        ? resourceAttribute.Method
@@ -92,6 +93,14 @@
                        ? EnumResourceMethod.Delete
                        : EnumResourceMethod.Post;
                    model.FileUpload = resourceAttribute.FileUpload;
                    if (model.FileUpload)
                    {
                        model.IsFromForm = true;
                    }
                    else
                    {
                        model.IsFromForm = resourceAttribute.IsFromForm;
                    }
                    model.Code = requestXmlDoc?.Name;
                    model.Name = $"{model.ControllerSummary}-{model.ActionSummary}";
                    model.AllowAnonymous = resourceAttribute.AllowAnonymous;
@@ -179,7 +188,7 @@
                .GroupBy(it => new
                {
                    it.ApplicationName,
                    it.Controller,
                    it.ControllerName,
                    it.ControllerSummary,
                    it.RouteArea
                })
@@ -204,13 +213,13 @@
using System.ComponentModel;
namespace {controller.Key.ApplicationName}.{controller.Key.Controller}
namespace {controller.Key.ApplicationName}.{controller.Key.ControllerName}
{{
    /// <summary>
    /// {controller.Key.ControllerSummary}
    /// </summary>
    [Route(""api/{controller.Key.RouteArea}/[controller]"")]
    public class {controller.Key.Controller}AppService(IMediator mediator) : IDynamicApiController
    public class {controller.Key.ControllerName}AppService(IMediator mediator) : IDynamicApiController
    {{
        private readonly IMediator mediator = mediator;";
@@ -238,7 +247,7 @@
                    }
                    code += @$"
        public {result} {action.ActionName}(";
                    if (action.FileUpload)
                    if (action.FileUpload || action.IsFromForm)
                    {
                        code += "[FromForm] ";
                    }
@@ -264,7 +273,7 @@
                }
                catch (Exception ex)
                {
                    Console.WriteLine(code);
                    code.LogError(ex);
                    throw;
                }
            }