From b5c75c9edf9c13a8bd4ba2f0596a1ceaf2563c6b Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期四, 14 八月 2025 10:05:30 +0800
Subject: [PATCH] feat:开发

---
 FlexJobApi.Core/Utils/FriendlyResultUtils/FriendlyResultProvider.cs |   23 ++++++++++++++++-------
 1 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/FlexJobApi.Core/Utils/FriendlyResultUtils/FriendlyResultProvider.cs b/FlexJobApi.Core/Utils/FriendlyResultUtils/FriendlyResultProvider.cs
index 1795d0c..bc1ef72 100644
--- a/FlexJobApi.Core/Utils/FriendlyResultUtils/FriendlyResultProvider.cs
+++ b/FlexJobApi.Core/Utils/FriendlyResultUtils/FriendlyResultProvider.cs
@@ -5,6 +5,7 @@
 using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc;
 using Microsoft.AspNetCore.Mvc.Filters;
+using Microsoft.CodeAnalysis;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -31,6 +32,7 @@
                 GetResult(
                     metadata.StatusCode,
                     data: metadata.Data,
+                    errorCode: metadata.ErrorCode.ToString(),
                     errors: metadata.Errors),
                 UnifyContext.GetSerializerSettings(context));
         }
@@ -47,6 +49,7 @@
                 GetResult(
                     metadata.StatusCode,
                     data: metadata.Data,
+                    errorCode: metadata.ErrorCode?.ToString() ?? "s500",
                     errors: metadata.Errors)
                 , UnifyContext.GetSerializerSettings(context));
         }
@@ -75,11 +78,13 @@
         /// <returns></returns>
         public IActionResult OnValidateFailed(ActionExecutingContext context, ValidationMetadata metadata)
         {
+            UnifyContext.Fill(metadata.ValidationResult);
             return new JsonResult(
                 GetResult(
                     metadata.StatusCode ?? StatusCodes.Status400BadRequest,
                     data: metadata.Data,
-                    errors: metadata.ValidationResult),
+                    errorCode: "s400",
+                    errors: "鍙傛暟閿欒"),
                 UnifyContext.GetSerializerSettings(context));
         }
 
@@ -104,16 +109,18 @@
                 case StatusCodes.Status401Unauthorized:
                     await context.Response.WriteAsJsonAsync(
                         GetResult(
-                            statusCode, 
-                            errors: "401 Unauthorized"), 
+                            statusCode,
+                            errorCode: "401",
+                            errors: "401 Unauthorized"),
                         App.GetOptions<JsonOptions>()?.JsonSerializerOptions);
                     break;
                 // 澶勭悊 403 鐘舵�佺爜
                 case StatusCodes.Status403Forbidden:
                     await context.Response.WriteAsJsonAsync(
                         GetResult(
-                            statusCode, 
-                            errors: "403 Forbidden"), 
+                            statusCode,
+                            errorCode: "403",
+                            errors: "403 Forbidden"),
                         App.GetOptions<JsonOptions>()?.JsonSerializerOptions);
                     break;
                 default: break;
@@ -126,17 +133,19 @@
         /// <param name="statusCode"></param>
         /// <param name="succeeded"></param>
         /// <param name="data"></param>
+        /// <param name="errorCode"></param>
         /// <param name="errors"></param>
         /// <returns></returns>
-        private static FriendlyResult<object> GetResult(int statusCode, bool succeeded = default, object data = default, object errors = default)
+        private static FriendlyResult<object> GetResult(int statusCode, bool succeeded = default, object data = default, string errorCode = null, object errors = default)
         {
             return new FriendlyResult<object>
             {
                 TraceId = App.GetTraceId(),
                 Code = statusCode,
+                ErrorCode = errorCode,
                 Success = succeeded,
                 Data = data,
-                Errors = errors,
+                Msg = errors,
                 Extras = UnifyContext.Take(),
                 Timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()
             };

--
Gitblit v1.9.1