using YLErp.Modules.VolatilityModule; using YLErp.Modules.VolatilityModule.ApiModule; namespace YLWebAPI.ApiModule.ManagerApi { /// /// 关于波动率曲面相关API处理 /// [ManagerAuth] public class VolSurfaceController : BaseApiController { /// /// 读取波动率曲面 /// [HttpPost, Route("api/v1/getUnderlyingVolSurface")] public ApiResponseModel GetUnderlyingVolSurface([FromBody] BatchVolatilityRequest2 reqModel) { if (reqModel is null) { return JsonError("处理请求失败:参数为null"); } reqModel.UserGroup = CurUser.UserGroup; var uVols = new UnderlyingVolService(CurUser).GetUnderlyingVolSurfaces(reqModel); return JsonSuccess(uVols); } /// /// 修改波动率曲面 /// [HttpPost, Route("api/v1/saveVolatility")] public ApiResponseModel SaveVolatility([FromBody] volatility reqModel) { if (reqModel is null) { return JsonError("参数错误"); } reqModel.UserGroup = CurUser.UserGroup; var vol = new UnderlyingVolService(CurUser).SaveVolatility(reqModel); return JsonSuccess(vol); } /// /// 读取波动率曲面 /// [HttpPost, Route("api/v2/getUnderlyingVolSurface")] public ApiResponseModel GetUnderlyingVolSurfaceV2([FromBody] UnderlyingVolQueryApiRequestV2 request) { if (request is null) { return JsonError("处理请求失败:参数为null"); } var uVols = new UnderlyingVolServiceV2(CurUser).GetVolSurfaces(request); return JsonSuccess(uVols); } /// /// 修改波动率曲面 /// [HttpPost, Route("api/v2/saveVolatility")] public ApiResponseModel SaveVolatilityV2([FromBody] UnderlyingVolSaveApiRequestV2 request) { if (request is null) { return JsonError("参数错误"); } request.UserGroup = CurUser.UserGroup; var vol = new UnderlyingVolServiceV2(CurUser).SaveVolSurface(request); return JsonSuccess(vol); } /// /// 从波动率曲面上根据参数获取一个点的值 /// [HttpPost, Route("api/v1/getVol")] public ApiResponseModel AjaxGetVol(SingleVolReq req) { var vol = SingleVolService.GetSingleVol(req, CurUser.UserId); return JsonSuccess(new { vol }); } } }