diff --git a/cutejava-front/src/views/system/dict/dictDetail.vue b/cutejava-front/src/views/system/dict/dictDetail.vue
index 7a6884c0..c9681a12 100644
--- a/cutejava-front/src/views/system/dict/dictDetail.vue
+++ b/cutejava-front/src/views/system/dict/dictDetail.vue
@@ -4,22 +4,6 @@
点击字典查看详情
-
-
{
- IPage selectDictDetailByArgs(@Param("criteria") SystemQueryDictDetailArgs criteria, Page page);
- List selectDictDetailByArgs(@Param("criteria") SystemQueryDictDetailArgs criteria);
+ default List selectByDictId(Long dictId) {
+ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(SystemDictDetailTb::getDictId, dictId);
+ return selectList(wrapper);
+ }
+ default IPage selectDictDetailByArgs(List dictIds, Page page) {
+ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+ wrapper.in(CollUtil.isNotEmpty(dictIds), SystemDictDetailTb::getDictId, dictIds);
+ return selectPage(page, wrapper);
+ }
}
diff --git a/cutejava-springboot3/cutejava-module-system/src/main/java/cn/odboy/system/dal/mysql/SystemDictMapper.java b/cutejava-springboot3/cutejava-module-system/src/main/java/cn/odboy/system/dal/mysql/SystemDictMapper.java
index 96deffe7..8ce4ed9f 100644
--- a/cutejava-springboot3/cutejava-module-system/src/main/java/cn/odboy/system/dal/mysql/SystemDictMapper.java
+++ b/cutejava-springboot3/cutejava-module-system/src/main/java/cn/odboy/system/dal/mysql/SystemDictMapper.java
@@ -47,4 +47,9 @@ public interface SystemDictMapper extends BaseMapper {
injectQueryParams(args, wrapper);
return selectList(page, wrapper);
}
+ default SystemDictTb getByName(String name) {
+ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(SystemDictTb::getName, name);
+ return selectOne(wrapper);
+ }
}
diff --git a/cutejava-springboot3/cutejava-module-system/src/main/java/cn/odboy/system/service/SystemDictDetailService.java b/cutejava-springboot3/cutejava-module-system/src/main/java/cn/odboy/system/service/SystemDictDetailService.java
index d6f1cc90..184989f3 100644
--- a/cutejava-springboot3/cutejava-module-system/src/main/java/cn/odboy/system/service/SystemDictDetailService.java
+++ b/cutejava-springboot3/cutejava-module-system/src/main/java/cn/odboy/system/service/SystemDictDetailService.java
@@ -17,16 +17,24 @@ package cn.odboy.system.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
import cn.odboy.base.KitPageResult;
import cn.odboy.system.dal.dataobject.SystemDictDetailTb;
+import cn.odboy.system.dal.dataobject.SystemDictTb;
import cn.odboy.system.dal.model.SystemCreateDictDetailArgs;
+import cn.odboy.system.dal.model.SystemDictDetailVo;
import cn.odboy.system.dal.model.SystemQueryDictDetailArgs;
import cn.odboy.system.dal.mysql.SystemDictDetailMapper;
+import cn.odboy.system.dal.mysql.SystemDictMapper;
import cn.odboy.util.KitPageUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import java.util.Set;
+import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -34,6 +42,7 @@ import org.springframework.transaction.annotation.Transactional;
@Service
public class SystemDictDetailService {
@Autowired private SystemDictDetailMapper systemDictDetailMapper;
+ @Autowired private SystemDictMapper systemDictMapper;
/**
* 创建
@@ -69,29 +78,6 @@ public class SystemDictDetailService {
systemDictDetailMapper.deleteById(id);
}
- /**
- * 分页查询
- *
- * @param args 条件
- * @param page 分页参数
- * @return /
- */
- public KitPageResult queryDictDetailByArgs(SystemQueryDictDetailArgs args, Page page) {
- return KitPageUtil.toPage(systemDictDetailMapper.selectDictDetailByArgs(args, page));
- }
-
- /**
- * 根据字典名称获取字典详情
- *
- * @param name 字典名称
- * @return /
- */
- public List queryDictDetailByName(String name) {
- SystemQueryDictDetailArgs args = new SystemQueryDictDetailArgs();
- args.setDictName(name);
- return systemDictDetailMapper.selectDictDetailByArgs(args);
- }
-
@Transactional(rollbackFor = Exception.class)
public void deleteDictDetailByDictIds(Set ids) {
if (CollUtil.isNotEmpty(ids)) {
@@ -100,4 +86,65 @@ public class SystemDictDetailService {
systemDictDetailMapper.delete(wrapper);
}
}
+
+ /**
+ * 分页查询
+ *
+ * @param args 条件
+ * @param page 分页参数
+ * @return /
+ */
+ public KitPageResult queryDictDetailByArgs(SystemQueryDictDetailArgs args,
+ Page page) {
+ IPage iPage = new Page<>();
+ List dictIds = new ArrayList<>();
+ List dictTbs = new ArrayList<>();
+
+ if (args == null) {
+ dictTbs.addAll(systemDictMapper.selectList(null));
+ dictIds = dictTbs.stream().map(SystemDictTb::getId).collect(Collectors.toList());
+ } else {
+ String dictName = args.getDictName();
+ if (StrUtil.isBlank(dictName)) {
+ return KitPageUtil.toPage(iPage);
+ }
+ SystemDictTb dictTb = systemDictMapper.getByName(dictName);
+ if (dictTb == null) {
+ return KitPageUtil.toPage(iPage);
+ } else {
+ dictIds.add(dictTb.getId());
+ dictTbs.add(dictTb);
+ }
+ }
+
+ Map id2ItemMap = dictTbs.stream().collect(Collectors.toMap(SystemDictTb::getId, i -> i));
+ iPage = systemDictDetailMapper.selectDictDetailByArgs(dictIds, page)
+ .convert(i -> BeanUtil.copyProperties(i, SystemDictDetailVo.class));
+ for (SystemDictDetailVo record : iPage.getRecords()) {
+ record.setDict(id2ItemMap.get(record.getDictId()));
+ }
+ return KitPageUtil.toPage(iPage);
+ }
+
+ /**
+ * 根据字典名称获取字典详情
+ *
+ * @param name 字典名称
+ * @return /
+ */
+ public List queryDictDetailByName(String name) {
+ if (StrUtil.isBlank(name)) {
+ return new ArrayList<>();
+ }
+ SystemDictTb systemDictTb = systemDictMapper.getByName(name);
+ if (systemDictTb == null) {
+ return new ArrayList<>();
+ }
+ return systemDictDetailMapper.selectByDictId(systemDictTb.getId()).stream().map(m -> {
+ SystemDictDetailVo detailVo = BeanUtil.copyProperties(m, SystemDictDetailVo.class);
+ detailVo.setDict(systemDictTb);
+ return detailVo;
+ }).collect(Collectors.toList());
+ }
+
}
diff --git a/cutejava-springboot3/cutejava-module-system/src/main/java/cn/odboy/system/service/SystemDictService.java b/cutejava-springboot3/cutejava-module-system/src/main/java/cn/odboy/system/service/SystemDictService.java
index 951b88a4..de78cf28 100644
--- a/cutejava-springboot3/cutejava-module-system/src/main/java/cn/odboy/system/service/SystemDictService.java
+++ b/cutejava-springboot3/cutejava-module-system/src/main/java/cn/odboy/system/service/SystemDictService.java
@@ -21,9 +21,8 @@ import cn.odboy.base.KitPageResult;
import cn.odboy.system.dal.dataobject.SystemDictDetailTb;
import cn.odboy.system.dal.dataobject.SystemDictTb;
import cn.odboy.system.dal.model.SystemCreateDictArgs;
+import cn.odboy.system.dal.model.SystemDictDetailVo;
import cn.odboy.system.dal.model.SystemQueryDictArgs;
-import cn.odboy.system.dal.model.SystemQueryDictDetailArgs;
-import cn.odboy.system.dal.mysql.SystemDictDetailMapper;
import cn.odboy.system.dal.mysql.SystemDictMapper;
import cn.odboy.util.KitFileUtil;
import cn.odboy.util.KitPageUtil;
@@ -42,7 +41,7 @@ import org.springframework.transaction.annotation.Transactional;
@Service
public class SystemDictService {
@Autowired private SystemDictMapper systemDictMapper;
- @Autowired private SystemDictDetailMapper systemDictDetailMapper;
+ // @Autowired private SystemDictDetailMapper systemDictDetailMapper;
@Autowired private SystemDictDetailService systemDictDetailService;
/**
@@ -91,9 +90,7 @@ public class SystemDictService {
public void exportDictExcel(List dicts, HttpServletResponse response) throws IOException {
List