using BizCom; using Newtonsoft.Json; using SiteCore.taoObj; using System; using System.Text; using System.Web; using System.Web.SessionState; namespace SiteCore.Handler { public class taobaopush : BaseHandler, IHttpHandler, IRequiresSessionState { //淘宝文档: https://open.taobao.com/tmc.htm?docId=101&docType=9 HttpContext con = null; public static object pushObj = new object(); public void ProcessRequest(HttpContext context) { con = context; //string fstr = con.Request.Form.ToString(); string fstr = ""; string fstr2 = ""; try { if (con.Request.TotalBytes > 0) { byte[] input = con.Request.BinaryRead(con.Request.TotalBytes); fstr = Encoding.UTF8.GetString(input); fstr2 = con.Request.QueryString.ToString(); string queryTag = Convert.ToString(con.Request.QueryString["tag"]); fstr = fstr.Replace("'", "''"); //if (queryTag == "create") //{ // try // { // tmcHelper.Api_TmcTradeMsg_Create(fstr); // string sql = string.Format("insert into s_taobaotmc3(topic,urlparm,message,con,addtime) values('{0}','{1}','{2}','{3}',getdate()) ;", // con.Request.QueryString["tag"], fstr2, fstr, ""); // XLog.ExecuteNonQuery(sql); // } // catch(Exception ex) // { // string sql = string.Format("insert into s_taobaotmc2(topic,urlparm,message,con,addtime) values('{0}','{1}','{2}','{3}',getdate()) ;", // con.Request.QueryString["tag"], fstr2, fstr, ""); // XLog.ExecuteNonQuery(sql); // } //} //else //{ string sql = string.Format("insert into s_taobaotmc2(topic,urlparm,message,con,addtime) values('{0}','{1}','{2}','{3}',getdate()) ;" + "insert into s_taobaotmc3(topic,urlparm,message,con,addtime) values('{0}','{1}','{2}','{3}',getdate()) ;", queryTag, fstr2, fstr, ""); string tempStr = fstr; XLog.ExecuteNonQuery(sql); Api_tmc_trade_info_Obj fullObj = null; string res = ""; try { res = tmcHelper.GetUTF8String(Encoding.UTF8.GetBytes(fstr)); //res = res.Replace(" ", ""); fullObj = JsonConvert.DeserializeObject(res); } catch (Exception ex) { } if (fullObj != null) { Api_tmc_trade_info_Obj.Content tObj = fullObj.content; sql = string.Format("INSERT INTO [dbo].[CE_ErpSukuraData](tid, json, type) VALUES ( '{0}', '{1}',{2});", tObj.refOid, tempStr, 0); XLog.ExecuteNonQuery(sql); } //} //lock (pushObj) //{ // tmcHelper.Api_TmcTradeMsg(fstr); //} StringBuilder str = new StringBuilder(); str.Append("{"); str.Append("\"success\":true,"); str.AppendFormat("\"timestamp\":{0},", taobaoHelper.DateTimeToUnixTime(DateTime.Now)); str.AppendFormat("\"code\":200,"); str.AppendFormat("\"msg\":\"\""); str.Append("}"); con.Response.Write(str.ToString()); } else { //string sql = string.Format("insert into s_taobaotmc2(topic,urlparm,message,con,addtime) values('{0}','{1}','{2}','{3}',getdate()) ;", // con.Request.QueryString["tag"], fstr2, fstr, ""); //XLog.ExecuteNonQuery(sql); StringBuilder str = new StringBuilder(); str.Append("{"); str.Append("\"success\":false,"); str.AppendFormat("\"timestamp\":{0},", taobaoHelper.DateTimeToUnixTime(DateTime.Now)); str.AppendFormat("\"code\":200,"); str.AppendFormat("\"msg\":\"接收空数据\""); str.Append("}"); con.Response.Write(str.ToString()); } } catch (Exception ex) { //string sql = string.Format("insert into s_taobaotmc2(topic,urlparm,message,con,addtime) values('{0}','{1}','{2}','{3}',getdate()) ;", // con.Request.QueryString["tag"], fstr2, fstr, ""); //XLog.ExecuteNonQuery(sql); XLog.SaveLog(0, "taobaopush:" + ex.Message); StringBuilder str = new StringBuilder(); str.Append("{"); str.Append("\"success\":false,"); str.AppendFormat("\"timestamp\":{0},", taobaoHelper.DateTimeToUnixTime(DateTime.Now)); str.AppendFormat("\"code\":200,"); str.AppendFormat("\"msg\":\"程序发生异常\""); str.Append("}"); con.Response.Write(str.ToString()); } } } } //http://47.114.150.226:88/Handler/taobaopush.ashx