Commit 1d80e6f7 authored by 吴春's avatar 吴春

1

parent 7c337143
...@@ -48,6 +48,7 @@ namespace REBORN.HuaTuQUART ...@@ -48,6 +48,7 @@ namespace REBORN.HuaTuQUART
public async Task StartAsync() public async Task StartAsync()
{ {
string cronExpression = "0 0 10 * * ?"; // 修改为每天10:00执行 string cronExpression = "0 0 10 * * ?"; // 修改为每天10:00执行
//string cronExpression = "0 */5 * * * ?";//每10分钟执行一次
NameValueCollection props = new NameValueCollection NameValueCollection props = new NameValueCollection
{ {
{ "quartz.serializer.type", "binary" } { "quartz.serializer.type", "binary" }
...@@ -94,147 +95,190 @@ namespace REBORN.HuaTuQUART ...@@ -94,147 +95,190 @@ namespace REBORN.HuaTuQUART
/// <param name="context"></param> /// <param name="context"></param>
public Task Execute(IJobExecutionContext context) public Task Execute(IJobExecutionContext context)
{ {
var mpcList = repository.GetList(new RB_MessagePushConfig());//消息推送配置 LogHelper.WriteInfo("我进来定时任务来了");
string groupId = ""; try
if (mpcList != null && mpcList.Any())
{ {
groupId = string.Join(",", mpcList.Select(x => x.RB_Group_Id ?? 0).Distinct()); var mpcList = repository.GetList(new RB_MessagePushConfig());//消息推送配置
string groupId = "";
#region 订单信息 LogHelper.WriteInfo("mpcList配置信息条数:" + (mpcList?.Count() ?? 0));
StringBuilder builder = new StringBuilder(); if (mpcList != null && mpcList.Any())
//跟团游订单 {
builder.AppendFormat($@"SELECT A.RB_Group_id,A.OrderSource,A.OrderId,A.GuestNum,A.EnterID,b.StartDate,B.PriceTeamType,c.Title,A.FinalPriceTips from rb_travel_order AS A INNER JOIN rb_travel_price AS B ON A.TCID=B.TCID groupId = string.Join(",", mpcList.Select(x => x.RB_Group_Id ?? 0).Distinct());
#region 订单信息
List<RB_Travel_Order_Extend> orderList = new List<RB_Travel_Order_Extend>();
List<RB_Sell_VisaOrder_Extend> visaOrderList = new List<RB_Sell_VisaOrder_Extend>();
List<RB_Customer_HotelOrder_Extend> hotelOrderList = new List<RB_Customer_HotelOrder_Extend>();
List<RB_Customer_TicketOrder_Extend> ticketOrderList = new List<RB_Customer_TicketOrder_Extend>();
List<RB_CRMTicket_Order_Extend> cRMTicket_OrderList = new List<RB_CRMTicket_Order_Extend>();
try
{
//跟团游订单
StringBuilder builder = new StringBuilder();
builder.AppendFormat($@"SELECT A.RB_Group_id,A.OrderSource,A.OrderId,A.GuestNum,A.EnterID,b.StartDate,B.PriceTeamType,c.Title,A.FinalPriceTips from rb_travel_order AS A INNER JOIN rb_travel_price AS B ON A.TCID=B.TCID
LEFT JOIN rb_travel_config as c on c.ID=b.ConfigID LEFT JOIN rb_travel_config as c on c.ID=b.ConfigID
where FinalPriceTips>0 and ifnull(a.IsChargeLossOrders,0)=0 and a.OrderState<>4 and b.StartDate>NOW() and a.RB_Group_Id in({groupId}) where FinalPriceTips>0 AND DATE_SUB(b.StartDate, INTERVAL A.FinalPriceTips DAY) < NOW() and ifnull(a.IsChargeLossOrders,0)=0 and a.OrderState<>4 and b.StartDate>NOW() and a.RB_Group_Id in({groupId})
and (IFNULL(a.PreferPrice,0)-IFNULL(a.Income,0)-IFNULL(a.ZaiTuMoney,0)+IFNULL(a.Refund,0)-IFNULL(a.PlatformTax,0)-IFNULL(a.ZaiTuMoney,0)-IFNULL(a.DiscountMoney,0)-IFNULL(a.RedEnvelopeMoney,0))<> 0 and (IFNULL(a.PreferPrice,0)-IFNULL(a.Income,0)-IFNULL(a.ZaiTuMoney,0)+IFNULL(a.Refund,0)-IFNULL(a.PlatformTax,0)-IFNULL(a.ZaiTuMoney,0)-IFNULL(a.DiscountMoney,0)-IFNULL(a.RedEnvelopeMoney,0))<> 0
"); ");
var orderList = orderRepository.Get<RB_Travel_Order_Extend>(builder.ToString()).ToList(); orderList = orderRepository.Get<RB_Travel_Order_Extend>(builder.ToString()).ToList();
LogHelper.WriteInfo("跟团游订单Sql:" + builder.ToString());
}
//签证订单 catch (Exception ex)
StringBuilder builderVisaOrder = new StringBuilder(); {
builderVisaOrder.AppendFormat($@"SELECT A.RB_Group_id,A.Id,a.PeopleNum,a.CreateBy,b.`Name`,a.SignOutTime,A.FinalPriceTips from rb_sell_visaorder as a LogHelper.Write(ex, "跟团游订单");
LEFT JOIN RB_Sell_VisaProduct as b on a.VisaId=b.Id where FinalPriceTips>0 and a.RB_Group_Id in({groupId}) and a.VisaOrderStatus <>2 and IFNULL(a.TotalPrice,0) <> (IFNULL(a.Income,0) + IFNULL(a.PlatformTax,0)+ IFNULL(a.PlatformTax,0) - IFNULL(a.RefundMoney,0)) and a.SignOutTime>NOW()"); }
var visaOrderList = sellVisaOrderRepository.Get<RB_Sell_VisaOrder_Extend>(builderVisaOrder.ToString()).ToList(); try
{
//签证订单
//酒店 StringBuilder builderVisaOrder = new StringBuilder();
StringBuilder builderHotelOrder = new StringBuilder(); builderVisaOrder.AppendFormat($@"SELECT A.RB_Group_id,A.Id,a.PeopleNum,a.CreateBy,b.`Name`,a.SignOutTime,A.FinalPriceTips from rb_sell_visaorder as a
builderHotelOrder.AppendFormat($@"SELECT A.RB_Group_id,a.OrderNo,A.EnterID,c.`Name` as HotelName,a.CheckIn,A.FinalPriceTips from rb_customer_hotelorder as a LEFT JOIN RB_Sell_VisaProduct as b on a.VisaId=b.Id where FinalPriceTips>0 and a.RB_Group_Id in({groupId}) and a.VisaOrderStatus <>2 and IFNULL(a.TotalPrice,0) <> (IFNULL(a.Income,0) + IFNULL(a.PlatformTax,0)+ IFNULL(a.PlatformTax,0) - IFNULL(a.RefundMoney,0)) and a.SignOutTime>NOW() AND DATE_SUB(a.SignOutTime, INTERVAL A.FinalPriceTips DAY) < NOW()");
visaOrderList = sellVisaOrderRepository.Get<RB_Sell_VisaOrder_Extend>(builderVisaOrder.ToString()).ToList();
LogHelper.WriteInfo("签证订单Sql:" + builderVisaOrder.ToString());
}
catch (Exception ex)
{
LogHelper.Write(ex, "签证订单");
}
try
{
//酒店
StringBuilder builderHotelOrder = new StringBuilder();
builderHotelOrder.AppendFormat($@"SELECT A.RB_Group_id,a.OrderNo,a.OrderId,A.EnterID,c.`Name` as HotelName,a.CheckIn,A.FinalPriceTips from rb_customer_hotelorder as a
LEFT JOIN rb_customer_hotelorderdetail as b on a.OrderId=b.OrderId INNER JOIN rb_hotel as c on c.ID=b.HotelId where FinalPriceTips>0 and a.GroupId in({groupId}) and a.CheckIn>NOW() LEFT JOIN rb_customer_hotelorderdetail as b on a.OrderId=b.OrderId INNER JOIN rb_hotel as c on c.ID=b.HotelId where FinalPriceTips>0 and a.GroupId in({groupId}) and a.CheckIn>NOW()
and a.OrderStatus <>3 and a.Money <> (a.Income + a.PlatformTax+a.PlatformMoney - a.Refund) and a.OrderStatus <>3 and a.Money <> (a.Income + a.PlatformTax+a.PlatformMoney - a.Refund) AND DATE_SUB(a.CheckIn, INTERVAL A.FinalPriceTips DAY) < NOW()
"); ");
var hotelOrderList = customer_HotelOrderRepository.Get<RB_Customer_HotelOrder_Extend>(builderHotelOrder.ToString()).ToList(); hotelOrderList = customer_HotelOrderRepository.Get<RB_Customer_HotelOrder_Extend>(builderHotelOrder.ToString()).ToList();
LogHelper.WriteInfo("酒店订单Sql:" + builderHotelOrder.ToString());
}
catch (Exception ex)
{
LogHelper.Write(ex, "酒店订单");
}
//邮轮订单 try
StringBuilder builderTicketOrder = new StringBuilder(); {
builderTicketOrder.AppendFormat($@"SELECT A.GroupId,A.OrderNo,a.EnterID,b.`Name` as CouponsName,a.UseDate,A.FinalPriceTips from rb_customer_ticketorder as a //邮轮订单
LEFT JOIN rb_ticketcoupons as b on a.CouponsId=b.ID where FinalPriceTips>0 and a.GroupId in({groupId}) and a.OrderStatus <>3 and a.Money <> (a.Income + a.PlatformTax+a.PlatformMoney - a.Refund) and a.UseDate>NOW()"); StringBuilder builderTicketOrder = new StringBuilder();
var ticketOrderList = customerTicketOrderRepository.Get<RB_Customer_TicketOrder_Extend>(builderTicketOrder.ToString()).ToList(); builderTicketOrder.AppendFormat($@"SELECT A.GroupId,A.OrderNo,a.OrderId,a.EnterID,b.`Name` as CouponsName,a.UseDate,A.FinalPriceTips from rb_customer_ticketorder as a
LEFT JOIN rb_ticketcoupons as b on a.CouponsId=b.ID where a.FinalPriceTips>0 AND DATE_SUB(a.UseDate, INTERVAL A.FinalPriceTips DAY) < NOW() and a.GroupId in({groupId}) and a.OrderStatus <>3 and a.Money <> (a.Income + a.PlatformTax+a.PlatformMoney - a.Refund) and a.UseDate>NOW()");
ticketOrderList = customerTicketOrderRepository.Get<RB_Customer_TicketOrder_Extend>(builderTicketOrder.ToString()).ToList();
LogHelper.WriteInfo("邮轮订单Sql:" + builderTicketOrder.ToString());
}
catch (Exception ex)
{
LogHelper.Write(ex, "邮轮订单");
}
//单机票订单 try
StringBuilder builderCRMTicketOrder = new StringBuilder(); {
builderCRMTicketOrder.AppendFormat($@"SELECT A.GroupId,A.GuestCount,A.DepartTime,A.EnterID,A.FinalPriceTips from {(Config.IsOnline ? "uat_reborn_sell" : "reborn_sell")}.RB_Ticket_Order as A //单机票订单
where FinalPriceTips>0 and a.DepartTime>NOW() and a.GroupId in({groupId}) and a.OrderStatus <>2 and a.Money <> (a.IncomeMoney + a.TaxMoney+a.PlatformMoney - a.BackMoney)"); StringBuilder builderCRMTicketOrder = new StringBuilder();
var cRMTicket_OrderList = cRMTicket_OrderRepository.Get<RB_CRMTicket_Order_Extend>(builderCRMTicketOrder.ToString()).ToList(); builderCRMTicketOrder.AppendFormat($@"SELECT A.GroupId,A.GuestCount,a.OrderId,A.DepartTime,A.EnterID,A.FinalPriceTips from {(Config.IsOnline ? "uat_reborn_sell" : "reborn_sell")}.RB_Ticket_Order as A
#endregion where a.FinalPriceTips>0 and a.DepartTime>NOW() AND DATE_SUB(a.DepartTime, INTERVAL A.FinalPriceTips DAY) < NOW() and a.GroupId in({groupId}) and a.OrderStatus <>2 and a.Money <> (a.IncomeMoney + a.TaxMoney+a.PlatformMoney - a.BackMoney)");
cRMTicket_OrderList = cRMTicket_OrderRepository.Get<RB_CRMTicket_Order_Extend>(builderCRMTicketOrder.ToString()).ToList();
LogHelper.WriteInfo("单机票订单Sql:" + builderCRMTicketOrder.ToString());
}
catch (Exception ex)
{
LogHelper.Write(ex, "单机票订单");
}
#endregion
#region 员工信息 #region 员工信息
List<int> employeeList = new List<int>(); List<int> employeeList = new List<int>();
if (orderList != null && orderList.Any()) if (orderList != null && orderList.Any())
{ {
employeeList.AddRange(orderList.Where(x => x.EnterID > 0).Select(x => x.EnterID ?? 0)); employeeList.AddRange(orderList.Where(x => x.EnterID > 0).Select(x => x.EnterID ?? 0));
} }
if (visaOrderList != null && visaOrderList.Any()) if (visaOrderList != null && visaOrderList.Any())
{ {
employeeList.AddRange(visaOrderList.Where(x => x.CreateBy > 0).Select(x => x.CreateBy ?? 0)); employeeList.AddRange(visaOrderList.Where(x => x.CreateBy > 0).Select(x => x.CreateBy ?? 0));
} }
if (hotelOrderList != null && hotelOrderList.Any()) if (hotelOrderList != null && hotelOrderList.Any())
{ {
employeeList.AddRange(hotelOrderList.Where(x => x.EnterID > 0).Select(x => x.EnterID)); employeeList.AddRange(hotelOrderList.Where(x => x.EnterID > 0).Select(x => x.EnterID));
} }
if (ticketOrderList != null && ticketOrderList.Any()) if (ticketOrderList != null && ticketOrderList.Any())
{ {
employeeList.AddRange(ticketOrderList.Where(x => x.EnterID > 0).Select(x => x.EnterID)); employeeList.AddRange(ticketOrderList.Where(x => x.EnterID > 0).Select(x => x.EnterID));
} }
if (cRMTicket_OrderList != null && cRMTicket_OrderList.Any()) if (cRMTicket_OrderList != null && cRMTicket_OrderList.Any())
{ {
employeeList.AddRange(cRMTicket_OrderList.Where(x => x.EnterID > 0).Select(x => x.EnterID)); employeeList.AddRange(cRMTicket_OrderList.Where(x => x.EnterID > 0).Select(x => x.EnterID));
} }
List<RB_Employee_Extend> employeeNameList = new List<RB_Employee_Extend>(); List<RB_Employee_Extend> employeeNameList = new List<RB_Employee_Extend>();
if (employeeList != null && employeeList.Any()) if (employeeList != null && employeeList.Any())
{ {
employeeNameList = employeeRepository.GetEmpInfoListByIds(string.Join(",", employeeList.Select(x => x))); employeeNameList = employeeRepository.GetEmpInfoListByIds(string.Join(",", employeeList.Select(x => x)));
} }
#endregion #endregion
#region 推送尾款提醒消息 #region 推送尾款提醒消息
var nowDay = DateTime.Now; var nowDay = DateTime.Now;
if (orderList != null && orderList.Any()) if (orderList != null && orderList.Any())
{
foreach (var item in orderList)
{ {
// 检查是否每隔2天(包括第0天) foreach (var item in orderList)
if (IsSend(item.FinalPriceTips, item.StartDate.Value))
{ {
//新增订单,推送消息 // 检查是否每隔2天(包括第0天)
Dictionary<string, string> dic = new Dictionary<string, string>(); if (IsSend(item.FinalPriceTips, item.StartDate.Value))
string teamTypeName = "";
if (item.PriceTeamType == (int)PriceTeamTypeEnum.SanPing)
{ {
teamTypeName = "定制团"; //新增订单,推送消息
} Dictionary<string, string> dic = new Dictionary<string, string>();
else if (item.PriceTeamType == (int)PriceTeamTypeEnum.OutTravel) string teamTypeName = "";
{ if (item.PriceTeamType == (int)PriceTeamTypeEnum.SanPing)
teamTypeName = "外交团"; {
} teamTypeName = "定制团";
}
else if (item.PriceTeamType == (int)PriceTeamTypeEnum.OutTravel)
{
teamTypeName = "外交团";
}
if (!string.IsNullOrWhiteSpace(teamTypeName)) if (!string.IsNullOrWhiteSpace(teamTypeName))
{ {
dic.Add("订单类型", teamTypeName); dic.Add("订单类型", teamTypeName);
}
dic.Add("出发时间", StringHelper.FormatDate(item.StartDate));
dic.Add("订单编号", item.OrderId.ToString());
dic.Add("产品名称", item?.Title ?? "");
dic.Add("订单人数", (item?.GuestNum ?? 0).ToString() + "人");
dic.Add("销售人员", employeeNameList?.FirstOrDefault(x => x.EmployeeId == item.EnterID)?.EmName ?? "");
//新增订单,推送消息
var nowmpcList = mpcList.Where(x => x.RB_Group_Id == (item.RB_Group_Id ?? 0))?.ToList() ?? new List<RB_MessagePushConfig>();
MessagePushSend(nowmpcList, item.RB_Group_Id ?? 0, dic, MessagePushSendType.PaymentReminder);
} }
dic.Add("出发时间", StringHelper.FormatDate(item.StartDate));
dic.Add("订单编号", item.OrderId.ToString());
dic.Add("产品名称", item?.Title ?? "");
dic.Add("订单人数", (item?.GuestNum ?? 0).ToString() + "人");
dic.Add("销售人员", employeeNameList?.FirstOrDefault(x => x.EmployeeId == item.EnterID)?.EmName ?? "");
//新增订单,推送消息
var nowmpcList = mpcList.Where(x => x.RB_Group_Id == (item.RB_Group_Id ?? 0))?.ToList() ?? new List<RB_MessagePushConfig>();
MessagePushSend(nowmpcList, item.RB_Group_Id ?? 0, dic, MessagePushSendType.PaymentReminder);
} }
} }
}
if (visaOrderList != null && visaOrderList.Any()) if (visaOrderList != null && visaOrderList.Any())
{ {
foreach (var item in visaOrderList) foreach (var item in visaOrderList)
{ // 检查是否每隔2天(包括第0天) { // 检查是否每隔2天(包括第0天)
if (IsSend(item.FinalPriceTips, item.SignOutTime.Value)) if (IsSend(item.FinalPriceTips, item.SignOutTime.Value))
{ {
//新增订单,推送消息 //新增订单,推送消息
Dictionary<string, string> dic = new Dictionary<string, string>(); Dictionary<string, string> dic = new Dictionary<string, string>();
dic.Add("订单类型", "签证产品"); dic.Add("订单类型", "签证产品");
dic.Add("送签日期", StringHelper.FormatDate(item.SignOutTime)); dic.Add("送签日期", StringHelper.FormatDate(item.SignOutTime));
dic.Add("订单编号", item.Id.ToString()); dic.Add("订单编号", item.Id.ToString());
dic.Add("产品名称", item?.Name ?? ""); dic.Add("产品名称", item?.Name ?? "");
dic.Add("订单人数", (item.PeopleNum).ToString() + "人"); dic.Add("订单人数", (item.PeopleNum).ToString() + "人");
dic.Add("销售人员", employeeNameList?.FirstOrDefault(x => x.EmployeeId == (item.CreateBy ?? 0))?.EmName ?? ""); dic.Add("销售人员", employeeNameList?.FirstOrDefault(x => x.EmployeeId == (item.CreateBy ?? 0))?.EmName ?? "");
//新增订单,推送消息 //新增订单,推送消息
var nowmpcList = mpcList.Where(x => x.RB_Group_Id == (item.RB_Group_Id ?? 0))?.ToList() ?? new List<RB_MessagePushConfig>(); var nowmpcList = mpcList.Where(x => x.RB_Group_Id == (item.RB_Group_Id ?? 0))?.ToList() ?? new List<RB_MessagePushConfig>();
MessagePushSend(nowmpcList, item.RB_Group_Id ?? 0, dic, MessagePushSendType.PaymentReminder); MessagePushSend(nowmpcList, item.RB_Group_Id ?? 0, dic, MessagePushSendType.PaymentReminder);
}
} }
} }
}
if (hotelOrderList != null && hotelOrderList.Any()) if (hotelOrderList != null && hotelOrderList.Any())
{
foreach (var item in hotelOrderList)
{ {
if (IsSend(item.FinalPriceTips, item.CheckIn.Value)) foreach (var item in hotelOrderList)
{ {
//新增订单,推送消息 if (IsSend(item.FinalPriceTips, item.CheckIn.Value))
Dictionary<string, string> dic = new Dictionary<string, string> {
//新增订单,推送消息
Dictionary<string, string> dic = new Dictionary<string, string>
{ {
{ "订单类型", "酒店产品" }, { "订单类型", "酒店产品" },
{ "入住时间-离店时间",StringHelper.FormatDate(item.CheckIn)+"/"+StringHelper.FormatDate(item.OrderDate)}, { "入住时间-离店时间",StringHelper.FormatDate(item.CheckIn)+"/"+StringHelper.FormatDate(item.OrderDate)},
...@@ -242,21 +286,20 @@ where FinalPriceTips>0 and a.DepartTime>NOW() and a.GroupId in({groupId}) and a. ...@@ -242,21 +286,20 @@ where FinalPriceTips>0 and a.DepartTime>NOW() and a.GroupId in({groupId}) and a.
{ "产品名称", item.HotelName }, { "产品名称", item.HotelName },
{ "销售人员",employeeNameList?.FirstOrDefault(x => x.EmployeeId == item.EnterID )?.EmName ?? "" } { "销售人员",employeeNameList?.FirstOrDefault(x => x.EmployeeId == item.EnterID )?.EmName ?? "" }
}; };
//新增订单,推送消息 //新增订单,推送消息
var nowmpcList = mpcList.Where(x => x.RB_Group_Id == item.GroupId)?.ToList() ?? new List<RB_MessagePushConfig>(); var nowmpcList = mpcList.Where(x => x.RB_Group_Id == item.GroupId)?.ToList() ?? new List<RB_MessagePushConfig>();
MessagePushSend(nowmpcList, item.GroupId, dic, MessagePushSendType.PaymentReminder); MessagePushSend(nowmpcList, item.GroupId, dic, MessagePushSendType.PaymentReminder);
}
} }
} }
}
if (ticketOrderList != null && ticketOrderList.Any()) if (ticketOrderList != null && ticketOrderList.Any())
{
foreach (var item in ticketOrderList)
{ {
if (IsSend(item.FinalPriceTips, item.UseDate.Value)) foreach (var item in ticketOrderList)
{ {
if (IsSend(item.FinalPriceTips, item.UseDate.Value))
Dictionary<string, string> dic = new Dictionary<string, string> {
Dictionary<string, string> dic = new Dictionary<string, string>
{ {
{ "订单类型", "邮轮产品" }, { "订单类型", "邮轮产品" },
{ "出行时间",StringHelper.FormatDate(item.UseDate)}, { "出行时间",StringHelper.FormatDate(item.UseDate)},
...@@ -264,20 +307,20 @@ where FinalPriceTips>0 and a.DepartTime>NOW() and a.GroupId in({groupId}) and a. ...@@ -264,20 +307,20 @@ where FinalPriceTips>0 and a.DepartTime>NOW() and a.GroupId in({groupId}) and a.
{ "产品名称", item.CouponsName }, { "产品名称", item.CouponsName },
{ "销售人员", employeeNameList?.FirstOrDefault(x => x.EmployeeId == item.EnterID )?.EmName ?? "" } { "销售人员", employeeNameList?.FirstOrDefault(x => x.EmployeeId == item.EnterID )?.EmName ?? "" }
}; };
//新增订单,推送消息 //新增订单,推送消息
var nowmpcList = mpcList.Where(x => x.RB_Group_Id == item.GroupId)?.ToList() ?? new List<RB_MessagePushConfig>(); var nowmpcList = mpcList.Where(x => x.RB_Group_Id == item.GroupId)?.ToList() ?? new List<RB_MessagePushConfig>();
MessagePushSend(nowmpcList, item.GroupId, dic, MessagePushSendType.PaymentReminder); MessagePushSend(nowmpcList, item.GroupId, dic, MessagePushSendType.PaymentReminder);
}
} }
} }
} if (cRMTicket_OrderList != null && cRMTicket_OrderList.Any())
if (cRMTicket_OrderList != null && cRMTicket_OrderList.Any())
{
foreach (var item in cRMTicket_OrderList)
{ {
if (IsSend(item.FinalPriceTips, item.DepartTime.Value)) foreach (var item in cRMTicket_OrderList)
{ {
if (IsSend(item.FinalPriceTips, item.DepartTime.Value))
{
Dictionary<string, string> dic = new Dictionary<string, string> Dictionary<string, string> dic = new Dictionary<string, string>
{ {
{ "订单类型", "单机票产品" }, { "订单类型", "单机票产品" },
{ "出行人数", item.GuestCount.ToString() }, { "出行人数", item.GuestCount.ToString() },
...@@ -285,14 +328,19 @@ where FinalPriceTips>0 and a.DepartTime>NOW() and a.GroupId in({groupId}) and a. ...@@ -285,14 +328,19 @@ where FinalPriceTips>0 and a.DepartTime>NOW() and a.GroupId in({groupId}) and a.
{ "出发时间", StringHelper.FormatDate(item.DepartTime) }, { "出发时间", StringHelper.FormatDate(item.DepartTime) },
{ "销售人员", employeeNameList?.FirstOrDefault(x => x.EmployeeId == item.EnterID )?.EmName ?? "" } { "销售人员", employeeNameList?.FirstOrDefault(x => x.EmployeeId == item.EnterID )?.EmName ?? "" }
}; };
//新增订单,推送消息 //新增订单,推送消息
var nowmpcList = mpcList.Where(x => x.RB_Group_Id == item.GroupId)?.ToList() ?? new List<RB_MessagePushConfig>(); var nowmpcList = mpcList.Where(x => x.RB_Group_Id == item.GroupId)?.ToList() ?? new List<RB_MessagePushConfig>();
MessagePushSend(nowmpcList, item.GroupId, dic, MessagePushSendType.PaymentReminder); MessagePushSend(nowmpcList, item.GroupId, dic, MessagePushSendType.PaymentReminder);
}
} }
} }
#endregion
LogHelper.WriteInfo("任务结束");
} }
#endregion }
Console.WriteLine("执行了没有?"); catch (Exception ex)
{
LogHelper.Write(ex, "Execute");
} }
return null; return null;
} }
...@@ -307,22 +355,6 @@ where FinalPriceTips>0 and a.DepartTime>NOW() and a.GroupId in({groupId}) and a. ...@@ -307,22 +355,6 @@ where FinalPriceTips>0 and a.DepartTime>NOW() and a.GroupId in({groupId}) and a.
{ {
var nowDay = DateTime.Now; var nowDay = DateTime.Now;
bool result = false; bool result = false;
//if (reminderDays > 0 && oldStartDate.HasValue)
//{
// DateTime startDate = oldStartDate.Value;
// DateTime reminderStartDate = startDate.AddDays(-reminderDays);
// // 计算当前时间与提醒开始日期之间的天数差
// double daysSinceReminderStart = (nowDay - reminderStartDate).TotalDays;
// // 检查是否在提醒期内且满足每隔2天的条件
// if (daysSinceReminderStart >= 0 && daysSinceReminderStart <= reminderDays)
// {
// // 检查是否每隔2天(包括第0天)
// if (daysSinceReminderStart % 2 == 0)
// {
// result = true;
// }
// }
//}
if (reminderDays > 0 && oldStartDate.HasValue) if (reminderDays > 0 && oldStartDate.HasValue)
{ {
DateTime reminderStartDate = oldStartDate.Value.AddDays(-reminderDays); DateTime reminderStartDate = oldStartDate.Value.AddDays(-reminderDays);
...@@ -360,10 +392,13 @@ where FinalPriceTips>0 and a.DepartTime>NOW() and a.GroupId in({groupId}) and a. ...@@ -360,10 +392,13 @@ where FinalPriceTips>0 and a.DepartTime>NOW() and a.GroupId in({groupId}) and a.
{ {
foreach (var mpcModel in mpcList) foreach (var mpcModel in mpcList)
{ {
//LogHelper.WriteInfo("我是发送企业微信消息");
int sendType = (int)mSendType; int sendType = (int)mSendType;
var sendTypeList = StringHelper.StringToListInt(mpcModel?.SendType ?? ""); var sendTypeList = StringHelper.StringToListInt(mpcModel?.SendType ?? "");
//LogHelper.WriteInfo("我是发送企业微信消息1:[sendType]:"+ sendType + "[WeChatBotWebhookUrl]" + (mpcModel?.WeChatBotWebhookUrl ?? "")+ "[WeChatBotEnabled]:" + (mpcModel?.WeChatBotEnabled ?? 0));
if (!string.IsNullOrWhiteSpace(mpcModel?.WeChatBotWebhookUrl ?? "") && sendTypeList != null && (sendTypeList.Any(x => x == sendType)) && (mpcModel?.WeChatBotEnabled ?? 0) == 1) if (!string.IsNullOrWhiteSpace(mpcModel?.WeChatBotWebhookUrl ?? "") && sendTypeList != null && (sendTypeList.Any(x => x == sendType)) && (mpcModel?.WeChatBotEnabled ?? 0) == 1)
{//新增订单,推送消息 {//新增订单,推送消息
//LogHelper.WriteInfo("我是发送企业微信消息2");
try try
{ {
Common.Plugin.QYWorkHelper.BalancePaymentMessagePush(dic, mpcModel?.WeChatBotWebhookUrl); Common.Plugin.QYWorkHelper.BalancePaymentMessagePush(dic, mpcModel?.WeChatBotWebhookUrl);
......
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" /> <assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.14.0" newVersion="8.0.14.0" /> <bindingRedirect oldVersion="0.0.0.0-6.9.12.0" newVersion="6.9.12.0" />
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
...@@ -109,4 +109,9 @@ ...@@ -109,4 +109,9 @@
</providers> </providers>
</roleManager> </roleManager>
</system.web> </system.web>
</configuration> <system.data>
\ No newline at end of file <DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.12.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data></configuration>
\ No newline at end of file
...@@ -36,6 +36,9 @@ ...@@ -36,6 +36,9 @@
<Reference Include="log4net, Version=2.0.9.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL"> <Reference Include="log4net, Version=2.0.9.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<HintPath>..\packages\log4net.2.0.10\lib\net45\log4net.dll</HintPath> <HintPath>..\packages\log4net.2.0.10\lib\net45\log4net.dll</HintPath>
</Reference> </Reference>
<Reference Include="MySql.Data, Version=6.9.12.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<HintPath>..\packages\MySql.Data.6.9.12\lib\net45\MySql.Data.dll</HintPath>
</Reference>
<Reference Include="SuperSocket.Common, Version=1.6.6.1, Culture=neutral, PublicKeyToken=6c80000676988ebb, processorArchitecture=MSIL"> <Reference Include="SuperSocket.Common, Version=1.6.6.1, Culture=neutral, PublicKeyToken=6c80000676988ebb, processorArchitecture=MSIL">
<HintPath>..\packages\SuperSocket.1.6.6.1\lib\net45\SuperSocket.Common.dll</HintPath> <HintPath>..\packages\SuperSocket.1.6.6.1\lib\net45\SuperSocket.Common.dll</HintPath>
</Reference> </Reference>
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="log4net" version="2.0.10" targetFramework="net461" /> <package id="log4net" version="2.0.10" targetFramework="net461" />
<package id="MySql.Data" version="6.9.12" targetFramework="net461" />
<package id="SuperSocket" version="1.6.6.1" targetFramework="net461" /> <package id="SuperSocket" version="1.6.6.1" targetFramework="net461" />
<package id="SuperSocket.Engine" version="1.6.6.1" targetFramework="net461" /> <package id="SuperSocket.Engine" version="1.6.6.1" targetFramework="net461" />
</packages> </packages>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment