ProvinceController.cs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. using DotNetCore.CAP;
  2. using MapsterMapper;
  3. using MediatR;
  4. using Microsoft.AspNetCore.Authorization;
  5. using Microsoft.AspNetCore.Mvc;
  6. using Sharing.Notifications.Knowledge;
  7. using Sharing.Province.Dtos;
  8. using Sharing.Province.Dtos.HuiJu.Send;
  9. using Sharing.Province.Dtos.XieTong.Knowledge;
  10. using Sharing.Province.Dtos.XieTong.Send;
  11. using Sharing.Province.XieTong.Knowledge;
  12. using Sharing.WebCore;
  13. namespace Sharing.Province.Controllers
  14. {
  15. public class ProvinceController : BaseController
  16. {
  17. private readonly IChannelConfigurationManager _channelConfigurationManager;
  18. private readonly PusherProvider _pusherProvider;
  19. private readonly ICapPublisher _capPublisher;
  20. private readonly IMapper _mapper;
  21. private readonly IMediator _mediator;
  22. private readonly IGetKnowledgeInfoSendRepository _getKnowledgeInfoSendRepository;
  23. public ProvinceController(IChannelConfigurationManager channelConfigurationManager, PusherProvider pusherProvider,
  24. ICapPublisher capPublisher, IMapper mapper, IMediator mediator, IGetKnowledgeInfoSendRepository getKnowledgeInfoSendRepository)
  25. {
  26. _channelConfigurationManager = channelConfigurationManager;
  27. _pusherProvider = pusherProvider;
  28. _capPublisher = capPublisher;
  29. _mapper = mapper;
  30. _mediator = mediator;
  31. _getKnowledgeInfoSendRepository = getKnowledgeInfoSendRepository;
  32. }
  33. [HttpGet("test")]
  34. public async Task<string> Test()
  35. {
  36. var pusher = _pusherProvider.CreatePusher(_channelConfigurationManager);
  37. await pusher.PushOrderCreatedAsync(new SubmitCaseInfoRequest(), HttpContext.RequestAborted);
  38. var a = _channelConfigurationManager.GetConfigurationProvince().HuiJu;
  39. Reponse.Success();
  40. Reponse.Failed("");
  41. return a;
  42. }
  43. /// <summary>
  44. /// 测试推送
  45. /// </summary>
  46. /// <param name="dto"></param>
  47. /// <returns></returns>
  48. [HttpPost("getcaseresultreceive")]
  49. [AllowAnonymous]
  50. public async Task<string> GetCaseResultReceive([FromBody] KnowledgeInfoSendInfo dto)
  51. {
  52. var data = _mapper.Map<GetKnowledgeInfoSend>(dto);
  53. //将上报信息写入本地库
  54. var id = await _getKnowledgeInfoSendRepository.AddAsync(data);
  55. data.Id = id;
  56. //信息上报
  57. _mediator.Publish(new GetKnowledgeInfoSendNotification(data));
  58. return id;
  59. //var data = _mapper.Map<GetCaseResultReceive>(dto);
  60. //var pusher = _pusherProvider.CreatePusher(_channelConfigurationManager);
  61. //var request = new GetKnowledgeInfoSendRequest();
  62. //request.SetData(dto);
  63. //var response = await pusher.PushGetKnowledgeInfoSendAsync(request, cancellationToken: default);
  64. //return response.Description;
  65. //将上报信息写入本地库
  66. // await _getCaseResultReceiveRepository.AddAsync(data);
  67. // await _mediator.Publish(new OrderCreatedNotification(new Orders.DataOrder()));
  68. //信息上报
  69. //await _mediator.Publish(new GetCaseResultReceiveNotification(data));
  70. // await _capPublisher.PublishAsync("GetCaseResultReceive", dto, cancellationToken: HttpContext.RequestAborted);
  71. }
  72. }
  73. }