|
@@ -12,12 +12,12 @@ public class OrderDomainService : IOrderDomainService, IScopeDependency
|
|
|
{
|
|
|
private const string OrderNoPrefix = "OrderNo:";
|
|
|
private readonly IOrderRepository _orderRepository;
|
|
|
- private readonly ITypedCache<int> _cacheOrderNo;
|
|
|
+ private readonly ITypedCache<CacheOrderNO> _cacheOrderNo;
|
|
|
private readonly ISessionContext _sessionContext;
|
|
|
|
|
|
public OrderDomainService(
|
|
|
IOrderRepository orderRepository,
|
|
|
- ITypedCache<int> cacheOrderNo,
|
|
|
+ ITypedCache<CacheOrderNO> cacheOrderNo,
|
|
|
ISessionContext sessionContext)
|
|
|
{
|
|
|
_orderRepository = orderRepository;
|
|
@@ -52,9 +52,9 @@ public class OrderDomainService : IOrderDomainService, IScopeDependency
|
|
|
/// <summary>
|
|
|
/// 工单办理(每个节点都会触发)
|
|
|
/// </summary>
|
|
|
- public async Task OrderManageAsync(EOrderStatus status, EFlowAssignType assignType,
|
|
|
+ public async Task OrderManageAsync(EOrderStatus status, EFlowAssignType assignType,
|
|
|
bool isCountersignEnd, bool isCountersignStart,
|
|
|
- string orderId, DateTime currentStepTime, string CurrentStepName,
|
|
|
+ string orderId, DateTime currentStepTime, string CurrentStepName,
|
|
|
IEnumerable<string> handlers,
|
|
|
CancellationToken cancellationToken)
|
|
|
{
|
|
@@ -87,17 +87,17 @@ public class OrderDomainService : IOrderDomainService, IScopeDependency
|
|
|
{
|
|
|
var today = DateTime.Today;
|
|
|
var cacheKey = $"{OrderNoPrefix}{today:yyyyMMdd}";
|
|
|
- var count = _cacheOrderNo.GetOrAdd(cacheKey, f =>
|
|
|
+ var cacheOrderNo = _cacheOrderNo.GetOrAdd(cacheKey, f =>
|
|
|
{
|
|
|
var todayOrderCount = _orderRepository.Queryable(true)
|
|
|
.CountAsync(d => d.CreationTime.Date == today.Date)
|
|
|
.GetAwaiter()
|
|
|
.GetResult();
|
|
|
- return todayOrderCount;
|
|
|
+ return new CacheOrderNO { TotalCount = todayOrderCount };
|
|
|
}, ExpireMode.Absolute, TimeSpan.FromDays(1));
|
|
|
- count += 1;
|
|
|
- var no = GenerateOrderNo(today, count);
|
|
|
- _cacheOrderNo.Update(cacheKey, d => count);
|
|
|
+ cacheOrderNo.TotalCount += 1;
|
|
|
+ var no = GenerateOrderNo(today, cacheOrderNo.TotalCount);
|
|
|
+ _cacheOrderNo.Update(cacheKey, d => cacheOrderNo);
|
|
|
return no;
|
|
|
}
|
|
|
|
|
@@ -108,3 +108,8 @@ public class OrderDomainService : IOrderDomainService, IScopeDependency
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
+
|
|
|
+public class CacheOrderNO
|
|
|
+{
|
|
|
+ public int TotalCount { get; set; }
|
|
|
+}
|