浏览代码

Merge branch 'feature/snapshot' into test

qinchaoyue 3 月之前
父节点
当前提交
434bb56691

+ 15 - 0
src/Hotline.Application.Tests/Application/RedPackApplicationTest.cs

@@ -51,6 +51,21 @@ public class RedPackApplicationTest : TestBase
             RedPackAuditId = audit.Id,
             RedPackAuditId = audit.Id,
         };
         };
         await _redPackApplication.AuditRedPackAuditAsync(inDto);
         await _redPackApplication.AuditRedPackAuditAsync(inDto);
+        var suInDto = new UpdateRedPackRecordInDto
+        {
+            RedPackAuditId = audit.Id,
+            Name = "单元测试Name",
+            BankCardNo = "单元测试银行号",
+            OpenBank = "单元测试开户行",
+            ReplenishAmount = 100.01,
+            ReplenishTime = DateTime.Now,
+            ReplenishRemark = "单元测试补发备注",
+            IsSendSMS = false,
+            ReplenishType = "%15",
+            ReplenishTypeId = "1",
+        };
+        await _redPackApplication.UpdateRedPackRecordAsync(suInDto);
+
         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 = 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();
         items.Any(m => m.Id == audit.Id).ShouldBeTrue();
 
 

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

@@ -28,8 +28,9 @@ public class RedPackApplication : IRedPackApplication, IScopeDependency
     private readonly ISessionContext _sessionContext;
     private readonly ISessionContext _sessionContext;
     private readonly IRedPackGuiderAuditRepository _redPackGuiderAuditRepository;
     private readonly IRedPackGuiderAuditRepository _redPackGuiderAuditRepository;
     private readonly IThirdAccountRepository _thirdAccountRepository;
     private readonly IThirdAccountRepository _thirdAccountRepository;
+    private readonly ISupplementRecordRepository _supplementRecordRepository;
 
 
-    public RedPackApplication(IOrderSnapshotRepository orderSnapshotRepository, ISnapshotSMSTemplateRepository snapshotSMSTemplateRepository, IOrderRepository orderRepository, IIndustryRepository industryRepository, IRedPackAuditRepository redPackAuditRepository, IRedPackRecordRepository redPackRecordRepository, IRepository<OrderSpecial> orderSpecialRepository, ISessionContext sessionContext, IRedPackGuiderAuditRepository redPackGuiderAuditRepository, IThirdAccountRepository thirdAccountRepository)
+    public RedPackApplication(IOrderSnapshotRepository orderSnapshotRepository, ISnapshotSMSTemplateRepository snapshotSMSTemplateRepository, IOrderRepository orderRepository, IIndustryRepository industryRepository, IRedPackAuditRepository redPackAuditRepository, IRedPackRecordRepository redPackRecordRepository, IRepository<OrderSpecial> orderSpecialRepository, ISessionContext sessionContext, IRedPackGuiderAuditRepository redPackGuiderAuditRepository, IThirdAccountRepository thirdAccountRepository, ISupplementRecordRepository supplementRecordRepository)
     {
     {
         _orderSnapshotRepository = orderSnapshotRepository;
         _orderSnapshotRepository = orderSnapshotRepository;
         _snapshotSMSTemplateRepository = snapshotSMSTemplateRepository;
         _snapshotSMSTemplateRepository = snapshotSMSTemplateRepository;
@@ -41,6 +42,7 @@ public class RedPackApplication : IRedPackApplication, IScopeDependency
         _sessionContext = sessionContext;
         _sessionContext = sessionContext;
         _redPackGuiderAuditRepository = redPackGuiderAuditRepository;
         _redPackGuiderAuditRepository = redPackGuiderAuditRepository;
         _thirdAccountRepository = thirdAccountRepository;
         _thirdAccountRepository = thirdAccountRepository;
+        _supplementRecordRepository = supplementRecordRepository;
     }
     }
 
 
     /// <summary>
     /// <summary>
@@ -394,12 +396,21 @@ public class RedPackApplication : IRedPackApplication, IScopeDependency
             .FirstAsync() ?? throw UserFriendlyException.SameMessage("审核记录不存在");
             .FirstAsync() ?? throw UserFriendlyException.SameMessage("审核记录不存在");
         var audit = await _redPackAuditRepository.GetAsync(dto.RedPackAuditId) ?? throw UserFriendlyException.SameMessage("审核记录不存在");
         var audit = await _redPackAuditRepository.GetAsync(dto.RedPackAuditId) ?? throw UserFriendlyException.SameMessage("审核记录不存在");
 
 
-        dto.Adapt(record);
-        await _redPackRecordRepository.UpdateAsync(record);
-
         dto.Adapt(audit);
         dto.Adapt(audit);
         await _redPackAuditRepository.UpdateAsync(audit);
         await _redPackAuditRepository.UpdateAsync(audit);
 
 
+        var entity = dto.Adapt<SupplementRecord>();
+        var industryName = await _orderSnapshotRepository.Queryable()
+            .Where(m => m.Id == record.OrderId)
+            .Select(m => m.IndustryName)
+            .FirstAsync();
+        entity.OrderId = record.OrderId;
+        entity.RedPackRecordId = record.Id;
+        entity.RedPackAuditId = audit.Id;
+        entity.No = record.No;
+        entity.IndustryName = industryName;
+        await _supplementRecordRepository.AddAsync(entity);
+
         if (dto.IsSendSMS)
         if (dto.IsSendSMS)
         {
         {
             // TODO: 发送短信
             // TODO: 发送短信

+ 18 - 0
src/Hotline.Repository.SqlSugar/Snapshot/SupplementRecordRepository.cs

@@ -0,0 +1,18 @@
+using Hotline.Repository.SqlSugar.DataPermissions;
+using Hotline.Snapshot;
+using Hotline.Snapshot.Interfaces;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using XF.Domain.Dependency;
+
+namespace Hotline.Repository.SqlSugar.Snapshot;
+public class SupplementRecordRepository : BaseRepository<SupplementRecord>, ISupplementRecordRepository, IScopeDependency
+{
+    public SupplementRecordRepository(ISugarUnitOfWork<HotlineDbContext> uow, IDataPermissionFilterBuilder dataPermissionFilterBuilder) : base(uow, dataPermissionFilterBuilder)
+    {
+    }
+}

+ 40 - 0
src/Hotline.Share/Dtos/Snapshot/RedPackDto.cs

@@ -197,6 +197,46 @@ public class SnapshotRedPackRecordSupplementItemsOutDto
     /// 来电人电话
     /// 来电人电话
     /// </summary>
     /// </summary>
     public string FromPhone { get; set; }
     public string FromPhone { get; set; }
+
+    /// <summary>
+    /// 区域
+    /// </summary>
+    public string County { get; set; }
+
+    /// <summary>
+    /// 补发金额
+    /// </summary>
+    public double ReplenishAmount { get; set; }
+
+    /// <summary>
+    /// 姓名
+    /// </summary>
+    public string Name { get; set; }
+
+    /// <summary>
+    /// 卡号
+    /// </summary>
+    public string BankCardNo { get; set; }
+
+    /// <summary>
+    /// 开户行
+    /// </summary>
+    public string OpenBank { get; set; }
+
+    /// <summary>
+    /// 补发放时间
+    /// </summary>
+    public DateTime CreationTime { get; set; }
+
+    /// <summary>
+    /// 补充发放人员
+    /// </summary>
+    public string CreatorName { get; set; }
+
+    /// <summary>
+    /// 备注
+    /// </summary>
+    public string Remark { get; set; }
 }
 }
 
 
 public record SnapshotRedPackRecordSupplementItemsInDto : PagedRequest;
 public record SnapshotRedPackRecordSupplementItemsInDto : PagedRequest;

+ 11 - 0
src/Hotline/Snapshot/Interfaces/ISupplementRecordRepository.cs

@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using XF.Domain.Repository;
+
+namespace Hotline.Snapshot.Interfaces;
+public interface ISupplementRecordRepository : IRepository<SupplementRecord>
+{
+}

+ 2 - 2
src/Hotline/Snapshot/OrderSnapshot.cs

@@ -69,13 +69,13 @@ public class OrderSnapshot : CreationSoftDeleteEntity
     /// 作业区域
     /// 作业区域
     /// </summary>
     /// </summary>
     [SugarColumn(ColumnDescription = "作业区域")]
     [SugarColumn(ColumnDescription = "作业区域")]
-    public string WorkArea { get; set; }
+    public string? WorkArea { get; set; }
 
 
     /// <summary>
     /// <summary>
     /// 作业区域Id
     /// 作业区域Id
     /// </summary>
     /// </summary>
     [SugarColumn(ColumnDescription = "作业区域Id")]
     [SugarColumn(ColumnDescription = "作业区域Id")]
-    public string WorkAreaId { get; set; }
+    public string? WorkAreaId { get; set; }
 
 
     /// <summary>
     /// <summary>
     /// 作业时间
     /// 作业时间

+ 0 - 30
src/Hotline/Snapshot/RedPackAudit.cs

@@ -61,36 +61,6 @@ public class RedPackAudit : CreationSoftDeleteEntity
     [SugarColumn(ColumnDescription = "实发金额")]
     [SugarColumn(ColumnDescription = "实发金额")]
     public double? AcutalAmount { get; set; }
     public double? AcutalAmount { get; set; }
 
 
-    /// <summary>
-    /// 补充发放金额
-    /// </summary>
-    [SugarColumn(ColumnDescription = "补充发放金额")]
-    public double? ReplenishAmount { get; set; }
-
-    /// <summary>
-    /// 补充发放时间
-    /// </summary>
-    [SugarColumn(ColumnDescription = "补充发放时间")]
-    public DateTime? ReplenishTime { get; set; }
-
-    /// <summary>
-    /// 补充发放备注
-    /// </summary>
-    [SugarColumn(ColumnDescription = "补充发放备注")]
-    public string? ReplenishRemark { get; set; }
-
-    /// <summary>
-    /// 补充发放类型
-    /// </summary>
-    [SugarColumn(ColumnDescription = "补充发放类型")]
-    public string? ReplenishType { get; set; }
-
-    /// <summary>
-    /// 补充发放类型Id
-    /// </summary>
-    [SugarColumn(ColumnDescription = "补充发放类型Id")]
-    public string? ReplenishTypeId { get; set; }
-
     /// <summary>
     /// <summary>
     /// 市民奖励发放结果
     /// 市民奖励发放结果
     /// </summary>
     /// </summary>

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

@@ -0,0 +1,95 @@
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using XF.Domain.Repository;
+
+namespace Hotline.Snapshot;
+
+/// <summary>
+/// 补充发放记录
+/// </summary>
+[Description("补充发放记录")]
+public class SupplementRecord : FullStateEntity
+{
+    /// <summary>
+    /// OrderId
+    /// </summary>
+    [SugarColumn(ColumnDescription = "OrderId")]
+    public string OrderId { get; set; }
+
+    /// <summary>
+    /// No
+    /// </summary>
+    [SugarColumn(ColumnDescription ="No")]
+    public string No { get; set; }
+
+    /// <summary>
+    /// RedPackAuditId
+    /// </summary>
+    [SugarColumn(ColumnDescription = "RedPackAuditId")]
+    public string RedPackAuditId { get; set; }
+
+    /// <summary>
+    /// RedPackRecordId
+    /// </summary>
+    [SugarColumn(ColumnDescription = "RedPackRecordId")]
+    public string RedPackRecordId { get; set; }
+
+    /// <summary>
+    /// 行业
+    /// </summary>
+    [SugarColumn(ColumnDescription = "行业名称")]
+    public string IndustryName { get; set; }
+
+    /// <summary>
+    /// 补充发放金额
+    /// </summary>
+    [SugarColumn(ColumnDescription = "补充发放金额")]
+    public double? ReplenishAmount { get; set; }
+
+    /// <summary>
+    /// 补充发放时间
+    /// </summary>
+    [SugarColumn(ColumnDescription = "补充发放时间")]
+    public DateTime? ReplenishTime { get; set; }
+
+    /// <summary>
+    /// 补充发放备注
+    /// </summary>
+    [SugarColumn(ColumnDescription = "补充发放备注")]
+    public string? ReplenishRemark { get; set; }
+
+    /// <summary>
+    /// 补充发放类型
+    /// </summary>
+    [SugarColumn(ColumnDescription = "补充发放类型")]
+    public string? ReplenishType { get; set; }
+
+    /// <summary>
+    /// 补充发放类型Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "补充发放类型Id")]
+    public string? ReplenishTypeId { get; set; }
+
+    /// <summary>
+    /// 银行卡号
+    /// </summary>
+    [SugarColumn(ColumnDescription = "银行卡号")]
+    public string? BankCardNo { get; set; }
+
+    /// <summary>
+    /// 开户行
+    /// </summary>
+    [SugarColumn(ColumnDescription = "开户行")]
+    public string? OpenBank { get; set; }
+
+    /// <summary>
+    /// 是否发送短信
+    /// </summary>
+    [SugarColumn(ColumnDescription = "是否发送短信")]
+    public bool IsSendSMS { get; set; }
+}