PosPushDataNewHelper.cs 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using Library;
  5. using MySystem.Models;
  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 Bind(MerchantAddInfo mer, MerchantInfo m)
  15. {
  16. try
  17. {
  18. Dictionary<string, object> dataContent = new Dictionary<string, object>();
  19. // dataContent.Add("pos_sn", pos.PosSn); //机具sn
  20. dataContent.Add("mer_no", mer.MchtNo); //商户号
  21. dataContent.Add("id_card", mer.IdCardNumber); //商户身份证
  22. dataContent.Add("mer_name", mer.CertMerchantName); //商户姓名
  23. dataContent.Add("mer_mobile", mer.MobilePhone); //商户手机号
  24. dataContent.Add("request_id", getRequestId(mer.Id, "bind")); //流水号
  25. dataContent.Add("bind_time", mer.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss")); //绑定时间
  26. dataContent.Add("brand", 100); //品牌
  27. dataContent.Add("user_id", m.UserId); //创客Id
  28. Push("qr_bind", dataContent);
  29. }
  30. catch (Exception ex)
  31. {
  32. function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString() + "\n\n", "推送绑定数据异常");
  33. }
  34. }
  35. //交易数据
  36. public static void Trade(ConsumerOrders trade, MerchantAddInfo mer)
  37. {
  38. try
  39. {
  40. int QrPayFlag = 0;
  41. int BankCardType = 1;
  42. List<string> BrandIds = new List<string>();
  43. decimal TradeAmount = trade.PayMoney;
  44. Dictionary<string, object> dataContent = new Dictionary<string, object>();
  45. // dataContent.Add("pos_sn", trade.SnNo); //机具sn
  46. dataContent.Add("mer_no", mer.SubMchid + "_" + mer.AlipayPid); //商户号
  47. dataContent.Add("request_id", trade.OrderNo); //流水号
  48. dataContent.Add("trade_amount", TradeAmount); //交易金额
  49. dataContent.Add("trade_time", trade.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss")); //交易时间
  50. dataContent.Add("brand", 100); //品牌
  51. // dataContent.Add("card_type", BankCardType); //卡类型
  52. // dataContent.Add("qr_pay_flag", QrPayFlag); //云闪付标记
  53. dataContent.Add("fee_rate", trade.IsAct == 1 ? 0.6M : 0.63M);
  54. dataContent.Add("fee_amt", trade.IsAct == 1 ? 0 : 3);
  55. Push("lkb_trade", dataContent);
  56. }
  57. catch (Exception ex)
  58. {
  59. function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString() + "\n\n", "推送交易数据异常");
  60. }
  61. }
  62. public static void Push(string dataType, Dictionary<string, object> dataContent)
  63. {
  64. Dictionary<string, object> data = new Dictionary<string, object>();
  65. data.Add("data_type", dataType);
  66. data.Add("data_content", dataContent);
  67. KxsRedisDbconn.Instance.AddList("KxsPosDataQueue", Newtonsoft.Json.JsonConvert.SerializeObject(data));
  68. }
  69. public static string getRequestId(int id, string type)
  70. {
  71. if(id > 0)
  72. {
  73. return function.MD5_32(id.ToString() + type);
  74. }
  75. return DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8);
  76. }
  77. }
  78. }