public static bool SaveKey(mpmsgreplykey keyItem) { string sql = @"MERGE INTO MpMsgReplyKeys e USING ( SELECT @KeyId AS KeyId, @MsgId AS MsgId,@KeyVal AS KeyVal,@MatchMode AS MatchMode) t ON t.KeyId = e.KeyId WHEN MATCHED THEN UPDATE SET e.KeyVal = t.KeyVal , e.MatchMode = t.MatchMode, e.UpdateOn=GETDATE() WHEN NOT MATCHED THEN INSERT (MsgId,KeyVal,MatchMode) VALUES(t.MsgId,t.KeyVal,t.MatchMode);"; //SqlParameter[] parameters = new SqlParameter[] // { // new SqlParameter("@KeyId",keyItem.KeyId), // new SqlParameter("@MsgId",keyItem.MsgId), // new SqlParameter("@KeyVal",keyItem.KeyVal), // new SqlParameter("@MatchMode",keyItem.MatchMode) // }; try { using (var db = DbFactory.OpenDbConnection()) { var model = db.Select <mpmsgreplykey>(s => s.Id == keyItem.Id).FirstOrDefault(); if (model == null) { keyItem.CreateOn = DateTime.Now; keyItem.UpdateOn = DateTime.Now; return(db.Insert <mpmsgreplykey>(keyItem) > 0); } else { keyItem.UpdateOn = DateTime.Now; return(db.Update <mpmsgreplykey>(keyItem) > 0); //var parameters = new { KeyId = keyItem.KeyId, MsgId = keyItem.MsgId, KeyVal = keyItem.KeyVal, MatchMode = keyItem.MatchMode }; //return ExecuteSql(sql, parameters) > 0; } } } catch (Exception ex) { LogHandler.Error(ex); return(false); } }
public bool SaveMsgReplyData() { var mpMsgData = AutoReplyApi.GetCurrentAutoreplyInfo(BaseClass.AppId); if (mpMsgData.errcode == 0) { //初始化关注回复 if (mpMsgData.add_friend_autoreply_info != null) { var sereply = mpMsgData.add_friend_autoreply_info; if (sereply.type.ToString() == "text") { sereply.content = EConvert.DConvertEmojiHtml(sereply.content).UrlEncode().Replace("+", "%20"); } MpEventBll.SaveEventInfo(new mpeventreply() { EventType = WxEventTypeEnum.subscribe.ToString(), EventKey = "ych_subscribe", ReplyType = sereply.type.ToString(), ReplyContent = sereply.content, }); } //初始化自动消息回复 if (mpMsgData.message_default_autoreply_info != null) { var autoreply = mpMsgData.message_default_autoreply_info; if (autoreply.type.ToString() == "text") { autoreply.content = EConvert.DConvertEmojiHtml(autoreply.content).UrlEncode().Replace("+", "%20"); } MpEventBll.SaveEventInfo(new mpeventreply() { EventType = WxEventTypeEnum.automsg.ToString(), EventKey = "ych_automsg", ReplyType = autoreply.type.ToString(), ReplyContent = autoreply.content }); } //初始化关键字回复 if (mpMsgData.keyword_autoreply_info?.list != null && mpMsgData.keyword_autoreply_info.list.Count > 0) { mpMsgData.keyword_autoreply_info.list.Reverse(); foreach (var ruleItem in mpMsgData.keyword_autoreply_info.list) { var dto = new MsgReplyResult { Msg = { RuleName = ruleItem.rule_name, ReplyMode = ruleItem.reply_mode.ToString() } }; if (ruleItem.keyword_list_info != null && ruleItem.keyword_list_info.Count > 0) { foreach (var keyItem in ruleItem.keyword_list_info) { mpmsgreplykey key = new mpmsgreplykey { KeyVal = keyItem.content, MatchMode = keyItem.match_mode.ToString() }; dto.Keys.Add(key); } } if (ruleItem.reply_list_info != null && ruleItem.reply_list_info.Count > 0) { foreach (var contentItem in ruleItem.reply_list_info) { if (contentItem.type.ToString() == "text") { contentItem.content = EConvert.DConvertEmojiHtml(contentItem.content).UrlEncode().Replace("+", "%20"); } mpmsgreplycontent content = new mpmsgreplycontent { ReplyType = contentItem.type.ToString(), ReplyContent = contentItem.content }; dto.Contents.Add(content); } } MsgReplyBll.SaveMsgRule(dto); } } } return(true); }