MerchantAmountSummayUtil.cs 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. using MySystem.MainModels;
  2. using Library;
  3. using MySystem.Service.Main;
  4. using System.Collections.Generic;
  5. using System;
  6. namespace MySystem
  7. {
  8. /// <summary>
  9. /// 商户业绩统计工具类
  10. /// </summary>
  11. public class MerchantAmountSummayUtil
  12. {
  13. #region 已激活商户-达标信息列表
  14. /// <summary>
  15. /// 已激活商户-达标信息列表
  16. /// </summary>
  17. /// <param name="MerchantId">商户Id</param>
  18. /// <param name="PageSize">条数</param>
  19. /// <param name="PageNum">页数</param>
  20. /// <returns></returns>
  21. public static List<Dictionary<string, object>> ListDo(int MerchantId, int PageSize, int PageNum)
  22. {
  23. List<Dictionary<string, object>> dataList = new List<Dictionary<string, object>>();
  24. var query = new MerchantDepositOrderService().QueryByMerchantId(MerchantId);
  25. var Status = 0;//活动交易状态
  26. var IsJoin = 0;//是否参加活动(0 否 1 是)
  27. if (query.Id > 0)
  28. {
  29. IsJoin = 1;
  30. var month = DateTime.Parse(query.UpdateDate.ToString());
  31. var TradeMonth = "";
  32. decimal TradeAmount = 0.00M;
  33. Dictionary<string, string> dic = new Dictionary<string, string>();
  34. for (int i = 0; i < 10; i++)
  35. {
  36. month = month.AddMonths(i + 1);
  37. TradeMonth = month.ToString("yyyy-MM");
  38. var check = new MerchantAmountSummayService().QueryAmount("TradeAmount", " and IsAct=1 and TradeMonth='" + TradeMonth + "' and MerchantId=" + MerchantId + "");
  39. if (check.Count > 0)
  40. {
  41. dic = new MerchantAmountSummayService().Sum("TradeAmount", " and IsAct=1 and TradeMonth='" + TradeMonth + "'");
  42. TradeAmount = decimal.Parse(dic["TradeAmount"].ToString());
  43. }
  44. if (IsJoin == 0)
  45. {
  46. //未参与
  47. Status = 3;
  48. }
  49. else
  50. {
  51. //考核中
  52. if (DateTime.Now.ToString("yyyy-MM") == TradeMonth) Status = 1;
  53. //待考核
  54. if (int.Parse(DateTime.Now.ToString("yyyyMM")) < int.Parse(month.ToString("yyyyMM"))) Status = 0;
  55. //已通过
  56. if (TradeAmount >= 10000 && IsJoin != 3 && check.Count > 0) Status = 2;
  57. //未通过
  58. if (TradeAmount < 10000 && IsJoin != 3 && check.Count > 0) Status = -1;
  59. Dictionary<string, object> curData = new Dictionary<string, object>();
  60. curData.Add("TradeMonth", TradeMonth); //月份
  61. curData.Add("TradeAmount", TradeAmount); //订单金额
  62. curData.Add("Status", Status); //状态(-1 未通过 0 待考核 1 考核中 2 已通过 3 未参与)
  63. dataList.Add(curData);
  64. }
  65. }
  66. }
  67. return dataList;
  68. }
  69. #endregion
  70. }
  71. }