11 changed files with 111 additions and 44 deletions
@ -0,0 +1,42 @@ |
|||
using Binance.TradeRobot.Model.Base; |
|||
using Binance.TradeRobot.Model.Db; |
|||
using Microsoft.Extensions.Caching.Memory; |
|||
using SDKAdapter.Model; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using Yitter.IdGenerator; |
|||
|
|||
namespace Binance.TradeRobot.Business |
|||
{ |
|||
public class BaseSpotOrderPublishBusiness : BaseBusiness |
|||
{ |
|||
protected DingBusiness dingBusiness { get; private set; } |
|||
|
|||
public BaseSpotOrderPublishBusiness(IFreeSql fsql, |
|||
NLogManager logManager, |
|||
IIdGenerator idGenerator, |
|||
IMemoryCache memoryCache, |
|||
DingBusiness dingBusiness) : base(fsql, logManager, idGenerator, memoryCache) { this.dingBusiness = dingBusiness; } |
|||
|
|||
public void HandleError(Exception ex, |
|||
List<ExecutionLog> logList, |
|||
string loggerName, |
|||
long robotId, |
|||
long orderId, |
|||
string step) |
|||
{ |
|||
logList.Add(new ExecutionLog() |
|||
{ |
|||
Id = idGenerator.NewLong(), |
|||
SourceSingal = Enums.SingalType.订单回调, |
|||
RobotId = robotId, |
|||
CreateTime = DateTime.Now, |
|||
Content = ex.Message |
|||
}); |
|||
try { fsql.Insert(logList).ExecuteAffrows(); } catch { } |
|||
var errorMsg = $"交易警报,{Enums.SingalType.订单回调},{loggerName},robot {robotId},order {orderId},{step}"; |
|||
logManager.GetLogger(loggerName).Error(ex, errorMsg); |
|||
dingBusiness.Send($"{errorMsg} {ex.Message}"); |
|||
} |
|||
} |
|||
} |
@ -1,20 +0,0 @@ |
|||
using Microsoft.Extensions.Caching.Memory; |
|||
using SDKAdapter.Model; |
|||
using System; |
|||
using Yitter.IdGenerator; |
|||
|
|||
namespace Binance.TradeRobot.Business |
|||
{ |
|||
public class BaseSpotOrderPublishTradeBusiness : BaseBusiness |
|||
{ |
|||
public BaseSpotOrderPublishTradeBusiness(IFreeSql fsql, |
|||
NLogManager logManager, |
|||
IIdGenerator idGenerator, |
|||
IMemoryCache memoryCache) : base(fsql, logManager, idGenerator, memoryCache) { } |
|||
|
|||
public virtual void OnSpotOrderPublish(SpotOrderTradePublishInfo spotOrderTradePublishInfo) |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,37 @@ |
|||
using Binance.TradeRobot.Common.DI; |
|||
using Binance.TradeRobot.Model.Base; |
|||
using Microsoft.Extensions.Caching.Memory; |
|||
using Microsoft.Extensions.DependencyInjection; |
|||
using SDKAdapter.Model; |
|||
using System; |
|||
using Yitter.IdGenerator; |
|||
|
|||
namespace Binance.TradeRobot.Business |
|||
{ |
|||
[BatchRegistration(ServiceLifetime.Singleton, RegistrationType.Interface)] |
|||
internal class D21OrderPublishBusiness : BaseSpotOrderPublishBusiness, ISpotOrderPublishBusiness |
|||
{ |
|||
public Enums.TradePolicy TradePolicy => Enums.TradePolicy.D21; |
|||
|
|||
public D21OrderPublishBusiness(IFreeSql fsql, NLogManager logManager, IIdGenerator idGenerator, IMemoryCache memoryCache, DingBusiness dingBusiness) : base(fsql, logManager, idGenerator, memoryCache, dingBusiness) |
|||
{ |
|||
|
|||
} |
|||
|
|||
|
|||
public void OnSpotOrderPublish(SpotOrderPublishInfo spotOrderPublishInfo) |
|||
{ |
|||
return; |
|||
var logger = logManager.GetLogger(spotOrderPublishInfo.LoggerName); |
|||
var step = ""; |
|||
try |
|||
{ |
|||
|
|||
} |
|||
catch (Exception ex) |
|||
{ |
|||
HandleError(ex, null, spotOrderPublishInfo.LoggerName, spotOrderPublishInfo.RobotId, spotOrderPublishInfo.OrderId, step); |
|||
} |
|||
} |
|||
} |
|||
} |
@ -1,10 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Text; |
|||
|
|||
namespace Binance.TradeRobot.Business.Business.OrderPublishBusiness.Spot |
|||
{ |
|||
internal class D21OrderPublishTradeBusiness |
|||
{ |
|||
} |
|||
} |
@ -0,0 +1,12 @@ |
|||
using Binance.TradeRobot.Model.Base; |
|||
using SDKAdapter.Model; |
|||
|
|||
namespace Binance.TradeRobot.Business |
|||
{ |
|||
public interface ISpotOrderPublishBusiness |
|||
{ |
|||
Enums.TradePolicy TradePolicy { get; } |
|||
|
|||
void OnSpotOrderPublish(SpotOrderPublishInfo spotOrderPublishInfo); |
|||
} |
|||
} |
Loading…
Reference in new issue