using Api.SignToken; using Microsoft.Extensions.Logging; using Pivotal.Discovery.Client; using System; using System.Collections.Generic; using System.Net.Http; using System.Text; using System.Threading.Tasks; namespace Api.SignToken { /// /// 配送物品计划 /// public class DistributionPlanService : IDistributionPlanService { DiscoveryHttpClientHandler _handler; ILogger _logger; /// /// URL /// private const string URL = "http://distributionapi/api/"; public DistributionPlanService(IDiscoveryClient client, ILoggerFactory logFactory) { _handler = new DiscoveryHttpClientHandler(client, logFactory.CreateLogger()); _logger = logFactory.CreateLogger(); } private HttpClient GetClient() { var client = new HttpClient(_handler, false); return client; } /// /// 添加计划任务 - 来源 HangfireDistributionPlanController /// /// /// public async Task AddDistriWorkOrderPlanAsync(string planid) { var client = GetClient(); HttpContent postContent = new FormUrlEncodedContent(new Dictionary() { {"planid", planid} }); var response = await client.PostAsync(URL + "distriworkorderplan/addhangfire", postContent); return await response.Content.ReadAsStringAsync(); } /// /// 自动定时计划 - 自动分配 /// /// /// public async Task SaveAutoAssignAsync(int wotype) { var client = GetClient(); HttpContent postContent = new FormUrlEncodedContent(new Dictionary() { {"wotype", wotype.ToString()}, }); var response = await client.PostAsync(URL + "distriworkorderplan/saveautoassignhangfire", postContent); return await response.Content.ReadAsStringAsync(); } /// /// 超时系统评价工单 /// DistributionApi -> DistriWorkOrderController /// /// /// /// /// public async Task TimeOutEvaluateAsync(int score = 5, string createusername = "系统", int channel = 5) { var client = GetClient(); HttpContent postContent = new FormUrlEncodedContent(new Dictionary() { {"score", score.ToString()}, {"createusername", createusername}, {"channel", channel.ToString()} }); var response = await client.PostAsync(URL + "distriworkorder/distritimeoutevaluate", postContent); return await response.Content.ReadAsStringAsync(); } /// /// 获取计划定时事件详情 /// DistributionApi -> DistriWorkOrderPlanController /// /// /// /// /// public async Task GetHangfirePlanInfo(string id) { var client = GetClient(); HttpContent postContent = new FormUrlEncodedContent(new Dictionary() { {"id", id} }); var response = await client.PostAsync(URL + "hangfireplantimeing/gethangfireplaninfo", postContent); return await response.Content.ReadAsStringAsync(); } } }