Browse Source

新增添加补充发放接口

qinchaoyue 4 months ago
parent
commit
ac9cebf6d8

+ 23 - 2
src/Hotline.Api/Controllers/Snapshot/RedPackController.cs

@@ -58,8 +58,8 @@ public class RedPackController : BaseController
     /// </summary>
     /// <param name="dto"></param>
     /// <returns></returns>
-    [HttpPut("audit/remark/basedata")]
-    public async Task<Dictionary<string, object>> UpdateRedPackAuditRemarkBaseDataAsync([FromBody] UpdateRedPackAuditRemarkInDto dto)
+    [HttpGet("audit/remark/basedata")]
+    public async Task<Dictionary<string, object>> UpdateRedPackAuditRemarkBaseDataAsync()
     {
         return new Dictionary<string, object>()
         {
@@ -67,6 +67,27 @@ public class RedPackController : BaseController
         };
     }
 
+    /// <summary>
+    /// 添加补充发放信息页面基础信息
+    /// </summary>
+    /// <returns></returns>
+    [HttpGet("record/basedata")]
+    public async Task<Dictionary<string, object>> UpdateRedPackRecordBaseDataAsync()
+    { 
+        return new Dictionary<string, object>()
+        {
+            { "replenishType", _sysDic.SnapshotReplenishType }
+        };
+    }
+
+    /// <summary>
+    /// 添加补充发放信息
+    /// </summary>
+    /// <param name="dto"></param>
+    /// <returns></returns>
+    [HttpPut("record")]
+    public async Task UpdateRedPackRecordAsync([FromBody] UpdateRedPackRecordInDto dto)
+        => await _redPackApplication.UpdateRedPackRecordAsync(dto);
 
     /// <summary>
     /// 红包审核通过或拒绝

+ 7 - 0
src/Hotline.Application/Snapshot/IRedPackApplication.cs

@@ -42,4 +42,11 @@ public interface IRedPackApplication
     /// <param name="dto"></param>
     /// <returns></returns>
     Task UpdateRedPackAuditRemarkAsync(UpdateRedPackAuditRemarkInDto dto);
+
+    /// <summary>
+    /// 添加补充发放信息
+    /// </summary>
+    /// <param name="dto"></param>
+    /// <returns></returns>
+    Task UpdateRedPackRecordAsync(UpdateRedPackRecordInDto dto);
 }

+ 14 - 0
src/Hotline.Application/Snapshot/RedPackApplication.cs

@@ -206,4 +206,18 @@ public class RedPackApplication : IRedPackApplication, IScopeDependency
         audit.SendRemarks = dto.SendRemarks;
         await _redPackAuditRepository.UpdateAsync(audit);
     }
+
+    public async Task UpdateRedPackRecordAsync(UpdateRedPackRecordInDto dto)
+    {
+        var record = await _redPackRecordRepository.Queryable()
+            .Where(m => m.RedPackAuditId == dto.RedPackAuditId)
+            .FirstAsync() ?? throw UserFriendlyException.SameMessage("审核记录不存在");
+        var audit = await _redPackAuditRepository.GetAsync(dto.RedPackAuditId) ?? throw UserFriendlyException.SameMessage("审核记录不存在");
+
+        dto.Adapt(record);
+        await _redPackRecordRepository.UpdateAsync(record);
+
+        dto.Adapt(audit);
+        await _redPackAuditRepository.UpdateAsync(audit);
+    }
 }

+ 0 - 1
src/Hotline.Share/Dtos/Snapshot/OrderDto.cs

@@ -325,7 +325,6 @@ public class SnapshotOrderAuditItemsOutDto
 
     /// <summary>
     /// 补充发放金额
-    /// TODO: 没有逻辑
     /// </summary>
     public double? ReplenishAmount { get; set; }
 

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

@@ -93,3 +93,41 @@ public class UpdateRedPackAuditRemarkInDto
     public ERedPackPickupFailCase FailCase { get; set; }
 }
 
+public class UpdateRedPackRecordInDto
+{
+    /// <summary>
+    /// Id
+    /// </summary>
+    public string RedPackAuditId { 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 double? ReplenishAmount { get; set; }
+
+    /// <summary>
+    /// 补充发放时间
+    /// </summary>
+    public DateTime? ReplenishTime { get; set; }
+
+    /// <summary>
+    /// 补充发放备注
+    /// </summary>
+    public string ReplenishRemark { get; set; }
+}
+

+ 5 - 0
src/Hotline/Caching/Interfaces/ISysDicDataCacheManager.cs

@@ -60,5 +60,10 @@ namespace Hotline.Caching.Interfaces
         /// 随手拍公告来源
         /// </summary>
         IReadOnlyCollection<SystemDicDataOutDto> SnapshotBulletinSource { get; }
+
+        /// <summary>
+        /// 红包补充发放类型
+        /// </summary>
+        IReadOnlyCollection<SystemDicDataOutDto> SnapshotReplenishType { get; }
     }
 }

+ 5 - 0
src/Hotline/Caching/Services/SysDicDataCacheManager.cs

@@ -122,6 +122,11 @@ namespace Hotline.Caching.Services
         /// </summary>
         public IReadOnlyCollection<SystemDicDataOutDto> SnapshotBulletinSource => GetOrAdd(SysDicTypeConsts.SnapshotBulletinSource);
 
+        /// <summary>
+        /// 红包补充发放类型
+        /// </summary>
+        public IReadOnlyCollection<SystemDicDataOutDto> SnapshotReplenishType => GetOrAdd(SysDicTypeConsts.SnapshotReplenishType);
+
         public void RemoveSysDicDataCache(string code)
         {
             _cacheSysDicData.Remove(code);

+ 11 - 0
src/Hotline/SeedData/SystemDicDataSeedData.cs

@@ -17,6 +17,13 @@ public class SystemDicDataSeedData : ISeedData<SystemDicData>
 
     public IEnumerable<SystemDicData> GetData(string dicTypeCode)
     {
+        if (dicTypeCode == SysDicTypeConsts.SnapshotReplenishType)
+        {
+            return [
+                new() { Id = "08dd1f12-9e6c-434f-81f1-076acb2ea7f4", DicDataValue = "1", DicDataName = "一般补充金额", Sort = 1},
+                new() { Id = "08dd1f12-90f9-48a1-809a-8ea252284a52", DicDataValue = "2", DicDataName = "15%行政处罚奖励", Sort = 2}
+                ];
+        }
         if (dicTypeCode == SysDicTypeConsts.SnapshotBulletinSource)
         {
             return [
@@ -187,6 +194,10 @@ public class SystemDicDataSeedData : ISeedData<SystemDicData>
         {
             dicType = ["08dd060d-e27b-4786-879b-0469d6629d38", "随手拍公告来源"];
         }
+        if (dicTypeCode == SysDicTypeConsts.SnapshotReplenishType)
+        {
+            dicType = ["08dd1f12-0e81-47dc-82d7-559e36a68e0d", "补充奖励类型"];
+        }
 
         return new SystemDicType
         {

+ 5 - 0
src/Hotline/Settings/SysDicTypeConsts.cs

@@ -301,4 +301,9 @@ public class SysDicTypeConsts
     /// 随手拍公告来源
     /// </summary>
     public const string SnapshotBulletinSource = "SnapshotBulletinSource";
+
+    /// <summary>
+    /// 红包补充发放类型
+    /// </summary>
+    public const string SnapshotReplenishType = "SnapshotReplenishType";
 }

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

@@ -61,6 +61,24 @@ public class RedPackAudit : CreationSoftDeleteEntity
     [SugarColumn(ColumnDescription = "实发金额")]
     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>