diff --git a/ds-wms-service/DS.WMS.Core/Op/Interface/SpaceBooking/ISpaceBookingMSKAPIService.cs b/ds-wms-service/DS.WMS.Core/Op/Interface/SpaceBooking/ISpaceBookingMSKAPIService.cs index 01d8924a..efd6e41c 100644 --- a/ds-wms-service/DS.WMS.Core/Op/Interface/SpaceBooking/ISpaceBookingMSKAPIService.cs +++ b/ds-wms-service/DS.WMS.Core/Op/Interface/SpaceBooking/ISpaceBookingMSKAPIService.cs @@ -151,5 +151,12 @@ namespace DS.WMS.Core.Op.Interface /// 马士基API订舱ID组 /// 返回回执 Task> BatchCancelTimerBooking(long[] ids); + + /// + /// 发送马士基订舱请求 + /// + /// 请求订舱ID + /// 返回检索结果 + Task> SendMSKBookingById(long id); } } diff --git a/ds-wms-service/DS.WMS.Core/Op/Method/SpaceBooking/SpaceBookingMSKAPIService.cs b/ds-wms-service/DS.WMS.Core/Op/Method/SpaceBooking/SpaceBookingMSKAPIService.cs index 93f25b06..08a16abf 100644 --- a/ds-wms-service/DS.WMS.Core/Op/Method/SpaceBooking/SpaceBookingMSKAPIService.cs +++ b/ds-wms-service/DS.WMS.Core/Op/Method/SpaceBooking/SpaceBookingMSKAPIService.cs @@ -2863,5 +2863,36 @@ namespace DS.WMS.Core.Op.Method return DataResult.Success(msg); } #endregion + + #region 发送马士基订舱请求 + /// + /// 发送马士基订舱请求 + /// + /// 请求订舱ID + /// 返回检索结果 + public async Task> SendMSKBookingById(long id) + { + var model = GetInfo(id).GetAwaiter().GetResult().Data; + + if (model != null) + { + if (model.Status == "SUCC") + { + return DataResult.FailedData(new MSKBookingResultDto + { + succ = false, + msg = "订舱数据已发送成功,不能重复发送" + }); + } + + return await InnerSendMSKBooking(model, id, false); + } + return DataResult.FailedData(new MSKBookingResultDto + { + succ = false, + msg = "预订舱信息不存在" + }); + } + #endregion } } diff --git a/ds-wms-service/DS.WMS.OpApi/Controllers/SpaceBookingMSKAPIController.cs b/ds-wms-service/DS.WMS.OpApi/Controllers/SpaceBookingMSKAPIController.cs index 4e68b41c..0a44d8e3 100644 --- a/ds-wms-service/DS.WMS.OpApi/Controllers/SpaceBookingMSKAPIController.cs +++ b/ds-wms-service/DS.WMS.OpApi/Controllers/SpaceBookingMSKAPIController.cs @@ -1,8 +1,11 @@ using DS.Module.Core; +using DS.Module.Core.Attributes; using DS.WMS.Core.Op.Dtos; using DS.WMS.Core.Op.Interface; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Org.BouncyCastle.Crypto; namespace DS.WMS.OpApi.Controllers { @@ -215,6 +218,7 @@ namespace DS.WMS.OpApi.Controllers } #endregion + #region 获取预订舱途径选择 /// /// 获取预订舱途径选择 /// @@ -225,6 +229,70 @@ namespace DS.WMS.OpApi.Controllers { return await _spaceBookingMSKAPIService.GetBookingChannelSelectShow(); } + #endregion + + #region 生成订舱报告邮件并自动转发 + /// + /// 生成订舱报告邮件并自动转发 + /// + /// + [HttpGet("GenerateTimerReportEmail")] + public async Task> GenerateTimerReportEmail() + { + return await _spaceBookingMSKAPIService.GenerateTimerReportEmail(); + } + #endregion + + #region 批量取消定时订舱时间 + /// + /// 批量取消定时订舱时间 + /// + /// 马士基API订舱ID组 + /// 返回回执 + [HttpPost("BatchCancelTimerBooking")] + public async Task> BatchCancelTimerBooking([FromBody] long[] ids) + { + return await _spaceBookingMSKAPIService.BatchCancelTimerBooking(ids); + } + #endregion + + #region 获取定时订舱方案列表 + /// + /// 获取定时订舱方案列表 + /// + /// + [HttpGet("GetTimerSchemeList")] + public async Task>> GetTimerSchemeList() + { + return await _spaceBookingMSKAPIService.GetTimerSchemeList(); + } + #endregion + + #region 批量设定定时订舱时间 + /// + /// 批量设定定时订舱时间 + /// + /// 请求详情 + /// 返回回执 + [HttpPost("BatchSetupTimerBooking")] + public async Task> BatchSetupTimerBooking([FromBody] MSKAPITimerBookingDto model) + { + return await _spaceBookingMSKAPIService.BatchSetupTimerBooking(model); + } + #endregion + + #region 发送马士基订舱请求 + /// + /// 发送马士基订舱请求 + /// + /// 请求订舱ID + /// 返回检索结果 + [HttpGet("SendMSKBookingById"), AllowAnonymous, ApiUser(ApiCode = "BCTaskManage")] + public async Task> SendMSKBookingById([FromQuery] long id) + { + return await _spaceBookingMSKAPIService.SendMSKBookingById(id); + } + #endregion } }