| | |
| | | using Microsoft.Extensions.DependencyInjection; |
| | | using Microsoft.Extensions.Hosting; |
| | | using Microsoft.Extensions.Logging; |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json.Linq; |
| | | using System; |
| | | using System.Collections.Generic; |
| | |
| | | private readonly IConfiguration _configuration; |
| | | private readonly ILiaotianService _liaotianService; |
| | | private readonly IHttpClientFactory _clientFactory; |
| | | private readonly IDtChannelArticleNewsService _dtChannelArticleNewsService; |
| | | private readonly ICooperatecustomCustomerService _cooperatecustomCustomerService; |
| | | |
| | | |
| | | public TimerGetShopUsersService(ILogger<TimerGetShopUsersService> logger, IServiceScopeFactory factory) |
| | | { |
| | |
| | | _configuration = factory.CreateScope().ServiceProvider.GetRequiredService<IConfiguration>(); |
| | | _liaotianService = factory.CreateScope().ServiceProvider.GetRequiredService<ILiaotianService>(); |
| | | _clientFactory = factory.CreateScope().ServiceProvider.GetRequiredService<IHttpClientFactory>(); |
| | | _dtChannelArticleNewsService = factory.CreateScope().ServiceProvider.GetRequiredService<IDtChannelArticleNewsService>(); |
| | | _cooperatecustomCustomerService = factory.CreateScope().ServiceProvider.GetRequiredService<ICooperatecustomCustomerService>(); |
| | | |
| | | |
| | | } |
| | | |
| | | protected override async Task ExecuteAsync(CancellationToken stoppingToken) |
| | |
| | | _logger.LogInformation("TimerGetShopUsersService 开始执行"); |
| | | _logger.LogInformation(datenow.ToString("yyyy-MM-dd HH:mm:ss")); |
| | | //每个小时计算一次 |
| | | if (datenow.Hour <= DateTime.Now.Hour) |
| | | if (datenow.Hour == DateTime.Now.Hour) |
| | | //if (true) |
| | | { |
| | | |
| | |
| | | { |
| | | base.Dispose(); |
| | | } |
| | | public void ceshi() |
| | | { |
| | | DtChannelArticleNewsDTOSearch searchEntity = new DtChannelArticleNewsDTOSearch(); |
| | | searchEntity.EndTime = DateTime.Parse("2021-07-15 12:06:30.893"); |
| | | searchEntity.AddTime = DateTime.Parse("2021-07-01 12:06:30.893"); |
| | | searchEntity.UserName = "yangjiameng"; |
| | | searchEntity.CategoryId = 85; |
| | | var dtChannelArticleNewsDTOs = _dtChannelArticleNewsService.GetList(searchEntity); |
| | | |
| | | _logger.LogInformation("dtChannelArticleNewsDTOs:"+ dtChannelArticleNewsDTOs.Count); |
| | | } |
| | | |
| | | |
| | | public async Task huoquhuiyuanAsync() |
| | | { |
| | |
| | | resultEntity.Result = false; |
| | | |
| | | |
| | | //书城 |
| | | string result = string.Empty; |
| | | Uri getUrl = new Uri(Shuchengurl+ GetShopUsers+ "?start=2021-07-1&end=2021-07-12"); |
| | | |
| | | var httpClient = _clientFactory.CreateClient(); |
| | | httpClient.Timeout = new TimeSpan(0, 0, 60); |
| | | var Result = await httpClient.GetAsync(getUrl); |
| | | result = Result.Content.ReadAsStringAsync().Result; |
| | | |
| | | |
| | | _logger.LogInformation("result:" + result); |
| | | |
| | | //会员 |
| | | |
| | | string result1 = string.Empty; |
| | | Uri postUrl = new Uri(huiyuanurl + GetDateFirstOrderUser); |
| | | |
| | | JObject questions = new JObject(); |
| | | questions.Add("start", "2021-07-12 12:36:30"); |
| | | questions.Add("end", "2021-07-14 12:36:30"); |
| | | |
| | | string requestJson = questions.ToString(); |
| | | |
| | | using (HttpContent httpContent = new StringContent(requestJson)) |
| | | { |
| | | httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); |
| | | |
| | | var httpClient1 = _clientFactory.CreateClient(); |
| | | httpClient1.Timeout = new TimeSpan(0, 0, 60); |
| | | var Result1 = await httpClient1.PostAsync(postUrl, httpContent); |
| | | result1 = Result1.Content.ReadAsStringAsync().Result; |
| | | } |
| | | |
| | | _logger.LogInformation("result1:" + result1); |
| | | |
| | | |
| | | |
| | | |
| | | string result2 = string.Empty; |
| | | Uri postUrl2 = new Uri(huiyuanurl + GetUserinfoAndRule); |
| | | |
| | | JObject questions2 = new JObject(); |
| | | questions2.Add("UserID", "248768ac-d083-462a-5bb4-08d940e7bc81"); |
| | | |
| | | string requestJson2 = questions2.ToString(); |
| | | |
| | | using (HttpContent httpContent = new StringContent(requestJson2)) |
| | | { |
| | | httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); |
| | | |
| | | var httpClient2 = _clientFactory.CreateClient(); |
| | | httpClient2.Timeout = new TimeSpan(0, 0, 60); |
| | | var Result2 = await httpClient2.PostAsync(postUrl2, httpContent); |
| | | result2 = Result2.Content.ReadAsStringAsync().Result; |
| | | } |
| | | |
| | | _logger.LogInformation("result2:" + result2); |
| | | |
| | | |
| | | |
| | | |
| | | using (TransactionScope scope = new TransactionScope()) |
| | | { |
| | | //using (TransactionScope scope = new TransactionScope()) |
| | | //{ |
| | | //获取最后更新时间 |
| | | DateTime start = DateTime.Now.AddYears(-10); |
| | | DateTime end = DateTime.Now; |
| | |
| | | _logger.LogInformation("end:" + end); |
| | | |
| | | |
| | | //获取客户并且保存到合作客户 |
| | | //获取客户并且保存到合作客户 |
| | | |
| | | #region 书城 |
| | | string result = string.Empty; |
| | | Uri getUrl = new Uri(Shuchengurl + GetShopUsers + "?start="+ start.ToString("yyyy-MM-dd HH:mm:ss") + "&end="+ end.ToString("yyyy-MM-dd HH:mm:ss")); |
| | | |
| | | var httpClient = _clientFactory.CreateClient(); |
| | | httpClient.Timeout = new TimeSpan(0, 0, 60); |
| | | var Result = await httpClient.GetAsync(getUrl); |
| | | result = Result.Content.ReadAsStringAsync().Result; |
| | | |
| | | |
| | | _logger.LogInformation("result:" + result); |
| | | JObject jobjectresult = (JObject)JsonConvert.DeserializeObject(result); |
| | | |
| | | if (jobjectresult["code"] != null && jobjectresult["code"].ToString() == "1") |
| | | { |
| | | if(jobjectresult["returnObj"] != null && jobjectresult["returnObj"].ToString() != "") |
| | | { |
| | | |
| | | |
| | | JArray hits = (JArray)jobjectresult["returnObj"]; |
| | | foreach (var hit in hits) |
| | | { |
| | | string id = hit["id"].ToString().ToLower(); |
| | | CooperatecustomCustomerDTO cooperatecustomCustomerDTO = _cooperatecustomCustomerService.GetList(id).FirstOrDefault(); |
| | | //如果不存在关联客户 |
| | | if (cooperatecustomCustomerDTO == null) |
| | | { |
| | | |
| | | string result2 = string.Empty; |
| | | Uri postUrl2 = new Uri(huiyuanurl + GetUserinfoAndRule); |
| | | |
| | | JObject questions2 = new JObject(); |
| | | questions2.Add("UserID", id); |
| | | |
| | | string requestJson2 = questions2.ToString(); |
| | | |
| | | using (HttpContent httpContent = new StringContent(requestJson2)) |
| | | { |
| | | httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); |
| | | |
| | | var httpClient2 = _clientFactory.CreateClient(); |
| | | httpClient2.Timeout = new TimeSpan(0, 0, 60); |
| | | var Result2 = await httpClient2.PostAsync(postUrl2, httpContent); |
| | | result2 = Result2.Content.ReadAsStringAsync().Result; |
| | | } |
| | | |
| | | _logger.LogInformation("result2:" + result2); |
| | | |
| | | JObject jobjectresult2 = (JObject)JsonConvert.DeserializeObject(result2); |
| | | if (jobjectresult2["code"] == null && jobjectresult2["code"].ToString() != "1") |
| | | { |
| | | throw new Exception(jobjectresult2["msg"].ToString()); |
| | | } |
| | | |
| | | JObject jobjectkehu = (JObject)jobjectresult2["data"]; |
| | | if (jobjectkehu["Name"] == null || jobjectkehu["Name"].ToString() == "") |
| | | { |
| | | throw new Exception("未找到对应的会员!"); |
| | | } |
| | | |
| | | |
| | | cooperatecustomCustomerDTO = _cooperatecustomCustomerService.GetList("", jobjectkehu["Name"].ToString()).FirstOrDefault(); |
| | | //如果不存在当前名字的客户 |
| | | if (cooperatecustomCustomerDTO == null) |
| | | { |
| | | cooperatecustomCustomerDTO = new CooperatecustomCustomerDTO(); |
| | | cooperatecustomCustomerDTO.Name = jobjectkehu["Name"].ToString(); |
| | | cooperatecustomCustomerDTO.Tel = jobjectkehu["phonecode"].ToString(); |
| | | cooperatecustomCustomerDTO.Phone = jobjectkehu["phonecode"].ToString(); |
| | | |
| | | cooperatecustomCustomerDTO.HuiyuanId = id; |
| | | //cooperatecustomCustomerDTO.Remark = hit["personal"].ToString() + "下单时间" + hit["Firsttime"].ToString(); |
| | | cooperatecustomCustomerDTO.Khly = "01"; |
| | | cooperatecustomCustomerDTO.Creater = "1"; |
| | | cooperatecustomCustomerDTO.Createtime = DateTime.Now; |
| | | cooperatecustomCustomerDTO.Modifier = cooperatecustomCustomerDTO.Creater; |
| | | cooperatecustomCustomerDTO.Modifytime = cooperatecustomCustomerDTO.Createtime; |
| | | |
| | | cooperatecustomCustomerDTO.ShrName = hit["accept_name"].ToString(); |
| | | cooperatecustomCustomerDTO.ShrTel = hit["mobile"].ToString(); |
| | | cooperatecustomCustomerDTO.ShrAddress = hit["area"].ToString() + hit["address"].ToString(); |
| | | |
| | | resultEntity = _cooperatecustomCustomerService.save(cooperatecustomCustomerDTO); |
| | | if (!resultEntity.Result) |
| | | { |
| | | throw new Exception("保存合作客户:" + cooperatecustomCustomerDTO.Name + "出错!"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | cooperatecustomCustomerDTO.HuiyuanId = id; |
| | | cooperatecustomCustomerDTO.ShrName = hit["accept_name"].ToString(); |
| | | cooperatecustomCustomerDTO.ShrTel = hit["mobile"].ToString(); |
| | | cooperatecustomCustomerDTO.ShrAddress = hit["area"].ToString() + hit["address"].ToString(); |
| | | resultEntity = _cooperatecustomCustomerService.save(cooperatecustomCustomerDTO); |
| | | if (!resultEntity.Result) |
| | | { |
| | | throw new Exception("保存合作客户:" + cooperatecustomCustomerDTO.Name + "出错!"); |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | cooperatecustomCustomerDTO.HuiyuanId = id; |
| | | cooperatecustomCustomerDTO.ShrName = hit["accept_name"].ToString(); |
| | | cooperatecustomCustomerDTO.ShrTel = hit["mobile"].ToString(); |
| | | cooperatecustomCustomerDTO.ShrAddress = hit["area"].ToString() + hit["address"].ToString(); |
| | | resultEntity = _cooperatecustomCustomerService.save(cooperatecustomCustomerDTO); |
| | | if (!resultEntity.Result) |
| | | { |
| | | throw new Exception("保存合作客户:" + cooperatecustomCustomerDTO.Name + "出错!"); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | else |
| | | { |
| | | throw new Exception(jobjectresult["error"].ToString()); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | //保存最后更新时间 |
| | | if (ssss != null) |
| | | #endregion |
| | | |
| | | |
| | | #region 会员 |
| | | string result1 = string.Empty; |
| | | Uri postUrl = new Uri(huiyuanurl + GetDateFirstOrderUser); |
| | | |
| | | JObject questions = new JObject(); |
| | | questions.Add("start", start.ToString("yyyy-MM-dd HH:mm:ss")); |
| | | questions.Add("end", end.ToString("yyyy-MM-dd HH:mm:ss")); |
| | | |
| | | string requestJson = questions.ToString(); |
| | | |
| | | using (HttpContent httpContent = new StringContent(requestJson)) |
| | | { |
| | | httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); |
| | | |
| | | var httpClient1 = _clientFactory.CreateClient(); |
| | | httpClient1.Timeout = new TimeSpan(0, 0, 60); |
| | | var Result1 = await httpClient1.PostAsync(postUrl, httpContent); |
| | | result1 = Result1.Content.ReadAsStringAsync().Result; |
| | | } |
| | | |
| | | _logger.LogInformation("result1:" + result1); |
| | | JObject jobject = (JObject)JsonConvert.DeserializeObject(result1); |
| | | |
| | | if (jobject["code"] != null && jobject["code"].ToString() == "1") |
| | | { |
| | | if (jobject["data"] != null && jobject["data"].ToString() != "") |
| | | { |
| | | JArray hits = (JArray)jobject["data"]; |
| | | foreach (var hit in hits) |
| | | { |
| | | CooperatecustomCustomerDTO cooperatecustomCustomerDTO = _cooperatecustomCustomerService.GetList(hit["ID"].ToString()).FirstOrDefault(); |
| | | //如果不存在关联客户 |
| | | if (cooperatecustomCustomerDTO == null) |
| | | { |
| | | cooperatecustomCustomerDTO = _cooperatecustomCustomerService.GetList("", hit["Name"].ToString()).FirstOrDefault(); |
| | | //如果不存在当前名字的客户 |
| | | if (cooperatecustomCustomerDTO == null) |
| | | { |
| | | cooperatecustomCustomerDTO = new CooperatecustomCustomerDTO(); |
| | | cooperatecustomCustomerDTO.Name = hit["Name"].ToString(); |
| | | cooperatecustomCustomerDTO.Tel = hit["PhoneCode"].ToString(); |
| | | cooperatecustomCustomerDTO.Phone = hit["PhoneCode"].ToString(); |
| | | |
| | | cooperatecustomCustomerDTO.HuiyuanId = hit["ID"].ToString(); |
| | | cooperatecustomCustomerDTO.Remark = hit["personal"].ToString() + "下单时间" + hit["Firsttime"].ToString(); |
| | | cooperatecustomCustomerDTO.Khly = "01"; |
| | | cooperatecustomCustomerDTO.Creater = "1"; |
| | | cooperatecustomCustomerDTO.Createtime = DateTime.Now; |
| | | cooperatecustomCustomerDTO.Modifier = cooperatecustomCustomerDTO.Creater; |
| | | cooperatecustomCustomerDTO.Modifytime = cooperatecustomCustomerDTO.Createtime; |
| | | |
| | | resultEntity = _cooperatecustomCustomerService.save(cooperatecustomCustomerDTO); |
| | | if (!resultEntity.Result) |
| | | { |
| | | throw new Exception("保存合作客户:" + cooperatecustomCustomerDTO.Name + "出错!"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | cooperatecustomCustomerDTO.HuiyuanId = hit["ID"].ToString(); |
| | | resultEntity = _cooperatecustomCustomerService.save(cooperatecustomCustomerDTO); |
| | | if (!resultEntity.Result) |
| | | { |
| | | throw new Exception("保存合作客户:" + cooperatecustomCustomerDTO.Name + "出错!"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |
| | | throw new Exception(jobject["msg"].ToString()); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | |
| | | //保存最后更新时间 |
| | | if (ssss != null) |
| | | { |
| | | ssss.Updatetime = end; |
| | | } |
| | |
| | | throw new Exception("保存更新时间出错!"); |
| | | } |
| | | |
| | | scope.Complete(); |
| | | } |
| | | // scope.Complete(); |
| | | //} |
| | | |
| | | |
| | | |