From e61a898fe563214cb13e97c08804534a61aad46b Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期二, 07 十一月 2023 17:32:40 +0800
Subject: [PATCH] 主数据管理按钮返回缓存问题修改

---
 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/DictBizServiceImpl.java |   44 +++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 39 insertions(+), 5 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/DictBizServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/DictBizServiceImpl.java
index 7cbd967..1d48f94 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/DictBizServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/DictBizServiceImpl.java
@@ -20,21 +20,22 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.common.constant.CommonConstant;
+import org.springblade.core.log.exception.ServiceException;
+import com.vci.ubcs.system.cache.DictBizCache;
+import com.vci.ubcs.system.entity.DictBiz;
 import com.vci.ubcs.system.mapper.DictBizMapper;
 import com.vci.ubcs.system.service.IDictBizService;
+import com.vci.ubcs.system.vo.DictBizVO;
 import com.vci.ubcs.system.wrapper.DictBizWrapper;
-import com.vci.ubcs.common.constant.CommonConstant;
 import org.springblade.core.cache.utils.CacheUtil;
-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;
 import org.springblade.core.tool.utils.StringPool;
-import com.vci.ubcs.system.cache.DictBizCache;
-import com.vci.ubcs.system.entity.DictBiz;
-import com.vci.ubcs.system.vo.DictBizVO;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -116,4 +117,37 @@
 		List<DictBiz> list = this.list(Condition.getQueryWrapper(dict, DictBiz.class).lambda().ne(DictBiz::getId, parentId).eq(DictBiz::getCode, parentDict.getCode()).orderByAsc(DictBiz::getSort));
 		return DictBizWrapper.build().listNodeVO(list);
 	}
+
+	@Override
+	public R checkOrInsert(DictBiz dictBiz) {
+		LambdaQueryWrapper<DictBiz> wrapper = Wrappers.<DictBiz>query().lambda().eq(DictBiz::getCode, dictBiz.getCode()).eq(DictBiz::getDictKey, dictBiz.getDictKey()).eq(DictBiz::getDictValue, dictBiz.getDictValue());
+		// Long cnt = baseMapper.selectCount((Func.isEmpty(dictBiz.getId())) ? lqw : lqw.notIn(DictBiz::getId, dictBiz.getId()));
+		Long cnt = baseMapper.selectCount(wrapper);
+		if (cnt > 0L) {
+			return R.fail("瀛楀吀宸茬粡瀛樺湪锛�");
+		}
+		// 鏍规嵁code鍏堟煡璇㈡槸鍚﹀凡瀛樺湪璇ュ瓧鍏革紝瀛樺湪灏遍渶瑕佸皢褰撳墠瀛楀吀娣诲姞鍒拌code涓嬮潰
+		LambdaQueryWrapper<DictBiz> wrappers = Wrappers.<DictBiz>query()
+			.lambda().eq(DictBiz::getCode, dictBiz.getCode())
+			.eq(DictBiz::getParentId,BladeConstant.TOP_PARENT_ID)
+			.last("limit 1");
+		DictBiz dbDictBiz = baseMapper.selectOne(wrappers);
+		// 褰撳墠code宸插瓨鍦�,浣滀负褰撳墠鐖跺瓧鍏�
+		if(Func.isNotEmpty(dbDictBiz)){
+			dictBiz.setParentId(dbDictBiz.getId());
+		}
+		// 鏄惁涓洪《灞傚瓧鍏�
+		if (Func.isEmpty(dictBiz.getParentId())) {
+			dictBiz.setParentId(BladeConstant.TOP_PARENT_ID);
+		}
+		dictBiz.setIsSealed(0);
+		dictBiz.setIsDeleted(BladeConstant.DB_NOT_DELETED);
+		CacheUtil.clear(DICT_CACHE);
+
+		if(saveOrUpdate(dictBiz) == true){
+			return R.success("鎿嶄綔鎴愬姛!");
+		}
+		return R.fail("鎿嶄綔澶辫触锛�");
+	}
+
 }

--
Gitblit v1.9.3