#region << 版 本 注 释 >>

/*--------------------------------------------------------------------
* 版权所有 (c) 2025 WenJY 保留所有权利。
* CLR版本：4.0.30319.42000
* 机器名称：Mr.Wen's MacBook Pro
* 命名空间：Sln.Iot.CFX.CoreCommunications
* 唯一标识：4063233D-BE40-415F-B28C-EBA14C47EA52
*
* 创建者：WenJY
* 电子邮箱：
* 创建时间：2025-10-24 15:00:21
* 版本：V1.0.0
* 描述：
*
*--------------------------------------------------------------------
* 修改人：
* 时间：
* 修改说明：
*
* 版本：V1.0.0
*--------------------------------------------------------------------*/

#endregion << 版 本 注 释 >>

using CFX;
using CFX.Structures;
using Sln.Iot.CFX.CFXBusiness;
using Sln.Iot.CFX.RequestReceived;
using Sln.Iot.Serilog;

namespace Sln.Iot.CFX.CFXRequestes;

/// <summary>
/// 5.4.1.4 - 获取端点信息请求
/// GetEndpointInformationRequest/Response
/// </summary>
public class GetEndpointInformationRequestReceived2 : BaseGetEndpointInformationRequestReceived
{

    /// <summary>
    /// 子类重写处理
    /// </summary>
    /// <param name="request"></param>
    /// <returns></returns>
    public override CFXMessage SubHandle(GetEndpointInformationRequest request)
    {
        CFXMessage response = new GetEndpointInformationResponse()
        {
            Result = new RequestResult()
            {
                Result = StatusResult.Success,
                ResultCode = 0,
                Message = "",
            },
            EndpointInformation = new Endpoint()
            {
                CFXHandle = "CFX.A00.OT00470019",
                CFXVersion = "2.0",
                RequestNetworkUri = "amqp://127.0.0.1:1235/",
                RequestTargetAddress = "amqp://127.0.0.1:8888/",
                ModelNumber = "升降回流机-1",
                NumberOfLanes = 1,
                Vendor = "木子贸易中山有限公司",
                SerialNumber = "OT00470019",
                Stages = new List<StageInformation>
                    {
                        new StageInformation()
                        {
                            Stage = new Stage()
                            {
                                StageName = "ConveyorIn",
                                StageType = StageType.Work,
                                StageSequence = 1,
                            }
                        },
                        //new StageInformation()
                        //{
                        //    Stage = new Stage()
                        //    {
                        //        StageName = "ConveyorOut",
                        //        StageType = StageType.Work,
                        //        StageSequence = 2,
                        //    }
                        //}
                    },
                SupportedTopics = CFXSupportedTopicList.SupportedTopics
            }
        };

        return response;
    }
}