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