|
@@ -4,8 +4,10 @@ using Hotline.Article;
|
|
|
using Hotline.Caching.Interfaces;
|
|
|
using Hotline.Orders;
|
|
|
using Hotline.Push.Notifies;
|
|
|
+using Hotline.Repository.SqlSugar.Extensions;
|
|
|
using Hotline.Settings;
|
|
|
using Hotline.Settings.Hotspots;
|
|
|
+using Hotline.Share.Dtos;
|
|
|
using Hotline.Share.Dtos.DataSharing.PusherHotlineDto;
|
|
|
using Hotline.Share.Dtos.Order;
|
|
|
using Hotline.Share.Dtos.WebPortal;
|
|
@@ -42,6 +44,7 @@ namespace Hotline.Api.Controllers
|
|
|
private readonly ISessionContext _sessionContext;
|
|
|
private readonly IRepository<OrderVisitDetail> _orderVisitDetailRepository;
|
|
|
private readonly IBulletinApplication _bulletinApplication;
|
|
|
+ private readonly IRepository<OldPublicData> _oldPublicDataRepository;
|
|
|
|
|
|
public WebPortalController(IMapper mapper,
|
|
|
IMediator mediator,
|
|
@@ -58,7 +61,8 @@ namespace Hotline.Api.Controllers
|
|
|
IOrderApplication orderApplication,
|
|
|
ISessionContext sessionContext,
|
|
|
IRepository<OrderVisitDetail> orderVisitDetailRepository,
|
|
|
- IBulletinApplication bulletinApplication
|
|
|
+ IBulletinApplication bulletinApplication,
|
|
|
+ IRepository<OldPublicData> oldPublicDataRepository
|
|
|
)
|
|
|
{
|
|
|
_mapper = mapper;
|
|
@@ -77,6 +81,7 @@ namespace Hotline.Api.Controllers
|
|
|
_sessionContext = sessionContext;
|
|
|
_orderVisitDetailRepository = orderVisitDetailRepository;
|
|
|
_bulletinApplication = bulletinApplication;
|
|
|
+ _oldPublicDataRepository = oldPublicDataRepository;
|
|
|
}
|
|
|
|
|
|
#region 通知
|
|
@@ -595,6 +600,79 @@ namespace Hotline.Api.Controllers
|
|
|
return OpenResponse.Ok(WebPortalDeResponse<OrderListReturnDto>.Success(returnDto, "成功"));
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 查询工单发布后公开的数据
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost("get_order_list_publish_all")]
|
|
|
+ [AllowAnonymous]
|
|
|
+ public async Task<OpenResponse> GetOrderByListAllOpen([FromBody] QueryOrderListDto dto)
|
|
|
+ {
|
|
|
+ var queryNew = _orderPublishRepository.Queryable()
|
|
|
+ .Includes(d => d.Order)
|
|
|
+ .Where(d => d.PublishState == true && d.Order.Id != null)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.FlowCode), d => d.Order.No == dto.FlowCode)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.FlowName), d => d.Order.Title.Contains(dto.FlowName))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.FlowSType), d => d.Order.AcceptTypeCode == dto.FlowSType)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.FlowRType), d => d.Order.HotspotId == dto.FlowRType)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.FlowSDate), d => d.Order.StartTime >= DateTime.Parse(DateTime.Parse(dto.FlowSDate).ToString("yyyy-MM-dd 00:00:00")))//dto.FlowSDate
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.FlowEDate), d => d.Order.StartTime <= DateTime.Parse(DateTime.Parse(dto.FlowEDate).ToString("yyyy-MM-dd 00:00:00")))// dto.FlowEDate
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.FlowFrom), d => d.Order.FromName.Contains(dto.FlowFrom))
|
|
|
+ .OrderByDescending(p => p.CreationTime)
|
|
|
+ .Select(p => new OrderListDto
|
|
|
+ {
|
|
|
+ FlowID = p.Order.Id,
|
|
|
+ FlowCode = p.No,
|
|
|
+ FlowPwd = p.Order.Password,
|
|
|
+ FlowTitle = p.Order.Title,
|
|
|
+ FlowFromName = p.Order.SourceChannel,
|
|
|
+ FlowPurTypeName = p.Order.AcceptType,
|
|
|
+ ConTypeName = p.Order.HotspotName,
|
|
|
+ FlowAddDate = p.Order.CreationTime,
|
|
|
+ PubDate = p.CreationTime,
|
|
|
+ RSFlagName = p.Order.Status >= EOrderStatus.Filed ? "办理完成" : "办理中"
|
|
|
+ });
|
|
|
+
|
|
|
+ var queryold = _oldPublicDataRepository.Queryable()
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.FlowCode), p => p.OrderNo == dto.FlowCode)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.FlowName), p => p.Title.Contains(dto.FlowName))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.FlowSType), p => p.AcceptTypeCode == dto.FlowSType)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.FlowRType), d => d.HotspotId == dto.FlowRType)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.FlowSDate), d => d.AcceptTime >= DateTime.Parse(DateTime.Parse(dto.FlowSDate).ToString("yyyy-MM-dd 00:00:00")))//dto.FlowSDate
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.FlowEDate), d => d.AcceptTime <= DateTime.Parse(DateTime.Parse(dto.FlowEDate).ToString("yyyy-MM-dd 00:00:00")))// dto.FlowEDate
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.FlowFrom), d => d.FromName.Contains(dto.FlowFrom))
|
|
|
+ .OrderByDescending(p => p.PubDate)
|
|
|
+ .Select(p => new OrderListDto
|
|
|
+ {
|
|
|
+ FlowID = p.OrderId,
|
|
|
+ FlowCode = p.OrderNo,
|
|
|
+ FlowPwd = p.OrderPwd,
|
|
|
+ FlowTitle = p.Title,
|
|
|
+ FlowFromName = p.SourceChannel,
|
|
|
+ FlowPurTypeName = p.AcceptType,
|
|
|
+ ConTypeName = p.HotspotName,
|
|
|
+ FlowAddDate = p.CreationTime,
|
|
|
+ PubDate = p.CreationTime,
|
|
|
+ RSFlagName = p.State == "1" ? "办理完成" : "办理中"
|
|
|
+ });
|
|
|
+
|
|
|
+ var (total, items) = await _orderRepository.UnionAll(queryNew, queryold)
|
|
|
+ .OrderByDescending(p => p.PubDate)
|
|
|
+ .ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
+
|
|
|
+ //计算总页数
|
|
|
+ int nPageCount = Convert.ToInt32(Math.Ceiling(Convert.ToDouble(total) / dto.PageSize));
|
|
|
+ OrderListReturnDto returnDto = new()
|
|
|
+ {
|
|
|
+ PageNum = dto.PageIndex,
|
|
|
+ PageCount = nPageCount,
|
|
|
+ Data = _mapper.Map<IReadOnlyList<OrderListDto>>(items)
|
|
|
+ };
|
|
|
+
|
|
|
+ return OpenResponse.Ok(WebPortalDeResponse<OrderListReturnDto>.Success(returnDto, "成功"));
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 办件摘编详情
|
|
|
/// </summary>
|