Prechádzať zdrojové kódy

新增补发集合接口

qinchaoyue 3 mesiacov pred
rodič
commit
55cc0cc7ca

+ 1 - 1
src/Hotline.Api/Controllers/Snapshot/RedPackController.cs

@@ -130,7 +130,7 @@ public class RedPackController : BaseController
     /// </summary>
     [HttpGet("record/supplement")]
     public async Task<PagedDto<SnapshotRedPackRecordSupplementItemsOutDto>> GetRedPackRecordSupplementItemsAsync([FromQuery] SnapshotRedPackRecordSupplementItemsInDto dto)
-        => await _redPackApplication.GetRedPackRecordSupplementItemsAsync(dto);
+        => (await _redPackApplication.GetRedPackRecordSupplementItemsAsync(dto).ToPagedListAsync(dto)).ToPaged();
 
     /// <summary>
     /// 红包审核通过或拒绝

+ 1 - 1
src/Hotline.Application/Snapshot/IRedPackApplication.cs

@@ -84,7 +84,7 @@ public interface IRedPackApplication
     /// <param name="dto"></param>
     /// <returns></returns>
     ISugarQueryable<SnapshotRedPackRecordItemsOutDto> GetRedPackRecordItemsAsync(SnapshotRedPackRecordItemsInDto dto);
-    Task<PagedDto<SnapshotRedPackRecordSupplementItemsOutDto>> GetRedPackRecordSupplementItemsAsync(SnapshotRedPackRecordSupplementItemsInDto dto);
+    ISugarQueryable<SnapshotRedPackRecordSupplementItemsOutDto> GetRedPackRecordSupplementItemsAsync(SnapshotRedPackRecordSupplementItemsInDto dto);
 
     /// <summary>
     /// 审核添加备注

+ 13 - 4
src/Hotline.Application/Snapshot/RedPackApplication.cs

@@ -402,13 +402,14 @@ public class RedPackApplication : IRedPackApplication, IScopeDependency
         var entity = dto.Adapt<SupplementRecord>();
         var industryName = await _orderSnapshotRepository.Queryable()
             .Where(m => m.Id == record.OrderId)
-            .Select(m => m.IndustryName)
+            .Select(m => new { m.IndustryName, m.IndustryId })
             .FirstAsync();
         entity.OrderId = record.OrderId;
         entity.RedPackRecordId = record.Id;
         entity.RedPackAuditId = audit.Id;
         entity.No = record.No;
-        entity.IndustryName = industryName;
+        entity.IndustryName = industryName.IndustryName;
+        entity.IndustryId = industryName.IndustryId;
         await _supplementRecordRepository.AddAsync(entity);
 
         if (dto.IsSendSMS)
@@ -506,9 +507,17 @@ public class RedPackApplication : IRedPackApplication, IScopeDependency
         return query;
     }
 
-    public Task<PagedDto<SnapshotRedPackRecordSupplementItemsOutDto>> GetRedPackRecordSupplementItemsAsync(SnapshotRedPackRecordSupplementItemsInDto dto)
+    public ISugarQueryable<SnapshotRedPackRecordSupplementItemsOutDto> GetRedPackRecordSupplementItemsAsync(SnapshotRedPackRecordSupplementItemsInDto dto)
     {
-        throw new NotImplementedException();
+        var query = _supplementRecordRepository.Queryable()
+            .LeftJoin<Order>((supp, order) => supp.OrderId == order.Id)
+            .WhereIF(dto.No.NotNullOrEmpty(), (supp, order) => order.No.Contains(dto.No))
+            .WhereIF(dto.FromPhone.NotNullOrEmpty(), (supp, order) => order.FromPhone.Contains(dto.FromPhone))
+            .WhereIF(dto.Title.NotNullOrEmpty(), (supp, order) => order.Title.Contains(dto.Title))
+            .WhereIF(dto.IndustryId.NotNullOrEmpty(), (supp, order) => supp.IndustryId == dto.IndustryId)
+            .WhereIF(dto.BeginCreationTime.HasValue && dto.EndCreationTime.HasValue, (supp, order) => supp.CreationTime >= dto.BeginCreationTime && supp.CreationTime <= dto.EndCreationTime)
+            .Select<SnapshotRedPackRecordSupplementItemsOutDto>();
+        return query;
     }
 
 

+ 32 - 1
src/Hotline.Share/Dtos/Snapshot/RedPackDto.cs

@@ -239,4 +239,35 @@ public class SnapshotRedPackRecordSupplementItemsOutDto
     public string Remark { get; set; }
 }
 
-public record SnapshotRedPackRecordSupplementItemsInDto : PagedRequest;
+public record SnapshotRedPackRecordSupplementItemsInDto : PagedRequest
+{
+    /// <summary>
+    /// 受理编号
+    /// </summary>
+    public string? No { get; set; }
+
+    /// <summary>
+    /// 标题
+    /// </summary>
+    public string? Title { get; set; }
+
+    /// <summary>
+    /// 来电人电话
+    /// </summary>
+    public string? FromPhone { get; set; }
+
+    /// <summary>
+    /// 发送时间
+    /// </summary>
+    public DateTime? BeginCreationTime { get; set; }
+
+    /// <summary>
+    /// 发送时间
+    /// </summary>
+    public DateTime? EndCreationTime { get; set; }
+
+    /// <summary>
+    /// 行业类型
+    /// </summary>
+    public string? IndustryId { get; set; }
+}

+ 6 - 0
src/Hotline/Snapshot/SupplementRecord.cs

@@ -45,6 +45,12 @@ public class SupplementRecord : FullStateEntity
     [SugarColumn(ColumnDescription = "行业名称")]
     public string IndustryName { get; set; }
 
+    /// <summary>
+    /// 行业Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "行业Id")]
+    public string? IndustryId { get; set; }
+
     /// <summary>
     /// 补充发放金额
     /// </summary>