|
@@ -16,6 +16,7 @@ using Hotline.Share.Enums.Article;
|
|
|
using Hotline.Share.Enums.FlowEngine;
|
|
|
using Hotline.Share.Enums.Order;
|
|
|
using Hotline.Share.Enums.Push;
|
|
|
+using Hotline.WebPortal;
|
|
|
using MapsterMapper;
|
|
|
using MediatR;
|
|
|
using Microsoft.AspNetCore.Authorization;
|
|
@@ -40,6 +41,7 @@ namespace Hotline.Api.Controllers
|
|
|
private readonly IRepository<WorkflowTrace> _workflowTraceRepository;
|
|
|
private readonly IRepository<Hotspot> _hotspotTypeRepository;
|
|
|
private readonly IMediator _mediator;
|
|
|
+ private readonly IRepository<OldPublicData> _oldPublicDataRepository;
|
|
|
|
|
|
/// <summary>
|
|
|
///
|
|
@@ -52,6 +54,7 @@ namespace Hotline.Api.Controllers
|
|
|
/// <param name="workflowTraceRepository"></param>
|
|
|
/// <param name="hotspotTypeRepository"></param>
|
|
|
/// <param name="mediator"></param>
|
|
|
+ /// <param name="oldPublicDataRepository"></param>
|
|
|
public DataSharingController(IMapper mapper,
|
|
|
IOrderRepository orderRepository,
|
|
|
IRepository<Bulletin> bulletinRepository,
|
|
@@ -59,7 +62,8 @@ namespace Hotline.Api.Controllers
|
|
|
ISystemDicDataCacheManager sysDicDataCacheManager,
|
|
|
IRepository<WorkflowTrace> workflowTraceRepository,
|
|
|
IRepository<Hotspot> hotspotTypeRepository,
|
|
|
- IMediator mediator)
|
|
|
+ IMediator mediator,
|
|
|
+ IRepository<OldPublicData> oldPublicDataRepository)
|
|
|
{
|
|
|
_mapper = mapper;
|
|
|
_orderRepository = orderRepository;
|
|
@@ -69,6 +73,7 @@ namespace Hotline.Api.Controllers
|
|
|
_workflowTraceRepository = workflowTraceRepository;
|
|
|
_hotspotTypeRepository = hotspotTypeRepository;
|
|
|
_mediator = mediator;
|
|
|
+ _oldPublicDataRepository = oldPublicDataRepository;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -193,6 +198,80 @@ namespace Hotline.Api.Controllers
|
|
|
return new PagedDto<PublishDto>(total, _mapper.Map<IReadOnlyList<PublishDto>>(items));
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 查询工单发布后公开的数据
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost("get_order_list_publish_all")]
|
|
|
+ [AllowAnonymous]
|
|
|
+ public async Task<PagedDto<PublishOrderAllDto>> GetOrderByListAllOpen([FromBody] GetOrderList dto)
|
|
|
+ {
|
|
|
+ var queryNew = _orderRepository.Queryable()
|
|
|
+ .Where(p => p.IsPublicity == true)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.No), p => p.No == dto.No)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Title), p => p.Title.Contains(dto.Title))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Mobile), p => p.Contact.Contains(dto.Mobile))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.AcceptTypeCode), p => p.AcceptTypeCode == dto.AcceptTypeCode)
|
|
|
+ .WhereIF(dto.StartTime.HasValue, p => p.CreationTime >= dto.StartTime)
|
|
|
+ .WhereIF(dto.EndTime.HasValue, p => p.CreationTime < dto.EndTime)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.AreaCode), p => p.AreaCode == dto.AreaCode)
|
|
|
+ .OrderByDescending(p => p.CreationTime)
|
|
|
+ .Select(p => new PublishOrderAllDto
|
|
|
+ {
|
|
|
+ OrderId = p.Id,
|
|
|
+ FromName = p.FromName,
|
|
|
+ Contact = p.Contact,
|
|
|
+ OrderNo = p.No,
|
|
|
+ Title = p.Title,
|
|
|
+ SourceChannel = p.SourceChannel,
|
|
|
+ SourceChannelCode = p.SourceChannelCode,
|
|
|
+ AcceptType = p.AcceptType,
|
|
|
+ AcceptTypeCode = p.AcceptTypeCode,
|
|
|
+ HotspotName = p.HotspotName,
|
|
|
+ Content = p.Content,
|
|
|
+ State = p.Status >= EOrderStatus.Filed ? "办理完成" : "办理中",
|
|
|
+ ActualOpinion = p.ActualOpinion,
|
|
|
+ AcceptTime = p.CreationTime,
|
|
|
+ PubDate = p.OrderPublish.CreationTime,
|
|
|
+ FiledTime = p.FiledTime
|
|
|
+ });
|
|
|
+
|
|
|
+ var queryold = _oldPublicDataRepository.Queryable()
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.No), p => p.OrderNo == dto.No)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Title), p => p.Title.Contains(dto.Title))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Mobile), p => p.Contact.Contains(dto.Mobile))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.AcceptTypeCode), p => p.AcceptTypeCode == dto.AcceptTypeCode)
|
|
|
+ .WhereIF(dto.StartTime.HasValue, p => p.PubDate >= dto.StartTime)
|
|
|
+ .WhereIF(dto.EndTime.HasValue, p => p.PubDate < dto.EndTime)
|
|
|
+ .OrderByDescending(p => p.PubDate)
|
|
|
+ .Select(p => new PublishOrderAllDto
|
|
|
+ {
|
|
|
+ OrderId = p.OrderId,
|
|
|
+ FromName = p.FromName,
|
|
|
+ Contact = p.Contact,
|
|
|
+ OrderNo = p.OrderNo,
|
|
|
+ Title = p.Title,
|
|
|
+ SourceChannel = p.SourceChannel,
|
|
|
+ SourceChannelCode = p.SourceChannelCode,
|
|
|
+ AcceptType = p.AcceptType,
|
|
|
+ AcceptTypeCode = p.AcceptTypeCode,
|
|
|
+ HotspotName = p.HotspotName,
|
|
|
+ Content = p.Content,
|
|
|
+ State = p.State == "1" ? "办理完成" : "办理中",
|
|
|
+ ActualOpinion = p.ActualOpinion,
|
|
|
+ AcceptTime = p.CreationTime,
|
|
|
+ PubDate = p.PubDate,
|
|
|
+ FiledTime = p.FiledTime
|
|
|
+ });
|
|
|
+
|
|
|
+ var (total, items) = await _orderRepository.UnionAll(queryNew, queryold)
|
|
|
+ .OrderByDescending(p => p.PubDate)
|
|
|
+ .ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
+
|
|
|
+ return new PagedDto<PublishOrderAllDto>(total, items);
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 根据工单编号和密码查询流程
|
|
|
/// </summary>
|
|
@@ -379,7 +458,7 @@ namespace Hotline.Api.Controllers
|
|
|
if (dto.SendType == "2")
|
|
|
{
|
|
|
messageDto.TemplateCode = "1011";
|
|
|
- messageDto.PushBusiness= EPushBusiness.OrderExpire;
|
|
|
+ messageDto.PushBusiness = EPushBusiness.OrderExpire;
|
|
|
}
|
|
|
|
|
|
await _mediator.Publish(new PushMessageNotify(messageDto), HttpContext.RequestAborted);
|