|
|
|
@ -17,6 +17,8 @@ using Myshipping.Application.Entity;
|
|
|
|
|
using Myshipping.Core;
|
|
|
|
|
using Furion.DistributedIDGenerator;
|
|
|
|
|
using Mapster;
|
|
|
|
|
using Furion.DataValidation;
|
|
|
|
|
using Newtonsoft.Json.Linq;
|
|
|
|
|
|
|
|
|
|
namespace Myshipping.Application
|
|
|
|
|
{
|
|
|
|
@ -42,7 +44,7 @@ namespace Myshipping.Application
|
|
|
|
|
_bookingOrderContaCargoRepository = bookingOrderContaCargoRepository;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#region 海运订舱请求规则引擎校验
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 海运订舱请求规则引擎校验
|
|
|
|
|
/// </summary>
|
|
|
|
@ -58,7 +60,9 @@ namespace Myshipping.Application
|
|
|
|
|
if (ruleResult == null)
|
|
|
|
|
throw Oops.Oh($"订舱请求规则失败,返回为空");
|
|
|
|
|
|
|
|
|
|
var ruleDetailList = ruleResult.rows as List<RulesEngineExcuteResultDetailDto>;
|
|
|
|
|
var innerRlt = JSON.Deserialize<RemoteRulesEngineExcuteResultDto>(ruleResult.extra.ToString());
|
|
|
|
|
|
|
|
|
|
var ruleDetailList = innerRlt.DetailList;
|
|
|
|
|
|
|
|
|
|
result.succ = ruleResult.succ;
|
|
|
|
|
result.msg = ruleResult.msg;
|
|
|
|
@ -70,8 +74,9 @@ namespace Myshipping.Application
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#region 海运订舱请求规则引擎校验
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 海运订舱请求规则引擎校验
|
|
|
|
|
/// </summary>
|
|
|
|
@ -128,8 +133,10 @@ namespace Myshipping.Application
|
|
|
|
|
{
|
|
|
|
|
msgModel.Main.BusinessInfo.ContaList = contaList.Adapt<List<RulesEngineOrderBookingContaInfo>>();
|
|
|
|
|
|
|
|
|
|
var ctnArg = contaList.Select(t => t.Id).ToArray();
|
|
|
|
|
|
|
|
|
|
var cargoList = await _bookingOrderContaCargoRepository.AsQueryable()
|
|
|
|
|
.Where(x=> contaList.Any(a=>a.Id == x.CTNID)).ToListAsync();
|
|
|
|
|
.Where(x=> ctnArg.Contains(x.CTNID.Value)).ToListAsync();
|
|
|
|
|
|
|
|
|
|
if(cargoList.Count > 0)
|
|
|
|
|
{
|
|
|
|
@ -160,12 +167,14 @@ namespace Myshipping.Application
|
|
|
|
|
if(ruleResult == null)
|
|
|
|
|
throw Oops.Oh($"订舱主键{bookingId}请求规则失败,返回为空");
|
|
|
|
|
|
|
|
|
|
var ruleDetailList = ruleResult.rows as List<RulesEngineExcuteResultDetailDto>;
|
|
|
|
|
var innerRlt = JSON.Deserialize<RemoteRulesEngineExcuteResultDto>(ruleResult.extra.ToString());
|
|
|
|
|
|
|
|
|
|
var ruleDetailList = innerRlt.DetailList;
|
|
|
|
|
|
|
|
|
|
result.succ = ruleResult.succ;
|
|
|
|
|
result.msg = ruleResult.msg;
|
|
|
|
|
|
|
|
|
|
if (ruleDetailList.Count > 0)
|
|
|
|
|
if (ruleDetailList != null && ruleDetailList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
result.rows = ruleDetailList;
|
|
|
|
|
}
|
|
|
|
@ -178,8 +187,9 @@ namespace Myshipping.Application
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#region 海运订舱请求规则引擎校验
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 海运订舱请求规则引擎校验
|
|
|
|
|
/// </summary>
|
|
|
|
@ -272,7 +282,9 @@ namespace Myshipping.Application
|
|
|
|
|
if (ruleResult == null)
|
|
|
|
|
throw Oops.Oh($"订舱主键{model.BOOKINGNO}请求规则失败,返回为空");
|
|
|
|
|
|
|
|
|
|
var ruleDetailList = ruleResult.rows as List<RulesEngineExcuteResultDetailDto>;
|
|
|
|
|
var innerRlt = JSON.Deserialize<RemoteRulesEngineExcuteResultDto>(ruleResult.extra.ToString());
|
|
|
|
|
|
|
|
|
|
var ruleDetailList = innerRlt.DetailList;
|
|
|
|
|
|
|
|
|
|
result.succ = ruleResult.succ;
|
|
|
|
|
result.msg = ruleResult.msg;
|
|
|
|
@ -290,7 +302,9 @@ namespace Myshipping.Application
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 请求规则平台
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 请求规则平台
|
|
|
|
|
/// </summary>
|
|
|
|
@ -331,5 +345,6 @@ namespace Myshipping.Application
|
|
|
|
|
|
|
|
|
|
return model;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|