using Microsoft.AspNetCore.Authorization; using YLErp.Cache; using YLErp.Modules.SwapModule; using YLErp.Modules.TradeModule.QueryModule; namespace YLErp.Web.Controllers { public class SwapRateController : BaseController { private readonly IYLCache _ylCache; public SwapRateController(IYLCache ylCache) { _ylCache = ylCache; } /// /// 互换费率 /// /// [MyAuthorize("互换簿记预设-阶梯费率")] public ActionResult Index() { return View(); } /// /// 编辑 /// /// /// public ActionResult Edit(string enid) { if (string.IsNullOrEmpty(enid)) { return View(new SwapRate()); } var intid = DecryptInt(enid); return View(new SwapRateService(CurUser).GetSwapRate(intid)); } /// /// 操作历史 /// /// /// public ActionResult OperationHistory(string enid,int rateType) { var intid = DecryptInt(enid); var historyList=new SwapRateLogService(CurUser).GetSwapRateLogs(intid, rateType); foreach (var a in historyList) { if (rateType==1)//浮动利率 { a.Changes = new DatatraceQueryService(CurUser).ReplaceDataChanges(new SwapFloatRate(), a.Changes); } else { a.Changes = new DatatraceQueryService(CurUser).ReplaceDataChanges(new SwapRate(), a.Changes); } } return View(historyList); } /// /// 详细 /// /// /// public ActionResult Detail(string enid) { var intid = DecryptInt(enid); return View(new SwapRateService(CurUser).GetSwapRate(intid)); } /// /// 获取互换费率列表 /// /// public JsonResult GetSwapRateList(SwapRateSearchRequest req) { var SwapRateList = new SwapRateService(CurUser).SearchList(req); return Json(SwapRateList); } /// /// 保存互换费率 /// /// public JsonResult SaveSwapRate(SwapRate req) { var service = new SwapRateService(CurUser); service.SaveSwapRate(req, _ylCache); return JsonSuccess(""); } /// /// 删除互换费率 /// /// public JsonResult DeleteSwapRate(string enid) { var intid = DecryptInt(enid); var service = new SwapRateService(CurUser); var clientId= service.DeleteSwapRate(intid); return JsonSuccess(""); } /// /// 互换费率导入 /// /// public JsonResult ImportSwapRate() { if (Request.Form.Files.Count == 0) { return JsonError("上传文件不存在"); } var file = Request.Form.Files[0]; if (!System.IO.Path.GetExtension(file.FileName).Equals(".xlsx", StringComparison.OrdinalIgnoreCase)) { return JsonError("请上传.xlsx格式文件"); } using var stream = file.OpenReadStream(); var service = new SwapRateService(CurUser); var clientIds= service.ImportSwapRateFromExcel(stream, out var TotalNum, out var SuccessNum); return Json(new { success = true, totalNum = TotalNum, successNum = SuccessNum }); } /// /// 阶梯费率导出 /// /// /// public object ExportSwapRate(SwapRateSearchRequest req) { req.page = 1; req.rows = 10000; var bytes = new SwapRateService(CurUser).exprotSwapRateExcel(req); return File(bytes, xlsxMimeType, $"阶梯费率信息_{DateTime.Now:yyyyMMddHHmmss}.xlsx"); } } }