142 lines
4.9 KiB
C#
Raw Permalink Normal View History

2025-08-13 11:14:39 +08:00
using Learun.Application.TwoDevelopment.ZZDT_EC;
using Learun.Loger;
using Learun.Util;
using Learun.Util.Operat;
using Newtonsoft.Json;
2025-08-13 11:14:39 +08:00
using System.Web.Http;
using System.Web.Http.Results;
using System.Web.Mvc;
namespace Learun.Application.Web
{
/// <summary>
/// 版 本 PIT-ADMS V7.0.3 敏捷开发框架
/// Copyright (c) 2013-2018 Hexagon PPM
/// 创建人:-框架开发组
/// 日 期2017.03.08
/// 描 述:基础控制器。写了一些自己封装的返回结果
/// </summary>
[HandlerApiLogin(FilterMode.Enforce)]
//API接口接收参数日志用的时候取消注释
[LogActionFilter]
//[TimingActionFilter]
public abstract class WebApiControllerBase : ApiController
{
/// <summary>
/// 重写
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="content"></param>
/// <returns></returns>
protected new JsonResult<T> Json<T>(T content)
{
var SET = GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings;
SET.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;//25 09 03,getbreaker,避免循环引用 remoteCB
return Json<T>(content, SET, System.Text.Encoding.UTF8);
2025-08-13 11:14:39 +08:00
}
#region
/// <summary>
/// 日志对象实体
/// </summary>
private Log _logger;
/// <summary>
/// 日志操作
/// </summary>
public Log Logger
{
get { return _logger ?? (_logger = LogFactory.GetLogger(this.GetType().ToString())); }
}
#endregion
#region
/// <summary>
/// 返回成功消息
/// </summary>
/// <param name="data">数据</param>
/// <returns></returns>
protected virtual IHttpActionResult ToJsonResult(object data)
{
return Json(data);
}
/// <summary>
/// 返回成功消息
/// </summary>
/// <param name="info">消息</param>
/// <returns></returns>
protected virtual IHttpActionResult Success(string info)
{
return Json(new ResParameter { code = ResponseCode.success, info = info, data = new object { } });
}
/// <summary>
/// 返回成功消息
/// </summary>
/// <param name="data">数据</param>
/// <returns></returns>
protected virtual IHttpActionResult SuccessString(string data)
{
return Json(new ResParameter { code = ResponseCode.success, info = "响应成功", data = data });
}
/// <summary>
/// 返回成功数据
/// </summary>
/// <param name="data">数据</param>
/// <returns></returns>
protected virtual IHttpActionResult Success(object data)
{
return Json(new ResParameter { code = ResponseCode.success, info = "响应成功", data = data });
}
/// <summary>
/// 返回成功消息
/// </summary>
/// <param name="info">消息</param>
/// <param name="data">数据</param>
/// <returns></returns>
protected virtual IHttpActionResult Success(string info, object data)
{
return Json(new ResParameter { code = ResponseCode.success, info = info, data = data });
}
/// <summary>
/// 带操作日志
/// </summary>
/// <param name="info"></param>
/// <returns></returns>
protected virtual IHttpActionResult Success(string info, string title, OperationType type, string keyValue, string content)
{
OperateLogModel operateLogModel = new OperateLogModel();
operateLogModel.title = title;
operateLogModel.type = type;
operateLogModel.url = (string)WebHelper.GetHttpItems("currentUrl");
operateLogModel.sourceObjectId = keyValue;
operateLogModel.sourceContentJson = content;
OperatorHelper.Instance.WriteOperateLog(operateLogModel);
return Json(new ResParameter { code = ResponseCode.success, info = info, data = new object { } });
}
/// <summary>
/// 返回失败消息
/// </summary>
/// <param name="info">消息</param>
/// <returns></returns>
protected virtual IHttpActionResult Fail(string info)
{
return Json(new ResParameter { code = ResponseCode.fail, info = info });
}
/// <summary>
/// 返回失败消息
/// </summary>
/// <param name="info">消息</param>
/// <param name="data">消息</param>
/// <returns></returns>
protected virtual IHttpActionResult Fail(string info, object data)
{
return Json(new ResParameter { code = ResponseCode.fail, info = info, data = data });
}
#endregion
}
}