diff --git a/src/main/java/com/youlai/boot/system/service/impl/DictServiceImpl.java b/src/main/java/com/youlai/boot/system/service/impl/DictServiceImpl.java index 256f76bb..8d1f9896 100644 --- a/src/main/java/com/youlai/boot/system/service/impl/DictServiceImpl.java +++ b/src/main/java/com/youlai/boot/system/service/impl/DictServiceImpl.java @@ -108,6 +108,7 @@ public class DictServiceImpl extends ServiceImpl implements Di * @param dictForm 字典表单 */ @Override + @Transactional public boolean updateDict(Long id, DictForm dictForm) { // 获取字典 Dict entity = this.getById(id); @@ -125,7 +126,25 @@ public class DictServiceImpl extends ServiceImpl implements Di // 更新字典 Dict dict = dictConverter.toEntity(dictForm); dict.setId(id); - return this.updateById(dict); + boolean result = this.updateById(dict); + if (result) { + // 更新字典数据 + List dictItemList = dictItemService.list( + new LambdaQueryWrapper() + .eq(DictItem::getDictCode, entity.getDictCode()) + .select(DictItem::getId) + ); + if (!dictItemList.isEmpty()){ + List dictItemIds = dictItemList.stream().map(DictItem::getId).toList(); + DictItem dictItem = new DictItem(); + dictItem.setDictCode(dict.getDictCode()); + dictItemService.update(dictItem, + new LambdaQueryWrapper() + .in(DictItem::getId, dictItemIds) + ); + } + } + return result; } /**