ReportFormService.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. using Microsoft.AspNetCore.Mvc;
  2. using NPOI.SS.Formula.PTG;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using ZhonTai.Admin.Core.Attributes;
  9. using ZhonTai.Admin.Core.Consts;
  10. using ZhonTai.Admin.Core.Dto;
  11. using ZhonTai.Admin.Services.DiTuiAPI.Dto;
  12. using ZhonTai.DynamicApi;
  13. using ZhonTai.DynamicApi.Attributes;
  14. #region <<版本注释>>
  15. /* ---------------------------
  16. * 版权所有 (c) 2023 Frank 保留所有权利。
  17. * CLR版本:4.0.30319.42000
  18. * 机器名称:FRANK-WIN
  19. * 命名空间:ZhonTai.Admin.Services.DiTuiAPI
  20. * 唯一标识:89d883e6-5d83-4a7d-beb9-c96342ee6822
  21. *
  22. * 创建者:Frank
  23. * 电子邮箱: cfrank227@gmail.com
  24. * 创建时间:2023/5/19 10:19:34
  25. --------------------------*/
  26. #endregion <<版本注释>>
  27. namespace ZhonTai.Admin.Services.DiTuiAPI
  28. {
  29. /// <summary>
  30. /// 报表
  31. /// </summary>
  32. [DynamicApi(Area = AdminConsts.DiTuiName)]
  33. public class ReportFormService : BaseService, IReportFormService, IDynamicApi
  34. {
  35. /// <summary>
  36. /// 个人余额统计
  37. /// </summary>
  38. /// <param name="id"></param>
  39. /// <returns></returns>
  40. [HttpPost]
  41. [NoOprationLog]
  42. public async Task<PersonProfitSumOutput> PersonProfitSumAsync()
  43. {
  44. PersonProfitSumOutput personProfitSumOutput = new PersonProfitSumOutput();
  45. personProfitSumOutput.month_profit = 123.4.ToString();
  46. personProfitSumOutput.total_profit = 456.7.ToString();
  47. return personProfitSumOutput;
  48. }
  49. //,string startDate, string endDate
  50. /// <summary>
  51. /// 结算报表
  52. /// </summary>
  53. /// <param name="input"></param>
  54. /// <returns></returns>
  55. [HttpPost]
  56. [NoOprationLog]
  57. public async Task<List<PersonReportFormOutput>> PersonReportFormAsync(PersonReportFormInput input)
  58. {
  59. List<PersonReportFormOutput> personReportFormOutputs = new List<PersonReportFormOutput>();
  60. personReportFormOutputs.Add(new PersonReportFormOutput(1234, "汇总", "https://test-dt.zhongjie51.com/assetsImg/jd_logo.png", "1280.0", "1280", "1500"));
  61. personReportFormOutputs.Add(new PersonReportFormOutput(1234, "京东", "https://test-dt.zhongjie51.com/assetsImg/jd_logo.png", "128.0","128","150"));
  62. personReportFormOutputs.Add(new PersonReportFormOutput(1235, "京东", "https://test-dt.zhongjie51.com/assetsImg/jd_logo.png", "128.0","128","150"));
  63. personReportFormOutputs.Add(new PersonReportFormOutput(1236, "京东", "https://test-dt.zhongjie51.com/assetsImg/jd_logo.png", "128.0","128","150"));
  64. personReportFormOutputs.Add(new PersonReportFormOutput(1237, "京东", "https://test-dt.zhongjie51.com/assetsImg/jd_logo.png", "128.0","128","150"));
  65. personReportFormOutputs.Add(new PersonReportFormOutput(1238, "京东", "https://test-dt.zhongjie51.com/assetsImg/jd_logo.png", "128.0","128","150"));
  66. personReportFormOutputs.Add(new PersonReportFormOutput(1239, "京东", "https://test-dt.zhongjie51.com/assetsImg/jd_logo.png", "128.0","128","150"));
  67. personReportFormOutputs.Add(new PersonReportFormOutput(1120, "京东", "https://test-dt.zhongjie51.com/assetsImg/jd_logo.png", "128.0","128","150"));
  68. personReportFormOutputs.Add(new PersonReportFormOutput(1121, "京东", "https://test-dt.zhongjie51.com/assetsImg/jd_logo.png", "128.0","128","150"));
  69. personReportFormOutputs.Add(new PersonReportFormOutput(2213, "京东", "https://test-dt.zhongjie51.com/assetsImg/jd_logo.png", "128.0","128","150"));
  70. personReportFormOutputs.Add(new PersonReportFormOutput(1123, "京东", "https://test-dt.zhongjie51.com/assetsImg/jd_logo.png", "128.0","128","150"));
  71. var data = new PageOutput<PersonReportFormOutput>()
  72. {
  73. List = personReportFormOutputs,
  74. Total = personReportFormOutputs.Count()
  75. };
  76. return personReportFormOutputs;
  77. }
  78. /// <summary>
  79. /// 每日统计
  80. /// </summary>
  81. /// <param name="input"></param>
  82. /// <returns></returns>
  83. [HttpPost]
  84. [NoOprationLog]
  85. public async Task<PageOutput<DailyCountOutput>> DailyCountAsync(PageInput<DailyCountInput> input)
  86. {
  87. List<DailyCountOutput> list = new List<DailyCountOutput>();
  88. list.Add(new DailyCountOutput("2023-5-18","123.4","123"));
  89. list.Add(new DailyCountOutput("2023-5-17","12.3","12"));
  90. list.Add(new DailyCountOutput("2023-5-16","1","1"));
  91. list.Add(new DailyCountOutput("2023-5-15","1234.5","1234"));
  92. list.Add(new DailyCountOutput("2023-5-14","123.4","123"));
  93. list.Add(new DailyCountOutput("2023-5-13","123.4","123"));
  94. list.Add(new DailyCountOutput("2023-5-12","123.4","123"));
  95. list.Add(new DailyCountOutput("2023-5-11","123.4","123"));
  96. list.Add(new DailyCountOutput("2023-5-10","123.4","123"));
  97. var data = new PageOutput<DailyCountOutput>()
  98. {
  99. List = list,
  100. Total = list.Count()
  101. };
  102. return data;
  103. }
  104. /// <summary>
  105. /// 项目结算详情
  106. /// </summary>
  107. /// <param name="input"></param>
  108. /// <returns></returns>
  109. [HttpGet]
  110. [NoOprationLog]
  111. public async Task<QrcodeSettleOutput> QrcodeSettleAsync(QrcodeSettleInput input)
  112. {
  113. QrcodeSettleOutput qrcodeSettleOutput = new QrcodeSettleOutput();
  114. List<ProjectPriceStandard> priceList = new List<ProjectPriceStandard>();
  115. priceList.Add(new ProjectPriceStandard(123,"新用户","75","28","208"));
  116. priceList.Add(new ProjectPriceStandard(122,"回流用户","30","22","200"));
  117. qrcodeSettleOutput.Total = "80";
  118. qrcodeSettleOutput.Valid = "38";
  119. qrcodeSettleOutput.Profit = "580";
  120. qrcodeSettleOutput.StandardPrice = priceList;
  121. return qrcodeSettleOutput;
  122. }
  123. /// <summary>
  124. /// 项目结算-推广码列表
  125. /// </summary>
  126. /// <param name="input"></param>
  127. /// <returns></returns>
  128. [HttpGet]
  129. [NoOprationLog]
  130. public async Task<PageOutput<QrcodeSettleListOutput>> QrcodeSettleListAsync(PageInput<QrcodeSettleListInput> input)
  131. {
  132. List<QrcodeSettleListOutput> list = new List<QrcodeSettleListOutput>();
  133. QrcodeSettleListOutput QrcodeSettleListOutput = new QrcodeSettleListOutput();
  134. List<ProjectPriceStandard> priceList = new List<ProjectPriceStandard>();
  135. priceList.Add(new ProjectPriceStandard(123, "新用户", "75", "28", "208"));
  136. priceList.Add(new ProjectPriceStandard(122, "回流用户", "30", "22", "200"));
  137. priceList.Add(new ProjectPriceStandard(121, "统计", "105", "50", "408"));
  138. QrcodeSettleListOutput.Salesman = "DS-地瓜";
  139. QrcodeSettleListOutput.ApplyTime = "2023-05-03";
  140. QrcodeSettleListOutput.Id = 123;
  141. QrcodeSettleListOutput.StandardPrice = priceList;
  142. list.Add(QrcodeSettleListOutput);
  143. QrcodeSettleListOutput QrcodeSettleListOutput1 = new QrcodeSettleListOutput();
  144. List<ProjectPriceStandard> priceList1 = new List<ProjectPriceStandard>();
  145. priceList1.Add(new ProjectPriceStandard(123, "新用户", "75", "28", "208"));
  146. priceList1.Add(new ProjectPriceStandard(122, "回流用户", "30", "22", "200"));
  147. priceList1.Add(new ProjectPriceStandard(1, "统计", "105", "50", "501"));
  148. QrcodeSettleListOutput1.Salesman = "DS-土豆";
  149. QrcodeSettleListOutput1.ApplyTime = "2023-05-03";
  150. QrcodeSettleListOutput1.Id = 124;
  151. QrcodeSettleListOutput1.StandardPrice = priceList1;
  152. list.Add(QrcodeSettleListOutput1);
  153. QrcodeSettleListOutput QrcodeSettleListOutput2 = new QrcodeSettleListOutput();
  154. List<ProjectPriceStandard> priceList2 = new List<ProjectPriceStandard>();
  155. priceList2.Add(new ProjectPriceStandard(123, "新用户", "75", "28", "208"));
  156. priceList2.Add(new ProjectPriceStandard(122, "回流用户", "30", "22", "200"));
  157. priceList2.Add(new ProjectPriceStandard(122, "统计", "105", "50", "502"));
  158. QrcodeSettleListOutput2.Salesman = "DS-山药";
  159. QrcodeSettleListOutput2.ApplyTime = "2023-05-03";
  160. QrcodeSettleListOutput2.Id = 125;
  161. QrcodeSettleListOutput2.StandardPrice = priceList2;
  162. list.Add(QrcodeSettleListOutput2);
  163. var data = new PageOutput<QrcodeSettleListOutput>()
  164. {
  165. List = list,
  166. Total = list.Count()
  167. };
  168. return data;
  169. }
  170. // TODO 项目结算详情页的 推广码列表
  171. /// <summary>
  172. /// 项目推广码
  173. /// </summary>
  174. /// <param name="input"></param>
  175. /// <returns></returns>
  176. //[HttpGet]
  177. //public async Task<PageOutput<ProjectQrcodePageOutput>> ProjectQrcodePageAsync(PageInput<ProjectQrcodePageInput> input)
  178. //{
  179. // var keyWrods = input.Filter?.Keywords;
  180. // string Salesman = null;
  181. // string SalesmanPhone = null;
  182. // //var Salesman = input.Filter?.Salesman;
  183. // //var Salesman = input.Filter?.Salesman;
  184. // //var SalesmanPhone = input.Filter?.SalesmanPhone;
  185. // //var SalesmanPhone = input.Filter?.SalesmanPhone;
  186. // //var SalesmanPhone = input.Filter?.SalesmanPhone;
  187. // var ProjectId = input.Filter?.ProjectId;
  188. // var list = _ProjectLinkRepository.Select.DisableGlobalFilter(FilterNames.Tenant)
  189. // .WhereIf(ProjectId.HasValue && ProjectId.Value > 0, a => a.ProjectId == ProjectId)
  190. // .WhereIf(Salesman.NotNull(), a => a.Salesman.Contains(Salesman))
  191. // .WhereIf(SalesmanPhone.NotNull(), a => a.SalesmanPhone.Contains(SalesmanPhone))
  192. // .Count(out var total)
  193. // .Page(input.CurrentPage, input.PageSize)
  194. // .ToList(m => new ProjectQrcodePageOutput()
  195. // {
  196. // Id = m.Id,
  197. // Salesman = m.Salesman,
  198. // UseTime = m.UseTime,
  199. // QrcodeUrl = m.QrcodeUrl,
  200. // QueryUrl = m.QueryUrl
  201. // });
  202. // var data = new PageOutput<ProjectQrcodePageOutput>()
  203. // {
  204. // List = list,
  205. // Total = total
  206. // };
  207. // return data;
  208. //}
  209. }
  210. }