|
|
|
@ -252,22 +252,42 @@ namespace EntrustSettle.Api.Controllers
|
|
|
|
|
// 更新订单状态
|
|
|
|
|
bool isUpdate = false;
|
|
|
|
|
var orderUpdateable = orderService.AsUpdateable();
|
|
|
|
|
if (input.status != null && input.status != order.Status)
|
|
|
|
|
|
|
|
|
|
// 海运达正式环境上线后才提出:只有已接单和已完结两种状态,所以这里做了映射
|
|
|
|
|
if (input.status is 0 or 1 && input.status != order.Status)
|
|
|
|
|
{
|
|
|
|
|
isUpdate = true;
|
|
|
|
|
order.Status = input.status;
|
|
|
|
|
orderUpdateable.SetColumns(x => x.Status == input.status);
|
|
|
|
|
orderUpdateable.SetColumns(x => x.Status == order.Status);
|
|
|
|
|
|
|
|
|
|
// 记录订单状态变更历史
|
|
|
|
|
await orderHistoryService.Add(new OrderHistory()
|
|
|
|
|
{
|
|
|
|
|
Pid = order.Id,
|
|
|
|
|
Status = (int)order.Status,
|
|
|
|
|
StatusTime = DateTime.Now,
|
|
|
|
|
CreateBy = "系统",
|
|
|
|
|
Remark = "(状态接收)"
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
else if (input.status == 4 && order.Status != 2)
|
|
|
|
|
{
|
|
|
|
|
isUpdate = true;
|
|
|
|
|
order.Status = 2;
|
|
|
|
|
orderUpdateable.SetColumns(x => x.Status == 2);
|
|
|
|
|
|
|
|
|
|
// 记录订单状态变更历史
|
|
|
|
|
await orderHistoryService.Add(new OrderHistory()
|
|
|
|
|
{
|
|
|
|
|
Pid = order.Id,
|
|
|
|
|
Status = (int)input.status,
|
|
|
|
|
Status = 2,
|
|
|
|
|
StatusTime = DateTime.Now,
|
|
|
|
|
CreateBy = "系统",
|
|
|
|
|
Remark = "(状态接收)"
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (isHasBill)
|
|
|
|
|
{
|
|
|
|
|
isUpdate = true;
|
|
|
|
@ -293,7 +313,7 @@ namespace EntrustSettle.Api.Controllers
|
|
|
|
|
MessageDesc = "状态更新推送",
|
|
|
|
|
Remark = "",
|
|
|
|
|
Status = order.Status ?? 0,
|
|
|
|
|
StatusDesc = input.status switch
|
|
|
|
|
StatusDesc = order.Status switch
|
|
|
|
|
{
|
|
|
|
|
0 => "已下单",
|
|
|
|
|
1 => "已接单",
|
|
|
|
@ -481,6 +501,7 @@ namespace EntrustSettle.Api.Controllers
|
|
|
|
|
// 更新订单状态
|
|
|
|
|
await orderService.AsUpdateable()
|
|
|
|
|
.SetColumns(x => x.IsApplyInvoice == false)
|
|
|
|
|
.SetColumns(x => x.Status == 4) // 2024.6.18 上线后提出需求:收到海运达发票后,订单状态改为已完结
|
|
|
|
|
.Where(x => waitSendOrderIdList.Contains(x.Id))
|
|
|
|
|
.ExecuteCommandAsync();
|
|
|
|
|
|
|
|
|
@ -493,9 +514,10 @@ namespace EntrustSettle.Api.Controllers
|
|
|
|
|
x.CompanyId,
|
|
|
|
|
x.MailBillNo,
|
|
|
|
|
x.MailFlag,
|
|
|
|
|
x.Status,
|
|
|
|
|
}).ToListAsync();
|
|
|
|
|
|
|
|
|
|
var logTitle = $"Id列表:[{string.Join(',', orderInfoList.Select(x => x.Id))}],提单号列表:[{string.Join(',', orderInfoList.Select(x => x.Mblno))}],将每一票所有的发票推送队列";
|
|
|
|
|
var logTitle = $"Id列表:[{string.Join(',', orderInfoList.Select(x => x.Id))}],提单号列表:[{string.Join(',', orderInfoList.Select(x => x.Mblno))}],将每一票所有的发票及已完结状态推送队列";
|
|
|
|
|
logger.LogInformation(logTitle);
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
@ -512,7 +534,8 @@ namespace EntrustSettle.Api.Controllers
|
|
|
|
|
|
|
|
|
|
var logItemTitle = $"Id:[{item.Id}],提单号:[{item.Mblno}],附件Id列表:[({string.Join(',', invoiceAnnexIdList)})]开始推送队列";
|
|
|
|
|
|
|
|
|
|
BillPushDto pushDto = new()
|
|
|
|
|
// 推送发票
|
|
|
|
|
BillPushDto pushDto1 = new()
|
|
|
|
|
{
|
|
|
|
|
MessageType = 3,
|
|
|
|
|
MessageDesc = "发票附件信息推送",
|
|
|
|
@ -523,11 +546,58 @@ namespace EntrustSettle.Api.Controllers
|
|
|
|
|
MailBillNo = item.MailBillNo,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var json = JsonConvert.SerializeObject(pushDto, Formatting.Indented, new JsonSerializerSettings()
|
|
|
|
|
var json1 = JsonConvert.SerializeObject(pushDto1, Formatting.Indented, new JsonSerializerSettings()
|
|
|
|
|
{
|
|
|
|
|
NullValueHandling = NullValueHandling.Ignore
|
|
|
|
|
});
|
|
|
|
|
queueService.Push(logItemTitle, orderInfoList.FirstOrDefault().CompanyId, json);
|
|
|
|
|
queueService.Push(logItemTitle, item.CompanyId, json1);
|
|
|
|
|
|
|
|
|
|
// 推送状态
|
|
|
|
|
StatusPushDto pushDto2 = new()
|
|
|
|
|
{
|
|
|
|
|
OrderId = item.Id,
|
|
|
|
|
Mblno = item.Mblno,
|
|
|
|
|
MessageType = 1,
|
|
|
|
|
MessageDesc = "状态更新推送",
|
|
|
|
|
Remark = "",
|
|
|
|
|
Status = item.Status ?? 0,
|
|
|
|
|
StatusDesc = item.Status switch
|
|
|
|
|
{
|
|
|
|
|
0 => "已下单",
|
|
|
|
|
1 => "已接单",
|
|
|
|
|
2 => "待缴费",
|
|
|
|
|
3 => "已缴费",
|
|
|
|
|
4 => "已完结",
|
|
|
|
|
_ => "未知状态",
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
var feeList = orderFeeService.AsQueryable().Where(x => x.OrderId == item.Id).ToList();
|
|
|
|
|
if (feeList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
pushDto2.FeeList = feeList.Select(x => new StatusPushDto.FeeDto()
|
|
|
|
|
{
|
|
|
|
|
FeeId = x.Id,
|
|
|
|
|
FeeName = x.Name,
|
|
|
|
|
FeeAmount = x.Amount
|
|
|
|
|
}).ToList();
|
|
|
|
|
}
|
|
|
|
|
var annexList = orderAnnexService.AsQueryable()
|
|
|
|
|
.LeftJoin<Annex>((o, a) => o.AnnexId == a.Id)
|
|
|
|
|
.Where((o, a) => o.OrderId == item.Id && a.Type == 5)
|
|
|
|
|
.Select((o, a) => a)
|
|
|
|
|
.ToList();
|
|
|
|
|
if (annexList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
pushDto2.FeebackAnnexList = annexList.Select(x => new StatusPushDto.FeebackAnnex()
|
|
|
|
|
{
|
|
|
|
|
Id = x.Id,
|
|
|
|
|
BusinessTime = x.BusinessTime,
|
|
|
|
|
FileName = x.Name,
|
|
|
|
|
Remark = x.Remark
|
|
|
|
|
}).ToList();
|
|
|
|
|
}
|
|
|
|
|
var json2 = JsonConvert.SerializeObject(pushDto2, Formatting.Indented, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore });
|
|
|
|
|
queueService.Push(logTitle, item.CompanyId, json2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|