using cylsg.Core;
|
using cylsg.Model.ECTEModel;
|
using EzCoreNet.Redis;
|
using EzInitqMessageDef;
|
using EzWechat;
|
using Furion;
|
using Furion.FriendlyException;
|
using InitQ.Abstractions;
|
using InitQ.Attributes;
|
using MapsterMapper;
|
using Models;
|
using Newtonsoft.Json;
|
using SqlSugar;
|
using StackExchange.Profiling.Internal;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace EzInitQ
|
{
|
/// <summary>
|
/// 川印 消息队列处理函数
|
/// </summary>
|
public class CY_MessageServiser: IRedisSubscribe
|
{
|
|
/// <summary>
|
/// 川印厂商ID
|
/// </summary>
|
public Guid firmId => new Guid("88B49967-D590-452C-93C6-0049A75FA5FF");
|
/// <summary>
|
/// 司机问题反馈 分发问题
|
/// </summary>
|
/// <param name="msg"></param>
|
[Subscribe(InitQMessages.CYOSDeiverWentiFankuai)]
|
public async void CYOSDeiverWentiFanKui(string msg)
|
{
|
|
ISqlSugarClient _OAsqlSugarClient = App.GetService<ISqlSugarClient>().AsTenant().GetConnection("ECTESTOADB");
|
|
|
var userdata = JsonConvert.DeserializeObject<CY_OSDeiverWentiFankuaiModes>(msg);
|
|
if(userdata ==null)
|
throw Oops.Oh($"队列CYOSDeiverWentiFankuai 处理失败,请检查消息格式++++++++{msg}");
|
if(userdata.OA_DeliverPlanPaicheID==null)
|
throw Oops.Oh($"队列CYOSDeiverWentiFankuai 处理失败,没有获取到派车ID+++++++++{msg}");
|
|
//var DbC = new BaseRepository<OA_DeliverPlanPaiche>();
|
var data= await _OAsqlSugarClient.Queryable<OA_DeliverPlanPaiche>().Includes(x=>x.Driver).Where(x=>x.Keyid==userdata.OA_DeliverPlanPaicheID).FirstAsync();
|
if(data==null)
|
throw Oops.Oh($"队列CYOSDeiverWentiFankuai 处理失败,没有获取到派车信息+++++++++{msg}");
|
|
if(data.Driver==null)
|
{
|
throw Oops.Oh($"队列CYOSDeiverWentiFankuai 处理失败,没有获取到司机信息+++++++++{msg}");
|
|
}
|
|
//var WorkReminderDb = new BaseRepository<OA_WorkReminder>();
|
//订单ID
|
var SellerOrderId = await _OAsqlSugarClient.Queryable<OA_DeliverPlan>().Where(x => x.DeliverPlanPaicheid == data.Keyid).Select(x=>x.SellerOrderId).FirstAsync();
|
string? orderDocumentName = null;
|
if (SellerOrderId != null)
|
orderDocumentName = await _OAsqlSugarClient.Queryable<EC_OrderBasic>().Where(x => x.SellerOrderId == SellerOrderId).Select(x => x.DocumentName).FirstAsync();
|
|
//创建人
|
var creerter = await _OAsqlSugarClient.Queryable<OaStaff>().Where(x => x.MemberId == data.Creater).Select(x => x.Name).FirstAsync();
|
if(creerter!=null)
|
{
|
await _OAsqlSugarClient.Insertable(new OA_WorkReminder
|
{
|
Content = $" 派送:{data.CompanyName} 地址:{data.Dizhi}, {data.Remark??""} {orderDocumentName??""}。 送货反馈:{userdata.WenTi}",
|
RemenderObject = creerter,
|
Remender = data.Driver.Name,
|
RemenderTime= userdata.CreateTime
|
|
}).ExecuteCommandAsync();
|
}
|
|
//派车任务
|
var PaiCheRenwu= await _OAsqlSugarClient.Queryable<OA_DeliverTixing>().Includes(x=>x.SentStaff).Where(x=>x.DeliverPlanPaicheId==data.Keyid).FirstAsync();
|
if(PaiCheRenwu!=null)
|
{
|
await _OAsqlSugarClient.Insertable(new OA_WorkReminder
|
{
|
Content = $" 派送:{data.CompanyName} 地址:{data.Dizhi}, {data.Remark ?? ""} {orderDocumentName ?? ""}。 送货反馈:{userdata.WenTi}",
|
Remender = data.Driver.Name ,
|
RemenderObject = PaiCheRenwu?.SentStaff?.Name??"",
|
RemenderTime = userdata.CreateTime
|
|
}).ExecuteCommandAsync();
|
}
|
|
if (data.Zerenren!=null)
|
{
|
//var zherenrenDb = new BaseRepository<OaStaff>();
|
var zherenren = await _OAsqlSugarClient.Queryable<OaStaff>().Where(x=>x.Keyid==data.Zerenren&&x.FirmId== firmId).Select(x=>x.Name).FirstAsync();
|
if(zherenren!=null)
|
{
|
await _OAsqlSugarClient.Insertable(new OA_WorkReminder
|
{
|
Content = $" 派送:{data.CompanyName} 地址:{data.Dizhi}, {data.Remark ?? ""} {orderDocumentName ?? ""}。 送货反馈:{userdata.WenTi}",
|
RemenderObject = zherenren,
|
Remender = data.Driver.Name,
|
RemenderTime = userdata.CreateTime
|
|
}).ExecuteCommandAsync();
|
|
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
}
|
}
|