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)); } }