瀏覽代碼

Merge branch 'feature/snapshot' into dev

qinchaoyue 4 月之前
父節點
當前提交
97b58acc93

+ 2 - 2
src/Hotline.Application.Tests/Application/RedPackApplicationTest.cs

@@ -39,7 +39,7 @@ public class RedPackApplicationTest : TestBase
     [Fact]
     public async Task AuditRedPackAudit_Test()
     {
-        var items = await _redPackApplication.GetRedPackAuditItemsAsync(new SnapshotOrderAuditItemsInDto(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, ERedPackAuditStatus.Pending)).ToListAsync();
+        var items = await _redPackApplication.GetRedPackAuditItemsAsync(new SnapshotOrderAuditItemsInDto(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 0)).ToListAsync();
         var audit = items.First();
         var smsTemplate = await _redPackApplication.GetRedPackAuditSMSTemplateAsync(new GetRedPackAuditSMSTemplateInDto(audit.OrderId, ERedPackAuditStatus.Agree));
         var inDto = new UpdateRedPackAuditInDto
@@ -51,7 +51,7 @@ public class RedPackApplicationTest : TestBase
             RedPackAuditId = audit.Id,
         };
         await _redPackApplication.AuditRedPackAuditAsync(inDto);
-        items = await _redPackApplication.GetRedPackAuditItemsAsync(new SnapshotOrderAuditItemsInDto(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, ERedPackAuditStatus.Agree)).ToListAsync();
+        items = await _redPackApplication.GetRedPackAuditItemsAsync(new SnapshotOrderAuditItemsInDto(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1)).ToListAsync();
         items.Any(m => m.Id == audit.Id).ShouldBeTrue();
 
         var record = await _redPackRecordRepository.Queryable()

+ 7 - 1
src/Hotline.Application/Snapshot/RedPackApplication.cs

@@ -108,6 +108,12 @@ public class RedPackApplication : IRedPackApplication, IScopeDependency
 
     public ISugarQueryable<SnapshotOrderAuditItemsOutDto> GetRedPackAuditItemsAsync(SnapshotOrderAuditItemsInDto dto)
     {
+        ERedPackAuditStatus? status = null;
+        if (dto.Status != -1 && Enum.TryParse<ERedPackAuditStatus>(dto.Status.ToString(), out var statusParse))
+        {
+            status = statusParse;
+        }
+
         var query = _redPackAuditRepository.Queryable(includeDeleted: true)
             .LeftJoin<Order>((redPackAudit, order) => redPackAudit.OrderId == order.Id)
             .LeftJoin<OrderSnapshot>((redPackAudit, order, snapshot) => redPackAudit.OrderId == snapshot.Id)
@@ -129,7 +135,7 @@ public class RedPackApplication : IRedPackApplication, IScopeDependency
             .WhereIF(dto.AcutalAmount.HasValue, (redPackAudit, order, snapshot, record, industry) => redPackAudit.AcutalAmount == dto.AcutalAmount)
             .WhereIF(dto.ApprovedAmount.HasValue, (redPackAudit, order, snapshot, record, industry) => redPackAudit.ApprovedAmount == dto.ApprovedAmount)
             .WhereIF(dto.IsDanger.HasValue, (redPackAudit, order, snapshot, record, industry) => snapshot.IsDanger == dto.IsDanger)
-            .WhereIF(dto.Status.HasValue, (redPackAudit, order, snapshot, record, industry) => redPackAudit.Status == dto.Status)
+            .WhereIF(status.HasValue, (redPackAudit, order, snapshot, record, industry) => redPackAudit.Status == status)
             .Select((redPackAudit, order, snapshot, record, industry) => new SnapshotOrderAuditItemsOutDto
             {
                 Id = redPackAudit.Id,

+ 2 - 2
src/Hotline.Share/Dtos/Snapshot/OrderDto.cs

@@ -206,7 +206,7 @@ public class AddSnapshotOrderInDto : Position
 /// <param name="AcutalAmount">实际发放金额</param>
 /// <param name="ApprovedAmount">审批金额</param>
 /// <param name="IsDanger">是否安全生成</param>
-/// <param name="Status">审核状态</param>
+/// <param name="Status">审核状态: -1: 全部; 0: 待审批; 1: 同意; 2: 拒绝;</param>
 public record SnapshotOrderAuditItemsInDto(string? No, string? Title,
     string? FromPhone,
     DateTime? BeginCreationTime,
@@ -224,7 +224,7 @@ public record SnapshotOrderAuditItemsInDto(string? No, string? Title,
     double? AcutalAmount,
     double? ApprovedAmount,
     bool? IsDanger,
-    ERedPackAuditStatus? Status) : PagedRequest;
+    int? Status) : PagedRequest;
 
 public class SnapshotOrderAuditItemsOutDto
 {