TiqnQueService.cs 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using Hotline.Orders;
  2. using Hotline.Share.Dtos.Snapshot;
  3. using Hotline.Share.Tools;
  4. using Hotline.Snapshot;
  5. using Hotline.Snapshot.Interfaces;
  6. using Mapster;
  7. using Microsoft.Extensions.Logging;
  8. using Newtonsoft.Json;
  9. using Renci.SshNet;
  10. using System.Net.Http.Headers;
  11. using System.Text;
  12. using TianQue.Sdk.Models;
  13. using XF.Domain.Dependency;
  14. namespace TianQue.Sdk;
  15. public class TiqnQueService : IGuiderSystemService, IScopeDependency
  16. {
  17. private readonly string appSecret = "c01eb299b9d784bf55681af4da86bab6ba428101";
  18. private readonly string appKey = "TAjYAYuA";
  19. private readonly ILogger<TQHttpClient> _logger;
  20. private readonly string _url = "http://10.0.188.11:6090/api/v1/test/accept/saveAcceptInfoApi";
  21. public TiqnQueService(ILogger<TQHttpClient> logger)
  22. {
  23. _logger = logger;
  24. }
  25. public async Task<string> PostAcceptInfo()
  26. {
  27. var bodyDic = new SortedDictionary<string, object>
  28. {
  29. { "p2", "p2"},
  30. { "p1", "p1"}
  31. };
  32. return "ok";
  33. }
  34. public async Task<string> PostOrder(Order order, OrderSnapshot orderSnapshot, ThirdTokenDto tokenDto)
  35. {
  36. TQHttpClient httpClient;
  37. #if DEBUG
  38. httpClient = new TQHttpClient(appSecret, appKey, "171.94.154.2", 22, "root" , "ZGbyy@2024!", _logger);
  39. #else
  40. httpClient = new TQHttpClient(appSecret, appKey, _logger);
  41. #endif
  42. var acceptInfo = order.Adapt<AcceptInfo>();
  43. acceptInfo.ReplyCode = order.No!; // 唯一标识
  44. acceptInfo.TypeName = order.AcceptType!; // 诉求类型名称
  45. acceptInfo.OccurDate = order.CreationTime; // 事发时间
  46. //acceptInfo.OccurDate = DateTime.Now; // 事发时间
  47. acceptInfo.DetailAddress = order.FullAddress!; // 详细地址
  48. acceptInfo.Topic = order.Title!; // 线索主题
  49. acceptInfo.DetailContent = order.Content!; // 详细内容
  50. acceptInfo.Lon = order.Longitude.ToString(); // 经度
  51. acceptInfo.Lat = order.Latitude.ToString(); // 纬度
  52. acceptInfo.RootCategoryInfo = order.HotspotName!; // 热点分类(大类)
  53. acceptInfo.CategoryInfo = order.HotspotSpliceName!; // 热点分类(小类)
  54. acceptInfo.DeadLine = DateTime.Now.AddDays(15); // 截止时间
  55. acceptInfo.Prod = false; // 正式/测试
  56. // 反映人信息
  57. acceptInfo.PersonList = new List<PersonInfo>
  58. {
  59. new() {
  60. // ReflectCardId = // 反映人身份证号
  61. ReflectPhone = order.Contact!, // 电话
  62. ReflectUserName = order.FromName!, // 姓名
  63. }
  64. };
  65. var result = await httpClient.PostAsync<ApiReponse<AcceptInfoSuccessDto>>(new Uri(_url), acceptInfo);
  66. return result.ToJson();
  67. }
  68. }