74 lines
2.5 KiB
C#
74 lines
2.5 KiB
C#
using Org.BouncyCastle.Ocsp;
|
|
using YLErp.Modules.ApiModule;
|
|
using YLErp.Modules.CalculationModule;
|
|
using YLErp.Modules.ExchangeTradeModule;
|
|
using YLErp.Modules.TradeRiskCalcModule;
|
|
|
|
namespace YLWebAPI.ApiModule.ManagerApi
|
|
{
|
|
/// <summary>
|
|
/// 场内交易API
|
|
/// </summary>
|
|
[ManagerAuth]
|
|
public class ExchangeTradeController : BaseApiController
|
|
{
|
|
/// <summary>
|
|
/// 获取实时场内交易持仓数据
|
|
/// </summary>
|
|
[HttpPost, Route("api/v1/realtimeExchangePositions")]
|
|
[Route("api/v1/exchange/realtimeExchangePositions")]
|
|
public ApiResponseModel RealtimeExchangePositions()
|
|
{
|
|
// 获取用户信息
|
|
var user = (LoadUserMiddleware.AuthUserInfo)HttpContext.User.Identity;
|
|
// 通过接口查询持仓数据
|
|
var result = new YLErpWebApiHelper(user.CreateJwtToken).GetExchangePositions().Result;
|
|
// 响应结果
|
|
return JsonSuccess(result==null?Enumerable.Empty<ExchangePositionItem>(): result);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取实时场内交易持仓数据
|
|
/// </summary>
|
|
[HttpPost, Route("api/v1/todayExchangePositions")]
|
|
[Route("api/v1/exchange/todayExchangePositions")]
|
|
public ApiResponseModel TodayExchangePositions([FromBody] TodayExchangePositionsReqModel req)
|
|
{
|
|
var date = req?.ValueDate ?? valuedateBLL.ValueDate;
|
|
|
|
using (var db = DbContextFactory.GetYLDbContext())
|
|
{
|
|
var tdQuery = from trad in db.ExchangeTrade.AsNoTracking()
|
|
where trad.TradeDate == date && trad.IsValid
|
|
select trad;
|
|
|
|
var tdDatas = tdQuery.ToArray();
|
|
|
|
var results = new ExchangePositionCalcService(date, new ExchangeTradeCommissionCalc()).Calculate(tdDatas, null, null);
|
|
|
|
return JsonSuccess(results);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取实时场内交易持仓数据
|
|
/// </summary>
|
|
[HttpPost, Route("api/v1/exchange/trade/save")]
|
|
public ApiResponseModel SaveExchangeTrade([FromBody] ExchangeTradeApiReq req)
|
|
{
|
|
if (req.TradeType == "期货")
|
|
{
|
|
req.TradeType = "商品期货";
|
|
}
|
|
|
|
var td = new ExchangeTradeApiService(CurUser).Save(req, "WebApi", out var isAddNew);
|
|
|
|
return JsonSuccess(new
|
|
{
|
|
td.id,
|
|
result = isAddNew ? "成功新增" : "成功更新"
|
|
});
|
|
}
|
|
}
|
|
}
|