ludc
2023-04-21 e55cf23dc536ce06b9a8b14edd889215956c1eda
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,26 @@
      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> lqw = Wrappers.<DictBiz>query().lambda().eq(DictBiz::getCode, dictBiz.getCode()).eq(DictBiz::getDictKey, dictBiz.getDictKey());
      Long cnt = baseMapper.selectCount((Func.isEmpty(dictBiz.getId())) ? lqw : lqw.notIn(DictBiz::getId, dictBiz.getId()));
      if (cnt > 0L) {
         return R.fail("字典已经存在!");
      }
      if (Func.isEmpty(dictBiz.getParentId())) {
         dictBiz.setParentId(BladeConstant.TOP_PARENT_ID);
      }
      dictBiz.setIsDeleted(BladeConstant.DB_NOT_DELETED);
      CacheUtil.clear(DICT_CACHE);
      if(saveOrUpdate(dictBiz) == true){
         return R.success("操作成功!");
      }
      return R.fail("操作失败!");
   }
}