taobaopush.cs 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. using BizCom;
  2. using Newtonsoft.Json;
  3. using SiteCore.taoObj;
  4. using System;
  5. using System.Text;
  6. using System.Web;
  7. using System.Web.SessionState;
  8. namespace SiteCore.Handler
  9. {
  10. public class taobaopush : BaseHandler, IHttpHandler, IRequiresSessionState
  11. {
  12. //淘宝文档: https://open.taobao.com/tmc.htm?docId=101&docType=9
  13. HttpContext con = null;
  14. public static object pushObj = new object();
  15. public void ProcessRequest(HttpContext context)
  16. {
  17. con = context;
  18. //string fstr = con.Request.Form.ToString();
  19. string fstr = "";
  20. string fstr2 = "";
  21. try
  22. {
  23. if (con.Request.TotalBytes > 0)
  24. {
  25. byte[] input = con.Request.BinaryRead(con.Request.TotalBytes);
  26. fstr = Encoding.UTF8.GetString(input);
  27. fstr2 = con.Request.QueryString.ToString();
  28. string queryTag = Convert.ToString(con.Request.QueryString["tag"]);
  29. fstr = fstr.Replace("'", "''");
  30. //if (queryTag == "create")
  31. //{
  32. // try
  33. // {
  34. // tmcHelper.Api_TmcTradeMsg_Create(fstr);
  35. // string sql = string.Format("insert into s_taobaotmc3(topic,urlparm,message,con,addtime) values('{0}','{1}','{2}','{3}',getdate()) ;",
  36. // con.Request.QueryString["tag"], fstr2, fstr, "");
  37. // XLog.ExecuteNonQuery(sql);
  38. // }
  39. // catch(Exception ex)
  40. // {
  41. // string sql = string.Format("insert into s_taobaotmc2(topic,urlparm,message,con,addtime) values('{0}','{1}','{2}','{3}',getdate()) ;",
  42. // con.Request.QueryString["tag"], fstr2, fstr, "");
  43. // XLog.ExecuteNonQuery(sql);
  44. // }
  45. //}
  46. //else
  47. //{
  48. string sql = string.Format("insert into s_taobaotmc2(topic,urlparm,message,con,addtime) values('{0}','{1}','{2}','{3}',getdate()) ;" +
  49. "insert into s_taobaotmc3(topic,urlparm,message,con,addtime) values('{0}','{1}','{2}','{3}',getdate()) ;",
  50. queryTag, fstr2, fstr, "");
  51. string tempStr = fstr;
  52. XLog.ExecuteNonQuery(sql);
  53. /*Api_tmc_trade_info_Obj fullObj = null;
  54. string res = "";
  55. try
  56. {
  57. res = tmcHelper.GetUTF8String(Encoding.UTF8.GetBytes(fstr));
  58. //res = res.Replace(" ", "");
  59. fullObj = JsonConvert.DeserializeObject<Api_tmc_trade_info_Obj>(res);
  60. }
  61. catch (Exception ex)
  62. {
  63. }
  64. if (fullObj != null)
  65. {
  66. Api_tmc_trade_info_Obj.Content tObj = fullObj.content;
  67. sql = string.Format("INSERT INTO [dbo].[CE_ErpSukuraData](tid, json, type) VALUES ( '{0}', '{1}',{2});", tObj.refOid, tempStr, 0);
  68. XLog.ExecuteNonQuery(sql);
  69. }*/
  70. //}
  71. //lock (pushObj)
  72. //{
  73. // tmcHelper.Api_TmcTradeMsg(fstr);
  74. //}
  75. StringBuilder str = new StringBuilder();
  76. str.Append("{");
  77. str.Append("\"success\":true,");
  78. str.AppendFormat("\"timestamp\":{0},", taobaoHelper.DateTimeToUnixTime(DateTime.Now));
  79. str.AppendFormat("\"code\":200,");
  80. str.AppendFormat("\"msg\":\"\"");
  81. str.Append("}");
  82. con.Response.Write(str.ToString());
  83. }
  84. else
  85. {
  86. //string sql = string.Format("insert into s_taobaotmc2(topic,urlparm,message,con,addtime) values('{0}','{1}','{2}','{3}',getdate()) ;",
  87. // con.Request.QueryString["tag"], fstr2, fstr, "");
  88. //XLog.ExecuteNonQuery(sql);
  89. StringBuilder str = new StringBuilder();
  90. str.Append("{");
  91. str.Append("\"success\":false,");
  92. str.AppendFormat("\"timestamp\":{0},", taobaoHelper.DateTimeToUnixTime(DateTime.Now));
  93. str.AppendFormat("\"code\":200,");
  94. str.AppendFormat("\"msg\":\"接收空数据\"");
  95. str.Append("}");
  96. con.Response.Write(str.ToString());
  97. }
  98. }
  99. catch (Exception ex)
  100. {
  101. //string sql = string.Format("insert into s_taobaotmc2(topic,urlparm,message,con,addtime) values('{0}','{1}','{2}','{3}',getdate()) ;",
  102. // con.Request.QueryString["tag"], fstr2, fstr, "");
  103. //XLog.ExecuteNonQuery(sql);
  104. XLog.SaveLog(0, "taobaopush:" + ex.Message);
  105. StringBuilder str = new StringBuilder();
  106. str.Append("{");
  107. str.Append("\"success\":false,");
  108. str.AppendFormat("\"timestamp\":{0},", taobaoHelper.DateTimeToUnixTime(DateTime.Now));
  109. str.AppendFormat("\"code\":200,");
  110. str.AppendFormat("\"msg\":\"程序发生异常\"");
  111. str.Append("}");
  112. con.Response.Write(str.ToString());
  113. }
  114. }
  115. }
  116. }
  117. //http://47.114.150.226:88/Handler/taobaopush.ashx