2025-08-13 11:14:39 +08:00
|
|
|
|
using Learun.Application.TwoDevelopment.ZZDT_EC;
|
|
|
|
|
using Learun.Loger;
|
|
|
|
|
using Learun.Util;
|
|
|
|
|
using Learun.Util.Operat;
|
2025-09-04 10:24:42 +08:00
|
|
|
|
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)
|
|
|
|
|
{
|
2025-09-04 10:24:42 +08:00
|
|
|
|
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
|
|
|
|
|
}
|
|
|
|
|
}
|