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
|
{
|
/// <summary>
|
/// 供应商配送订单分配记录
|
/// </summary>
|
public class DistributionSendOderMQ: IRedisSubscribe
|
{
|
private readonly IUnitOfWork _unitOfWork;
|
public DistributionSendOderMQ(IUnitOfWork unitOfWork)
|
{
|
_unitOfWork= unitOfWork;
|
|
}
|
|
/// <summary>
|
/// 增加一个记录
|
/// </summary>
|
/// <param name="message"></param>
|
[Subscribe(RedisMessageQueueKey.AddDistributionSendOderMQ)]
|
public async void AddDistributionSendOder(string message)
|
{
|
var Param = JsonConvert.DeserializeObject<DistributionSendOder>(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();
|
|
}
|
|
/// <summary>
|
/// 修改状态
|
/// </summary>
|
/// <param name="message"></param>
|
[Subscribe(RedisMessageQueueKey.ActiveDistributionSendOderMQ)]
|
public async void ActiveDistributionSendOder(string message)
|
{
|
var Param = JsonConvert.DeserializeObject<ActiveDistributionSendOderMQ>(message);
|
if (Param == null)
|
{
|
|
NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.RedisMessageQueue, "ActiveDistributionSendOder 修改状态 处理失败", $"转换模型失败===》 {message}");
|
return;
|
}
|
|
var oder=await _unitOfWork.GetDbClient().Queryable<DistributionSendOder>().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();
|
|
}
|
|
|
}
|
}
|