Browse Source

修改公告新增字段

qinchaoyue 4 months ago
parent
commit
a68a5187d6

+ 2 - 6
src/Hotline.Api/Controllers/Snapshot/SnapshotBulletinController.cs

@@ -138,7 +138,7 @@ public class SnapshotBulletinController : BaseController
     /// <param name="dto"></param>
     /// <returns></returns>
     [HttpPost("bulletin/update")]
-    public async Task UpdateBulletin([FromBody] UpdateBulletinDto dto)
+    public async Task UpdateBulletin([FromBody] UpdateSnapshotBulletinInDto dto)
     {
         var bulletin = await _bulletinRepository.GetAsync(dto.Id, HttpContext.RequestAborted);
         if (bulletin == null)
@@ -147,10 +147,7 @@ public class SnapshotBulletinController : BaseController
         if (bulletin.BulletinState != EBulletinState.Draft && bulletin.BulletinState != EBulletinState.ReviewNoPass)
             throw UserFriendlyException.SameMessage("当前状态不能修改");
 
-        bulletin.Title = dto.Title;
-        bulletin.Content = dto.Content;
-        bulletin.SnapshotBulletinTypeId = dto.BulletinTypeId;
-        bulletin.SnapshotBulletinTypeName = dto.BulletinTypeName;
+        dto.Adapt(bulletin);
         await _bulletinRepository.UpdateAsync(bulletin, HttpContext.RequestAborted);
     }
 
@@ -172,7 +169,6 @@ public class SnapshotBulletinController : BaseController
         await _bulletinRepository.RemoveAsync(x => x.Id == id, false, HttpContext.RequestAborted);
     }
 
-
     /// <summary>
     /// 新增公告
     /// </summary>

+ 4 - 0
src/Hotline.Application/Mappers/SnapshotMapperConfigs.cs

@@ -16,6 +16,10 @@ public class SnapshotMapperConfigs : IRegister
 {
     public void Register(TypeAdapterConfig config)
     {
+        config.ForType<UpdateSnapshotBulletinInDto, SnapshotBulletin>()
+            .Map(m => m.SnapshotBulletinTypeId, n => n.BulletinTypeId)
+            .Map(m => m.SnapshotBulletinTypeName, n => n.BulletinTypeName);
+
         config.ForType<AddSnapshotBulletinInDto, SnapshotBulletin>()
             .Map(m => m.SnapshotBulletinTypeId, n => n.BulletinTypeId)
             .Map(m => m.SnapshotBulletinTypeName, n => n.BulletinTypeName);

+ 9 - 0
src/Hotline.Share/Dtos/Snapshot/SnapshotBulletinDto.cs

@@ -143,6 +143,15 @@ public class SnapshotBulletinItemsOutDto
     public bool? IsTop { get; set; }
 }
 
+public class UpdateSnapshotBulletinInDto : AddSnapshotBulletinInDto
+{
+    /// <summary>
+    /// Id
+    /// </summary>
+    [Required]
+    public string Id { get; set; }
+}
+
 public class AddSnapshotBulletinInDto
 {
     /// <summary>