From 0de2dc108b9bb1b6ff3692741362a3da5cb7a068 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期四, 07 八月 2025 10:29:19 +0800
Subject: [PATCH] fix:bug

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

diff --git a/FlexJobApi.Application/Dictionaries/Commands/DictionaryDataCommandHandler.cs b/FlexJobApi.Application/Dictionaries/Commands/DictionaryDataCommandHandler.cs
index a480570..64ebaff 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,26 @@
         public Task<Guid> Handle(SaveDictionaryDataCommand request, CancellationToken cancellationToken)
         {
             return request.SaveData<DictionaryData, SaveDictionaryDataCommand>(
-                (q, e, r) => q.Any(it =>
+                null,
+                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 +58,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