Quellcode durchsuchen

自贡12345 - 预案库

libin vor 3 Monaten
Ursprung
Commit
a8096b38b2

+ 6 - 3
src/Hotline.Api/Controllers/CaseController.cs

@@ -215,8 +215,7 @@ namespace Hotline.Api.Controllers
         {
             dto.ApplyStatus = ECaseApplyStatus.Delete;
             dto.Status = ECaseStatus.Auditing;
-            dto.IsDeleted = true;
-            await _caseApplication.UpdateCaseAsync(dto, HttpContext.RequestAborted);
+            await _caseApplication.RemoveCaseAsync(dto, HttpContext.RequestAborted);
         }
 
         /// <summary>
@@ -275,7 +274,7 @@ namespace Hotline.Api.Controllers
         }
 
         /// <summary>
-        /// 案例库审核(新增、修改、下架
+        /// 案例库审核(新增、修改、删除
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
@@ -307,6 +306,10 @@ namespace Hotline.Api.Controllers
                 {
                     CaseDto.Status = ECaseStatus.OffShelf;
                 }
+                if (CaseDto.ApplyStatus == ECaseApplyStatus.Delete)
+                {
+                    CaseDto.Status = ECaseStatus.Drafts;
+                }
             }
             CaseDto.Id = dto.Id;
             CaseDto.ExaminTime = DateTime.Now;

+ 6 - 3
src/Hotline.Api/Controllers/PlanController.cs

@@ -214,8 +214,7 @@ namespace Hotline.Api.Controllers
         {
             dto.ApplyStatus = EPlanApplyStatus.Delete;
             dto.Status = EPlanStatus.Auditing;
-            dto.IsDeleted = true;
-            await _planApplication.UpdatePlanAsync(dto, HttpContext.RequestAborted);
+            await _planApplication.RemovePlanAsync(dto, HttpContext.RequestAborted);
         }
 
         /// <summary>
@@ -274,7 +273,7 @@ namespace Hotline.Api.Controllers
         }
 
         /// <summary>
-        /// 预案库审核(新增、修改、下架
+        /// 预案库审核(新增、修改、删除
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
@@ -306,6 +305,10 @@ namespace Hotline.Api.Controllers
                 {
                     planDto.Status = EPlanStatus.OffShelf;
                 }
+                if (planDto.ApplyStatus == EPlanApplyStatus.Delete)
+                {
+                    planDto.Status = EPlanStatus.Drafts;
+                }
             }
             planDto.Id = dto.Id;
             planDto.ExaminTime = DateTime.Now;

+ 31 - 2
src/Hotline.Application/Caselibrary/CaseApplication.cs

@@ -313,10 +313,34 @@ namespace Hotline.Application.Caselibrary
 
         #endregion
 
-        #region 案例库 - 下架&审核
+        #region 案例库 - 删除
 
         /// <summary>
-        /// 下架审核
+        /// 删除
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public async Task RemoveCaseAsync(UpdateCaseListDto dto, CancellationToken cancellationToken)
+        {
+            var Case = await _caseListRepository.GetAsync(dto.Id);
+
+            if (Case == null)
+                throw UserFriendlyException.SameMessage("案例库查询失败");
+
+            _mapper.Map(dto, Case);
+
+            Case.IsDeleted = true;
+
+            await _caseListRepository.UpdateNullAsync(Case, cancellationToken);
+        }
+
+        #endregion
+
+        #region 案例库 - 审核
+
+        /// <summary>
+        /// 审核
         /// </summary>
         /// <param name="dto"></param>
         /// <param name="cancellationToken"></param>
@@ -335,6 +359,11 @@ namespace Hotline.Application.Caselibrary
             Case.ExaminOrganizeId = dto.ExaminOrganizeId;
             Case.UpdateTime = dto.UpdateTime;
 
+            if (Case.ApplyStatus == ECaseApplyStatus.Delete)
+            {
+                Case.IsDeleted = true;
+            }
+
             await _caseListRepository.UpdateNullAsync(Case, cancellationToken);
         }
 

+ 7 - 0
src/Hotline.Application/Caselibrary/ICaseApplication.cs

@@ -54,6 +54,13 @@ namespace Hotline.Application.Caselibrary
         /// <returns></returns>
         Task UpdateCaseAsync(UpdateCaseListDto dto, CancellationToken cancellationToken);
 
+        /// <summary>
+        ///案例库类型 - 删除
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        Task RemoveCaseAsync(UpdateCaseListDto dto, CancellationToken cancellationToken);
+
         /// <summary>
         ///案例库类型 - 下架审核
         /// </summary>

+ 7 - 0
src/Hotline.Application/Planlibrary/IPlanApplication.cs

@@ -54,6 +54,13 @@ namespace Hotline.Application.Planlibrary
         /// <returns></returns>
         Task UpdatePlanAsync(UpdatePlanListDto dto, CancellationToken cancellationToken);
 
+        /// <summary>
+        ///预案库类型 - 删除
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        Task RemovePlanAsync(UpdatePlanListDto dto, CancellationToken cancellationToken);
+
         /// <summary>
         ///预案库类型 - 下架审核
         /// </summary>

+ 29 - 2
src/Hotline.Application/Planlibrary/PlanApplication.cs

@@ -331,10 +331,33 @@ namespace Hotline.Application.Planlibrary
 
         #endregion
 
-        #region 预案库 - 下架&审核
+        #region 预案库 - 删除
 
         /// <summary>
-        /// 下架审核
+        /// 删除
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public async Task RemovePlanAsync(UpdatePlanListDto dto, CancellationToken cancellationToken)
+        {
+            var plan = await _planListRepository.GetAsync(dto.Id);
+
+            if (plan == null)
+                throw UserFriendlyException.SameMessage("预案库查询失败");
+
+            _mapper.Map(dto, plan);
+
+            plan.IsDeleted = true;
+            await _planListRepository.UpdateNullAsync(plan, cancellationToken);
+        }
+
+        #endregion
+
+        #region 预案库 - 审核
+
+        /// <summary>
+        /// 审核
         /// </summary>
         /// <param name="dto"></param>
         /// <param name="cancellationToken"></param>
@@ -353,6 +376,10 @@ namespace Hotline.Application.Planlibrary
             plan.ExaminOrganizeId = dto.ExaminOrganizeId;
             plan.UpdateTime = dto.UpdateTime;
 
+            if (plan.ApplyStatus == EPlanApplyStatus.Delete)
+            {
+                plan.IsDeleted = true;
+            }
             await _planListRepository.UpdateNullAsync(plan, cancellationToken);
         }
 

+ 0 - 5
src/Hotline.Share/Dtos/Caselibrary/CaseListDto.cs

@@ -240,11 +240,6 @@ namespace Hotline.Share.Dtos.Caselibrary
         /// </summary>
         public string Id { get; set; }
 
-        /// <summary>
-        /// 是否删除
-        /// </summary>
-        public bool? IsDeleted { get; set; } = false;
-
         /// <summary>
         /// 审核人ID
         /// </summary>

+ 0 - 5
src/Hotline.Share/Dtos/Planlibrary/PlanListDto.cs

@@ -216,11 +216,6 @@ namespace Hotline.Share.Dtos.Planlibrary
         /// </summary>
         public string Id { get; set; }
 
-        /// <summary>
-        /// 是否删除
-        /// </summary>
-        public bool? IsDeleted { get; set; } = false;
-
         /// <summary>
         /// 审核人ID
         /// </summary>