修改MSK API查询船期

master
jianghaiqing 5 months ago
parent 60fab066b2
commit c2d5221719

@ -148,62 +148,62 @@ namespace Myshipping.Application.Service.BookingOrder
{
resultInfo.data.ForEach(a =>
{
a.transportSchedules.ForEach(b =>
{
SearchShipSailingScheduleResultDto info = new SearchShipSailingScheduleResultDto
{
carrierProductId = a.carrierProductId,
carrierProductSequenceId = a.carrierProductSequenceId,
ETD = b.departureDateTime,
ATD = b.arrivalDateTime,
vesselOperatorCarrierCode = b.vesselOperatorCarrierCode
};
if (b.departureDateTime.HasValue && b.arrivalDateTime.HasValue)
{
TimeSpan ts = b.arrivalDateTime.Value.Subtract(b.departureDateTime.Value);
var timeDiff = ts.TotalHours;
info.days = (int)Math.Ceiling(timeDiff / 24.0);
}
if (b.facilities != null)
{
info.orignCityName = b.facilities.collectionOrigin?.cityName;
info.orignCarrierSiteGeoID = b.facilities.collectionOrigin?.carrierSiteGeoID;
info.orignLocationName = b.facilities.collectionOrigin?.locationName;
info.orignCountryCode = b.facilities.collectionOrigin?.countryCode;
info.orignLocationType = b.facilities.collectionOrigin?.locationType;
info.orignUNLocationCode = b.facilities.collectionOrigin?.UNLocationCode;
info.orignUNRegionCode = b.facilities.collectionOrigin?.UNRegionCode;
info.deliveryCityName = b.facilities.deliveryDestination?.cityName;
info.deliveryCarrierSiteGeoID = b.facilities.deliveryDestination?.carrierSiteGeoID;
info.deliveryLocationName = b.facilities.deliveryDestination?.locationName;
info.deliveryCountryCode = b.facilities.deliveryDestination?.countryCode;
info.deliveryLocationType = b.facilities.deliveryDestination?.locationType;
info.deliveryUNLocationCode = b.facilities.deliveryDestination?.UNLocationCode;
info.deliveryUNRegionCode = b.facilities.deliveryDestination?.UNRegionCode;
}
info.vesselIMONumber = b.firstDepartureVessel?.vesselIMONumber;
info.carrierVesselCode = b.firstDepartureVessel?.carrierVesselCode;
info.vesselName = b.firstDepartureVessel?.vesselName;
if (b.transportLegs != null && b.transportLegs.Count > 0)
{
var firstTransportLegs = b.transportLegs.FirstOrDefault();
if (firstTransportLegs.transport != null)
{
info.transportMode = firstTransportLegs.transport.transportMode;
info.carrierDepartureVoyageNumber = firstTransportLegs.transport.carrierDepartureVoyageNumber;
}
}
list.Add(info);
});
//a.transportSchedules.ForEach(b =>
//{
// SearchShipSailingScheduleResultDto info = new SearchShipSailingScheduleResultDto
// {
// carrierProductId = a.carrierProductId,
// carrierProductSequenceId = a.carrierProductSequenceId,
// ETD = b.departureDateTime,
// ATD = b.arrivalDateTime,
// vesselOperatorCarrierCode = b.vesselOperatorCarrierCode
// };
// if (b.departureDateTime.HasValue && b.arrivalDateTime.HasValue)
// {
// TimeSpan ts = b.arrivalDateTime.Value.Subtract(b.departureDateTime.Value);
// var timeDiff = ts.TotalHours;
// info.days = (int)Math.Ceiling(timeDiff / 24.0);
// }
// if (b.facilities != null)
// {
// info.orignCityName = b.facilities.collectionOrigin?.cityName;
// info.orignCarrierSiteGeoID = b.facilities.collectionOrigin?.carrierSiteGeoID;
// info.orignLocationName = b.facilities.collectionOrigin?.locationName;
// info.orignCountryCode = b.facilities.collectionOrigin?.countryCode;
// info.orignLocationType = b.facilities.collectionOrigin?.locationType;
// info.orignUNLocationCode = b.facilities.collectionOrigin?.UNLocationCode;
// info.orignUNRegionCode = b.facilities.collectionOrigin?.UNRegionCode;
// info.deliveryCityName = b.facilities.deliveryDestination?.cityName;
// info.deliveryCarrierSiteGeoID = b.facilities.deliveryDestination?.carrierSiteGeoID;
// info.deliveryLocationName = b.facilities.deliveryDestination?.locationName;
// info.deliveryCountryCode = b.facilities.deliveryDestination?.countryCode;
// info.deliveryLocationType = b.facilities.deliveryDestination?.locationType;
// info.deliveryUNLocationCode = b.facilities.deliveryDestination?.UNLocationCode;
// info.deliveryUNRegionCode = b.facilities.deliveryDestination?.UNRegionCode;
// }
// info.vesselIMONumber = b.firstDepartureVessel?.vesselIMONumber;
// info.carrierVesselCode = b.firstDepartureVessel?.carrierVesselCode;
// info.vesselName = b.firstDepartureVessel?.vesselName;
// if (b.transportLegs != null && b.transportLegs.Count > 0)
// {
// var firstTransportLegs = b.transportLegs.FirstOrDefault();
// if (firstTransportLegs.transport != null)
// {
// info.transportMode = firstTransportLegs.transport.transportMode;
// info.carrierDepartureVoyageNumber = firstTransportLegs.transport.carrierDepartureVoyageNumber;
// }
// }
// list.Add(info);
//});
});
}
}

@ -24,6 +24,10 @@ using Org.BouncyCastle.Crypto;
using Yitter.IdGenerator;
using MySqlX.XDevAPI.Common;
using NPOI.OpenXmlFormats.Wordprocessing;
using Newtonsoft.Json;
using StackExchange.Profiling.Internal;
using SqlSugar;
using static Aliyun.OSS.Model.InventoryConfigurationModel;
namespace Myshipping.Application.Service.BookingOrder
{
@ -173,11 +177,12 @@ namespace Myshipping.Application.Service.BookingOrder
queryInfo.stuffingVolume = model.stuffingVolume;
}
MSKAPISearchPoint2PointScheduleResultDto resultInfo = null;
var jsonBody = Newtonsoft.Json.JsonConvert.SerializeObject(queryInfo);
var jsonBody = Newtonsoft.Json.JsonConvert.SerializeObject(queryInfo, Formatting.Indented, new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore
});
var rlt = await queryUrl.SetBody(jsonBody)
.PostAsStringAsync();
@ -203,80 +208,264 @@ namespace Myshipping.Application.Service.BookingOrder
if (resultInfo != null && resultInfo.code == 200
&& resultInfo.data != null && resultInfo.data.Count > 0)
{
resultInfo.data.ForEach(a =>
resultInfo.data.ForEach(t =>
{
t.transportSchedules.ForEach(a =>
{
a.originGeoId = model.carrierCollectionOriginGeoID;
a.originUnLocCode = model.collectionOriginUNLocationCode;
a.originRegionName = model.collectionOriginUNRegionName;
a.originCityName = model.collectionOriginCityName;
a.originCountryName = model.collectionOriginCountryName;
a.destinationGeoId = model.carrierDeliveryDestinationGeoID;
a.destinationUnLocCode = model.deliveryDestinationUNLocationCode;
a.destinationRegionName = model.deliveryDestinationUNRegionName;
a.destinationCityName = model.deliveryDestinationCityName;
a.destinationCountryName = model.deliveryDestinationCountryName;
CacheShipSailingSchedule(a).GetAwaiter().GetResult();
});
var currList = t.transportSchedules.Select(a =>
{
a.transportSchedules.ForEach(b =>
return GetShipScheduleShow(a);
}).ToList();
if (currList.Count > 0)
list.AddRange(currList);
});
}
}
catch (Exception ex)
{
_logger.LogError($"检索海运船期详情异常req={JSON.Serialize(model)} 原因:{ex.Message}");
throw Oops.Bah($"检索海运船期详情失败,{ex.Message}");
}
return list;
}
#endregion
#region 组织返回船期数据
/// <summary>
/// 组织返回船期数据
/// </summary>
/// <param name="model">查询的船期详情</param>
/// <returns>返回显示的船期数据</returns>
private SearchShipSailingScheduleResultDto GetShipScheduleShow(MSKAPISearchTransportSchedules model)
{
SearchShipSailingScheduleResultDto info = new SearchShipSailingScheduleResultDto
SearchShipSailingScheduleResultDto showDto = new SearchShipSailingScheduleResultDto
{
carrierProductId = a.carrierProductId,
carrierProductSequenceId = a.carrierProductSequenceId,
ETD = b.departureDateTime,
ATD = b.arrivalDateTime,
vesselOperatorCarrierCode = b.vesselOperatorCarrierCode
PId = model.PId,
MD5 = model.MD5,
orignCarrierCityGeoID = model.originGeoId,
orignUNLocationCode = model.originUnLocCode,
orignCityName = model.originCityName,
originRegionName = model.originRegionName,
originCountryName = model.originCountryName,
deliveryCarrierCityGeoID = model.destinationGeoId,
deliveryUNLocationCode = model.destinationUnLocCode,
deliveryCityName = model.destinationCityName,
deliveryRegionName = model.destinationRegionName,
deliveryCountryName = model.destinationCountryName,
vesselName = model.firstDepartureVessel.vesselName,
carrierDepartureVoyageNumber = model.transportLegs.FirstOrDefault().transport.carrierDepartureVoyageNumber,
Legs = new List<MSKAPISPOTScheduleRateResultShowLegsDto>()
};
if (b.departureDateTime.HasValue && b.arrivalDateTime.HasValue)
//ETD
if (model.departureDateTime.HasValue)
{
TimeSpan ts = b.arrivalDateTime.Value.Subtract(b.departureDateTime.Value);
var timeDiff = ts.TotalHours;
showDto.ETD = model.departureDateTime.Value;
}
else
{
throw Oops.Bah($"查询船期错误,预计离港日期查询为空");
}
info.days = (int)Math.Ceiling(timeDiff / 24.0);
//ETA
if (model.arrivalDateTime.HasValue)
{
showDto.ETA = model.arrivalDateTime.Value;
}
else
{
throw Oops.Bah($"查询船期错误,预计到港日期查询为空");
}
if (b.facilities != null)
//计算预计天数
if (showDto.ETD.HasValue && showDto.ETD.HasValue)
{
info.orignCityName = b.facilities.collectionOrigin?.cityName;
info.orignCarrierSiteGeoID = b.facilities.collectionOrigin?.carrierSiteGeoID;
info.orignLocationName = b.facilities.collectionOrigin?.locationName;
info.orignCountryCode = b.facilities.collectionOrigin?.countryCode;
info.orignLocationType = b.facilities.collectionOrigin?.locationType;
info.orignUNLocationCode = b.facilities.collectionOrigin?.UNLocationCode;
info.orignUNRegionCode = b.facilities.collectionOrigin?.UNRegionCode;
TimeSpan ts = showDto.ETA.Value.Subtract(showDto.ETD.Value);
var timeDiff = ts.TotalHours;
info.deliveryCityName = b.facilities.deliveryDestination?.cityName;
info.deliveryCarrierSiteGeoID = b.facilities.deliveryDestination?.carrierSiteGeoID;
info.deliveryLocationName = b.facilities.deliveryDestination?.locationName;
info.deliveryCountryCode = b.facilities.deliveryDestination?.countryCode;
info.deliveryLocationType = b.facilities.deliveryDestination?.locationType;
info.deliveryUNLocationCode = b.facilities.deliveryDestination?.UNLocationCode;
info.deliveryUNRegionCode = b.facilities.deliveryDestination?.UNRegionCode;
showDto.days = (int)Math.Ceiling(timeDiff / 24.0);
}
info.vesselIMONumber = b.firstDepartureVessel?.vesselIMONumber;
info.carrierVesselCode = b.firstDepartureVessel?.carrierVesselCode;
info.vesselName = b.firstDepartureVessel?.vesselName;
if (model.transportLegs.Count > 1)
showDto.isTransfer = true;
//Legs
if (model.facilities != null)
{
showDto.orignCountryCode = model.facilities.collectionOrigin.countryCode;
showDto.deliveryCountryCode = model.facilities.deliveryDestination.countryCode;
var legs = new List<MSKAPISPOTScheduleRateResultShowLegsDto>();
if (b.transportLegs != null && b.transportLegs.Count > 0)
for (int i = 0; i < model.transportLegs.Count; i++)
{
var firstTransportLegs = b.transportLegs.FirstOrDefault();
var b = model.transportLegs[i];
if (firstTransportLegs.transport != null)
MSKAPISPOTScheduleRateResultShowLegsDto leg = new MSKAPISPOTScheduleRateResultShowLegsDto
{
info.transportMode = firstTransportLegs.transport.transportMode;
info.carrierDepartureVoyageNumber = firstTransportLegs.transport.carrierDepartureVoyageNumber;
vesselName = b.transport.vessel.vesselName,
VoyageNo = b.transport.carrierDepartureVoyageNumber,
From = new MSKAPISPOTScheduleRateResultShowLegsLocationDto
{
CityName = b.facilities.startLocation.cityName,
CountryCode = b.facilities.startLocation.countryCode,
SiteGeoId = b.facilities.startLocation.carrierSiteGeoID,
LocationType = "From",
},
To = new MSKAPISPOTScheduleRateResultShowLegsLocationDto
{
CityName = b.facilities.endLocation.cityName,
CountryCode = b.facilities.endLocation.countryCode,
SiteGeoId = b.facilities.endLocation.carrierSiteGeoID,
LocationType = "To",
}
};
//ETD
if (b.departureDateTime.HasValue)
{
showDto.ETD = b.departureDateTime.Value;
}
else
{
throw Oops.Bah($"查询船期错误,预计离港日期查询为空");
}
//ETA
if (b.arrivalDateTime.HasValue)
{
showDto.ETA = b.arrivalDateTime.Value;
}
else
{
throw Oops.Bah($"查询船期错误,预计到港日期查询为空");
}
info.transportLegs = b.transportLegs;
leg.SortNo = i + 1;
leg.From.SiteGeoId = b.facilities.startLocation.carrierSiteGeoID;
leg.From.CityName = b.facilities.startLocation.cityName;
leg.From.CountryCode = b.facilities.startLocation.countryCode;
leg.From.UnLocCode = b.facilities.startLocation.UNLocationCode;
list.Add(info);
});
});
leg.To.SiteGeoId = b.facilities.endLocation.carrierSiteGeoID;
leg.To.CityName = b.facilities.endLocation.cityName;
leg.To.CountryCode = b.facilities.endLocation.countryCode;
leg.To.UnLocCode = b.facilities.endLocation.UNLocationCode;
if (i == 0 && i == model.transportLegs.Count - 1)
{
leg.From.CityGeoId = model.originGeoId;
leg.From.CountryName = model.originCountryName;
leg.From.RegionName = model.originRegionName;
leg.To.CityGeoId= model.destinationGeoId;
leg.To.CountryName = model.destinationCountryName;
leg.To.RegionName = model.destinationRegionName;
}
else
{
if(i == 0)
{
leg.From.CityGeoId = model.originGeoId;
leg.From.CountryName = model.originCountryName;
leg.From.RegionName = model.originRegionName;
leg.From.UnLocCode = model.originUnLocCode;
}
catch (Exception ex)
else if(i == model.transportLegs.Count - 1)
{
_logger.LogError($"检索海运船期详情异常req={JSON.Serialize(model)} 原因:{ex.Message}");
leg.To.CityGeoId = model.destinationGeoId;
leg.To.CountryName = model.destinationCountryName;
leg.To.RegionName = model.destinationRegionName;
leg.To.UnLocCode = model.destinationUnLocCode;
}
}
throw Oops.Bah($"检索海运船期详情失败,{ex.Message}");
legs.Add(leg);
}
return list;
showDto.Legs = legs.OrderBy(t => t.ETD).Select((t, idx) => {
t.SortNo = idx + 1;
return t;
}).ToList();
}
return showDto;
}
#endregion
#region 缓存船期数据
/// <summary>
/// 缓存船期数据
/// </summary>
/// <param name="model">船期查询结果明细</param>
/// <param name="busiType">船期类型 MSKSPOT-马士基即期</param>
/// <returns>返回主键ID</returns>
private async Task CacheShipSailingSchedule(MSKAPISearchTransportSchedules model, string busiType = "MSKCON")
{
/*
1IDKEY
2JSONMD5
3ID
*/
var newModel = model.Adapt<MSKAPISearchTransportSchedules>();
//newModel.priceID = null;
var json = Newtonsoft.Json.JsonConvert.SerializeObject(newModel);
model.PId = YitIdHelper.NextId();
string md5 = json.ToMd5();
model.MD5 = md5;
var shareKey = model.PId.ToString();
DateTime nowDate = DateTime.Now;
DateTime expireDateTime = DateTime.Now.AddHours(4);
var expireTimeSpan = expireDateTime.Subtract(nowDate).Duration();
if (!_cache.Exists($"{shareKey}_{busiType}"))
{
await _cache.SetTimeoutAsync($"{shareKey}_{busiType}", Newtonsoft.Json.JsonConvert.SerializeObject(model), expireTimeSpan);
}
}
#endregion
private MSKAPISearchPoint2PointScheduleResultDataDto GetCacheShipSailingSchedule(long pid, string busiType = "MSKCON")
{
if (_cache.Exists($"{pid}_{busiType}"))
{
return _cache.Get<MSKAPISearchPoint2PointScheduleResultDataDto>($"{pid}_{busiType}");
}
return null;
}
#region 发送马士基订舱请求
/// <summary>
/// 发送马士基订舱请求

@ -58,6 +58,7 @@ namespace Myshipping.Application
/// 产品从原产地到目的地的链接数
/// </summary>
public List<MSKAPISearchTransportSchedules> transportSchedules { get; set; }
}
/// <summary>
@ -99,6 +100,102 @@ namespace Myshipping.Application
/// 承运人代码(MAEU, SEAU, SEJJ, MCPU, MAEI)
/// </summary>
public string vesselOperatorCarrierCode { get; set; }
//以下的字段是自己添加的不是船期返回的信息
/// <summary>
/// 产品id
/// </summary>
public string carrierProductId { get; set; }
/// <summary>
/// 产品序号
/// </summary>
public string carrierProductSequenceId { get; set; }
/// <summary>
/// 产品的生效日期格式为YYYY-MM-DD
/// </summary>
public string productValidFromDate { get; set; }
/// <summary>
/// 产品的截止日期格式为YYYY-MM-DD
/// </summary>
public string productValidToDate { get; set; }
/// <summary>
/// 产品从原产地到目的地的链接数
/// </summary>
public string numberOfProductLinks { get; set; }
/// <summary>
/// 船期MD5
/// </summary>
public string MD5 { get; set; }
/// <summary>
/// 主键ID
/// </summary>
public long PId { get; set; }
/// <summary>
/// 起运地rkst代码
/// </summary>
public string originRkstCode { get; set; }
/// <summary>
/// 起运地geoID
/// </summary>
public string originGeoId { get; set; }
/// <summary>
/// 起运地五子码
/// </summary>
public string originUnLocCode { get; set; }
/// <summary>
/// 起运地城市名
/// </summary>
public string originCityName { get; set; }
/// <summary>
/// 起运地区名
/// </summary>
public string originRegionName { get; set; }
/// <summary>
/// 起运地国家名
/// </summary>
public string originCountryName { get; set; }
/// <summary>
/// 目的地rkst代码
/// </summary>
public string destinationRkstCode { get; set; }
/// <summary>
/// 目的地geoID
/// </summary>
public string destinationGeoId { get; set; }
/// <summary>
/// 目的地五子码
/// </summary>
public string destinationUnLocCode { get; set; }
/// <summary>
/// 目的地城市名
/// </summary>
public string destinationCityName { get; set; }
/// <summary>
/// 目的地区名
/// </summary>
public string destinationRegionName { get; set; }
/// <summary>
/// 目的地国家名
/// </summary>
public string destinationCountryName { get; set; }
}
/// <summary>

@ -36,6 +36,11 @@ namespace Myshipping.Application
/// </summary>
public string collectionOriginCityName { get; set; }
/// <summary>
/// 起始地国家名称(英文)
/// </summary>
public string collectionOriginCountryName { get; set; }
/// <summary>
/// 起始地五字码
/// </summary>
@ -46,6 +51,11 @@ namespace Myshipping.Application
/// </summary>
public string collectionOriginUNRegionCode { get; set; }
/// <summary>
/// 起始地区名称
/// </summary>
public string collectionOriginUNRegionName { get; set; }
/// <summary>
/// 目的地国家代码 二字码
/// </summary>
@ -56,6 +66,11 @@ namespace Myshipping.Application
/// </summary>
public string deliveryDestinationCityName { get; set; }
/// <summary>
/// 目的地国家名称 二字码
/// </summary>
public string deliveryDestinationCountryName { get; set; }
/// <summary>
/// 目的都五字码
/// </summary>
@ -66,6 +81,11 @@ namespace Myshipping.Application
/// </summary>
public string deliveryDestinationUNRegionCode { get; set; }
/// <summary>
/// 目的地区名称
/// </summary>
public string deliveryDestinationUNRegionName { get; set; }
/// <summary>
/// 承运人代码MAEU, SEAU, SEJJ, MCPU, MAEI
/// </summary>

@ -9,7 +9,7 @@ namespace Myshipping.Application
/// <summary>
/// 查询船期回执
/// </summary>
public class SearchShipSailingScheduleResultDto
public class SearchShipSailingScheduleResultDto : MSKAPISPOTScheduleRateResultShowDto
{
/// <summary>
/// 产品id
@ -22,124 +22,63 @@ namespace Myshipping.Application
public string carrierProductSequenceId { get; set; }
/// <summary>
/// ETD
/// 起运地rkst代码
/// </summary>
public Nullable<DateTime> ETD { get; set; }
public string originRkstCode { get; set; }
/// <summary>
/// ATD
/// 起运地geoID
/// </summary>
public Nullable<DateTime> ATD { get; set; }
public string originGeoId { get; set; }
/// <summary>
/// 城市名(始发地)
/// 起运地五子码
/// </summary>
public string orignCityName { get; set; }
public string originUnLocCode { get; set; }
/// <summary>
/// 地点的GEO ID(始发地)
/// 起运地城市名
/// </summary>
public string orignCarrierSiteGeoID { get; set; }
public string originCityName { get; set; }
/// <summary>
/// 地点的名称(始发地)
/// 起运地区名
/// </summary>
public string orignLocationName { get; set; }
public string originRegionName { get; set; }
/// <summary>
/// 国家代码(始发地)
/// 起运地国家名
/// </summary>
public string orignCountryCode { get; set; }
public string originCountryName { get; set; }
/// <summary>
/// 位置类型(始发地)
/// 目的地rkst代码
/// </summary>
public string orignLocationType { get; set; }
public string destinationRkstCode { get; set; }
/// <summary>
/// 五字码(始发地)
/// 目的地geoID
/// </summary>
public string orignUNLocationCode { get; set; }
public string destinationGeoId { get; set; }
/// <summary>
/// 区代码(始发地)
/// 目的地五子码
/// </summary>
public string orignUNRegionCode { get; set; }
public string destinationUnLocCode { get; set; }
/// <summary>
/// 城市名(目的地)
/// 目的地城市名
/// </summary>
public string deliveryCityName { get; set; }
public string destinationCityName { get; set; }
/// <summary>
/// 地点的GEO ID(目的地)
/// 目的地区名
/// </summary>
public string deliveryCarrierSiteGeoID { get; set; }
public string destinationRegionName { get; set; }
/// <summary>
/// 地点的名称(目的地)
/// 目的地国家名
/// </summary>
public string deliveryLocationName { get; set; }
/// <summary>
/// 国家代码(目的地)
/// </summary>
public string deliveryCountryCode { get; set; }
/// <summary>
/// 位置类型(目的地)
/// </summary>
public string deliveryLocationType { get; set; }
/// <summary>
/// 五字码(目的地)
/// </summary>
public string deliveryUNLocationCode { get; set; }
/// <summary>
/// 区代码(目的地)
/// </summary>
public string deliveryUNRegionCode { get; set; }
/// <summary>
/// IMO
/// </summary>
public string vesselIMONumber { get; set; }
/// <summary>
/// 航次号
/// </summary>
public string carrierVesselCode { get; set; }
/// <summary>
/// 运输方式
/// </summary>
public string transportMode { get; set; }
/// <summary>
/// 船名
/// </summary>
public string vesselName { get; set; }
/// <summary>
/// 航次代码
/// </summary>
public string carrierDepartureVoyageNumber { get; set; }
/// <summary>
/// 承运人代码(MAEU, SEAU, SEJJ, MCPU, MAEI)
/// </summary>
public string vesselOperatorCarrierCode { get; set; }
/// <summary>
/// 行程天数
/// </summary>
public int days { get; set; }
/// <summary>
/// 详细行程
/// </summary>
public List<MSKTransportLegInfo> transportLegs { get; set; }
public string destinationCountryName { get; set; }
}
}

@ -14353,6 +14353,26 @@
备注
</summary>
</member>
<member name="P:Myshipping.Core.Service.DjyWebsiteAccountConfigInput.RegistPartyCode">
<summary>
备案代码
</summary>
</member>
<member name="P:Myshipping.Core.Service.DjyWebsiteAccountConfigInput.RegistPartyName">
<summary>
备案全称
</summary>
</member>
<member name="P:Myshipping.Core.Service.DjyWebsiteAccountConfigInput.RegistContractName">
<summary>
联系人
</summary>
</member>
<member name="P:Myshipping.Core.Service.DjyWebsiteAccountConfigInput.RegistContractEmail">
<summary>
联系邮箱
</summary>
</member>
<member name="T:Myshipping.Core.Service.AddDjyWebsiteAccountConfigInput">
<summary>
网站账号维护新增输入参数

@ -29,7 +29,25 @@ namespace Myshipping.Core.Service
/// </summary>
public virtual string Remark { get; set; }
/// <summary>
/// 备案代码
/// </summary>
public string RegistPartyCode { get; set; }
/// <summary>
/// 备案全称
/// </summary>
public string RegistPartyName { get; set; }
/// <summary>
/// 联系人
/// </summary>
public string RegistContractName { get; set; }
/// <summary>
/// 联系邮箱
/// </summary>
public string RegistContractEmail { get; set; }
}
/// <summary>

Loading…
Cancel
Save