Exemple #1
0
 /// <summary>
 /// 设置返回结果,即执行结束
 /// </summary>
 public bool SetResult(string result)
 {
     lock (_objLock)
     {
         if (_form != null)
         {
             _log.Info(string.Format("setResult:{0}", result));
             _form.SetResult(result);
             return(true);
         }
     }
     return(false);
 }
Exemple #2
0
        public ListEntity <Company> GetCompanys(string companyIds, string month, string currentPageNumber)
        {
            try
            {
                string url      = ModelFactory.Url + "/companyInterface/companySc/getCompanySc";
                var    postVars = new NameValueCollection
                {
                    { "accessToken", AccessTokeBLL.AccessToken.AccessToken },
                    { "companyIds", companyIds },
                    { "month", month },
                    { "currentPageNumber", currentPageNumber }
                };
                string result = WebClientHttp.Post(url, postVars);
                FlashLogger.Info(result);
                var list = new ListEntityCommon <Company>().CheckReturnCode(result, out int rcode);
                if (rcode == 0)
                {
                    return(GetCompanys(companyIds, month, currentPageNumber));
                }

                return(list);
            }
            catch (Exception ex)
            {
                FlashLogger.Error(ex.Message);
                return(null);
            }
        }
Exemple #3
0
        public ListEntity<Hospital> GetHospitals(string hospitalIds, string month, string currentPageNumber)
        {
            try
            {
                string url = ModelFactory.Url + "/companyInterface/hospital/getHospital";
                var postVars = new NameValueCollection
                {
                    { "accessToken", AccessTokeBLL.AccessToken.AccessToken },
                    { "hospitalIds", hospitalIds },
                    { "month", month },
                    { "currentPageNumber", currentPageNumber }
                };
                string result = WebClientHttp.Post(url, postVars);
                FlashLogger.Info(result);
                var list = new ListEntityCommon<Hospital>().CheckReturnCode(result, out int rcode);
                if (rcode == 0) return GetHospitals(hospitalIds, month, currentPageNumber);

                return list;
            }
            catch (Exception ex)
            {
                FlashLogger.Error(ex.Message);
                return null;
            }
        }
Exemple #4
0
        public void Execute(IJobExecutionContext context)
        {
            var           dbName      = ConfigurationManager.AppSettings["ReductDbName"];
            var           openAway    = ConfigurationManager.AppSettings["ReductOpenAway"];
            var           dbName_Data = ConfigurationManager.AppSettings["ReductDataPath"];
            var           dbName_Log  = ConfigurationManager.AppSettings["ReductLogPath"];
            var           movePath    = ConfigurationManager.AppSettings["ReductMovePath"];
            IReductSqlBLL bll         = new ReductSqlBLL();

            try
            {
                var dbFile = FileOperate.GetLatestFileTimeInfo(openAway, ".bak");
                if (dbFile != null)
                {
                    FlashLogger.Info(string.Format("最新备份文件[{0}],\r\n数据库[{1}]\r\n正在还原中...", dbFile.FullName, dbName));
                    FlashLogger.Info(bll.ReductGo(dbName, dbFile.FullName));
                    FlashLogger.Info(string.Format("开始移动数据库备份文件,\r\n[{0}]\r\n   --->\r\n[{1}]", dbFile.FullName, movePath + dbFile.Name));
                    FileOperate.FileMove(dbFile.FullName, movePath + dbFile.Name);
                    FlashLogger.Info("删除目录下多余的备份文件!");
                    FileOperate.DeleteFolderFiles(openAway);
                    FlashLogger.Info("备份文件还原完毕!");
                }
                else
                {
                    FlashLogger.Error("未找到数据库备份文件,还原失败");
                }
            }
            catch (Exception ex)
            {
                FlashLogger.Error("ReductSqlJob_Execute:" + ex.Message);
            }
        }
Exemple #5
0
        public ListEntity <WareHouse> GetWareHouses(string distributeInfo, string currentPageNumber)
        {
            try
            {
                string url      = ModelFactory.Url + "/companyInterface/drug/wareHouse/getWareHouse";
                var    postVars = new NameValueCollection
                {
                    { "accessToken", AccessTokeBLL.AccessToken.AccessToken },
                    { "distributeInfo", distributeInfo },
                    { "currentPageNumber", currentPageNumber }
                };
                string result = WebClientHttp.Post(url, postVars);
                FlashLogger.Info(result);
                var list = new ListEntityCommon <WareHouse>().CheckReturnCode(result, out int rcode);
                if (rcode == 0)
                {
                    return(GetWareHouses(distributeInfo, currentPageNumber));
                }

                return(list);
            }
            catch (Exception ex)
            {
                FlashLogger.Error(ex.Message);
                return(null);
            }
        }
Exemple #6
0
        /**
         * handle the connection handshake:<br/>
         * <ul>
         * <li>set initial sequence number</li>
         * <li>send response handshake</li>
         * </ul>
         * @param handshake
         * @param peer
         * @throws IOException
         */
        protected void HandleHandShake(ConnectionHandshake handshake)
        {
            ConnectionHandshake responseHandshake = new ConnectionHandshake();
            //compare the packet size and choose minimun
            long clientBufferSize      = handshake.PacketSize;
            long myBufferSize          = datagramSize;
            long bufferSize            = Math.Min(clientBufferSize, myBufferSize);
            long initialSequenceNumber = handshake.InitialSeqNo;

            this.initialSequenceNumber = initialSequenceNumber;
            this.DatagramSize          = (int)bufferSize;
            // setDatagramSize((int) bufferSize);
            responseHandshake.PacketSize     = bufferSize;
            responseHandshake.UdtVersion     = 4;
            responseHandshake.InitialSeqNo   = initialSequenceNumber;
            responseHandshake.ConnectionType = -1;
            responseHandshake.MaxFlowWndSize = handshake.MaxFlowWndSize;
            //tell peer what the socket ID on this side is
            responseHandshake.SocketID      = mySocketID;
            responseHandshake.DestinationID = this.destination.SocketID;
            //cd 2018-08-28
            if (this.cookie == 0)
            {
                this.cookie = CreateCookie();
            }
            responseHandshake.Cookie = cookie;

            responseHandshake.SetSession(this);
            FlashLogger.Info("Sending reply " + responseHandshake);
            endPoint.DoSend(responseHandshake);
        }
        public ListEntity <Order> GetOrders(DateTime startTime, DateTime endTime, string currentPageNumber)
        {
            try
            {
                string url      = ModelFactory.Url + "/companyInterface/drug/purchaseOrder/getOrder";
                var    postVars = new NameValueCollection
                {
                    { "accessToken", AccessTokeBLL.AccessToken.AccessToken },
                    { "startTime", startTime.ToString("yyyy-MM-dd hh:mm:ss") },
                    { "endTime", endTime.ToString("yyyy-MM-dd hh:mm:ss") },
                    { "currentPageNumber", currentPageNumber }
                };
                string result = WebClientHttp.Post(url, postVars);
                FlashLogger.Info(result);
                var list = new ListEntityCommon <Order>().CheckReturnCode(result, out int rcode);
                if (rcode == 0)
                {
                    return(GetOrders(startTime, endTime, currentPageNumber));
                }

                return(list);
            }
            catch (Exception ex)
            {
                FlashLogger.Error(ex.Message);
                return(null);
            }
        }
Exemple #8
0
        public ListEntity <Procurecatalog> CheckExist(string procureCatalogInfo)
        {
            try
            {
                string url      = ModelFactory.Url + "/companyInterface/drug/procurecatalog/checkExist";
                var    postVars = new NameValueCollection
                {
                    { "accessToken", AccessTokeBLL.AccessToken.AccessToken },
                    { "procureCatalogInfo", procureCatalogInfo },
                };
                string result = WebClientHttp.Post(url, postVars);
                FlashLogger.Info(result);
                var list = new ListEntityCommon <Procurecatalog>().CheckReturnCode(result, out int rcode);
                if (rcode == 0)
                {
                    return(CheckExist(procureCatalogInfo));
                }

                return(list);
            }
            catch (Exception ex)
            {
                FlashLogger.Error(ex.Message);
                return(null);
            }
        }
        public ReturnEntity <ErrorListEntity_Order, Order> Response(string orderDetailInfo)
        {
            try
            {
                string url      = ModelFactory.Url + "/companyInterface/drug/purchaseOrder/response";
                var    postVars = new NameValueCollection
                {
                    { "accessToken", AccessTokeBLL.AccessToken.AccessToken },
                    { "orderDetailInfo", orderDetailInfo },
                };
                string result = WebClientHttp.Post(url, postVars);
                FlashLogger.Info(result);
                var list = new ReturnEntityCommon <ErrorListEntity_Order, Order>().CheckReturnCode(result, out int rcode);
                if (rcode == 0)
                {
                    return(Read(orderDetailInfo));
                }

                return(list);
            }
            catch (Exception ex)
            {
                FlashLogger.Error(ex.Message);
                return(null);
            }
        }
Exemple #10
0
        public ListEntity <PayOrderDetail> GetPayOrderDetails(string payOrderCode, string currentPageNumber)
        {
            try
            {
                string url      = ModelFactory.Url + "/companyInterface/pay/getPayOrderDetail";
                var    postVars = new NameValueCollection
                {
                    { "accessToken", AccessTokeBLL.AccessToken.AccessToken },
                    { "payOrderCode", payOrderCode },
                    { "currentPageNumber", currentPageNumber }
                };
                string result = WebClientHttp.Post(url, postVars);
                FlashLogger.Info(result);
                var list = new ListEntityCommon <PayOrderDetail>().CheckReturnCode(result, out int rcode);
                if (rcode == 0)
                {
                    return(GetPayOrderDetails(payOrderCode, currentPageNumber));
                }

                return(list);
            }
            catch (Exception ex)
            {
                FlashLogger.Error(ex.Message);
                return(null);
            }
        }
Exemple #11
0
        /**
         * process EXP event (see spec. p 13)
         */
        protected void ProcessEXPEvent()
        {
            if (session.Socket == null)
            {
                return;
            }
            UDTSender sender = session.Socket.GetSender();

            //put all the unacknowledged packets in the senders loss list
            sender.PutUnacknowledgedPacketsIntoLossList();
            if (expCount > 16 && (DateTime.Now.Ticks - sessionUpSince) / TicksMS > IDLE_TIMEOUT)
            {
                if (!connectionExpiryDisabled && !stopped)
                {
                    SendShutdown();
                    Stop();
                    FlashLogger.Info("Session " + session + " expired.");
                    return;
                }
            }
            if (!sender.HaveLostPackets())
            {
                SendKeepAlive();
            }
            expCount++;
        }
Exemple #12
0
        private void StartGC()
        {
            Thread gc = new Thread(() =>
            {
                while (true)
                {
                    judpSocket socket = null;
                    foreach (var item in dicMap)
                    {
                        if (!item.Key.TryGetTarget(out socket))
                        {
                            UDTSession serversession = endPoint.RemoveSession(item.Value);
                            if (serversession != null)
                            {
                                serversession.Socket.Close();
                                serversession.Socket.GetReceiver().Stop();
                                serversession.Socket.GetSender().Stop();
                                FlashLogger.Info("移除socket:" + item.Value);
                            }
                        }
                    }
                }
            });

            gc.IsBackground = true;
            gc.Name         = "GCSocket";

            if (!gc.IsAlive)
            {
                gc.Start();
            }
        }
Exemple #13
0
        //starts the sender algorithm
        private void DoStart()
        {
            senderThread = new Thread(() =>
            {
                try
                {
                    while (!stopped)
                    {
                        //wait until explicitely (re)started
                        startLatch.Wait();
                        paused = false;
                        SenderAlgorithm();
                    }
                }

                catch (IOException ex)
                {
                    FlashLogger.Error("", ex);
                }
                FlashLogger.Info("STOPPING SENDER for " + session);
            });

            senderThread.Name         = UDTThreadFactory.Instance.NewThreadName();
            senderThread.IsBackground = true;

            senderThread.Start();
        }
Exemple #14
0
        public ReturnEntity <ErrorListEntity_Sale, Sale> AddSale(string saleInfo)
        {
            try
            {
                string url      = ModelFactory.Url + "/companyInterface/drug/saleList/addSale";
                var    postVars = new NameValueCollection
                {
                    { "accessToken", AccessTokeBLL.AccessToken.AccessToken },
                    { "saleInfo", saleInfo },
                };
                string result = WebClientHttp.Post(url, postVars);
                FlashLogger.Info(result);
                var list = new ReturnEntityCommon <ErrorListEntity_Sale, Sale>().CheckReturnCode(result, out int rcode);
                if (rcode == 0)
                {
                    return(AddSale(saleInfo));
                }

                return(list);
            }
            catch (Exception ex)
            {
                FlashLogger.Error(ex.Message);
                return(null);
            }
        }
Exemple #15
0
        /**
         * 移除session
         * cd
         * @param socketid
         * @return
         */
        public UDTSession RemoveSession(long socketid)
        {
            //cd
            sessionnum--;
            UDTSession session = null;

            FlashLogger.Info("Storing Sessionnum:" + sessionnum);
            sessions.TryRemove(socketid, out session);
            return(session);
        }
Exemple #16
0
        public BaseEntity TestConnection()
        {
            string url    = ModelFactory.Url + "/testConnection";
            string result = WebRequestHttp.Post(url, "", Encoding.UTF8);

            FlashLogger.Info(result);
            var baseEntity = (BaseEntity)JsonConvert.DeserializeObject(result, typeof(BaseEntity));

            baseEntity.ResultJson = result;
            return(baseEntity);
        }
Exemple #17
0
        public void EncryptTest()
        {
            FlashLogger.Instance().Register();
            string orgUserName = "******";
            string secret      = "111111";
            string key         = "yss.yh";
            var    uname       = MySecurity.SEncryptString(orgUserName, key);
            var    psd         = MySecurity.SEncryptString(secret, key);

            FlashLogger.Info(string.Format("\r\nOrgUserName:\r\n{0}\r\nSecret:\r\n{1}\r\n", uname, psd));
        }
        //http://www.cnblogs.com/emrys5/p/6693454.html
        static void Main(string[] args)
        {
            FlashLogger.Instance().Register();

            FlashLogger.Debug("Debug");
            FlashLogger.Debug("Debug", new Exception("testexception"));
            FlashLogger.Info("Info");
            FlashLogger.Fatal("Fatal");
            FlashLogger.Error("Error");
            FlashLogger.Warn("Warn", new Exception("testexception"));
        }
Exemple #19
0
        public void TestWriteLog()
        {
            FlashLogger.Instance().Register();

            FlashLogger.Debug("Debug");
            FlashLogger.Debug("Debug", new Exception("testexception"));
            FlashLogger.Info("Info");
            FlashLogger.Fatal("Fatal");
            FlashLogger.Error("Error");
            FlashLogger.Warn("Warn", new Exception("testexception"));
        }
Exemple #20
0
        public ActionResult Index()
        {
            ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
            FlashLogger.Debug("Debug");
            FlashLogger.Debug("Debug", new Exception("testexception"));
            FlashLogger.Info("Info");
            FlashLogger.Fatal("Fatal");
            FlashLogger.Error("Error");
            FlashLogger.Warn("Warn", new Exception("testexception"));

            return(View());
        }
Exemple #21
0
        public static void Info(object message, System.Exception ex)
        {
            switch (LogEngineType)
            {
            case LogEngineTypeEnum.DefaultLogger:
                DefaultLogger.Info(message, ex);
                break;

            case LogEngineTypeEnum.FlashLogger:
                FlashLogger.Info(message, ex);
                break;
            }
        }
        public void Submit()
        {
            if (ThreadLocked)
            {
                return;
            }
            FlashLogger.Info(string.Format("MaxId:{0}", MaxId));
            List <SaleBill> saleBills = dalMySql.GetTopFive(MaxId);

            if (saleBills.Count > 0)
            {
                ThreadLocked = true;
                FlashLogger.Warn("$$$ [ ThreadLocked ] $$$");
                MaxId = saleBills[saleBills.Count - 1].SaleBillID;
                saleBills.ForEach(s => {
                    var insMsg = dalSqlServer.InsertBill(s);
                    if (insMsg.IndexOf("单据写入失败") > -1)
                    {
                        FlashLogger.Error(insMsg);
                        MaxId        = 0;
                        ThreadLocked = false;
                        FlashLogger.Warn("$$$ [ ThreadUnLocked ] $$$");
                        return;
                    }
                    else
                    {
                        FlashLogger.Info(insMsg);
                        if (dalMySql.SetInvalid(s.SaleBillID) > 0)
                        {
                            FlashLogger.Info("CacheID:" + s.SaleBillID);
                        }
                        else
                        {
                            FlashLogger.Error("ErrorCacheID:" + s.SaleBillID);
                        }
                    }
                });
                ThreadLocked = false;
                FlashLogger.Warn("$$$ [ ThreadUnLocked ] $$$");
            }
            else
            {
                FlashLogger.Warn("$$$ [ Heartbeat - ThreadUnLocked ] $$$");
            }
        }
Exemple #23
0
        //2nd handshake for connect
        protected void SendConfirmation(ConnectionHandshake hs)
        {
            ConnectionHandshake handshake = new ConnectionHandshake();

            handshake.ConnectionType = -1;
            handshake.SocketID       = ConnectionHandshake.SOCKET_TYPE_DGRAM;
            handshake.InitialSeqNo   = hs.InitialSeqNo;
            handshake.PacketSize     = hs.PacketSize;
            handshake.SocketID       = mySocketID;
            handshake.MaxFlowWndSize = flowWindowSize;
            //cd 2018-08-28
            handshake.Cookie = hs.Cookie;
            handshake.PeerIP = hs.PeerIP;
            //
            handshake.SetSession(this);
            FlashLogger.Info("Sending confirmation " + handshake);
            endPoint.DoSend(handshake);
        }
Exemple #24
0
        //handshake for connect
        protected void SendHandShake()
        {
            ConnectionHandshake handshake = new ConnectionHandshake();

            handshake.ConnectionType = ConnectionHandshake.CONNECTION_TYPE_REGULAR;
            handshake.SocketType     = ConnectionHandshake.SOCKET_TYPE_DGRAM;
            long initialSequenceNo = SequenceNumber.Random();

            initialSequenceNumber    = initialSequenceNo;
            handshake.InitialSeqNo   = initialSequenceNo;
            handshake.PacketSize     = datagramSize;
            handshake.SocketID       = mySocketID;
            handshake.MaxFlowWndSize = flowWindowSize;
            //cd 2018-08-28
            handshake.SetPeerIP(this.endPoint.GetLocalAddress().Address.ToString());
            handshake.SetSession(this);
            FlashLogger.Info("Sending " + handshake);
            endPoint.DoSend(handshake);
            connectNum++;
        }
Exemple #25
0
 //starts the sender algorithm
 private void Start()
 {
     receiverThread = new Thread(() => {
         try {
             nextACK     = Util.getCurrentTime() + ackTimerInterval;
             nextNAK     = (long)(Util.getCurrentTime() + 1.5 * nakTimerInterval);
             nextEXP     = Util.getCurrentTime() + 2 * expTimerInterval;
             ackInterval = session.CongestionControl.GetAckInterval();
             while (!stopped)
             {
                 ReceiverAlgorithm();
             }
         }
         catch (Exception ex) {
             FlashLogger.Error("", ex);
         }
         FlashLogger.Info("STOPPING RECEIVER for " + session);
     });
     receiverThread.Name         = UDTThreadFactory.Instance.NewThreadName();
     receiverThread.IsBackground = true;
     receiverThread.Start();
 }
Exemple #26
0
        /**
         * send connection handshake until a reply from server is received
         * TODO check for timeout
         * @throws InterruptedException
         * @throws IOException
         */

        public void Connect()
        {
            int n = 0;

            while (State != ready)
            {
                SendHandShake();
                if (State == invalid)
                {
                    throw new IOException("Can't connect!");
                }
                n++;
                if (State != ready)
                {
                    Thread.Sleep(500);
                }
            }

            cc.Init();
            //logger.info("Connected, " + n + " handshake packets sent");
            FlashLogger.Info("Connected, " + n + " handshake packets sent");
        }
Exemple #27
0
        public ListEntity<Hospital> CheckExist(string hospitalInfo)
        {
            try
            {
                string url = ModelFactory.Url + "/companyInterface/hospital/checkExist";
                var postVars = new NameValueCollection
                {
                    { "accessToken", AccessTokeBLL.AccessToken.AccessToken },
                    { "hospitalInfo", hospitalInfo },
                };
                string result = WebClientHttp.Post(url, postVars);
                FlashLogger.Info(result);
                var list = new ListEntityCommon<Hospital>().CheckReturnCode(result, out int rcode);
                if (rcode == 0) return CheckExist(hospitalInfo);

                return list;
            }
            catch (Exception ex)
            {
                FlashLogger.Error(ex.Message);
                return null;
            }
        }
Exemple #28
0
        public AccessTokenEntity GetToken()
        {
            string url = ModelFactory.Url + "/companyInterface/accessToken/getToken";

            ModelFactory.orgUser = new OrgUser
            {
                OrgUserName = ModelFactory.OrgUserName,
                Secret      = ModelFactory.Secret
            };
            var pars = string.Format("orgUserName={0}&secret={1}&logtime={2}&md5={3}", ModelFactory.orgUser.OrgUserName,
                                     ModelFactory.orgUser.Secret, ModelFactory.orgUser.Logtime, ModelFactory.orgUser.MD5);
            var postVars = new NameValueCollection
            {
                { "orgUserName", ModelFactory.orgUser.OrgUserName },
                { "params", pars }
            };
            string result = WebClientHttp.Post(url, postVars);

            FlashLogger.Info(result);
            var entity = (AccessTokenEntity)JsonConvert.DeserializeObject(result, typeof(AccessTokenEntity));

            entity.ResultJson = result;
            return(entity);
        }
Exemple #29
0
 /**
  * create a UDT ServerSocket
  * @param localAddress
  * @param port - the local port. If 0, an ephemeral port will be chosen
  */
 public UDTServerSocket(int port, string localAddress = null)
 {
     endpoint = new UDPEndPoint(port, localAddress);
     FlashLogger.Info("Created server endpoint on port " + endpoint.LocalPort);
 }
Exemple #30
0
        public override void Received(IUDTPacket packet, Destination peer)
        {
            lastPacket = packet;

            if (packet is ConnectionHandshake)
            {
                ConnectionHandshake hs = (ConnectionHandshake)packet;
                FlashLogger.Info("Received connection handshake from " + peer + "\n" + hs);
                if (State != ready)
                {
                    if (hs.ConnectionType == 1)
                    {
                        try {
                            //TODO validate parameters sent by peer
                            // long peerSocketID = hs.SocketID;
                            // DestinationID = peerSocketID;
                            // destination(peerSocketID);
                            destination.SocketID = hs.SocketID;
                            SendConfirmation(hs);
                        } catch (Exception ex) {
                            FlashLogger.Warn("Error creating socket", ex);

                            State = invalid;
                        }
                        return;
                    }
                    else
                    {
                        try {
                            //TODO validate parameters sent by peer
                            //理论上这里是getConnectionType==-1
                            // long peerSocketID = hs.getSocketID();
                            // destination.SetSocketID(peerSocketID);
                            // setState(ready);
                            destination.SocketID = hs.SocketID;
                            State = ready;
                            Thread.Sleep(50);
                            //多个握手序列,使用接收的第一个
                            this.initialSequenceNumber = hs.InitialSeqNo;//cd 必须重置
                            socket = new UDTSocket(endPoint, this);
                        } catch (Exception ex) {
                            FlashLogger.Warn("Error creating socket", ex);

                            State = invalid;
                        }
                        return;
                    }
                }
            }

            if (State == ready)
            {
                if (packet is Shutdown)
                {
                    State  = shutdown;
                    active = false;
                    FlashLogger.Info("Connection shutdown initiated by the other side.");
                    return;
                }
                active = true;
                try {
                    if (packet.ForSender())
                    {
                        socket.GetSender().Receive(lastPacket);
                    }
                    else
                    {
                        socket.GetReceiver().Receive(lastPacket);
                    }
                } catch (Exception ex) {
                    //session is invalid
                    FlashLogger.Error("Error in " + toString(), ex);
                    //setState(invalid);
                    State = invalid;
                }
                return;
            }
        }