public static int AddRepliedMessage(RepliedMessage repliedMessage) { string sqlStr = " insert into wxreplymsg ( " + " wxreplymsg_rootid , " + " wxreplymsg_from , " + " wxreplymsg_to , " + " wxreplymsg_msgcount , " + " wxreplymsg_msgtype , " + " wxreplymsg_content , " + " wxreplymsg_mediaid , " + " wxreplymsg_desc , " + " wxreplymsg_musicurl , " + " wxreplymsg_hqmusicurl , " + " wxreplymsg_thumbmediaid , " + " wxreplymsg_url , " + " wxreplymsg_picurl , " + " wxreplymsg_isservice , " + " wxreplymsg_send ) values (" + " '" + repliedMessage.rootId.Trim().Replace("'", "") + "' , " + " '" + repliedMessage.from.Trim().Replace("'", "") + "' , " + " '" + repliedMessage.to.Trim().Replace("'", "") + "' , " + " '" + repliedMessage.messageCount.ToString().Trim().Replace("'", "") + "' , " + " '" + repliedMessage.type.Trim().Replace("'", "") + "' , " + " '" + repliedMessage.content.Trim().Replace("'", "") + "' , " + " '" + repliedMessage.mediaId.Trim().Replace("'", "") + "' , " + " '" + repliedMessage.desc.Trim().Replace("'", "") + "' , " + " '" + repliedMessage.musicUrl.Trim().Replace("'", "") + "' , " + " '" + repliedMessage.highQualityMusicUrl.Trim().Replace("'", "") + "' , " + " '" + repliedMessage.thumbMediaId.Trim().Replace("'", "") + "' , " + " '" + repliedMessage.url.Trim().Replace("'", "") + "' , " + " '" + repliedMessage.picUrl.Trim().Replace("'", "") + "' , " + " '" + (repliedMessage.isService ? "1" : "0") + "' , " + " '" + (repliedMessage.hasSent ? "1" : "0") + "' ) "; int maxId = 0; SqlConnection conn = new SqlConnection(Util.conStr.Trim()); SqlCommand cmd = new SqlCommand(sqlStr, conn); conn.Open(); int i = cmd.ExecuteNonQuery(); if (i == 1) { cmd.CommandText = " select max(wxreplymsg_id) from wxreplymsg "; SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read()) { i = dr.GetInt32(0); } dr.Close(); } conn.Close(); cmd.Dispose(); conn.Dispose(); repliedMessage.id = i; return(i); }
public static RepliedMessage DealMenuViewMessage(ReceivedMessage receivedMessage) { RepliedMessage repliedMessage = new RepliedMessage(); if (receivedMessage.eventKey.ToLower().Trim().StartsWith("http://www.luqinwenda.com/index.php?app=public&mod=landingpage")) { Util.DealLandingRequest(receivedMessage.from); } return(repliedMessage); }
public static int SendServiceMessage(ServiceMessage serviceMessage) { RepliedMessage repliedMessage = new RepliedMessage(); repliedMessage.from = serviceMessage.from; repliedMessage.to = serviceMessage.to; repliedMessage.rootId = ""; repliedMessage.type = serviceMessage.type.Trim(); repliedMessage.content = serviceMessage.content.Trim(); if (serviceMessage.type.Trim().Equals("news") && serviceMessage.newsArray != null) { repliedMessage.newsContent = serviceMessage.newsArray; } repliedMessage.SendAsServiceMessage(); repliedMessage.hasSent = true; return(RepliedMessage.AddRepliedMessage(repliedMessage)); }
public static RepliedMessage DealMenuClickMessage(ReceivedMessage receivedMessage) { RepliedMessage repliedMessage = new RepliedMessage(); repliedMessage.from = receivedMessage.to; repliedMessage.to = receivedMessage.from; repliedMessage.rootId = receivedMessage.id.Trim(); switch (receivedMessage.eventKey.Trim()) { case "PINGTAI": repliedMessage.content = Util.GetMenuWodeHit(receivedMessage.from, "http://weixin.luqinwenda.com/dingyue/images/1.jpg" , 1, "卢勤问答平台", "这里是卢勤问答平台,你可以在这里浏览和评论他人的提问。"); repliedMessage.messageCount = 1; repliedMessage.type = "news"; break; case "TIWEN": repliedMessage.content = Util.GetMenuWodeHit(receivedMessage.from, "http://weixin.luqinwenda.com/dingyue/images/3.jpg" , 3, "快速提问", "点击进入快速提问,把你的问题提出来,卢勤老师帮你排忧解难。"); repliedMessage.messageCount = 1; repliedMessage.type = "news"; break; case "WENDA": repliedMessage.content = Util.GetMenuWodeHit(receivedMessage.from, "http://weixin.luqinwenda.com/dingyue/images/2.jpg" , 2, "卢老师的回答", "卢勤老师的回答都在这里,点击即可浏览。"); repliedMessage.messageCount = 1; repliedMessage.type = "news"; break; case "WODE": repliedMessage.content = Util.GetMenuWodeHit(receivedMessage.from, "http://weixin.luqinwenda.com/dingyue/images/4.jpg" , 4, "还记得自己提过的问题吗?点击进入,即可查看提问历史。", "还记得自己提过的问题吗?点击进入,即可查看提问历史。"); repliedMessage.messageCount = 1; repliedMessage.type = "news"; break; default: break; } return(repliedMessage); }
public static RepliedMessage DealUserInputMessage(ReceivedMessage receivedMessage) { RepliedMessage repliedMessage = new RepliedMessage(); repliedMessage.from = receivedMessage.to; repliedMessage.to = receivedMessage.from; repliedMessage.rootId = receivedMessage.id; switch (receivedMessage.content.Trim().ToLower()) { case "二维码": repliedMessage = CreateQrCodeReplyMessage(receivedMessage, repliedMessage); break; case "trx": //repliedMessage = CreateQrCodeReplyMessage(receivedMessage, repliedMessage); break; default: break; } return(repliedMessage); }
public static RepliedMessage CreateQrCodeReplyMessage(ReceivedMessage receivedMessage, RepliedMessage repliedMessage) { string token = Util.GetToken(); long scene = long.Parse(Util.GetInviteCode(receivedMessage.to.Trim())); string ticket = Util.GetQrCodeTicketTemp(token, scene); byte[] qrCodeByteArr = Util.GetQrCodeByTicket(ticket); string filePathName = System.Configuration.ConfigurationSettings.AppSettings["qrcode_path"].Trim() + "\\" + scene.ToString() + ".jpg"; Util.SaveBytesToFile(filePathName, qrCodeByteArr); string mediaId = Util.UploadImageToWeixin(filePathName, token); repliedMessage.messageCount = 1; repliedMessage.type = "image"; repliedMessage.content = mediaId; return(repliedMessage); }
public static void SendScheduleMessage() { for (; sendingReminder;) { DataTable dt = DBHelper.GetDataTable(" select * from reminder_message where scheduled_send_date < getdate() and status = 0 "); //beforeSendUpdateParameterPairArr[0].Key = ""; for (int i = 0; i < dt.Rows.Count; i++) { KeyValuePair <string, KeyValuePair <SqlDbType, object> >[] keyParameterPairArr = new KeyValuePair <string, KeyValuePair <SqlDbType, object> > [1]; keyParameterPairArr[0] = new KeyValuePair <string, KeyValuePair <SqlDbType, object> >("id", new KeyValuePair <SqlDbType, object>(SqlDbType.Int, dt.Rows[i]["id"])); KeyValuePair <string, KeyValuePair <SqlDbType, object> >[] beforeSendUpdateParameterPairArr = new KeyValuePair <string, KeyValuePair <SqlDbType, object> > [1]; beforeSendUpdateParameterPairArr[0] = new KeyValuePair <string, KeyValuePair <SqlDbType, object> >("status", new KeyValuePair <SqlDbType, object>(SqlDbType.Int, (object)1)); DBHelper.UpdateData("reminder_message", beforeSendUpdateParameterPairArr, keyParameterPairArr); RepliedMessage msg = new RepliedMessage(); msg.from = System.Configuration.ConfigurationSettings.AppSettings["ori_id"].Trim(); msg.to = dt.Rows[i]["open_id"].ToString().Trim(); msg.type = "text"; msg.content = dt.Rows[i]["content"].ToString().Trim(); int j = 0; //try //{ j = ServiceMessage.SendServiceMessage(new ServiceMessage(msg.jsonFormatData)); //} //catch(Exception e) //{ //} object result; if (j == 0) { result = (object)-1; } else { result = (object)2; } KeyValuePair <string, KeyValuePair <SqlDbType, object> >[] afterSendUpdateParameterPairArr = new KeyValuePair <string, KeyValuePair <SqlDbType, object> > [2]; afterSendUpdateParameterPairArr[0] = new KeyValuePair <string, KeyValuePair <SqlDbType, object> >("status", new KeyValuePair <SqlDbType, object>(SqlDbType.Int, (object)result)); afterSendUpdateParameterPairArr[1] = new KeyValuePair <string, KeyValuePair <SqlDbType, object> >("real_send_date", new KeyValuePair <SqlDbType, object>(SqlDbType.DateTime, (object)DateTime.Now)); DBHelper.UpdateData("reminder_message", afterSendUpdateParameterPairArr, keyParameterPairArr); } System.Threading.Thread.Sleep(60000); } }