颐和api

DistributionPlanService.cs 4.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. using Api.SignToken;
  2. using Microsoft.Extensions.Logging;
  3. using Pivotal.Discovery.Client;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Net.Http;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace Api.SignToken
  10. {
  11. /// <summary>
  12. /// 配送物品计划
  13. /// </summary>
  14. public class DistributionPlanService : IDistributionPlanService
  15. {
  16. DiscoveryHttpClientHandler _handler;
  17. ILogger<IDistributionPlanService> _logger;
  18. /// <summary>
  19. /// URL
  20. /// </summary>
  21. private const string URL = "http://distributionapi/api/";
  22. public DistributionPlanService(IDiscoveryClient client, ILoggerFactory logFactory)
  23. {
  24. _handler = new DiscoveryHttpClientHandler(client, logFactory.CreateLogger<DiscoveryHttpClientHandler>());
  25. _logger = logFactory.CreateLogger<DistributionPlanService>();
  26. }
  27. private HttpClient GetClient()
  28. {
  29. var client = new HttpClient(_handler, false);
  30. return client;
  31. }
  32. /// <summary>
  33. /// 添加计划任务 - 来源 HangfireDistributionPlanController
  34. /// </summary>
  35. /// <param name="planid"></param>
  36. /// <returns></returns>
  37. public async Task<string> AddDistriWorkOrderPlanAsync(string planid)
  38. {
  39. var client = GetClient();
  40. HttpContent postContent = new FormUrlEncodedContent(new Dictionary<string, string>()
  41. {
  42. {"planid", planid}
  43. });
  44. var response = await client.PostAsync(URL + "distriworkorderplan/addhangfire", postContent);
  45. return await response.Content.ReadAsStringAsync();
  46. }
  47. /// <summary>
  48. /// 自动定时计划 - 自动分配
  49. /// </summary>
  50. /// <param name="wotype"></param>
  51. /// <returns></returns>
  52. public async Task<string> SaveAutoAssignAsync(int wotype)
  53. {
  54. var client = GetClient();
  55. HttpContent postContent = new FormUrlEncodedContent(new Dictionary<string, string>()
  56. {
  57. {"wotype", wotype.ToString()},
  58. });
  59. var response = await client.PostAsync(URL + "distriworkorderplan/saveautoassignhangfire", postContent);
  60. return await response.Content.ReadAsStringAsync();
  61. }
  62. /// <summary>
  63. /// 超时系统评价工单
  64. /// DistributionApi -> DistriWorkOrderController
  65. /// </summary>
  66. /// <param name="score"></param>
  67. /// <param name="createusername"></param>
  68. /// <param name="channel"></param>
  69. /// <returns></returns>
  70. public async Task<string> TimeOutEvaluateAsync(int score = 5, string createusername = "系统", int channel = 5)
  71. {
  72. var client = GetClient();
  73. HttpContent postContent = new FormUrlEncodedContent(new Dictionary<string, string>()
  74. {
  75. {"score", score.ToString()},
  76. {"createusername", createusername},
  77. {"channel", channel.ToString()}
  78. });
  79. var response = await client.PostAsync(URL + "distriworkorder/distritimeoutevaluate", postContent);
  80. return await response.Content.ReadAsStringAsync();
  81. }
  82. /// <summary>
  83. /// 获取计划定时事件详情
  84. /// DistributionApi -> DistriWorkOrderPlanController
  85. /// </summary>
  86. /// <param name="score"></param>
  87. /// <param name="createusername"></param>
  88. /// <param name="channel"></param>
  89. /// <returns></returns>
  90. public async Task<string> GetHangfirePlanInfo(string id)
  91. {
  92. var client = GetClient();
  93. HttpContent postContent = new FormUrlEncodedContent(new Dictionary<string, string>()
  94. {
  95. {"id", id}
  96. });
  97. var response = await client.PostAsync(URL + "hangfireplantimeing/gethangfireplaninfo", postContent);
  98. return await response.Content.ReadAsStringAsync();
  99. }
  100. }
  101. }