Files
coreshoppro/CoreCms.Net.RedisMQ/MessagePushSubscribe.cs

74 lines
2.5 KiB
C#

/***********************************************************************
* Project: CoreCms
* ProjectName: 核心内容管理系统
* Web: https://www.corecms.net
* Author: 大灰灰
* Email: jianweie@163.com
* CreateTime: 2021/7/10 22:41:46
* Description: 暂无
***********************************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CoreCms.Net.Configuration;
using CoreCms.Net.IServices;
using CoreCms.Net.Loging;
using CoreCms.Net.Model.Entities;
using InitQ.Abstractions;
using InitQ.Attributes;
using Newtonsoft.Json;
namespace CoreCms.Net.RedisMQ
{
/// <summary>
/// 消息推送
/// </summary>
public class MessagePushSubscribe : IRedisSubscribe
{
private readonly ICoreCmsUserServices _userServices;
private readonly ICoreCmsOrderServices _orderServices;
private readonly ICoreCmsBillRefundServices _billRefundServices;
private readonly ICoreCmsUserGradeServices _userGradeServices;
public MessagePushSubscribe(ICoreCmsUserServices userServices, ICoreCmsOrderServices orderServices, ICoreCmsBillRefundServices billRefundServices, ICoreCmsUserGradeServices userGradeServices)
{
_userServices = userServices;
_orderServices = orderServices;
_billRefundServices = billRefundServices;
_userGradeServices = userGradeServices;
}
/// <summary>
/// 推送微信模板消息
/// </summary>
/// <param name="msg"></param>
/// <returns></returns>
[Subscribe(RedisMessageQueueKey.MessageSendWxMessageTemplet)]
private async Task MessageSendWxMessageTemplet(string msg)
{
try
{
var orderModel = JsonConvert.DeserializeObject<CoreCmsOrder>(msg);
NLogUtil.WriteAll(NLog.LogLevel.Info, LogType.RedisMessageQueue, "订单完成-用户升级处理", msg);
}
catch (Exception ex)
{
NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.RedisMessageQueue, "订单完成-用户升级处理", msg, ex);
throw;
}
await Task.CompletedTask;
}
}
}