From aa566e55023f6d4fa0d4223434b95cd064c3d0d0 Mon Sep 17 00:00:00 2001 From: yuxc <653031404@qq.com> Date: 星期一, 27 三月 2023 09:25:10 +0800 Subject: [PATCH] 直接使用业务字典完成功能,检查字典是否存在,存在即返回,不存在新增 --- Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DictServiceImpl.java | 19 +++++++++++++++++++ 1 files changed, 19 insertions(+), 0 deletions(-) diff --git a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DictServiceImpl.java b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DictServiceImpl.java index 087520b..965e7df 100644 --- a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DictServiceImpl.java +++ b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DictServiceImpl.java @@ -25,6 +25,7 @@ import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; import org.springblade.core.tool.constant.BladeConstant; import org.springblade.core.tool.node.ForestNodeMerger; import org.springblade.core.tool.utils.Func; @@ -122,4 +123,22 @@ List<Dict> list = this.list(Condition.getQueryWrapper(dict, Dict.class).lambda().ne(Dict::getId, parentId).eq(Dict::getCode, parentDict.getCode()).orderByAsc(Dict::getSort)); return DictWrapper.build().listNodeVO(list); } + + @Override + public R checkOrInsert(Dict dict) { + LambdaQueryWrapper<Dict> lqw = Wrappers.<Dict>query().lambda().eq(Dict::getCode, dict.getCode()).eq(Dict::getDictKey, dict.getDictKey()); + Long cnt = baseMapper.selectCount((Func.isEmpty(dict.getId())) ? lqw : lqw.notIn(Dict::getId, dict.getId())); + if (cnt > 0L) { + R.fail("瀛楀吀宸茬粡瀛樺湪锛�"); + } + if (Func.isEmpty(dict.getParentId())) { + dict.setParentId(BladeConstant.TOP_PARENT_ID); + } + dict.setIsDeleted(BladeConstant.DB_NOT_DELETED); + CacheUtil.clear(DICT_CACHE, Boolean.FALSE); + if(saveOrUpdate(dict) == true){ + return R.success("鎿嶄綔鎴愬姛!"); + } + return R.fail("鎿嶄綔澶辫触锛�"); + } } -- Gitblit v1.9.3