From c97916f276a328fa70696a8582dc0c23144424f9 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期三, 06 八月 2025 16:59:32 +0800
Subject: [PATCH] feat:企业开发

---
 FlexJobApi.Application/Dictionaries/Commands/DictionaryDataCommandHandler.cs |   23 ++++++++++++++++++++---
 1 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/FlexJobApi.Application/Dictionaries/Commands/DictionaryDataCommandHandler.cs b/FlexJobApi.Application/Dictionaries/Commands/DictionaryDataCommandHandler.cs
index a480570..f9c7a0b 100644
--- a/FlexJobApi.Application/Dictionaries/Commands/DictionaryDataCommandHandler.cs
+++ b/FlexJobApi.Application/Dictionaries/Commands/DictionaryDataCommandHandler.cs
@@ -1,7 +1,10 @@
 锘縰sing FlexJobApi.Core;
+using Furion.DatabaseAccessor;
+using Mapster;
 using MediatR;
 using System;
 using System.Collections.Generic;
+using System.IO;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
@@ -25,11 +28,25 @@
         public Task<Guid> Handle(SaveDictionaryDataCommand request, CancellationToken cancellationToken)
         {
             return request.SaveData<DictionaryData, SaveDictionaryDataCommand>(
-                (q, e, r) => q.Any(it =>
+                it =>
                     it.CategoryId == request.CategoryId
                     && it.ParentId == request.ParentId
                     && it.Code == request.Code
-                    && it.Content == request.Content), cancellationToken);
+                    && it.Content == request.Content
+                    && it.Id != request.Id,
+                (entity) =>
+                {
+                    entity.Path = DbUtils.GetTreeDataPath<DictionaryData>(request.ParentId, cancellationToken).Result;
+                    if (request.Id.HasValue)
+                    {
+                        DbUtils.UpdateTreeDataChildrenPath<DictionaryData>(
+                           $"{entity.Path}/{entity.Code}/",
+                           $"{entity.Path}/{request.Code}/",
+                           cancellationToken).Wait();
+                    }
+                    request.Adapt(entity);
+                },
+                cancellationToken);
         }
 
         /// <summary>
@@ -40,7 +57,7 @@
         /// <returns></returns>
         public Task<int> Handle(SetDictionaryDataIsDisabledCommand request, CancellationToken cancellationToken)
         {
-            return request.SetIsDisable<DictionaryData>(cancellationToken: cancellationToken);
+            return request.SetIsDisabled<DictionaryData>(cancellationToken: cancellationToken);
         }
     }
 }

--
Gitblit v1.9.1