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
}
}
}