using BBWYB.Server.Business; using Microsoft.Extensions.Configuration; using Newtonsoft.Json; using QYMessageCenter.Common.Extensions; using QYMessageCenter.Common.Http; using QYMessageCenter.Common.Log; using QYMessageCenter.Common.Models; using QYMessageCenter.Model.DB; using QYMessageCenter.Model.DTO; using System.Configuration; using System.Threading.Channels; using Yitter.IdGenerator; namespace QYMessageCenter.Business { public class MessageBusiness : BaseBusiness, IDenpendency { private readonly string Key = "BC-652c4236c6ba4083b026e8cfa2e199b1"; public MessageBusiness(IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator, RestApiService restApiService) : base(fsql, nLogManager, idGenerator, restApiService) { } /// /// 发送消息 /// /// public void Send(SendMessageRequest request) { var msg = request.Map(); msg.Id = idGenerator.NewLong(); msg.CreateTime = DateTime.Now; #region 调用goeasy var goeasy_httpResult = restApiService.SendRequest("https://rest-hz.goeasy.io/", "v2/pubsub/publish", new { appkey = Key, channel = request.Channel, content = JsonConvert.SerializeObject(msg) }, null, HttpMethod.Post); if (goeasy_httpResult.StatusCode != System.Net.HttpStatusCode.OK) throw new BusinessException($"消息发送失败 httpcode {goeasy_httpResult.StatusCode} conent {goeasy_httpResult.Content}"); #endregion #region 保存入库 #endregion } } }