129 lines
4.6 KiB
C#
129 lines
4.6 KiB
C#
using Newtonsoft.Json;
|
|
using YLErp.Enums;
|
|
using YLErp.Modules.CalculationLogModule;
|
|
|
|
namespace YLErp.Web.Controllers
|
|
{
|
|
public class CalculationLogController : BaseController
|
|
{
|
|
// GET: CalculationLog
|
|
|
|
[Route("calclog/")]
|
|
public ActionResult Index()
|
|
{
|
|
ICalculationLogService calculationLogService = new CalculationLogService();
|
|
var logs = calculationLogService.GetAllLogs();
|
|
logs.Reverse();
|
|
|
|
CalculationLogListViewModel viewModel = new CalculationLogListViewModel();
|
|
viewModel.calculationLogs = logs;
|
|
viewModel.Name = "test";
|
|
return View("CalculationLogList", viewModel);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 查询日志详情
|
|
/// </summary>
|
|
/// <param name="logNum"></param>
|
|
/// <returns></returns>
|
|
public ActionResult CalculationLogDetail(string logNum)
|
|
{
|
|
ICalculationLogService calculationLogService = new CalculationLogService();
|
|
var log= calculationLogService.GetLog(logNum);
|
|
string logJson= JsonConvert.SerializeObject(log, Formatting.Indented);
|
|
|
|
CalculationLogDetailModel mdoel = new CalculationLogDetailModel { LogJson = logJson };
|
|
return View("CalculationLogDetail", mdoel);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 清除所有的日志
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public JsonResult ClearAllLogs()
|
|
{
|
|
ICalculationLogService calculationLogService = new CalculationLogService();
|
|
calculationLogService.ClearAll();
|
|
return JsonSuccess("已清除成功");
|
|
}
|
|
|
|
/// <summary>
|
|
/// 配置参数
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public ActionResult CalculationLogConfig()
|
|
{
|
|
ICalculationLogService calculationLogService = new CalculationLogService();
|
|
var config = calculationLogService.GetConfig();
|
|
|
|
CalculationLogConfigModel model = new CalculationLogConfigModel()
|
|
{
|
|
TotalCountMaxLimit = config.TotalCountMaxLimit,
|
|
Pricing = config.ScenariosOfCalcLog.Contains(CalcScenarioEnum.Pricing),
|
|
RealtimeRisk = config.ScenariosOfCalcLog.Contains(CalcScenarioEnum.RealtimeRisk),
|
|
ScenarioCalc = config.ScenariosOfCalcLog.Contains(CalcScenarioEnum.ScenarioCalc),
|
|
InitialMargin = config.ScenariosOfCalcLog.Contains(CalcScenarioEnum.InitialMargin),
|
|
};
|
|
return View("CalculationLogConfig", model);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改参数
|
|
/// </summary>
|
|
/// <param name="req"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public JsonResult CalculationLogConfigEditJson(CalculationLogConfigEditRequest req)
|
|
{
|
|
ICalculationLogService calculationLogService = new CalculationLogService();
|
|
var config= calculationLogService.GetConfig();
|
|
List<CalcScenarioEnum> scenariosOfCalcLog = new List<CalcScenarioEnum>();
|
|
if (req.Pricing)
|
|
{
|
|
scenariosOfCalcLog.Add(CalcScenarioEnum.Pricing);
|
|
}
|
|
if (req.RealtimeRisk)
|
|
{
|
|
scenariosOfCalcLog.Add(CalcScenarioEnum.RealtimeRisk);
|
|
}
|
|
if (req.ScenarioCalc)
|
|
{
|
|
scenariosOfCalcLog.Add(CalcScenarioEnum.ScenarioCalc);
|
|
}
|
|
if (req.InitialMargin)
|
|
{
|
|
scenariosOfCalcLog.Add(CalcScenarioEnum.InitialMargin);
|
|
}
|
|
config.ScenariosOfCalcLog = scenariosOfCalcLog;
|
|
calculationLogService.Setup(config);
|
|
return JsonSuccess("已修改");
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改参数请求
|
|
/// </summary>
|
|
public class CalculationLogConfigEditRequest
|
|
{
|
|
/// <summary>
|
|
/// 总日志数量限制
|
|
/// </summary>
|
|
public int TotalCountMaxLimit { get; set; }= 5000;
|
|
/// <summary>
|
|
/// 定价开关
|
|
/// </summary>
|
|
public bool Pricing { get; set; }=false;
|
|
/// <summary>
|
|
/// 实时风险开关
|
|
/// </summary>
|
|
public bool RealtimeRisk { get; set; } = false;
|
|
/// <summary>
|
|
/// 场景开关
|
|
/// </summary>
|
|
public bool ScenarioCalc { get; set; } = false;
|
|
/// <summary>
|
|
/// 初始预付金开关
|
|
/// </summary>
|
|
public bool InitialMargin { get; set; } = false;
|
|
}
|
|
}
|
|
} |