PosPushDataNewHelper.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using Library;
  5. using MySystem.MpMainModels2;
  6. namespace MySystem
  7. {
  8. public class PosPushDataNewHelper
  9. {
  10. public readonly static PosPushDataNewHelper Instance = new PosPushDataNewHelper();
  11. private PosPushDataNewHelper()
  12. { }
  13. //交易数据
  14. public static void Trade(ConsumerOrders trade, string kind)
  15. {
  16. try
  17. {
  18. int brand = 18;
  19. if(kind.Contains("好哒语音王")) brand = 18;
  20. if(kind.Contains("收款王M820")) brand = 19;
  21. if(kind.Contains("收款王M826")) brand = 20;
  22. if(kind.Contains("S312")) brand = 21;
  23. if(kind.Contains("好哒扫码通")) brand = 29;
  24. Dictionary<string, object> dataContent = new Dictionary<string, object>();
  25. dataContent.Add("pos_sn", trade.SnNo); //机具sn
  26. dataContent.Add("mer_no", trade.TradePayNo); //商户号
  27. dataContent.Add("request_id", trade.OrderNo); //流水号
  28. dataContent.Add("trade_amount", trade.PayMoney); //交易金额
  29. dataContent.Add("trade_time", trade.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss")); //交易时间
  30. dataContent.Add("brand", brand); //品牌
  31. dataContent.Add("is_act", trade.IsAct); //品牌
  32. dataContent.Add("card_type", 1); //卡类型
  33. dataContent.Add("qr_pay_flag", 0); //云闪付标记
  34. Push("trade", dataContent);
  35. }
  36. catch (Exception ex)
  37. {
  38. function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString() + "\n\n", "推送交易数据异常");
  39. }
  40. }
  41. public static void Push(string dataType, Dictionary<string, object> dataContent)
  42. {
  43. Dictionary<string, object> data = new Dictionary<string, object>();
  44. data.Add("data_type", dataType);
  45. data.Add("data_content", dataContent);
  46. RedisDbconn.Instance.AddList("KxsPosDataQueue", Newtonsoft.Json.JsonConvert.SerializeObject(data));
  47. }
  48. public static string getRequestId(int id, string type)
  49. {
  50. if(id > 0)
  51. {
  52. return function.MD5_32(id.ToString() + type);
  53. }
  54. return DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8);
  55. }
  56. }
  57. }