Files
zszq-trs/YLErpWeb/Controllers/SwapRateController.cs
2025-12-30 11:03:30 +08:00

140 lines
4.6 KiB
C#

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;
}
/// <summary>
/// 互换费率
/// </summary>
/// <returns></returns>
[MyAuthorize("互换簿记预设-阶梯费率")]
public ActionResult Index()
{
return View();
}
/// <summary>
/// 编辑
/// </summary>
/// <param name="enid"></param>
/// <returns></returns>
public ActionResult Edit(string enid)
{
if (string.IsNullOrEmpty(enid))
{
return View(new SwapRate());
}
var intid = DecryptInt(enid);
return View(new SwapRateService(CurUser).GetSwapRate(intid));
}
/// <summary>
/// 操作历史
/// </summary>
/// <param name="enid"></param>
/// <returns></returns>
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);
}
/// <summary>
/// 详细
/// </summary>
/// <param name="enid"></param>
/// <returns></returns>
public ActionResult Detail(string enid)
{
var intid = DecryptInt(enid);
return View(new SwapRateService(CurUser).GetSwapRate(intid));
}
/// <summary>
/// 获取互换费率列表
/// </summary>
/// <returns></returns>
public JsonResult GetSwapRateList(SwapRateSearchRequest req)
{
var SwapRateList = new SwapRateService(CurUser).SearchList(req);
return Json(SwapRateList);
}
/// <summary>
/// 保存互换费率
/// </summary>
/// <returns></returns>
public JsonResult SaveSwapRate(SwapRate req)
{
var service = new SwapRateService(CurUser);
service.SaveSwapRate(req, _ylCache);
return JsonSuccess("");
}
/// <summary>
/// 删除互换费率
/// </summary>
/// <returns></returns>
public JsonResult DeleteSwapRate(string enid)
{
var intid = DecryptInt(enid);
var service = new SwapRateService(CurUser);
var clientId= service.DeleteSwapRate(intid);
return JsonSuccess("");
}
/// <summary>
/// 互换费率导入
/// </summary>
/// <returns></returns>
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
});
}
/// <summary>
/// 阶梯费率导出
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
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");
}
}
}