|
@@ -786,6 +786,8 @@ public class OrderController : BaseController
|
|
|
d => d.VisitState == EVisitState.WaitForVisit ||
|
|
|
d.VisitState == EVisitState.NoSatisfiedWaitForVisit)
|
|
|
.WhereIF(dto.VisitState == EVisitStateQuery.Visited, d => d.VisitState == EVisitState.Visited)
|
|
|
+ .WhereIF(dto.VisitState == EVisitStateQuery.SMSUnsatisfied, m => m.VisitState == EVisitState.SMSUnsatisfied)
|
|
|
+ .WhereIF(dto.VisitState == EVisitStateQuery.SMSVisiting, m => m.VisitState == EVisitState.SMSVisiting)
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Order.Title.StartsWith(dto.Keyword!))
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.No), d => d.No == dto.No)
|
|
|
.WhereIF(dto.VisitType != null, x => x.VisitType == dto.VisitType)
|
|
@@ -798,11 +800,46 @@ public class OrderController : BaseController
|
|
|
.WhereIF(dto.IsProvince != null && dto.IsProvince == true, d => d.Order.IsProvince == true)
|
|
|
.WhereIF(dto.IsProvince != null && dto.IsProvince == false, d => d.Order.IsProvince == false)
|
|
|
.WhereIF(dto.IsEffectiveAiVisit != null, d => d.IsEffectiveAiVisit == dto.IsEffectiveAiVisit)
|
|
|
+ .WhereIF(dto.FromPhone.NotNullOrEmpty(), m => m.Order.FromPhone == dto.FromPhone)
|
|
|
+ .WhereIF(dto.Contact.NotNullOrEmpty(), m => m.Order.Contact == dto.Contact)
|
|
|
.OrderByDescending(x => x.PublishTime)
|
|
|
.ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
return new PagedDto<OrderVisitDto>(total, _mapper.Map<IReadOnlyList<OrderVisitDto>>(items));
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 发送 回访短信
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost("visit/sms")]
|
|
|
+ public async Task<bool> VisitSmsPushAsync([FromBody]List<string> visitIds)
|
|
|
+ {
|
|
|
+ var phoneNumbers = await _orderVisitRepository.Queryable()
|
|
|
+ .Includes(d => d.Order)
|
|
|
+ .Where(d => visitIds.Contains(d.Id))
|
|
|
+ .Select(d => new { d.Id, d.Order.Contact, d.OrderId })
|
|
|
+ .ToListAsync(HttpContext.RequestAborted);
|
|
|
+
|
|
|
+ foreach (var item in phoneNumbers)
|
|
|
+ {
|
|
|
+ var messageDto = new Share.Dtos.Push.MessageDto
|
|
|
+ {
|
|
|
+ PushBusiness = EPushBusiness.OrderAccept,
|
|
|
+ ExternalId = item.Id,
|
|
|
+ OrderId = item.OrderId,
|
|
|
+ PushPlatform = EPushPlatform.Sms,
|
|
|
+ //Content =
|
|
|
+ // $"温馨提示:您的来电已受理(流水号:{order.No};提取码:{order.Password},可通过网站(http://hotline.12345lm.cn)进行查询,谢谢。【宜宾12345热线平台】)",
|
|
|
+ Remark = order.Title,
|
|
|
+ Name = order.FromName,
|
|
|
+ TemplateCode = "1005",
|
|
|
+ Params = new List<string>() { order.No, order.Password },
|
|
|
+ TelNumber = order.Contact,
|
|
|
+ };
|
|
|
+ await _mediator.Publish(new PushMessageNotify(messageDto), HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 回访查询基础数据
|
|
|
/// </summary>
|