예제 #1
0
        /// <summary>
        /// 将信息发给客户端
        /// </summary>
        /// <param name="shopAppId">门店AppId</param>
        /// <param name="message"></param>
        public void SendMessageToService(MessageMod mod)
        {
            mod.ShopAppId = CertificateMod.ShopAppId;
            mod.Type      = CertificateMod.Type;
            ///给服务器发送信息指令,通知服务器进行操作。
            string message = JsonUtil.ToJson2(mod);

            websocket.Send(message);
        }
예제 #2
0
        /// <summary>
        /// 初始化socket
        /// </summary>
        /// <param name="listenIp">推送服务ip</param>
        /// <param name="port">推送服务端口</param>
        /// <param name="_Certificate">身份凭证的信息</param>
        /// <remarks>2016-8-2 杨云奕 创建</remarks>
        public void InitSuperWebSocket(string listenIp, int port, MessageMod _Certificate)
        {
            if (websocket == null || websocket.State == WebSocketState.Closed)
            {
                CertificateMod = _Certificate;

                _listenIp = listenIp;
                _port     = port;

                HistoryList.Add("正在连接服务器...");
                websocket                  = new WebSocket("ws://" + listenIp + ":" + port + "");
                websocket.Opened          += websocket_Opened;
                websocket.Closed          += websocket_Closed;
                websocket.MessageReceived += websocket_MessageReceived;


                InitDisconnectionOrder();
                websocket.Open();
            }
        }
예제 #3
0
        /// <summary>
        /// 获取两天内离线的订单的数据集合
        /// </summary>
        /// <returns></returns>
        List <MessageMod> GetDisCountOrderList()
        {
            List <MessageMod> DiscountList = new List <MessageMod>();

            List <Hyt.Model.SoOrder> orderList = Hyt.BLL.Pos.SyWSOrderToClientJobBo.Instance.GetNotPosthOrderDataToClientList(1);

            foreach (Hyt.Model.SoOrder order in orderList)
            {
                List <int> posManageSysNo = new List <int>();
                //SoOrder order = Hyt.BLL.Order.SoOrderBo.Instance.GetEntity(OrderSysNo);
                Hyt.Model.SoReceiveAddress    address    = Hyt.BLL.Order.SoOrderBo.Instance.GetOrderReceiveAddress(order.ReceiveAddressSysNo);
                IList <Hyt.Model.SoOrderItem> orderItems = Hyt.BLL.Order.SoOrderBo.Instance.GetOrderItemsByOrderId(order.SysNo);
                //CBDsDealer dealerMod = DsDealerBo.Instance.GetDsDealer(order.DealerSysNo);
                List <Hyt.Model.Pos.CBDsPosManage> posManageList = Hyt.BLL.Pos.DsPosManageBo.Instance.GetEntityListByDsSysNo(order.DealerSysNo);
                List <Hyt.Model.BsPaymentType>     payTypeList   = Hyt.BLL.Order.SoOrderBo.Instance.LoadAllPayType().Where(b => b.Status == 1).ToList();
                Hyt.Model.BsPaymentType            pTypeMod      = payTypeList.Find(p => p.SysNo == order.PayTypeSysNo);
                if (pTypeMod == null)
                {
                    pTypeMod = new Hyt.Model.BsPaymentType()
                    {
                        PaymentName = "未知类型"
                    };
                }
                foreach (Hyt.Model.Pos.CBDsPosManage mod in posManageList)
                {
                    posManageSysNo.Add(mod.SysNo);
                }
                List <Hyt.Model.Pos.DsPosWebSocketManage> manageList = Hyt.BLL.Pos.DsPosWebSocketManageBo.Instance.GetSocketManage(posManageSysNo.ToArray());
                string Message = "";
                foreach (Hyt.Model.Pos.DsPosWebSocketManage mod in manageList)
                {
                    Message += "订单编号:" + order.SysNo + " 接收机器:" + mod.WS_PosName;
                    if (mod.WS_Status == 1 && !string.IsNullOrEmpty(mod.WS_PosNumber))
                    {
                        MessageMod msgMod = new MessageMod();
                        msgMod.ComeType        = "订单";
                        msgMod.Function        = "SendUser";
                        msgMod.ReceiveId       = mod.WS_PosNumber;
                        msgMod.Message         = "";
                        msgMod.OrderSysNo      = order.SysNo;
                        msgMod.Receiver        = address.Name;
                        msgMod.ReceiverAddress = address.StreetAddress;
                        msgMod.ReceiverTele    = address.PhoneNumber + "、" + address.MobilePhoneNumber;
                        msgMod.CreateTime      = order.CreateDate.ToString("yyyy-MM-dd HH:mm:ss");
                        msgMod.PayType         = pTypeMod.PaymentName;
                        int totalNumber = 0;
                        foreach (Hyt.Model.SoOrderItem item in orderItems)
                        {
                            totalNumber += item.Quantity;
                        }
                        msgMod.TotalNumber = totalNumber;
                        msgMod.TotalValue  = order.OrderAmount;

                        //msgMod.OrderItems = Hyt.Util.Serialization.JsonUtil.ToJson2(orderItems);
                        msgMod.OrderItems = "[]";
                        if (!string.IsNullOrEmpty(Message))
                        {
                            Message += " , ";
                        }
                        DiscountList.Add(msgMod);
                        //try
                        //{
                        //    AgentPushServiceSingleton.Instance.SendMessageToService(msgMod);
                        //    Message += "  发送成功!";
                        //}
                        //catch (Exception e)
                        //{
                        //    Message += "  发送失败!-" + e.Message;
                        //}
                    }
                }
            }

            return(DiscountList);
        }