using CoreCms.Net.Configuration;
using CoreCms.Net.DTO;
using CoreCms.Net.IRepository.UnitOfWork;
using CoreCms.Net.IServices;
using CoreCms.Net.Loging;
using CoreCms.Net.Model.Entities.baifenbingfa.DistributionSendOder;
using InitQ.Abstractions;
using InitQ.Attributes;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CoreCms.Net.RedisMQ
{
///
/// 供应商配送订单分配记录
///
public class DistributionSendOderMQ: IRedisSubscribe
{
private readonly IUnitOfWork _unitOfWork;
public DistributionSendOderMQ(IUnitOfWork unitOfWork)
{
_unitOfWork= unitOfWork;
}
///
/// 增加一个记录
///
///
[Subscribe(RedisMessageQueueKey.AddDistributionSendOderMQ)]
public async void AddDistributionSendOder(string message)
{
var Param = JsonConvert.DeserializeObject(message);
if(Param == null) {
NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.RedisMessageQueue, "AddDistributionSendOder 增加一个记录 处理失败", $"转换模型失败===》 {message}");
return;
}
Param.createTime = DateTime.Now;
Param.createBy = "系统队列";
await _unitOfWork.GetDbClient().Insertable(Param).ExecuteCommandAsync();
}
///
/// 修改状态
///
///
[Subscribe(RedisMessageQueueKey.ActiveDistributionSendOderMQ)]
public async void ActiveDistributionSendOder(string message)
{
var Param = JsonConvert.DeserializeObject(message);
if (Param == null)
{
NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.RedisMessageQueue, "ActiveDistributionSendOder 修改状态 处理失败", $"转换模型失败===》 {message}");
return;
}
var oder=await _unitOfWork.GetDbClient().Queryable().Where(x => x.deliveryID == Param.deliveryID && x.userID == Param.userID).FirstAsync();
oder.upDataTime = DateTime.Now;
oder.upDataBy = "ActiveDistributionSendOder 队列";
oder.description = Param.Dec;
oder.sendDistributionAccept= Param.SendOderActive;
await _unitOfWork.GetDbClient().Updateable(Param).ExecuteCommandAsync();
}
}
}