diff --git a/Infrastructure/Controllers/BaseController.cs b/Infrastructure/Controllers/BaseController.cs index d3dcb8b..500d55f 100644 --- a/Infrastructure/Controllers/BaseController.cs +++ b/Infrastructure/Controllers/BaseController.cs @@ -99,6 +99,10 @@ namespace Infrastructure.Controllers return new ApiResult((int)resultCode, msg, data); } + protected ApiResult Success() + { + return GetApiResult(ResultCode.SUCCESS); + } /// /// diff --git a/Infrastructure/Model/ApiResult.cs b/Infrastructure/Model/ApiResult.cs index c0388d3..eb675cc 100644 --- a/Infrastructure/Model/ApiResult.cs +++ b/Infrastructure/Model/ApiResult.cs @@ -14,13 +14,13 @@ namespace Infrastructure.Model /** 数据对象 */ public static readonly string DATA_TAG = "data"; - public int Code { get; set; } - public string Msg { get; set; } + //public int Code { get; set; } + //public string Msg { get; set; } /// /// 如果data值为null,则忽略序列化将不会返回data字段 /// - [JsonProperty(NullValueHandling = NullValueHandling.Ignore)] - public object Data { get; set; } + //[JsonProperty(NullValueHandling = NullValueHandling.Ignore)] + //public object Data { get; set; } /// /// 初始化一个新创建的APIResult对象,使其表示一个空消息 @@ -53,7 +53,7 @@ namespace Infrastructure.Model if (data != null) { Add(DATA_TAG, data); - } + } } /// /// 返回成功消息 @@ -103,9 +103,26 @@ namespace Infrastructure.Model /// public static ApiResult Error(string msg) { return new ApiResult((int)ResultCode.CUSTOM_ERROR, msg); } - public override string ToString() + + /// + /// 是否为成功消息 + /// + /// + public bool IsSuccess() { - return $"msg={Msg},data={Data}"; + return HttpStatus.SUCCESS == (int)this[CODE_TAG]; + } + + /// + /// 方便链式调用 + /// + /// + /// + /// + public ApiResult Put(string key, object value) + { + Add(key, value); + return this; } } diff --git a/Infrastructure/WebExtensions/EntityExtension.cs b/Infrastructure/WebExtensions/EntityExtension.cs index 61c9a77..3022abf 100644 --- a/Infrastructure/WebExtensions/EntityExtension.cs +++ b/Infrastructure/WebExtensions/EntityExtension.cs @@ -11,7 +11,7 @@ namespace Infrastructure public static TSource ToCreate(this TSource source, HttpContext? context = null) { var types = source?.GetType(); - if (types == null) return source; + if (types == null || context == null) return source; BindingFlags flag = BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.Instance; types.GetProperty("CreateTime", flag)?.SetValue(source, DateTime.Now, null); @@ -26,7 +26,7 @@ namespace Infrastructure public static TSource ToUpdate(this TSource source, HttpContext? context = null) { var types = source?.GetType(); - if (types == null) return source; + if (types == null || context == null) return source; BindingFlags flag = BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.Instance; types.GetProperty("UpdateTime", flag)?.SetValue(source, DateTime.Now, null); diff --git a/ZR.Admin.WebApi/Controllers/System/TasksController.cs b/ZR.Admin.WebApi/Controllers/System/TasksController.cs index d1e9ac9..c5daacd 100644 --- a/ZR.Admin.WebApi/Controllers/System/TasksController.cs +++ b/ZR.Admin.WebApi/Controllers/System/TasksController.cs @@ -86,7 +86,7 @@ namespace ZR.Admin.WebApi.Controllers throw new CustomException($"程序集或者类名不能为空"); } //从 Dto 映射到 实体 - var tasksQz = parm.Adapt().ToCreate(); + var tasksQz = parm.Adapt().ToCreate(HttpContext); tasksQz.Create_by = HttpContext.GetName(); tasksQz.ID = SnowFlakeSingle.Instance.NextId().ToString(); @@ -158,7 +158,7 @@ namespace ZR.Admin.WebApi.Controllers var tasksQz = _tasksQzService.GetFirst(m => m.ID == id); var taskResult = await _schedulerServer.DeleteTaskScheduleAsync(tasksQz); - if (taskResult.Code == 200) + if (taskResult.IsSuccess()) { _tasksQzService.Delete(id); } @@ -187,7 +187,7 @@ namespace ZR.Admin.WebApi.Controllers var tasksQz = _tasksQzService.GetFirst(m => m.ID == id); var taskResult = await _schedulerServer.AddTaskScheduleAsync(tasksQz); - if (taskResult.Code == 200) + if (taskResult.IsSuccess()) { tasksQz.IsStart = 1; _tasksQzService.Update(tasksQz); @@ -218,7 +218,7 @@ namespace ZR.Admin.WebApi.Controllers var tasksQz = _tasksQzService.GetFirst(m => m.ID == id); var taskResult = await _schedulerServer.DeleteTaskScheduleAsync(tasksQz);//await _schedulerServer.PauseTaskScheduleAsync(tasksQz); - if (taskResult.Code == 200) + if (taskResult.IsSuccess()) { tasksQz.IsStart = 0; _tasksQzService.Update(tasksQz); diff --git a/ZR.Admin.WebApi/Extensions/TasksExtension.cs b/ZR.Admin.WebApi/Extensions/TasksExtension.cs index 3464bc7..b1b11b1 100644 --- a/ZR.Admin.WebApi/Extensions/TasksExtension.cs +++ b/ZR.Admin.WebApi/Extensions/TasksExtension.cs @@ -40,7 +40,7 @@ namespace ZR.Admin.WebApi.Extensions foreach (var task in tasks.Result) { var result = _schedulerServer.AddTaskScheduleAsync(task); - if (result.Result.Code == 200) + if (result.Result.IsSuccess()) { Console.WriteLine($"注册任务[{task.Name}]ID:{task.ID}成功"); } diff --git a/ZR.ServiceCore/Filters/VerifyAttribute.cs b/ZR.ServiceCore/Filters/VerifyAttribute.cs index b9c44d8..87948d4 100644 --- a/ZR.ServiceCore/Filters/VerifyAttribute.cs +++ b/ZR.ServiceCore/Filters/VerifyAttribute.cs @@ -63,9 +63,7 @@ namespace ZR.Admin.WebApi.Filters { string msg = $"请求访问[{url}]失败,无法访问系统资源"; //logger.Info(msg); - var r = new ApiResult((int)ResultCode.DENY, msg); - - context.Result = new JsonResult(r); + context.Result = new JsonResult(ApiResult.Error(ResultCode.DENY, msg)); } } }