MarketingSalesDto.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. using FluentValidation;
  2. using OASystem.Domain.Dtos.System;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using System.Globalization;
  9. namespace OASystem.Domain.Dtos.Statistics
  10. {
  11. public class MarketingSalesUserPageFuncDtoBase
  12. {
  13. /// <summary>
  14. /// 请求端口分类
  15. /// 1 Web 2 Android 3 IOS
  16. /// </summary>
  17. public int PortType { get; set; } = 1;
  18. /// <summary>
  19. /// 用户Id
  20. /// </summary>
  21. public int UserId { get; set; }
  22. /// <summary>
  23. /// 页面Id
  24. /// </summary>
  25. public int PageId { get; set; } = 180;
  26. }
  27. public class MarketingSalesUserPageFuncDtoBaseFoalidator : AbstractValidator<MarketingSalesUserPageFuncDtoBase>
  28. {
  29. public MarketingSalesUserPageFuncDtoBaseFoalidator()
  30. {
  31. RuleFor(it => it.PortType).InclusiveBetween(1,3).WithMessage(MsgTips.Port);
  32. RuleFor(it => it.UserId).GreaterThan(1).WithMessage(MsgTips.UserId);
  33. RuleFor(it => it.PageId).GreaterThan(1).WithMessage(MsgTips.PageId);
  34. }
  35. }
  36. /// <summary>
  37. /// 市场部销售额 Dto
  38. /// </summary>
  39. public class MarketingSalesDto { }
  40. /// <summary>
  41. /// 市场部销售额
  42. /// 市场部人员列表
  43. /// Dto
  44. /// </summary>
  45. public class MarketingSalesInitDataDto : MarketingSalesUserPageFuncDtoBase { }
  46. public class MarketingSalesInitDataDtoFoalidator : AbstractValidator<MarketingSalesInitDataDto>
  47. {
  48. public MarketingSalesInitDataDtoFoalidator()
  49. {
  50. Include(new MarketingSalesUserPageFuncDtoBaseFoalidator());
  51. }
  52. }
  53. /// <summary>
  54. /// 市场部销售额
  55. /// 年度/季度/月度 报表
  56. /// </summary>
  57. public class MarketingSalesStatisticsDto : MarketingSalesUserPageFuncDtoBase
  58. {
  59. /// <summary>
  60. /// 公司Id
  61. /// </summary>
  62. public int CompanyId { get; set; }
  63. /// <summary>
  64. /// 接团人Id
  65. /// </summary>
  66. public int GroupPickupUserId { get; set; }
  67. public string BeginDt { get; set; }
  68. public string EndDt { get; set; }
  69. }
  70. public class MarketingSalesStatisticsDtoFoalidator : AbstractValidator<MarketingSalesStatisticsDto>
  71. {
  72. public MarketingSalesStatisticsDtoFoalidator()
  73. {
  74. Include(new MarketingSalesUserPageFuncDtoBaseFoalidator());
  75. RuleFor(it => it.BeginDt)
  76. .Must(dateString => DateTime.TryParse(dateString, out _))
  77. .WithMessage("请输入有效开始的日期");
  78. RuleFor(it => it.EndDt)
  79. .Must(dateString => DateTime.TryParse(dateString, out _))
  80. .WithMessage("请输入有效结束的日期");
  81. }
  82. }
  83. /// <summary>
  84. /// 市场部销售额
  85. /// 团组列表
  86. /// </summary>
  87. public class MarketingSalesGroupListDto : MarketingSalesStatisticsDto {
  88. public int PageIndex { get; set; } = 1;
  89. public int PageSize { get; set; } = 10;
  90. }
  91. /// <summary>
  92. /// 市场部销售额
  93. /// 客户类型、客户等级 统计
  94. /// </summary>
  95. public class MarketingSalesGroupStatisticsDto : MarketingSalesStatisticsDto
  96. {
  97. /// <summary>
  98. /// 图形统计类型
  99. /// 1 客户类型 2 客户等级
  100. /// </summary>
  101. public int StatisticsType { get; set; } = 1;
  102. }
  103. /// <summary>
  104. /// 市场部销售额
  105. /// 接单排名
  106. /// </summary>
  107. public class MarketingSalesOrderRankingDto : MarketingSalesStatisticsDto
  108. {
  109. public int PageIndex { get; set; } = 1;
  110. public int PageSize { get; set; } = 5;
  111. }
  112. }