using CoreCms.Net.Configuration;
using CoreCms.Net.IServices;
using CoreCms.Net.Loging;
using InitQ.Abstractions;
using InitQ.Attributes;
using Newtonsoft.Json;
using NPOI.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel.Design;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CoreCms.Net.RedisMQ
{
public class DistributionAchievementMQ : IRedisSubscribe
{
private ICoreCmsDistributionServices _dbService;
public DistributionAchievementMQ(ICoreCmsDistributionServices dictionaryService)
{
_dbService = dictionaryService;
}
///
/// 处理代理业绩商订单
///
///
[Subscribe(RedisMessageQueueKey.DistributionAchievementOder)]
public async void DistributionAchievementOder(string message)
{
try
{
var Param = JsonConvert.DeserializeObject(message);
if (await _dbService.CreateDistributionAchievementOrder(Param))
return;
else
{
NLogUtil.WriteAll(NLog.LogLevel.Fatal, LogType.RedisMessageQueue, "经销商处理经销商业绩单失败", $"CreateDistributionAchievementOrder 返回失败, 参数:{message}");
return;
}
}
catch (Exception e)
{
NLogUtil.WriteAll(NLog.LogLevel.Fatal, LogType.RedisMessageQueue, "经销商处理经销商业绩单失败", $" 错误提示,{e.Message}, 输入参数:{message}");
throw;
}
}
}
}