protected void Page_Load(object sender, EventArgs e) { string sequence = Request.QueryString["seq"]; string from = Request.QueryString["from"]; if (!String.IsNullOrEmpty(from)) { this.btnBack.Visible = false; } AgentComplianSuggestionDao agentComplianSuggestionDao = new ChinaUnion_DataAccess.AgentComplianSuggestionDao(); AgentComplianSuggestion agentComplianSuggestion = agentComplianSuggestionDao.Get(Int32.Parse(sequence)); if (agentComplianSuggestion != null) { this.lblType.Text = agentComplianSuggestion.type + "详情"; this.lblSubject.Text = agentComplianSuggestion.subject; this.lblContent.Text = agentComplianSuggestion.content; this.lblCreateTime.Text = agentComplianSuggestion.createTime; if (String.IsNullOrEmpty(agentComplianSuggestion.replyContent)) { this.lblIsReply.Text = "尚未回复"; this.lblIsReply.ForeColor = System.Drawing.Color.Red; } else { this.lblIsReply.Text = "已回复"; this.lblIsReply.ForeColor = System.Drawing.Color.Blue; agentComplianSuggestion.agentReadtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); agentComplianSuggestionDao.updateReadTime(agentComplianSuggestion); } this.lblReplyTime.Text = agentComplianSuggestion.replyTime; this.lblReplyContent.Text = agentComplianSuggestion.replyContent; WechatQueryLog wechatQueryLog = new ChinaUnion_BO.WechatQueryLog(); wechatQueryLog.agentName = ""; wechatQueryLog.module = Util.MyConstant.module_Service; wechatQueryLog.subSystem = "服务监督"; wechatQueryLog.queryTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); wechatQueryLog.queryString = agentComplianSuggestion.type; wechatQueryLog.wechatId = agentComplianSuggestion.userId; WechatQueryLogDao wechatQueryLogDao = new WechatQueryLogDao(); try { wechatQueryLogDao.Add(wechatQueryLog); } catch { } } else { this.lblType.Text = "记录不存在"; } }
protected void Page_Load(object sender, EventArgs e) { string sequence = Request.QueryString["seq"]; string userId = Request.QueryString["userId"]; string from = Request.QueryString["from"]; if (!String.IsNullOrEmpty(from)) { //this.btnBack.Visible = false; } this.lblSeq.Text = sequence; this.lblWechatUser.Text = userId; AgentComplainDao agentComplainDao = new ChinaUnion_DataAccess.AgentComplainDao(); AgentComplain agentComplain = agentComplainDao.Get(int.Parse(sequence)); AgentComplainReplyDao agentComplainReplyDao = new AgentComplainReplyDao(); IList<AgentComplainReply> agentComplainReplyList = agentComplainReplyDao.GetList(sequence); if (agentComplain != null) { this.lblUserId.Text = agentComplain.userName; this.lblProcessCode.Text = agentComplain.processCode; this.lblJoinTime.Text = agentComplain.joinTime; this.lblJoinMenu.Text = agentComplain.joinMenu; this.lblComplainContent.Text = agentComplain.content; this.lblBranchCode.Text = agentComplain.processBranchCode; this.lblBranchName.Text = agentComplain.processBranchName; this.lblReplyTime.Text = agentComplain.replyTime; this.lblComment.Text = agentComplain.comment; this.lblReplyHis.Text = "<br>"; foreach (AgentComplainReply agentComplainReply in agentComplainReplyList) { this.lblReplyHis.Text += "【"+agentComplainReply.replyTime + "】" + agentComplainReply.replyContent + "<br>"; } WechatQueryLog wechatQueryLog = new ChinaUnion_BO.WechatQueryLog(); wechatQueryLog.agentName = ""; wechatQueryLog.module = Util.MyConstant.module_Complain; wechatQueryLog.subSystem = "投诉协查"; wechatQueryLog.queryTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); wechatQueryLog.queryString = ""; wechatQueryLog.wechatId = userId; WechatQueryLogDao wechatQueryLogDao = new WechatQueryLogDao(); try { wechatQueryLogDao.Add(wechatQueryLog); } catch { } } else { this.lblType.Text = "记录不存在"; } }
protected void Page_Load(object sender, EventArgs e) { Request.ContentEncoding = Encoding.UTF8; string keyword = Request.QueryString["keyword"]; String userId = Request.QueryString["userId"]; logger.Info("keyword=" + keyword); AgentErrorCodeDao agentErrorCodeDao = new AgentErrorCodeDao(); AgentErrorCode agentErrorCode = agentErrorCodeDao.GetByKey(keyword); if (agentErrorCode != null) { agentErrorCodeDao.UpdateQueryCount(agentErrorCode); this.lblKeyword.Text = agentErrorCode.keyword; logger.Info("solution=" + agentErrorCode.solution); this.lblErrorSolution.Text = agentErrorCode.solution.Replace("解决办法", "<br>解决办法").Replace("解决方法", "<br>解决方法"); this.lblErrerDesc.Text = agentErrorCode.errorDesc; this.lblContact.Text = agentErrorCode.contactName.Replace("联系电话", "<br><br>联系电话"); ; String dir = this.Server.MapPath("~/") + @"\ErrorImages\"; if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } String path = dir + agentErrorCode.seq + ".jpg"; if (!File.Exists(path) || !File.GetCreationTime(path).ToString("yyyy-MM-dd").Equals(DateTime.Now.ToString("yyyy-MM-dd"))) { if (agentErrorCode.errorImg != null) { System.IO.File.WriteAllBytes(path, agentErrorCode.errorImg); } } if (agentErrorCode.errorImg != null) { this.Image1.ImageUrl = "http://" + Properties.Settings.Default.Host + "/Wechat/ErrorImages/" + agentErrorCode.seq + ".jpg"; } WechatQueryLog wechatQueryLog = new ChinaUnion_BO.WechatQueryLog(); wechatQueryLog.agentName = ""; wechatQueryLog.module = Util.MyConstant.module_Error; wechatQueryLog.subSystem = "报错处理"; wechatQueryLog.queryTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); wechatQueryLog.queryString = keyword; wechatQueryLog.wechatId = userId; WechatQueryLogDao wechatQueryLogDao = new WechatQueryLogDao(); try { wechatQueryLogDao.Add(wechatQueryLog); } catch { } } }
/// <summary> /// 查询集合 /// </summary> /// <returns></returns> public IList<WechatQueryLog> GetList(String module, String queryString, String wechatId, String queryStartTime, String queryEndTime) { string sql = "SELECT distinct module,wechatId,queryTime,queryString, contactName FROM wechat_query_log left join agent_wechat_account on wechat_query_log.wechatId=agent_wechat_account.contactId where 1=1 "; if (!String.IsNullOrEmpty(module)) { sql = sql + " and (module=\"" + module + "\")"; } if (!String.IsNullOrEmpty(queryString)) { sql = sql + " and (queryString like \"%" + queryString + "%\")"; } if (!String.IsNullOrEmpty(wechatId)) { sql = sql + " and (wechatId like \"%" + wechatId + "%\")"; } if (!String.IsNullOrEmpty(queryStartTime)) { sql = sql + " and queryTime>='" + queryStartTime + "'"; } if (!String.IsNullOrEmpty(queryEndTime)) { sql = sql + " and queryTime<='" + queryEndTime + "'"; } sql = sql + " order by queryTime desc"; using (MySqlConnection mycn = new MySqlConnection(mysqlConnection)) { mycn.Open(); MySqlCommand command = new MySqlCommand(sql, mycn); MySqlDataReader reader = command.ExecuteReader(); IList<WechatQueryLog> list = new List<WechatQueryLog>(); WechatQueryLog wechatQueryLog = null; while (reader.Read()) { wechatQueryLog = new WechatQueryLog(); wechatQueryLog.module = reader["module"] == DBNull.Value ? null : reader["module"].ToString(); // wechatQueryLog.subSystem = reader["subSystem"] == DBNull.Value ? null : reader["subSystem"].ToString(); wechatQueryLog.wechatId = reader["wechatId"] == DBNull.Value ? null : reader["wechatId"].ToString(); wechatQueryLog.contactName = reader["contactName"] == DBNull.Value ? null : reader["contactName"].ToString(); wechatQueryLog.queryTime = reader["queryTime"] == DBNull.Value ? null : reader["queryTime"].ToString(); wechatQueryLog.queryString = reader["queryString"] == DBNull.Value ? null : reader["queryString"].ToString(); list.Add(wechatQueryLog); } mycn.Close(); return list; } }
public const string mysqlConnection = DBConstant.mysqlConnection;//"User Id=root;Host=115.29.229.134;Database=chinaunion;password=c513324665;charset=utf8"; /// <summary> /// 添加数据 /// </summary> /// <returns></returns> public int Add(WechatQueryLog entity) { string sql = "INSERT INTO wechat_query_log (subSystem,wechatId,agentName,queryTime,queryString,module) VALUE (@subSystem,@wechatId,@agentName,@queryTime,@queryString,@module)"; using (MySqlConnection mycn = new MySqlConnection(mysqlConnection)) { mycn.Open(); MySqlCommand command = new MySqlCommand(sql, mycn); command.Parameters.AddWithValue("@subSystem", entity.subSystem); command.Parameters.AddWithValue("@wechatId", entity.wechatId); command.Parameters.AddWithValue("@agentName", entity.agentName); command.Parameters.AddWithValue("@queryTime", entity.queryTime); command.Parameters.AddWithValue("@queryString", entity.queryString); command.Parameters.AddWithValue("@module", entity.module); int i = command.ExecuteNonQuery(); mycn.Close(); return i; } }
protected void Page_Load(object sender, EventArgs e) { string feeDate = Request.QueryString["feeDate"]; string agentNo = Request.QueryString["agentNo"]; string type = Request.QueryString["type"]; logger.Info("feeDate=" + Request.QueryString["feeDate"]); logger.Info("agentNo=" + Request.QueryString["agentNo"]); logger.Info("type=" + Request.QueryString["type"]); try { Request.ContentEncoding = Encoding.UTF8; feeDate = QueryStringEncryption.Decode(feeDate, QueryStringEncryption.key); agentNo = QueryStringEncryption.Decode(agentNo, QueryStringEncryption.key); type = QueryStringEncryption.Decode(type, QueryStringEncryption.key); type = System.Web.HttpUtility.UrlDecode(type); logger.Info("feeDate=" + feeDate); logger.Info("agentNo=" + agentNo); logger.Info("type=" + type); } catch (Exception) { // return; } WechatQueryLog wechatQueryLog = new ChinaUnion_BO.WechatQueryLog(); wechatQueryLog.agentName = ""; wechatQueryLog.module = Util.MyConstant.module_Performance; wechatQueryLog.subSystem = "日业绩查询"; wechatQueryLog.queryTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); wechatQueryLog.queryString = feeDate; wechatQueryLog.wechatId = agentNo; WechatQueryLogDao wechatQueryLogDao = new WechatQueryLogDao(); try { wechatQueryLogDao.Add(wechatQueryLog); } catch { } DataTable dt = new DataTable(); DataRow row = null; dt.Columns.Add("type"); dt.Columns.Add("date"); dt.Columns.Add("branchNo"); dt.Columns.Add("branchName"); dt.Columns.Add("fee1"); dt.Columns.Add("fee2"); dt.Columns.Add("summary"); //agentNo = "P001"; // feeDate = "2015-07-08";// DateTime.Now.AddMonths(-1).ToString("yyyy-MM"); AgentDailyPerformanceDao agentPerformanceDao = new ChinaUnion_DataAccess.AgentDailyPerformanceDao(); IList<AgentDailyPerformance> agentPerformanceList = agentPerformanceDao.GetList(agentNo, feeDate,type); if (agentPerformanceList != null && agentPerformanceList.Count > 0) { foreach (AgentDailyPerformance agentPerformance in agentPerformanceList) { row = dt.NewRow(); row["type"] = agentPerformance.type; row["date"] = agentPerformance.date; row["branchNo"] = agentPerformance.branchNo; row["branchName"] = agentPerformance.branchName; row["fee1"] = "0"; row["fee2"] = "0"; for (int j = 1; j <= 100; j++) { FieldInfo feeNameField = agentPerformance.GetType().GetField("feeName" + j); FieldInfo feeField = agentPerformance.GetType().GetField("fee" + j); if (feeNameField != null && feeField != null) { String feeNameFieldValue = feeNameField.GetValue(agentPerformance) == null ? null : feeNameField.GetValue(agentPerformance).ToString(); String feeFieldValue = feeField.GetValue(agentPerformance) == null ? null : feeField.GetValue(agentPerformance).ToString(); if (!String.IsNullOrEmpty(feeFieldValue) && feeNameFieldValue.Equals("后付费发展数")) { row["fee1"] = feeFieldValue; } if (!String.IsNullOrEmpty(feeFieldValue) && feeNameFieldValue.Equals("预付费发展数")) { row["fee2"] = feeFieldValue; } } } row["summary"] = Int32.Parse(row["fee1"].ToString()) + Int32.Parse(row["fee2"].ToString()); dt.Rows.Add(row); } } DataView dv = dt.DefaultView; dv.Sort = "summary Desc"; dt = dv.ToTable(); AgentDailyPerformance agentPerformanceSummary = agentPerformanceDao.GetSummary(agentNo, feeDate, type); if (agentPerformanceSummary != null) { row = dt.NewRow(); row["type"] = type; row["date"] = agentPerformanceSummary.date; row["branchNo"] = agentNo; row["branchName"] = "总计"; row["fee1"] = "0"; row["fee2"] = "0"; for (int j = 1; j <= 100; j++) { FieldInfo feeNameField = agentPerformanceSummary.GetType().GetField("feeName" + j); FieldInfo feeField = agentPerformanceSummary.GetType().GetField("fee" + j); if (feeNameField != null && feeField != null) { String feeNameFieldValue = feeNameField.GetValue(agentPerformanceSummary) == null ? null : feeNameField.GetValue(agentPerformanceSummary).ToString(); String feeFieldValue = feeField.GetValue(agentPerformanceSummary) == null ? null : feeField.GetValue(agentPerformanceSummary).ToString(); if (!String.IsNullOrEmpty(feeFieldValue) && feeNameFieldValue.Equals("后付费发展数")) { row["fee1"] = feeFieldValue; } if (!String.IsNullOrEmpty(feeFieldValue) && feeNameFieldValue.Equals("预付费发展数")) { row["fee2"] = feeFieldValue; } } } row["summary"] = Int32.Parse(row["fee1"].ToString()) + Int32.Parse(row["fee2"].ToString()); dt.Rows.Add(row); } this.lblFeeMonth.Text = feeDate + "绩效统计"; GridView1.DataSource = dt.DefaultView; GridView1.DataBind(); }
/// <summary> /// 处理企业号的信息 /// </summary> /// <param name="context"></param> public void ProcessRequest(HttpContext context) { logger.Info(context.Request.Url.AbsoluteUri); string sToken = "ServiceComplainHandler"; string sCorpID = Properties.Settings.Default.Wechat_CorpId;// "wx4fe8b74e01fffcbb"; string sEncodingAESKey = "1cKOgDDDPDBp2yveG55gootenlqivqTcX2K0wz804x5"; // string sToken = Properties.Settings.Default.Wechat_AgentFee_Token;//"AgentFee"; // string sCorpID = Properties.Settings.Default.Wechat_CorpId;// "wx31204de5a3ae758e"; // string sEncodingAESKey = Properties.Settings.Default.Wechat_AgentFee_EncodingAESKey;// "he8dYrZ5gLbDrDhfHVJkea1AfmHgRZQJq47kuKpQrSO"; System.Collections.Specialized.NameValueCollection queryStrings = context.Request.QueryString; Tencent.WXBizMsgCrypt wxcpt = new Tencent.WXBizMsgCrypt(sToken, sEncodingAESKey, sCorpID); context.Request.ContentEncoding = Encoding.UTF8; string sReqMsgSig = queryStrings["msg_signature"]; string sReqTimeStamp = queryStrings["timestamp"]; string sReqNonce = queryStrings["nonce"]; // 获取Post请求的密文数据 StreamReader reader = new StreamReader(context.Request.InputStream, Encoding.GetEncoding("UTF-8")); string sReqData = reader.ReadToEnd(); reader.Close(); string sMsg = ""; // 解析之后的明文 int ret = wxcpt.DecryptMsg(sReqMsgSig, sReqTimeStamp, sReqNonce, sReqData, ref sMsg); if (ret != 0) { logger.Info("ERR: Decrypt Fail, ret: " + ret); System.Console.WriteLine("ERR: Decrypt Fail, ret: " + ret); return; } // ret==0表示解密成功,sMsg表示解密之后的明文xml串 XmlDocument doc = new XmlDocument(); doc.LoadXml(sMsg); WechatMessage wechatMessage = new WechatMessage(doc.DocumentElement); // 需要发送的明文 String actionType = wechatMessage.EventKey; StringBuilder sb = new StringBuilder(); sb.AppendFormat("<xml>"); sb.AppendFormat("<ToUserName><![CDATA[{0}]]></ToUserName>", wechatMessage.FromUserName); sb.AppendFormat("<FromUserName><![CDATA[{0}]]></FromUserName>", wechatMessage.ToUserName); sb.AppendFormat("<CreateTime>{0}</CreateTime>", wechatMessage.CreateTime); // string sRespData = "<MsgId>1234567890123456</MsgId>"; logger.Info("EventKey: " + wechatMessage.EventKey); AgentWechatAccountDao agentWechatAccountDao = new AgentWechatAccountDao(); AgentWechatAccount agentWechatAccount = agentWechatAccountDao.Get(wechatMessage.FromUserName); if (agentWechatAccount != null && wechatMessage != null && !String.IsNullOrEmpty(wechatMessage.Event) && wechatMessage.Event.Equals("enter_agent")) { WechatQueryLog wechatQueryLog = new ChinaUnion_BO.WechatQueryLog(); wechatQueryLog.agentName = ""; wechatQueryLog.module = Util.MyConstant.module_Complain; wechatQueryLog.subSystem = "投诉协查"; wechatQueryLog.queryTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); wechatQueryLog.queryString = "成员进入应用"; wechatQueryLog.wechatId = agentWechatAccount.contactId; WechatQueryLogDao wechatQueryLogDao = new WechatQueryLogDao(); try { wechatQueryLogDao.Add(wechatQueryLog); } catch { } } if (agentWechatAccount != null && !String.IsNullOrEmpty(agentWechatAccount.status) && !agentWechatAccount.status.Equals("Y")) { sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "对不起,你的账号已被停用,请联系联通工作人员!\n\n"); } else if (agentWechatAccount == null) { sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "用户不存在,请联系联通工作人员!\n\n"); } else { String agentNo = agentWechatAccount.branchNo; if (String.IsNullOrEmpty(agentNo)) { agentNo = agentWechatAccount.agentNo; } AgentContactDao agentContactDao = new ChinaUnion_DataAccess.AgentContactDao(); switch (actionType) { case "ContactPerson": logger.Info("is not Existed Record: "); sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "没有找到对应的联系人,请直接与上海联通确认!\n\n"); break; } } // sb.AppendFormat("<AgentID>{0}</AgentID>", textMessage.AgentID); sb.AppendFormat("</xml>"); string sRespData = sb.ToString(); string sEncryptMsg = ""; //xml格式的密文 ret = wxcpt.EncryptMsg(sRespData, sReqTimeStamp, sReqNonce, ref sEncryptMsg); logger.Info("ret=" + ret); if (ret != 0) { System.Console.WriteLine("ERR: EncryptMsg Fail, ret: " + ret); return; } context.Response.Write(sEncryptMsg); }
protected void Page_Load(object sender, EventArgs e) { logger.Info(this.Request.Url.AbsoluteUri); //bindDataToGrid("", "政策", "validate", "DL204053", "P001"); //http%3a%2f%2f112.64.17.80%2fwechat%2fBusinessPolicyQuery.aspx%3fsearch_scope%3dvalidate%26messageType%3dnotice%26agentId%3d6 //http%3a%2f%2f112.64.17.80%2fwechat%2fBusinessPolicyQuery.aspx%3fsearch_scope%3dvalidate%26messageType%3dnotice //String myUrl = "http://112.64.17.80/wechat/BusinessPolicyQuery.aspx?search_scope=validate&messageType=notice&agentId=6"; // myUrl = this.Server.UrlEncode(myUrl); string code = Request.QueryString["code"]; string state = Request.QueryString["state"]; string search_scope = Request.QueryString["search_scope"]; string agentId = Request.QueryString["agentId"]; logger.Info("agentId=" + Request.QueryString["agentId"]); logger.Info("code=" + Request.QueryString["code"]); logger.Info("state=" + Request.QueryString["state"]); logger.Info("search_scope=" + Request.QueryString["search_scope"]); WechatUtil wechatUtil = new Util.WechatUtil(); HttpResult result = wechatUtil.getUserInfoFromWechat(code, agentId, MyConstant.ScretId); logger.Info("result=" + result.Html); if (result != null && result.Html != null && result.Html.Contains("UserId")) { WechatUserId returnMessage = (WechatUserId)JsonConvert.DeserializeObject(result.Html, typeof(WechatUserId)); AgentWechatAccountDao agentWechatAccountDao = new AgentWechatAccountDao(); AgentWechatAccount agentWechatAccount = agentWechatAccountDao.Get(returnMessage.UserId); if (agentWechatAccount != null && !String.IsNullOrEmpty(agentWechatAccount.status) && !agentWechatAccount.status.Equals("Y")) { this.lblType.Text = "你的账号已被停用,请联系联通工作人员!"; // sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); // sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "对不起,你的账号已被停用,请联系联通工作人员!\n\n"); } else if (agentWechatAccount == null) { this.lblType.Text = "用户不存在,请联系联通工作人员!"; //sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); // sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "用户不存在,请联系联通工作人员!\n\n"); } else { String agentNo = agentWechatAccount.branchNo; if (String.IsNullOrEmpty(agentNo)) { agentNo = agentWechatAccount.agentNo; } // search_scope = "all"; String type = "通知公告/重点关注"; if (!String.IsNullOrEmpty(state) && state.Equals("myNotice")) { type = "通知公告/重点关注"; } if (!String.IsNullOrEmpty(state) && state.Equals("policy")) { type = "政策"; } if (!String.IsNullOrEmpty(state) && state.Equals("rule")) { type = "服务规范"; } WechatQueryLog wechatQueryLog = new ChinaUnion_BO.WechatQueryLog(); wechatQueryLog.agentName = ""; wechatQueryLog.module = Util.MyConstant.module_Notice; wechatQueryLog.subSystem = "通知公告与促销政策"; wechatQueryLog.queryTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); wechatQueryLog.queryString = type; wechatQueryLog.wechatId = agentWechatAccount.contactId; WechatQueryLogDao wechatQueryLogDao = new WechatQueryLogDao(); try { wechatQueryLogDao.Add(wechatQueryLog); } catch { } bindDataToGrid("", type, search_scope, agentNo, agentWechatAccount.contactId); } } }
protected void Page_Load(object sender, EventArgs e) { string sequence = Request.QueryString["seq"]; string userId = Request.QueryString["userId"]; logger.Info("sequence=" + sequence); logger.Info("userId=" + userId); if (String.IsNullOrEmpty(sequence)) { string code = Request.QueryString["code"]; sequence = Request.QueryString["state"]; string search_scope = Request.QueryString["search_scope"]; string agentId = Request.QueryString["agentId"]; logger.Info("agentId=" + Request.QueryString["agentId"]); logger.Info("code=" + Request.QueryString["code"]); logger.Info("state=" + Request.QueryString["state"]); logger.Info("search_scope=" + Request.QueryString["search_scope"]); WechatUtil wechatUtil = new Util.WechatUtil(); HttpResult result = wechatUtil.getUserInfoFromWechat(code, agentId, MyConstant.ScretId); logger.Info("result=" + result.Html); if (result != null && result.Html != null && result.Html.Contains("UserId")) { WechatUserId returnMessage = (WechatUserId)JsonConvert.DeserializeObject(result.Html, typeof(WechatUserId)); userId = returnMessage.UserId; } } if (!String.IsNullOrEmpty(sequence)) { PolicyDao policyDao = new ChinaUnion_DataAccess.PolicyDao(); Policy policy = policyDao.Get(Int32.Parse(sequence)); if (policy != null) { this.lblSubject.Text = policy.subject; this.lblSendTime.Text = policy.creatTime; if (!String.IsNullOrEmpty(policy.content)) { this.lblContent.Text = policy.content.Replace("\r\n"," <br>").Replace("\n"," <br>"); } this.lblValidateStartTime.Text = policy.validateStartTime; this.lblValidateEndTime.Text = policy.validateEndTime; this.lblAttachment.Text = policy.attachmentName; this.lblAttachment.NavigateUrl = "BusinessPolicyAttachmentDetail.aspx?seq=" + policy.sequence + "&userId=" + userId; logger.Info("sequence=" + sequence); logger.Info("userId=" + userId); PolicyReceiverLogDao policyReceiverLogDao = new PolicyReceiverLogDao(); PolicyReceiverLog policyReceiverLog = new PolicyReceiverLog(); policyReceiverLog.policySequence = policy.sequence; policyReceiverLog.readtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); policyReceiverLog.userId = userId; policyReceiverLogDao.Add(policyReceiverLog); WechatQueryLog wechatQueryLog = new ChinaUnion_BO.WechatQueryLog(); wechatQueryLog.agentName = ""; wechatQueryLog.module = Util.MyConstant.module_Notice; wechatQueryLog.subSystem = "通知公告与促销政策"; wechatQueryLog.queryTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); wechatQueryLog.queryString = policy.type; wechatQueryLog.wechatId = userId; WechatQueryLogDao wechatQueryLogDao = new WechatQueryLogDao(); try { wechatQueryLogDao.Add(wechatQueryLog); } catch { } } } }
/// <summary> /// 处理企业号的信息 /// </summary> /// <param name="context"></param> public void ProcessRequest(HttpContext context) { logger.Info(context.Request.Url.AbsoluteUri); // string sToken = "AgentFee"; // string sCorpID = "wx4fe8b74e01fffcbb"; // string sEncodingAESKey = "gvGJnhpjeljcKzvfe8B8vnmMBBLkJFuzUYSjsGcDQFE"; string sToken ="AgentFeeAndInvoicePaymentHandler";//"AgentFee"; string sCorpID = Properties.Settings.Default.Wechat_CorpId;// "wx31204de5a3ae758e"; string sEncodingAESKey = "4m6avCYhQ2p4IwjtMpFWNHRd46k2uIgdLbHSAlyCQsJ";// "he8dYrZ5gLbDrDhfHVJkea1AfmHgRZQJq47kuKpQrSO"; System.Collections.Specialized.NameValueCollection queryStrings = context.Request.QueryString; Tencent.WXBizMsgCrypt wxcpt = new Tencent.WXBizMsgCrypt(sToken, sEncodingAESKey, sCorpID); context.Request.ContentEncoding = Encoding.UTF8; string sReqMsgSig = queryStrings["msg_signature"]; string sReqTimeStamp = queryStrings["timestamp"]; string sReqNonce = queryStrings["nonce"]; // 获取Post请求的密文数据 StreamReader reader = new StreamReader(context.Request.InputStream, Encoding.GetEncoding("UTF-8")); string sReqData = reader.ReadToEnd(); reader.Close(); string sMsg = ""; // 解析之后的明文 int ret = wxcpt.DecryptMsg(sReqMsgSig, sReqTimeStamp, sReqNonce, sReqData, ref sMsg); if (ret != 0) { logger.Info("ERR: Decrypt Fail, ret: " + ret); System.Console.WriteLine("ERR: Decrypt Fail, ret: " + ret); return; } // ret==0表示解密成功,sMsg表示解密之后的明文xml串 XmlDocument doc = new XmlDocument(); doc.LoadXml(sMsg); WechatMessage wechatMessage = new WechatMessage(doc.DocumentElement); // 需要发送的明文 String actionType = wechatMessage.EventKey; StringBuilder sb = new StringBuilder(); sb.AppendFormat("<xml>"); sb.AppendFormat("<ToUserName><![CDATA[{0}]]></ToUserName>", wechatMessage.FromUserName); sb.AppendFormat("<FromUserName><![CDATA[{0}]]></FromUserName>", wechatMessage.ToUserName); sb.AppendFormat("<CreateTime>{0}</CreateTime>", wechatMessage.CreateTime); // string sRespData = "<MsgId>1234567890123456</MsgId>"; logger.Info("EventKey: " + wechatMessage.EventKey); AgentWechatAccountDao agentWechatAccountDao = new AgentWechatAccountDao(); AgentWechatAccount agentWechatAccount = agentWechatAccountDao.Get(wechatMessage.FromUserName); if (agentWechatAccount != null && wechatMessage != null && !String.IsNullOrEmpty(wechatMessage.Event) && wechatMessage.Event.Equals("enter_agent")) { WechatQueryLog wechatQueryLog = new ChinaUnion_BO.WechatQueryLog(); wechatQueryLog.agentName = ""; wechatQueryLog.module = Util.MyConstant.module_Commission; wechatQueryLog.subSystem = "佣金结算与支付查询"; wechatQueryLog.queryTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); wechatQueryLog.queryString = "成员进入应用"; wechatQueryLog.wechatId = agentWechatAccount.contactId; WechatQueryLogDao wechatQueryLogDao = new WechatQueryLogDao(); try { wechatQueryLogDao.Add(wechatQueryLog); } catch { } } if (agentWechatAccount != null && !String.IsNullOrEmpty(agentWechatAccount.status) && !agentWechatAccount.status.Equals("Y")) { sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "对不起,你的账号已被停用,请联系联通工作人员!\n\n"); } else if (agentWechatAccount==null) { sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "用户不存在,请联系联通工作人员!\n\n"); } else { String agentNo = agentWechatAccount.branchNo; if (String.IsNullOrEmpty(agentNo)) { agentNo = agentWechatAccount.agentNo; } switch (actionType) { case "FeeQueryHelp": sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "佣金查询说明\n\n"); break; case "last6MonthBonus": String strBonusList = "最近6月红包查询\n\n"; for (int i = 1; i <= 6; i++) { String tempFeeMonth = DateTime.Now.AddMonths(0 - i).ToString("yyyyMM"); String url1 = String.Format("http://{0}/Wechat/AgentBonusDetailQuery.aspx?agentNo={1}&feeMonth={2}", Properties.Settings.Default.Host, QueryStringEncryption.Encode(agentNo, QueryStringEncryption.key), QueryStringEncryption.Encode(tempFeeMonth, QueryStringEncryption.key)); strBonusList = strBonusList + "<a href=\"" + url1 + "\">" + i + ":" + tempFeeMonth + "</a>"; strBonusList = strBonusList + "\n\n"; } sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", strBonusList); break; case "preMonthBonus": case "curMonthBonus": String feeMonthBonus = DateTime.Now.AddMonths(-1).ToString("yyyyMM"); if (actionType.Equals("preMonthBonus")) { feeMonthBonus = DateTime.Now.AddMonths(-2).ToString("yyyyMM"); } AgentBonusDao agentBonusDao = new AgentBonusDao(); AgentBonus agentBonus = agentBonusDao.GetByKey(feeMonthBonus, agentNo); if (agentBonus != null && !String.IsNullOrEmpty(agentBonus.agentNo)) { sb.Append(this.createAgentBonusNewsMessages(feeMonthBonus, agentBonus, agentNo)); } else { sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "本月无红包或者红包尚未发布!\n\n"); } break; case "Latest6MonthFeeQuery": String strList = "最近6月佣金查询\n\n"; for (int i = 1; i <= 6; i++) { String tempFeeMonth = DateTime.Now.AddMonths(0 - i).ToString("yyyy-MM"); String url1 = String.Format("http://{0}/Wechat/AgentFeeQuery.aspx?agentNo={1}&feeMonth={2}", Properties.Settings.Default.Host, QueryStringEncryption.Encode(agentNo, QueryStringEncryption.key), QueryStringEncryption.Encode(tempFeeMonth, QueryStringEncryption.key)); strList = strList + "<a href=\"" + url1 + "\">" + i + ":" + tempFeeMonth + "</a>"; strList = strList + "\n\n"; } sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", strList); break; case "PreMonthFeeQuery": case "CurMonthFeeQuery": String feeMonth = DateTime.Now.AddMonths(-1).ToString("yyyy-MM"); if (actionType.Equals("PreMonthFeeQuery")) { feeMonth = DateTime.Now.AddMonths(-2).ToString("yyyy-MM"); } AgentFeeDao agentFeeDao = new AgentFeeDao(); AgentFee agentFee = agentFeeDao.GetByKey(feeMonth, agentNo); if (agentFee != null && !String.IsNullOrEmpty(agentFee.agentFeeSeq)) { sb.Append(this.createAgentFeeNewsMessages(feeMonth, agentFee, agentNo)); } else { sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "本月无佣金或者佣金尚未发布\n\n"); } break; case "PaymentQueryHelp": sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "发票支付查询说明\n\n"); break; case "Latest6MonthPaymentQuery": String strList1 = "最近6月发票支付查询\n\n"; for (int i = 1; i <= 6; i++) { String tempFeeMonth = DateTime.Now.AddMonths(0 - i).ToString("yyyyMM"); String url1 = String.Format("http://{0}/Wechat/InvoicePaymentQuery.aspx?agentNo={1}&feeMonth={2}", Properties.Settings.Default.Host, QueryStringEncryption.Encode(agentNo, QueryStringEncryption.key), QueryStringEncryption.Encode(tempFeeMonth, QueryStringEncryption.key)); strList1 = strList1 + "<a href=\"" + url1 + "\">" + i + ":" + tempFeeMonth + "</a>"; strList1 = strList1 + "\n\n"; } sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", strList1); break; case "PreMonthPaymentQuery": case "CurMonthPaymentQuery": feeMonth = DateTime.Now.AddMonths(-1).ToString("yyyyMM"); if (actionType.Equals("PreMonthPaymentQuery")) { feeMonth = DateTime.Now.AddMonths(-2).ToString("yyyyMM"); } InvoicePaymentDao agentInvoicePaymentDao = new InvoicePaymentDao(); IList<InvoicePayment> agentInvoicePaymentList = new List<InvoicePayment>(); // agentNo = "";//"DL224049"; // feeMonth = "201412"; logger.Info("1.feeMonth=" + feeMonth); logger.Info("2.agentNo=" + agentNo); agentInvoicePaymentList = agentInvoicePaymentDao.GetList(agentNo, null, feeMonth, null); if (agentInvoicePaymentList != null && agentInvoicePaymentList.Count > 0) { sb.Append(this.createPaymentNewsMessages(feeMonth, agentNo, agentInvoicePaymentList)); } else { sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", feeMonth.Substring(0, 4) + "年" + feeMonth.Substring(4, 2) + "月" + "无发票受理记录或尚未完成,请耐心等候!\n\n"); } break; default: if (!Regex.IsMatch(wechatMessage.Content, "((20[0-9][0-9])|(19[0-9][0-9]))-((0[1-9])|(1[0-2]))")) { sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "请输入\"yyyy-mm\"查询某月佣金,支付结算和红包,例如:\"" + DateTime.Now.ToString("yyyy-MM") + "\"查询" + DateTime.Now.ToString("yyyy年MM月") + "佣金\n\n"); } else { feeMonth = wechatMessage.Content; agentFeeDao = new AgentFeeDao(); agentFee = agentFeeDao.GetByKey(feeMonth, wechatMessage.FromUserName); agentBonusDao = new AgentBonusDao(); feeMonthBonus = feeMonth.Replace("-", ""); agentBonus = agentBonusDao.GetByKey(feeMonthBonus, agentNo); agentInvoicePaymentDao = new InvoicePaymentDao(); String feeMonthInvoice = feeMonth.Replace("-", ""); agentInvoicePaymentList = agentInvoicePaymentDao.GetList(agentNo, null, feeMonthInvoice, null); sb.Append(this.createAllNewsMessages(feeMonth, wechatMessage.FromUserName, agentFee, agentBonus, agentInvoicePaymentList)); } break; } } // sb.AppendFormat("<AgentID>{0}</AgentID>", textMessage.AgentID); sb.AppendFormat("</xml>"); string sRespData = sb.ToString(); string sEncryptMsg = ""; //xml格式的密文 ret = wxcpt.EncryptMsg(sRespData, sReqTimeStamp, sReqNonce, ref sEncryptMsg); logger.Info("ret=" + ret); if (ret != 0) { System.Console.WriteLine("ERR: EncryptMsg Fail, ret: " + ret); return; } context.Response.Write(sEncryptMsg); }
protected void Page_Load(object sender, EventArgs e) { string feeMonth = Request.QueryString["feeMonth"]; string agentNo = Request.QueryString["agentNo"]; string invoiceNo = Request.QueryString["invoiceNo"]; logger.Info("feeMonth=" + Request.QueryString["feeMonth"]); logger.Info("agentNo=" + Request.QueryString["agentNo"]); logger.Info("invoiceNo=" + Request.QueryString["invoiceNo"]); try { Request.ContentEncoding = Encoding.UTF8; feeMonth = QueryStringEncryption.Decode(feeMonth, QueryStringEncryption.key); agentNo = QueryStringEncryption.Decode(agentNo, QueryStringEncryption.key); // invoiceNo = QueryStringEncryption.Decode(invoiceNo, QueryStringEncryption.key); logger.Info("feeMonth=" + feeMonth); logger.Info("agentNo=" + agentNo); logger.Info("invoiceNo=" + invoiceNo); } catch (Exception) { // return; } WechatQueryLog wechatQueryLog = new ChinaUnion_BO.WechatQueryLog(); wechatQueryLog.agentName = ""; wechatQueryLog.module = Util.MyConstant.module_Commission; wechatQueryLog.subSystem = "支付结算查询"; wechatQueryLog.queryTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); wechatQueryLog.queryString = feeMonth; wechatQueryLog.wechatId = agentNo; WechatQueryLogDao wechatQueryLogDao = new WechatQueryLogDao(); try { wechatQueryLogDao.Add(wechatQueryLog); } catch { } DataTable dt = new DataTable(); DataRow row = null; dt.Columns.Add("result"); //dt.Columns.Add("processTime"); //dt.Columns.Add("invoiceFee"); //dt.Columns.Add("payFee"); //dt.Columns.Add("summary"); //dt.Columns.Add("payStatus"); // agentNo = "";// "DL224049"; // feeMonth = "201501"; InvoicePaymentDao agentInvoicePaymentDao = new InvoicePaymentDao(); IList<InvoicePayment> agentInvoicePaymentList = new List<InvoicePayment>(); agentInvoicePaymentList = agentInvoicePaymentDao.GetList(agentNo, null, feeMonth,null); if (agentInvoicePaymentList != null && agentInvoicePaymentList.Count > 0) { foreach (InvoicePayment agentInvoicePayment in agentInvoicePaymentList) { row = dt.NewRow(); row["result"] = "<b>收票日期</b>:" + agentInvoicePayment.receivedTime + "<br/><b>处理时间</b>:" + agentInvoicePayment.processTime + "<br/><b>内容</b>:" + agentInvoicePayment.content + "<br/><b>金额</b>:" + agentInvoicePayment.invoiceFee + "<br/><b>发票类型</b>:" + agentInvoicePayment.invoiceType + "<br/><b>发票号</b>:" + "***" + agentInvoicePayment.invoiceNo.Substring(3) + "<br/><b>付款状态</b>:" + agentInvoicePayment.payStatus; //row["processTime"] = agentInvoicePayment.processTime; //row["invoiceFee"] = agentInvoicePayment.invoiceFee; //row["payFee"] = agentInvoicePayment.payFee; //row["summary"] = agentInvoicePayment.summary; //row["payStatus"] = agentInvoicePayment.payStatus; dt.Rows.Add(row); } } else { row = dt.NewRow(); row["result"] = feeMonth + "无发票受理记录或尚未完成,请耐心等候。"; dt.Rows.Add(row); } //this.lblFeeMonth.Text = feeMonth + "支付查询结果"; GridView1.DataSource = dt.DefaultView; GridView1.DataBind(); }
protected void Page_Load(object sender, EventArgs e) { logger.Info(this.Request.Url.AbsoluteUri); string code = Request.QueryString["code"]; string state = Request.QueryString["state"]; logger.Info("code=" + Request.QueryString["code"]); logger.Info("state=" + Request.QueryString["state"]); if (!String.IsNullOrEmpty(code)) { WechatUtil wechatUtil = new Util.WechatUtil(); HttpResult result = wechatUtil.getUserInfoFromWechat(code, "9", "stkc3kfO0sCrIJTFCHzOhmEsRWAnVGHqrzBIy4le6mV6EcSkNbpY0Tt49Uci2Buu"); logger.Info("result=" + result.Html); if (result != null && result.Html != null && result.Html.Contains("UserId")) { WechatUserId returnMessage = (WechatUserId)JsonConvert.DeserializeObject(result.Html, typeof(WechatUserId)); AgentWechatAccountDao agentWechatAccountDao = new AgentWechatAccountDao(); AgentWechatAccount agentWechatAccount = agentWechatAccountDao.Get(returnMessage.UserId); if (agentWechatAccount != null && !String.IsNullOrEmpty(agentWechatAccount.status) && !agentWechatAccount.status.Equals("Y")) { this.lblType.Text = "你的账号已被停用,请联系联通工作人员!"; // sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); // sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "对不起,你的账号已被停用,请联系联通工作人员!\n\n"); } else if (agentWechatAccount == null) { this.lblType.Text = "用户不存在,请联系联通工作人员!"; //sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); // sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "用户不存在,请联系联通工作人员!\n\n"); } else { String agentNo = agentWechatAccount.branchNo; if (String.IsNullOrEmpty(agentNo)) { agentNo = agentWechatAccount.agentNo; } String type = "吐槽"; if (!String.IsNullOrEmpty(state) && state.Equals("complain")) { type = "吐槽"; this.lblTitle.Text = "吐槽历史"; } if (!String.IsNullOrEmpty(state) && state.Equals("appraise")) { type = "点赞"; this.lblTitle.Text = "点赞历史"; } if (!String.IsNullOrEmpty(state) && state.Equals("suggestion")) { type = "建议"; this.lblTitle.Text = "建议历史"; } WechatQueryLog wechatQueryLog = new ChinaUnion_BO.WechatQueryLog(); wechatQueryLog.agentName = ""; wechatQueryLog.module = Util.MyConstant.module_Service; wechatQueryLog.subSystem = "服务监督"; wechatQueryLog.queryTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); wechatQueryLog.queryString = type; wechatQueryLog.wechatId = agentWechatAccount.contactId; WechatQueryLogDao wechatQueryLogDao = new WechatQueryLogDao(); try { wechatQueryLogDao.Add(wechatQueryLog); } catch { } bindDataToGrid("", type, agentNo, returnMessage.UserId); } } } else { string type = Request.QueryString["type"]; string agentNo = Request.QueryString["agentNo"]; string userId = Request.QueryString["userId"]; if (!String.IsNullOrEmpty(type) && !String.IsNullOrEmpty(agentNo)) { bindDataToGrid("", type, agentNo, userId); } } }
/// <summary> /// 处理企业号的信息 /// </summary> /// <param name="context"></param> public void ProcessRequest(HttpContext context) { logger.Info(context.Request.Url.AbsoluteUri); //string sToken = "AgentFee"; //string sCorpID = "wx4fe8b74e01fffcbb"; //string sEncodingAESKey = "gvGJnhpjeljcKzvfe8B8vnmMBBLkJFuzUYSjsGcDQFE"; string sToken = Properties.Settings.Default.Wechat_ErrorCode_Token;// "ErrorCode"; string sCorpID = Properties.Settings.Default.Wechat_CorpId;// "wx31204de5a3ae758e"; string sEncodingAESKey = Properties.Settings.Default.Wechat_ErrorCode_EncodingAESKey;// "VcEu5ijaEa6xVklONE9APWJgfvh1UhGjXGKAdeHWAWQ"; System.Collections.Specialized.NameValueCollection queryStrings = context.Request.QueryString; Tencent.WXBizMsgCrypt wxcpt = new Tencent.WXBizMsgCrypt(sToken, sEncodingAESKey, sCorpID); context.Request.ContentEncoding = Encoding.UTF8; string sReqMsgSig = queryStrings["msg_signature"]; string sReqTimeStamp = queryStrings["timestamp"]; string sReqNonce = queryStrings["nonce"]; // 获取Post请求的密文数据 StreamReader reader = new StreamReader(context.Request.InputStream, Encoding.GetEncoding("UTF-8")); string sReqData = reader.ReadToEnd(); reader.Close(); string sMsg = ""; // 解析之后的明文 int ret = wxcpt.DecryptMsg(sReqMsgSig, sReqTimeStamp, sReqNonce, sReqData, ref sMsg); if (ret != 0) { logger.Info("ERR: Decrypt Fail, ret: " + ret); System.Console.WriteLine("ERR: Decrypt Fail, ret: " + ret); return; } // ret==0表示解密成功,sMsg表示解密之后的明文xml串 XmlDocument doc = new XmlDocument(); doc.LoadXml(sMsg); WechatMessage wechatMessage = new WechatMessage(doc.DocumentElement); StringBuilder sb = new StringBuilder(); sb.AppendFormat("<xml>"); sb.AppendFormat("<ToUserName><![CDATA[{0}]]></ToUserName>", wechatMessage.FromUserName); sb.AppendFormat("<FromUserName><![CDATA[{0}]]></FromUserName>", wechatMessage.ToUserName); sb.AppendFormat("<CreateTime>{0}</CreateTime>", wechatMessage.CreateTime); AgentWechatAccountDao agentWechatAccountDao = new AgentWechatAccountDao(); AgentWechatAccount agentWechatAccount = agentWechatAccountDao.Get(wechatMessage.FromUserName); if (agentWechatAccount != null && wechatMessage != null && !String.IsNullOrEmpty(wechatMessage.Event) && wechatMessage.Event.Equals("enter_agent")) { WechatQueryLog wechatQueryLog = new ChinaUnion_BO.WechatQueryLog(); wechatQueryLog.agentName = ""; wechatQueryLog.module = Util.MyConstant.module_Error; wechatQueryLog.subSystem = "报错处理"; wechatQueryLog.queryTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); wechatQueryLog.queryString = "成员进入应用"; wechatQueryLog.wechatId = agentWechatAccount.contactId; WechatQueryLogDao wechatQueryLogDao = new WechatQueryLogDao(); try { wechatQueryLogDao.Add(wechatQueryLog); } catch { } } try { if (String.IsNullOrEmpty(wechatMessage.Content)) { wechatMessage.Content = "help"; } switch (wechatMessage.Content.ToLower()) { case "help": case "?": case "?": sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "请输入错误关键字查询错误详细说明,例如:输入\"系统异常\"查询包含\"系统异常\"的错误信息"); break; default: AgentErrorCodeDao agentErrorCodeDao = new AgentErrorCodeDao(); int maxArticleCnt = 10; IList<AgentErrorCode> agentErrorCodeList = agentErrorCodeDao.GetList(wechatMessage.Content); if (agentErrorCodeList != null && agentErrorCodeList.Count > 0) { sb.AppendFormat("<MsgType><![CDATA[news]]></MsgType>"); if (agentErrorCodeList.Count > maxArticleCnt) { sb.AppendFormat("<ArticleCount>{0}</ArticleCount>", maxArticleCnt); } else if (agentErrorCodeList.Count <= 10 && agentErrorCodeList.Count > 0) { sb.AppendFormat("<ArticleCount>{0}</ArticleCount>", agentErrorCodeList.Count); } sb.AppendFormat("<Articles>"); int count = 0; foreach (AgentErrorCode agentErrorCode in agentErrorCodeList) { count++; if (count > maxArticleCnt) { break; } String dir = context.Server.MapPath("~/") + @"\ErrorImages\"; logger.Info("Path=" + dir + agentErrorCode.seq + ".jpg"); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } String path = dir + agentErrorCode.seq + ".jpg"; if (!File.Exists(path) || !File.GetCreationTime(path).ToString("yyyy-MM-dd").Equals(DateTime.Now.ToString("yyyy-MM-dd"))) { if (agentErrorCode.errorImg != null) { logger.Info("path=" + path); System.IO.File.WriteAllBytes(path, agentErrorCode.errorImg); } else { logger.Info("path=no image"); } } sb.AppendFormat("<item>"); sb.Append("<Title>").AppendFormat("{0}报错查询结果", agentErrorCode.keyword).Append("</Title>"); // String errorCondition = wechatMessage.Content.Substring("error:".Length); StringBuilder sbDesc = new StringBuilder(); //sbDesc.AppendFormat("本月佣金告知单({0})", feeMonth); sbDesc.AppendFormat("问题描述:\n{0}\n\n", agentErrorCode.errorDesc); sbDesc.AppendFormat("处理方法:\n{0}\n\n", agentErrorCode.solution); sbDesc.AppendFormat("联系人员:{0}\n\n", agentErrorCode.contactName); sbDesc.AppendFormat("备注:\n{0}\n", agentErrorCode.comment); sb.Append("<Description>").AppendFormat("<![CDATA[{0}]]>", sbDesc.ToString()).Append("</Description>"); sb.Append("<PicUrl>").AppendFormat("<![CDATA[{0}{1}{2}]]>", "http://"+Properties.Settings.Default.Host+"/Wechat/ErrorImages/", agentErrorCode.seq, ".jpg").Append("</PicUrl>"); //logger.Info("path=" + "http://"http://"+Properties.Settings.Default.Host+"/Wechat/ErrorCodeQuery.aspx?keyword=" + context.Server.UrlEncode(agentErrorCode.keyword)); sb.Append("<Url>").AppendFormat("<![CDATA[{0}{1}{2}]]>", "http://" + Properties.Settings.Default.Host + "/Wechat/ErrorCodeQuery.aspx?keyword=", context.Server.UrlEncode(agentErrorCode.keyword), "&userId=" + wechatMessage.FromUserName).Append("</Url>"); // sb.Append("<Url>").AppendFormat("<![CDATA[{0}]]>", url1).Append("</Url>"); sb.AppendFormat("</item>"); // logger.Info(sb.ToString()); } sb.AppendFormat("</Articles>"); } else { sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "没有找到与" + wechatMessage.Content+"相关的错误详细信息,请更改查询条件或者与联通相关人员确认。"); } break; } } catch (Exception ex) { logger.Info(ex.Message); } // sb.AppendFormat("<AgentID>{0}</AgentID>", textMessage.AgentID); sb.AppendFormat("</xml>"); string sRespData = sb.ToString(); string sEncryptMsg = ""; //xml格式的密文 ret = wxcpt.EncryptMsg(sRespData, sReqTimeStamp, sReqNonce, ref sEncryptMsg); logger.Info("ret=" + ret); if (ret != 0) { System.Console.WriteLine("ERR: EncryptMsg Fail, ret: " + ret); return; } context.Response.Write(sEncryptMsg); // TODO: // 加密成功,企业需要将加密之后的sEncryptMsg返回 // HttpUtils.SetResponse(sEncryptMsg); }
/// <summary> /// 处理企业号的信息 /// </summary> /// <param name="context"></param> public void ProcessRequest(HttpContext context) { logger.Info(context.Request.Url.AbsoluteUri); string sToken = "BusinessPolicyHandler"; string sCorpID = Properties.Settings.Default.Wechat_CorpId;// "wx4fe8b74e01fffcbb"; string sEncodingAESKey = "3jJb1Xr7z6fF7LJPCESk8wX8XFf8E6mK4MYIbiOY8yt";// "omiSDTqK4GjKmsQ6eCJSWpOtmqPcz6A3B41RBcg6Ey9"; // string sToken = Properties.Settings.Default.Wechat_AgentFee_Token;//"AgentFee"; // string sCorpID = Properties.Settings.Default.Wechat_CorpId;// "wx31204de5a3ae758e"; // string sEncodingAESKey = Properties.Settings.Default.Wechat_AgentFee_EncodingAESKey;// "he8dYrZ5gLbDrDhfHVJkea1AfmHgRZQJq47kuKpQrSO"; System.Collections.Specialized.NameValueCollection queryStrings = context.Request.QueryString; Tencent.WXBizMsgCrypt wxcpt = new Tencent.WXBizMsgCrypt(sToken, sEncodingAESKey, sCorpID); context.Request.ContentEncoding = Encoding.UTF8; string sReqMsgSig = queryStrings["msg_signature"]; string sReqTimeStamp = queryStrings["timestamp"]; string sReqNonce = queryStrings["nonce"]; // 获取Post请求的密文数据 StreamReader reader = new StreamReader(context.Request.InputStream, Encoding.GetEncoding("UTF-8")); string sReqData = reader.ReadToEnd(); reader.Close(); string sMsg = ""; // 解析之后的明文 int ret = wxcpt.DecryptMsg(sReqMsgSig, sReqTimeStamp, sReqNonce, sReqData, ref sMsg); if (ret != 0) { logger.Info("ERR: Decrypt Fail, ret: " + ret); System.Console.WriteLine("ERR: Decrypt Fail, ret: " + ret); return; } // ret==0表示解密成功,sMsg表示解密之后的明文xml串 XmlDocument doc = new XmlDocument(); doc.LoadXml(sMsg); WechatMessage wechatMessage = new WechatMessage(doc.DocumentElement); // 需要发送的明文 String actionType = wechatMessage.EventKey; StringBuilder sb = new StringBuilder(); sb.AppendFormat("<xml>"); sb.AppendFormat("<ToUserName><![CDATA[{0}]]></ToUserName>", wechatMessage.FromUserName); sb.AppendFormat("<FromUserName><![CDATA[{0}]]></FromUserName>", wechatMessage.ToUserName); sb.AppendFormat("<CreateTime>{0}</CreateTime>", wechatMessage.CreateTime); AgentWechatAccountDao agentWechatAccountDao = new AgentWechatAccountDao(); AgentWechatAccount agentWechatAccount = agentWechatAccountDao.Get(wechatMessage.FromUserName); if (agentWechatAccount != null && wechatMessage != null && !String.IsNullOrEmpty(wechatMessage.Event) && wechatMessage.Event.Equals("enter_agent")) { WechatQueryLog wechatQueryLog = new ChinaUnion_BO.WechatQueryLog(); wechatQueryLog.agentName = ""; wechatQueryLog.module = Util.MyConstant.module_Notice; wechatQueryLog.subSystem = "通知公告与促销政策"; wechatQueryLog.queryTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); wechatQueryLog.queryString = "成员进入应用"; wechatQueryLog.wechatId = agentWechatAccount.contactId; WechatQueryLogDao wechatQueryLogDao = new WechatQueryLogDao(); try { wechatQueryLogDao.Add(wechatQueryLog); } catch { } } // string sRespData = "<MsgId>1234567890123456</MsgId>"; logger.Info("EventKey: " + wechatMessage.EventKey); String agentNo = wechatMessage.FromUserName; AgentDao agentDao = new AgentDao(); Agent agent = agentDao.Get(agentNo); if (agent != null && !String.IsNullOrEmpty(agent.status) && agent.status.Equals("Y")) { sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "对不起,你的账号已被停用,请联系联通工作人员!\n\n"); } else { PolicyDao policyDao = new ChinaUnion_DataAccess.PolicyDao(); switch (actionType) { case "LatestPolicy": case "HistoryPolicy": case "LatestNotice": case "HistoryNotice": IList<Policy> policyList =null; if (actionType.Equals("LatestNotice")) { policyList = policyDao.GetAllList(""); } else { policyList = policyDao.GetAllList(""); } if (policyList != null && policyList.Count > 0) { sb.Append(this.createNewsMessages(wechatMessage.FromUserName, policyList)); } else { sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "没有公告发布!\n\n"); } break; default: break; } } // sb.AppendFormat("<AgentID>{0}</AgentID>", textMessage.AgentID); sb.AppendFormat("</xml>"); string sRespData = sb.ToString(); string sEncryptMsg = ""; //xml格式的密文 ret = wxcpt.EncryptMsg(sRespData, sReqTimeStamp, sReqNonce, ref sEncryptMsg); logger.Info("ret=" + ret); if (ret != 0) { System.Console.WriteLine("ERR: EncryptMsg Fail, ret: " + ret); return; } context.Response.Write(sEncryptMsg); }
private StringBuilder createAgentBonusNewsMessages(String feeMonth, AgentBonus agentBonus, String agentNo) { WechatQueryLog wechatQueryLog = new ChinaUnion_BO.WechatQueryLog(); wechatQueryLog.agentName = ""; wechatQueryLog.module = Util.MyConstant.module_Commission; wechatQueryLog.subSystem = "红包查询"; wechatQueryLog.queryTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); wechatQueryLog.queryString = feeMonth; wechatQueryLog.wechatId = agentNo; WechatQueryLogDao wechatQueryLogDao = new WechatQueryLogDao(); try { wechatQueryLogDao.Add(wechatQueryLog); } catch { } StringBuilder sb = new StringBuilder(); sb.AppendFormat("<MsgType><![CDATA[news]]></MsgType>"); sb.AppendFormat("<ArticleCount>1</ArticleCount>"); sb.AppendFormat("<Articles>"); sb.AppendFormat("<item>"); sb.Append("<Title>").AppendFormat("{0}红包", feeMonth.Substring(0,4)+"年"+feeMonth.Substring(4,2)+"月").Append("</Title>"); StringBuilder sbDesc = new StringBuilder(); //sbDesc.AppendFormat("本月佣金告知单({0})", feeMonth); sbDesc.AppendFormat("代理商编号:{0}\n", agentBonus.agentNo); sbDesc.AppendFormat("代理商名字:{0}\n\n", agentBonus.agentName); // sb1.AppendFormat("佣金\n\n"); sbDesc.AppendFormat("红包明细:\n"); int i = 1; for (int j = 1; j <= 100; j++) { FieldInfo feeNameField = agentBonus.GetType().GetField("feeName" + j); FieldInfo feeField = agentBonus.GetType().GetField("fee" + j); if (feeNameField != null && feeField != null) { String feeNameFieldValue = feeNameField.GetValue(agentBonus) == null ? null : feeNameField.GetValue(agentBonus).ToString(); String feeFieldValue = feeField.GetValue(agentBonus) == null ? null : feeField.GetValue(agentBonus).ToString(); if (!String.IsNullOrEmpty(feeFieldValue) && !String.IsNullOrWhiteSpace(feeFieldValue)) { sbDesc.Append(" ").Append(i++).AppendFormat(".{0}", feeNameFieldValue).Append(" ").AppendFormat("{0}\n", feeFieldValue); } } } //sbDesc.Append(" ").Append(i++).AppendFormat(".{0}", "佣金总计").Append(" ").AppendFormat("{0}\n", agentBonus.feeTotal); //sbDesc.Append(" ").Append(i++).AppendFormat(".{0}", "过网开票金额").Append(" ").AppendFormat("{0}\n", agentBonus.preInvoiceFee); sb.Append("<Description>").AppendFormat("<![CDATA[{0}]]>", sbDesc.ToString()).Append("</Description>"); String url1 = String.Format("http://{0}/Wechat/AgentBonusDetailQuery.aspx?agentNo={1}&feeMonth={2}", Properties.Settings.Default.Host, QueryStringEncryption.Encode(agentNo, QueryStringEncryption.key), QueryStringEncryption.Encode(feeMonth, QueryStringEncryption.key)); logger.Info(url1); sb.Append("<Url>").AppendFormat("<![CDATA[{0}]]>", url1).Append("</Url>"); sb.AppendFormat("</item>"); sb.AppendFormat("</Articles>"); return sb; }
private StringBuilder createAgentFeeNewsMessages(String feeMonth, AgentFee agentFee, String agentNo) { WechatQueryLog wechatQueryLog = new ChinaUnion_BO.WechatQueryLog(); wechatQueryLog.agentName = ""; wechatQueryLog.module = Util.MyConstant.module_Commission; wechatQueryLog.subSystem = "佣金查询"; wechatQueryLog.queryTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); wechatQueryLog.queryString = feeMonth; wechatQueryLog.wechatId = agentNo; WechatQueryLogDao wechatQueryLogDao = new WechatQueryLogDao(); try { wechatQueryLogDao.Add(wechatQueryLog); } catch { } StringBuilder sb = new StringBuilder(); sb.AppendFormat("<MsgType><![CDATA[news]]></MsgType>"); sb.AppendFormat("<ArticleCount>1</ArticleCount>"); sb.AppendFormat("<Articles>"); sb.AppendFormat("<item>"); sb.Append("<Title>").AppendFormat("{0}佣金告知单", feeMonth).Append("</Title>"); StringBuilder sbDesc = new StringBuilder(); //sbDesc.AppendFormat("本月佣金告知单({0})", feeMonth); sbDesc.AppendFormat("告知单编号:{0}\n", agentFee.agentFeeSeq); sbDesc.AppendFormat("合作伙伴编号:{0}\n", agentFee.agentNo); sbDesc.AppendFormat("合作伙伴名字:{0}\n", agentFee.agentName); sbDesc.AppendFormat("渠道类型:{0}\n", agentFee.agent.agentType); // sb1.AppendFormat("佣金\n\n"); sbDesc.AppendFormat("佣金明细:\n"); int i = 1; for (int j = 1; j <= 100; j++) { FieldInfo feeNameField = agentFee.GetType().GetField("feeName" + j); FieldInfo feeField = agentFee.GetType().GetField("fee" + j); if (feeNameField != null && feeField != null) { String feeNameFieldValue = feeNameField.GetValue(agentFee) == null ? null : feeNameField.GetValue(agentFee).ToString(); String feeFieldValue = feeField.GetValue(agentFee) == null ? null : feeField.GetValue(agentFee).ToString(); if (!String.IsNullOrEmpty(feeFieldValue) && !String.IsNullOrWhiteSpace(feeFieldValue)) { sbDesc.Append(" ").Append(i++).AppendFormat(".{0}", feeNameFieldValue).Append(" ").AppendFormat("{0}\n", feeFieldValue); } } } sbDesc.Append(" ").Append(i++).AppendFormat(".{0}", "佣金总计").Append(" ").AppendFormat("{0}\n", agentFee.feeTotal); sbDesc.Append(" ").Append(i++).AppendFormat(".{0}", "过网开票金额").Append(" ").AppendFormat("{0}\n", agentFee.preInvoiceFee); char[] separator = "<br>".ToCharArray(); if (!String.IsNullOrEmpty(agentFee.agent.agentTypeComment)) { sbDesc.AppendFormat("\n本月佣金说明:\n"); string[] agentTypeCommentList = agentFee.agent.agentTypeComment.Split(separator, StringSplitOptions.RemoveEmptyEntries); for (int count = 0; count < agentTypeCommentList.Length; count++) { sbDesc.Append(" ").Append(count + 1).AppendFormat(".{0}\n", agentTypeCommentList[count]); } } sb.Append("<Description>").AppendFormat("<![CDATA[{0}]]>", sbDesc.ToString()).Append("</Description>"); String url1 = String.Format("http://{0}/Wechat/AgentFeeQuery.aspx?agentNo={1}&feeMonth={2}", Properties.Settings.Default.Host, QueryStringEncryption.Encode(agentNo, QueryStringEncryption.key), QueryStringEncryption.Encode(feeMonth, QueryStringEncryption.key)); logger.Info(url1); sb.Append("<Url>").AppendFormat("<![CDATA[{0}]]>", url1).Append("</Url>"); sb.AppendFormat("</item>"); sb.AppendFormat("</Articles>"); return sb; }
private StringBuilder createPaymentNewsMessages(String feeMonth, String agentNo, IList<InvoicePayment> agentInvoicePaymentList) { WechatQueryLog wechatQueryLog = new ChinaUnion_BO.WechatQueryLog(); wechatQueryLog.agentName = ""; wechatQueryLog.module = Util.MyConstant.module_Commission; wechatQueryLog.subSystem = "支付结算查询"; wechatQueryLog.queryTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); wechatQueryLog.queryString = feeMonth; wechatQueryLog.wechatId = agentNo; WechatQueryLogDao wechatQueryLogDao = new WechatQueryLogDao(); try { wechatQueryLogDao.Add(wechatQueryLog); } catch { } StringBuilder sb = new StringBuilder(); sb.AppendFormat("<MsgType><![CDATA[news]]></MsgType>"); sb.AppendFormat("<ArticleCount>1</ArticleCount>"); sb.AppendFormat("<Articles>"); sb.AppendFormat("<item>"); sb.Append("<Title>").AppendFormat("{0}发票支付结果", feeMonth).Append("</Title>"); StringBuilder sbDesc = new StringBuilder(); //sbDesc.AppendFormat("本月佣金告知单({0})", feeMonth); sbDesc.AppendFormat("总共处理了:{0}次发票支付信息\n", agentInvoicePaymentList.Count); foreach (InvoicePayment agentInvoicePayment in agentInvoicePaymentList) { sbDesc.AppendFormat("\n处理时间:" + agentInvoicePayment.processTime + "\n发票金额:" + agentInvoicePayment.invoiceFee + "\n内容:" + agentInvoicePayment.content + "\n发票类型:" + agentInvoicePayment.invoiceType + "\n付款状态:" + agentInvoicePayment.payStatus).AppendLine(); } sbDesc.Append("\n此发票为" + feeMonth.Substring(0, 4) + "年" + feeMonth.Substring(4, 2) + "月" + "受理的发票支付记录,并非" + feeMonth.Substring(0, 4) + "年" + feeMonth.Substring(4, 2) + "月" + "佣金对应的发票").AppendLine(); sb.Append("<Description>").AppendFormat("<![CDATA[{0}]]>", sbDesc.ToString()).Append("</Description>"); String url1 = String.Format("http://{0}/Wechat/InvoicePaymentQuery.aspx?agentNo={1}&feeMonth={2}", Properties.Settings.Default.Host, QueryStringEncryption.Encode(agentNo, QueryStringEncryption.key), QueryStringEncryption.Encode(feeMonth, QueryStringEncryption.key)); logger.Info(url1); sb.Append("<Url>").AppendFormat("<![CDATA[{0}]]>", url1).Append("</Url>"); sb.AppendFormat("</item>"); sb.AppendFormat("</Articles>"); return sb; }
/// <summary> /// 处理企业号的信息 /// </summary> /// <param name="context"></param> public void ProcessRequest(HttpContext context) { logger.Info(context.Request.Url.AbsoluteUri); string sToken = "PerformanceHandler"; string sCorpID = Properties.Settings.Default.Wechat_CorpId;// "wx4fe8b74e01fffcbb"; string sEncodingAESKey = "U7gOrkwP22ND4bIHSxU0WJqIestRcG2QroykyVKDUSG"; // string sToken = Properties.Settings.Default.Wechat_AgentFee_Token;//"AgentFee"; // string sCorpID = Properties.Settings.Default.Wechat_CorpId;// "wx31204de5a3ae758e"; // string sEncodingAESKey = Properties.Settings.Default.Wechat_AgentFee_EncodingAESKey;// "he8dYrZ5gLbDrDhfHVJkea1AfmHgRZQJq47kuKpQrSO"; System.Collections.Specialized.NameValueCollection queryStrings = context.Request.QueryString; Tencent.WXBizMsgCrypt wxcpt = new Tencent.WXBizMsgCrypt(sToken, sEncodingAESKey, sCorpID); context.Request.ContentEncoding = Encoding.UTF8; string sReqMsgSig = queryStrings["msg_signature"]; string sReqTimeStamp = queryStrings["timestamp"]; string sReqNonce = queryStrings["nonce"]; // 获取Post请求的密文数据 StreamReader reader = new StreamReader(context.Request.InputStream, Encoding.GetEncoding("UTF-8")); string sReqData = reader.ReadToEnd(); reader.Close(); string sMsg = ""; // 解析之后的明文 int ret = wxcpt.DecryptMsg(sReqMsgSig, sReqTimeStamp, sReqNonce, sReqData, ref sMsg); if (ret != 0) { logger.Info("ERR: Decrypt Fail, ret: " + ret); System.Console.WriteLine("ERR: Decrypt Fail, ret: " + ret); return; } // ret==0表示解密成功,sMsg表示解密之后的明文xml串 XmlDocument doc = new XmlDocument(); doc.LoadXml(sMsg); WechatMessage wechatMessage = new WechatMessage(doc.DocumentElement); // 需要发送的明文 String actionType = wechatMessage.EventKey; StringBuilder sb = new StringBuilder(); sb.AppendFormat("<xml>"); sb.AppendFormat("<ToUserName><![CDATA[{0}]]></ToUserName>", wechatMessage.FromUserName); sb.AppendFormat("<FromUserName><![CDATA[{0}]]></FromUserName>", wechatMessage.ToUserName); sb.AppendFormat("<CreateTime>{0}</CreateTime>", wechatMessage.CreateTime); // string sRespData = "<MsgId>1234567890123456</MsgId>"; logger.Info("EventKey: " + wechatMessage.EventKey); AgentWechatAccountDao agentWechatAccountDao = new AgentWechatAccountDao(); AgentWechatAccount agentWechatAccount = agentWechatAccountDao.Get(wechatMessage.FromUserName); if (agentWechatAccount != null && wechatMessage != null && !String.IsNullOrEmpty(wechatMessage.Event) && wechatMessage.Event.Equals("enter_agent")) { WechatQueryLog wechatQueryLog = new ChinaUnion_BO.WechatQueryLog(); wechatQueryLog.agentName = ""; wechatQueryLog.module = Util.MyConstant.module_Performance; wechatQueryLog.subSystem = "业绩查询"; wechatQueryLog.queryTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); wechatQueryLog.queryString = "成员进入应用"; wechatQueryLog.wechatId = agentWechatAccount.contactId; WechatQueryLogDao wechatQueryLogDao = new WechatQueryLogDao(); try { wechatQueryLogDao.Add(wechatQueryLog); } catch { } } if (agentWechatAccount != null && !String.IsNullOrEmpty(agentWechatAccount.status) && !agentWechatAccount.status.Equals("Y")) { sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "对不起,你的账号已被停用,请联系联通工作人员!\n\n"); } else if (agentWechatAccount == null) { sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "用户不存在,请联系联通工作人员!\n\n"); } else { String agentNo = agentWechatAccount.branchNo; if (String.IsNullOrEmpty(agentNo)) { agentNo = agentWechatAccount.agentNo; } String agentType = agentWechatAccount.type; AgentMonthPerformanceDao agentMonthPerformanceDao = new ChinaUnion_DataAccess.AgentMonthPerformanceDao(); AgentDailyPerformanceDao agentDailyPerformanceDao = new ChinaUnion_DataAccess.AgentDailyPerformanceDao(); AgentStarDao agentStarDao = new AgentStarDao(); IList<AgentStar> agentStarList = null; AgentScoreDao agentScoreDao = new AgentScoreDao(); IList<AgentScore> agentScoreList = null; String dateTime = ""; DateTime dt = DateTime.Now.AddMonths(-3); //当前时间 DateTime startQuarter = dt.AddMonths(0 - (dt.Month - 1) % 3).AddDays(1 - dt.Day); //本季度初 if (startQuarter.Month >= 1 && startQuarter.Month <= 3) { dateTime = startQuarter.Year + "年第一季度"; } if (startQuarter.Month >= 4 && startQuarter.Month <= 6) { dateTime = startQuarter.Year + "年第二季度"; } if (startQuarter.Month >= 7 && startQuarter.Month <= 9) { dateTime = startQuarter.Year + "年第三季度"; } if (startQuarter.Month >= 10 && startQuarter.Month <= 12) { dateTime = startQuarter.Year + "年第四季度"; } logger.Info("agentNo: " + agentNo); logger.Info("agentType: " + agentType); switch (actionType) { case "curQuaterStar": case "HistoryQuaterStar": if (actionType.Equals("curQuaterStar")) { agentStarList = agentStarDao.GetLatestByKeyword(agentNo, dateTime); } if (actionType.Equals("HistoryQuaterStar")) { agentStarList = agentStarDao.GetListByKeyword(agentNo); } if (agentStarList != null && agentStarList.Count > 0) { logger.Info("Exist Record: " + agentStarList.Count); sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); StringBuilder sbContent = new StringBuilder(); sbContent.AppendFormat("星级查询详情").Append("\n"); for (int i = 0; i < agentStarList.Count;i++ ) { AgentStar agentStar = agentStarList[i]; sbContent.AppendFormat("\n时间:{0}", agentStar.dateTime).Append("\n"); // sbContent.AppendFormat("代理商编号:{0}", agentStar.agentNo).Append("\n"); //sbContent.AppendFormat("代理商名称:{0}", agentStar.agentName).Append("\n"); if (!String.IsNullOrEmpty(agentStar.branchNo)) { sbContent.AppendFormat("渠道编码:{0}", agentStar.branchNo).Append("\n"); sbContent.AppendFormat("渠道名称:{0}", agentStar.branchName).Append("\n"); } sbContent.AppendFormat("星级:{0}", agentStar.star).Append("\n"); } sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", sbContent.ToString()); // sb.Append(sbContent.ToString()); // sb.Append(this.createNewsMessages(feeDate, wechatMessage.FromUserName, agentDailyPerformance)); } else { logger.Info("is not Existed Record: "); sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "本期无星级或尚未发布,请耐心等候\n\n"); } WechatQueryLog wechatQueryLog = new ChinaUnion_BO.WechatQueryLog(); wechatQueryLog.agentName = ""; wechatQueryLog.module = Util.MyConstant.module_Performance; wechatQueryLog.subSystem = "星级查询"; wechatQueryLog.queryTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); wechatQueryLog.queryString = dateTime; wechatQueryLog.wechatId = agentNo; WechatQueryLogDao wechatQueryLogDao = new WechatQueryLogDao(); try { wechatQueryLogDao.Add(wechatQueryLog); } catch { } break; case "curScore": case "HistoryScore": String month = DateTime.Now.AddMonths(-1).ToString("yyyyMM"); if (actionType.Equals("curScore")) { agentScoreList = agentScoreDao.GetLatestByKeyword(agentNo, month); } if (actionType.Equals("HistoryScore")) { agentScoreList = agentScoreDao.GetListByKeyword(agentNo); } if (agentScoreList != null && agentScoreList.Count > 0) { logger.Info("Exist Record: " + agentScoreList.Count); sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); StringBuilder sbContent = new StringBuilder(); sbContent.AppendFormat("积分查询详情").Append("\n"); for (int i = 0; i < agentScoreList.Count; i++) { AgentScore agentScore = agentScoreList[i]; sbContent.AppendFormat("\n时间:{0}", agentScore.dateTime).Append("\n"); if (!String.IsNullOrEmpty(agentScore.agentNo)) { sbContent.AppendFormat("代理商编号:{0}", agentScore.agentNo).Append("\n"); sbContent.AppendFormat("代理商名称:{0}", agentScore.agentName).Append("\n"); } if (!String.IsNullOrEmpty(agentScore.branchNo)) { sbContent.AppendFormat("渠道编码:{0}", agentScore.branchNo).Append("\n"); sbContent.AppendFormat("渠道名称:{0}", agentScore.branchName).Append("\n"); } sbContent.AppendFormat("渠道积分:{0}", agentScore.score).Append("\n"); sbContent.AppendFormat("本月得分:{0}", agentScore.standardScore).Append("\n"); } sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", sbContent.ToString()); // sb.Append(sbContent.ToString()); // sb.Append(this.createNewsMessages(feeDate, wechatMessage.FromUserName, agentDailyPerformance)); } else { logger.Info("is not Existed Record: "); sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "本期无积分或尚未发布,请耐心等候\n\n"); } wechatQueryLog = new ChinaUnion_BO.WechatQueryLog(); wechatQueryLog.agentName = ""; wechatQueryLog.module = Util.MyConstant.module_Performance; wechatQueryLog.subSystem = "积分查询"; wechatQueryLog.queryTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); wechatQueryLog.queryString = month; wechatQueryLog.wechatId = agentNo; wechatQueryLogDao = new WechatQueryLogDao(); try { wechatQueryLogDao.Add(wechatQueryLog); } catch { } break; case "YesterdayPerformance": String feeDate = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"); AgentDailyPerformance agentDailyPerformance = new AgentDailyPerformance(); agentDailyPerformance = agentDailyPerformanceDao.GetSummary(agentNo, feeDate,agentType); if (agentDailyPerformance != null) { logger.Info("Exist Record: " + agentNo); sb.Append(this.createNewsMessages(feeDate, agentNo, agentDailyPerformance, agentType)); } else { logger.Info("is not Existed Record: "); sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", DateTime.Now.AddDays(-1).ToString("yyyy年MM月dd日") + "无业绩或者业绩尚未发布\n\n"); } break; case "HistoryDayPerformance": String date = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).ToString("yyyy-MM-dd"); IList<AgentDailyPerformance> agentDailyPerformanceList = agentDailyPerformanceDao.GetAllListDate(agentNo, agentType,date); if (agentDailyPerformanceList == null || agentDailyPerformanceList.Count == 0) { logger.Info("is not Existed Record: "); sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "近期无业绩或者业绩尚未发布!\n\n"); } else { sb.Append(this.createNewsMessages(agentNo, agentDailyPerformanceList, agentType)); } break; case "LastMonthPerformance": // case "YesterdayPerformance": String feeMonth = DateTime.Now.AddMonths(-1).ToString("yyyy-MM"); AgentMonthPerformance agentMonthPerformance = new AgentMonthPerformance(); agentMonthPerformance = agentMonthPerformanceDao.GetSummary(agentNo, feeMonth, agentType); if (agentMonthPerformance != null) { logger.Info("Exist Record: " + agentMonthPerformance.agentName); sb.Append(this.createNewsMessages(feeMonth, agentNo, agentMonthPerformance, agentType)); } else { logger.Info("is not Existed Record: "); sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", feeMonth.Substring(0,4)+"年"+feeMonth.Substring(5,2)+ "月" + "业绩尚未发布,请耐心等待!\n\n"); } break; case "HistoryMonthPerformance": IList<AgentMonthPerformance> agentMonthPerformanceList = agentMonthPerformanceDao.GetAllListMonth(agentNo,agentType); if (agentMonthPerformanceList == null || agentMonthPerformanceList.Count == 0) { logger.Info("is not Existed Record: "); sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "近期业绩尚未发布,请耐心等待!\n\n"); } else { sb.Append(this.createNewsMessages(agentNo, agentMonthPerformanceList, agentType)); } break; } } // sb.AppendFormat("<AgentID>{0}</AgentID>", textMessage.AgentID); sb.AppendFormat("</xml>"); string sRespData = sb.ToString(); string sEncryptMsg = ""; //xml格式的密文 ret = wxcpt.EncryptMsg(sRespData, sReqTimeStamp, sReqNonce, ref sEncryptMsg); logger.Info("sRespData=" + sRespData); logger.Info("ret=" + ret); if (ret != 0) { System.Console.WriteLine("ERR: EncryptMsg Fail, ret: " + ret); return; } context.Response.Write(sEncryptMsg); }
/// <summary> /// 处理企业号的信息 /// </summary> /// <param name="context"></param> public void ProcessRequest(HttpContext context) { logger.Info(context.Request.Url.AbsoluteUri); string sToken = "ContactUsHandler"; string sCorpID = Properties.Settings.Default.Wechat_CorpId;// "wx4fe8b74e01fffcbb"; string sEncodingAESKey = "Mh5NDLXhiRMu1GHitnufvEZKBdSh6c1zvOZbpdUOT2T"; // string sToken = Properties.Settings.Default.Wechat_AgentFee_Token;//"AgentFee"; // string sCorpID = Properties.Settings.Default.Wechat_CorpId;// "wx31204de5a3ae758e"; // string sEncodingAESKey = Properties.Settings.Default.Wechat_AgentFee_EncodingAESKey;// "he8dYrZ5gLbDrDhfHVJkea1AfmHgRZQJq47kuKpQrSO"; System.Collections.Specialized.NameValueCollection queryStrings = context.Request.QueryString; Tencent.WXBizMsgCrypt wxcpt = new Tencent.WXBizMsgCrypt(sToken, sEncodingAESKey, sCorpID); context.Request.ContentEncoding = Encoding.UTF8; string sReqMsgSig = queryStrings["msg_signature"]; string sReqTimeStamp = queryStrings["timestamp"]; string sReqNonce = queryStrings["nonce"]; // 获取Post请求的密文数据 StreamReader reader = new StreamReader(context.Request.InputStream, Encoding.GetEncoding("UTF-8")); string sReqData = reader.ReadToEnd(); reader.Close(); string sMsg = ""; // 解析之后的明文 int ret = wxcpt.DecryptMsg(sReqMsgSig, sReqTimeStamp, sReqNonce, sReqData, ref sMsg); if (ret != 0) { logger.Info("ERR: Decrypt Fail, ret: " + ret); System.Console.WriteLine("ERR: Decrypt Fail, ret: " + ret); return; } // ret==0表示解密成功,sMsg表示解密之后的明文xml串 XmlDocument doc = new XmlDocument(); doc.LoadXml(sMsg); WechatMessage wechatMessage = new WechatMessage(doc.DocumentElement); // 需要发送的明文 String actionType = wechatMessage.EventKey; StringBuilder sb = new StringBuilder(); sb.AppendFormat("<xml>"); sb.AppendFormat("<ToUserName><![CDATA[{0}]]></ToUserName>", wechatMessage.FromUserName); sb.AppendFormat("<FromUserName><![CDATA[{0}]]></FromUserName>", wechatMessage.ToUserName); sb.AppendFormat("<CreateTime>{0}</CreateTime>", wechatMessage.CreateTime); // string sRespData = "<MsgId>1234567890123456</MsgId>"; logger.Info("EventKey: " + wechatMessage.EventKey); AgentWechatAccountDao agentWechatAccountDao = new AgentWechatAccountDao(); AgentWechatAccount agentWechatAccount = agentWechatAccountDao.Get(wechatMessage.FromUserName); if (agentWechatAccount != null && wechatMessage != null && !String.IsNullOrEmpty(wechatMessage.Event) && wechatMessage.Event.Equals("enter_agent")) { WechatQueryLog wechatQueryLog = new ChinaUnion_BO.WechatQueryLog(); wechatQueryLog.agentName = ""; wechatQueryLog.module = Util.MyConstant.module_Contact; wechatQueryLog.subSystem = "联系人查询"; wechatQueryLog.queryTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); wechatQueryLog.queryString = "成员进入应用"; wechatQueryLog.wechatId = agentWechatAccount.contactId; WechatQueryLogDao wechatQueryLogDao = new WechatQueryLogDao(); try { wechatQueryLogDao.Add(wechatQueryLog); } catch { } } if (agentWechatAccount != null && !String.IsNullOrEmpty(agentWechatAccount.status) && !agentWechatAccount.status.Equals("Y")) { sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "对不起,你的账号已被停用,请联系联通工作人员!\n\n"); } else if (agentWechatAccount == null) { sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "用户不存在,请联系联通工作人员!\n\n"); } else { String agentNo = agentWechatAccount.branchNo; if (String.IsNullOrEmpty(agentNo)) { agentNo = agentWechatAccount.agentNo; } AgentContactDao agentContactDao = new ChinaUnion_DataAccess.AgentContactDao(); switch (actionType) { case "CommonPhone": sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); StringBuilder sbContent1 = new StringBuilder(); sbContent1.AppendFormat("1、支撑服务热线:4006186802").AppendLine(); sbContent1.AppendFormat("2、服务监督电话:61587555").AppendLine(); sbContent1.AppendFormat("3、IT服务热线:\n 18502143773\n 18502143774"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", sbContent1.ToString()); break; case "ContactPerson": //AgentContact agentContact = new AgentContact(); IList<AgentContact> agentContactList = agentContactDao.GetListByNo(agentNo); if (agentContactList != null && agentContactList.Count > 0) { logger.Info("Exist Record: " + agentContactList.Count); sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); StringBuilder sbContent = new StringBuilder(); for (int i = 0; i < agentContactList.Count; i++) { AgentContact agentContact = agentContactList[i]; if (agentContactList.Count > 1) { sbContent.AppendFormat("第{0}联系人\n\n", i + 1); } if (!String.IsNullOrEmpty(agentContact.agentNo)) { sbContent.AppendFormat("代理商编号:{0}", agentContact.agentNo).Append("\n"); sbContent.AppendFormat("代理商名称:{0}", agentContact.agentName).Append("\n"); } if (!String.IsNullOrEmpty(agentContact.branchNo)) { sbContent.AppendFormat("渠道编码:{0}", agentContact.branchNo).Append("\n"); sbContent.AppendFormat("渠道名称:{0}", agentContact.branchName).Append("\n"); } sbContent.AppendFormat("所属区县:{0}", agentContact.area).Append("\n"); sbContent.AppendFormat("所属网格:{0}", agentContact.zone).Append("\n"); sbContent.AppendFormat("联系人:{0}", agentContact.contactName).Append("\n"); sbContent.AppendFormat("电话:{0}", agentContact.contactTel).Append("\n"); sbContent.AppendFormat("邮箱:{0}", agentContact.contactEmail).Append("\n").AppendLine(); } sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", sbContent.ToString()); // sb.Append(sbContent.ToString()); // sb.Append(this.createNewsMessages(feeDate, wechatMessage.FromUserName, agentDailyPerformance)); } else { logger.Info("is not Existed Record: "); sb.AppendFormat("<MsgType><![CDATA[text]]></MsgType>"); sb.AppendFormat("<Content><![CDATA[{0}]]></Content>", "没有找到对应的联系人,请直接与上海联通确认!\n\n"); } break; } } // sb.AppendFormat("<AgentID>{0}</AgentID>", textMessage.AgentID); sb.AppendFormat("</xml>"); string sRespData = sb.ToString(); string sEncryptMsg = ""; //xml格式的密文 ret = wxcpt.EncryptMsg(sRespData, sReqTimeStamp, sReqNonce, ref sEncryptMsg); logger.Info("ret=" + ret); if (ret != 0) { System.Console.WriteLine("ERR: EncryptMsg Fail, ret: " + ret); return; } context.Response.Write(sEncryptMsg); }
protected void Page_Load(object sender, EventArgs e) { string feeMonth = Request.QueryString["feeMonth"]; string agentNo = Request.QueryString["agentNo"]; logger.Info("month=" + Request.QueryString["month"]); logger.Info("agentNo=" + Request.QueryString["agentNo"]); try { Request.ContentEncoding = Encoding.UTF8; feeMonth = QueryStringEncryption.Decode(feeMonth, QueryStringEncryption.key); agentNo = QueryStringEncryption.Decode(agentNo, QueryStringEncryption.key); logger.Info("feeMonth=" + feeMonth); logger.Info("agentNo=" + agentNo); } catch (Exception) { // return; } WechatQueryLog wechatQueryLog = new ChinaUnion_BO.WechatQueryLog(); wechatQueryLog.agentName = ""; wechatQueryLog.module = Util.MyConstant.module_Commission; wechatQueryLog.subSystem = "红包查询"; wechatQueryLog.queryTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); wechatQueryLog.queryString = feeMonth; wechatQueryLog.wechatId = agentNo; WechatQueryLogDao wechatQueryLogDao = new WechatQueryLogDao(); try { wechatQueryLogDao.Add(wechatQueryLog); } catch { } DataTable dt = new DataTable(); DataRow row = null; dt.Columns.Add("name"); dt.Columns.Add("value"); AgentBonusDao agentBonusDao = new ChinaUnion_DataAccess.AgentBonusDao(); AgentBonus agentBonus = new AgentBonus(); agentBonus = agentBonusDao.GetByKey(feeMonth,agentNo ); if (agentBonus != null) { row = dt.NewRow(); row["name"] = "渠道编码"; row["value"] = agentBonus.agentNo; dt.Rows.Add(row); row = dt.NewRow(); row["name"] = "渠道名称"; row["value"] = agentBonus.agentName; dt.Rows.Add(row); for (int j = 1; j <= 100; j++) { FieldInfo feeNameField = agentBonus.GetType().GetField("feeName" + j); FieldInfo feeField = agentBonus.GetType().GetField("fee" + j); if (feeNameField != null && feeField != null) { String feeNameFieldValue = feeNameField.GetValue(agentBonus) == null ? null : feeNameField.GetValue(agentBonus).ToString(); String feeFieldValue = feeField.GetValue(agentBonus) == null ? null : feeField.GetValue(agentBonus).ToString(); if (!String.IsNullOrEmpty(feeFieldValue) && !String.IsNullOrWhiteSpace(feeFieldValue)) { row = dt.NewRow(); row["name"] = feeNameFieldValue; row["value"] = feeFieldValue; dt.Rows.Add(row); } } } } this.lblFeeMonth.Text = feeMonth.Substring(0, 4) + "年" + feeMonth.Substring(4, 2) + "月" + "红包详情"; GridView1.DataSource = dt.DefaultView; GridView1.DataBind(); }