UserTradeDbconn.cs 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. using System;
  2. using System.Collections.Generic;
  3. using Library;
  4. using System.Data;
  5. namespace MySystem
  6. {
  7. public class UserTradeDbconn
  8. {
  9. static string _conn = ConfigurationManager.AppSettings["StatSqlConnStr"].ToString();
  10. public readonly static UserTradeDbconn Instance = new UserTradeDbconn();
  11. public UserTradeDbconn()
  12. { }
  13. /// <summary>
  14. /// 获取交易统计数据
  15. /// </summary>
  16. /// <param name="MerchantId">商户Id</param>
  17. /// <param name="TradeDate">日期/月份(yyyyMMdd或yyyyMM)</param>
  18. /// <param name="fields">字段(多个用逗号隔开)</param>
  19. /// <returns></returns>
  20. public static Dictionary<string, object> GetTrade(int MerchantId, string TradeDate, string fields)
  21. {
  22. Dictionary<string, object> AmtList = new Dictionary<string, object>();
  23. string fieldList = "";
  24. foreach(string field in fields.Split(','))
  25. {
  26. fieldList += "sum(" + fieldList + ") " + fieldList + ",";
  27. }
  28. DataTable dt = CustomerSqlConn.dtable("select " + fieldList.TrimEnd(',') + " from MerchantTradeSummary" + TradeDate + " where MerchantId=" + MerchantId + " and ", _conn);
  29. if(dt.Rows.Count > 0)
  30. {
  31. foreach(string field in fields.Split(','))
  32. {
  33. AmtList.Add(field, dt.Rows[0][0].ToString());
  34. }
  35. }
  36. return AmtList;
  37. }
  38. /// <summary>
  39. /// 获取交易统计列表
  40. /// </summary>
  41. /// <param name="MerchantId">商户Id</param>
  42. /// <param name="TradeMonth">月份(yyyyMM)</param>
  43. /// <param name="fields">字段(多个用逗号隔开)</param>
  44. /// <returns></returns>
  45. public static List<Dictionary<string, object>> GetDateTradeList(int MerchantId, string TradeMonth, string fields)
  46. {
  47. List<Dictionary<string, object>> AmtList = new List<Dictionary<string, object>>();
  48. DataTable dt = CustomerSqlConn.dtable("select " + fields + " from MerchantTradeSummary" + TradeMonth + " where MerchantId=" + MerchantId + " and ", _conn);
  49. if(dt.Rows.Count > 0)
  50. {
  51. Dictionary<string, object> Item = new Dictionary<string, object>();
  52. foreach(string field in fields.Split(','))
  53. {
  54. Item.Add(field, dt.Rows[0][0].ToString());
  55. }
  56. AmtList.Add(Item);
  57. }
  58. return AmtList;
  59. }
  60. /// <summary>
  61. /// 获取交易统计列表
  62. /// </summary>
  63. /// <param name="MerchantId">商户Id</param>
  64. /// <param name="TradeMonth">月份(yyyyMM)</param>
  65. /// <param name="fields">字段(多个用逗号隔开)</param>
  66. /// <returns></returns>
  67. public static List<Dictionary<string, object>> GetMonthTradeList(int MerchantId, string fields)
  68. {
  69. List<Dictionary<string, object>> AmtList = new List<Dictionary<string, object>>();
  70. string fieldList = "";
  71. foreach(string field in fields.Split(','))
  72. {
  73. fieldList += "sum(" + fieldList + ") " + fieldList + ",";
  74. }
  75. for(int i = 0; i < 6; i ++)
  76. {
  77. Dictionary<string, object> Item = new Dictionary<string, object>();
  78. DataTable dt = CustomerSqlConn.dtable("select " + fieldList.TrimEnd(',') + " from MerchantTradeSummary" + DateTime.Now.AddMonths(-i).ToString("yyyyMM") + " where MerchantId=" + MerchantId + " and ", _conn);
  79. if(dt.Rows.Count > 0)
  80. {
  81. foreach(string field in fields.Split(','))
  82. {
  83. Item.Add(field, dt.Rows[0][0].ToString());
  84. }
  85. }
  86. AmtList.Add(Item);
  87. }
  88. return AmtList;
  89. }
  90. }
  91. }