public ClientHandler(TaskBulletion task)
 {
     sendbuff = task.sendbuff;
     serverIP = task.gsServerIP_;
     type     = task.type;
     contxt   = task.context;
 }
        /// <summary>
        /// 公告添加
        /// </summary>
        /// <returns></returns>
        public Message JW2_BOARDTASK_INSERT()
        {
            string serverIP     = "";
            string GSserverIP   = "";
            int    result       = -1;
            string BoardMessage = "";
            string BeginTime    = "";
            string EndTime      = "";
            int    Interval     = 0;
            int    userbyid     = 0;

            try
            {
                //ip
                serverIP = Encoding.Unicode.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.JW2_ServerIP).m_bValueBuffer);
//				serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.JW2_ServerIP).m_bValueBuffer);
                //操作员id
                TLV_Structure strut = new TLV_Structure(TagName.Magic_PetID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.UserByID).m_bValueBuffer);
                userbyid = (int)strut.toInteger();
                //GSserverIP
                GSserverIP = Encoding.Unicode.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.JW2_GSServerIP).m_bValueBuffer);
                //公告内容
                BoardMessage = Encoding.Unicode.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.JW2_BoardMessage).m_bValueBuffer);
                //开始时间
                BeginTime = Encoding.Unicode.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.JW2_BeginTime).m_bValueBuffer);
                //结束时间
                EndTime = Encoding.Unicode.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.JW2_EndTime).m_bValueBuffer);
//				GSserverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.JW2_GSServerIP).m_bValueBuffer);
//				//公告内容
//				BoardMessage = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.JW2_BoardMessage).m_bValueBuffer);
//				//开始时间
//				BeginTime = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.JW2_BeginTime).m_bValueBuffer);
//				//结束时间
//				EndTime = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.JW2_EndTime).m_bValueBuffer);
                //间隔
                strut    = new TLV_Structure(TagName.Magic_PetID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.JW2_Interval).m_bValueBuffer);
                Interval = (int)strut.toInteger();

                SqlHelper.log.WriteLog(lg.JW2API_BrowseServerAddress + CommonInfo.serverIP_Query(serverIP) + lg.JW2API_BOARDTASKINSERT);
                Console.WriteLine(DateTime.Now + lg.JW2API_BrowseServerAddress + CommonInfo.serverIP_Query(serverIP) + lg.JW2API_BOARDTASKINSERT);
                result = JW2DataInfo.JW2LoginDataInfo.BOARDTASK_INSERT(serverIP, GSserverIP, BoardMessage, BeginTime, EndTime, userbyid, Interval);


                if (result == 1)
                {
                    SqlHelper helper = new SqlHelper();
                    int       iiii   = 0;

                    string DatabaseIP   = ConfigurationSettings.AppSettings["DatabaseIP"];
                    string DatabaseName = ConfigurationSettings.AppSettings["DatabaseName"];
                    string DatabaseUser = ConfigurationSettings.AppSettings["DatabaseUser"];
                    string DatabasePass = ConfigurationSettings.AppSettings["DatabasePass"];
                    helper.init(DatabaseIP, DatabaseName, DatabaseUser, DatabasePass);


                    string SqlStr          = "select interval*1000*60,taskID,datediff(mi,getdate(),SendEndTime) as expire,datediff(mi,getdate(),SendBeginTime) as start,status,command,boardMessage,datediff(mi,getdate(),SendBeginTime),atonce from JW2_boardTasker where (status=0 or status=2)";
                    System.Data.DataSet ds = SqlHelper.ExecuteDataset(SqlStr);
                    if (ds != null && ds.Tables[0].Rows.Count > 0)
                    {
                        for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                        {
                            int           interval  = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[0]);
                            int           taskID    = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[1]);
                            int           timeOut   = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[2]);
                            int           timeStart = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[3]);
                            int           status    = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[4]);
                            int           command   = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[5].ToString());
                            string        context   = ds.Tables[0].Rows[i].ItemArray[6].ToString();
                            int           startTime = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[7].ToString());
                            int           atonce    = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[8].ToString());
                            TaskBulletion task      = new TaskBulletion(i);
                            task.status    = status;
                            task.taskID    = taskID;
                            task.timeOut   = timeOut;
                            task.timeStart = timeStart;
                            task.command   = command;
                            task.interval  = interval;
                            task.context   = context;
                            task.atonce    = atonce;

                            task.process(task.taskID);
                        }
                    }
                    string SqlStr_U = "update JW2_boardTasker set status=1 where status=0 or status=2";                    //即时公告发送后结束
                    SqlHelper.ExecCommand(SqlStr_U);
                    Console.WriteLine(DateTime.Now + lg.JW2API_BrowseServerAddress + CommonInfo.serverIP_Query(serverIP) + lg.JW2API_BOARDTASKINSERT + lg.JW2API_Success);
                    return(Message.COMMON_MES_RESP("SCUESS", Msg_Category.JW2_ADMIN, ServiceKey.JW2_BOARDTASK_INSERT_RESP));
                }
                else
                {
                    Console.WriteLine(DateTime.Now + lg.JW2API_BrowseServerAddress + CommonInfo.serverIP_Query(serverIP) + lg.JW2API_BOARDTASKINSERT + lg.JW2API_Failure);
                    return(Message.COMMON_MES_RESP("FAILURE", Msg_Category.JW2_ADMIN, ServiceKey.JW2_BOARDTASK_INSERT_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING));
                }
            }
            catch (System.Exception ex)
            {
                SqlHelper.errLog.WriteLog(lg.JW2API_QueryBOARDTASKINSERT + serverIP + lg.JW2API_BeginTime + BeginTime + lg.JW2API_EndTime + EndTime + "->" + ex.Message);
                return(Message.COMMON_MES_RESP(lg.JW2API_BOARDTASKINSERT, Msg_Category.JW2_ADMIN, ServiceKey.JW2_BOARDTASK_INSERT_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING));
            }
        }