diff --git a/cutejava-springboot3/cutejava-module-system/src/main/java/cn/odboy/system/dal/mysql/SystemDictDetailMapper.java b/cutejava-springboot3/cutejava-module-system/src/main/java/cn/odboy/system/dal/mysql/SystemDictDetailMapper.java index 0396a944..d9f62f54 100644 --- a/cutejava-springboot3/cutejava-module-system/src/main/java/cn/odboy/system/dal/mysql/SystemDictDetailMapper.java +++ b/cutejava-springboot3/cutejava-module-system/src/main/java/cn/odboy/system/dal/mysql/SystemDictDetailMapper.java @@ -16,8 +16,12 @@ package cn.odboy.system.dal.mysql; import cn.odboy.system.dal.dataobject.SystemDictDetailTb; +import cn.odboy.system.dal.model.SystemQueryDictDetailArgs; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 字典明细 Mapper @@ -26,5 +30,5 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface SystemDictDetailMapper extends BaseMapper { - + IPage selectPageByArgs(Page page, @Param("args") SystemQueryDictDetailArgs args); } 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 74b67074..43d68628 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 @@ -41,121 +41,97 @@ import org.springframework.transaction.annotation.Transactional; @Service public class SystemDictDetailService { - @Autowired private SystemDictDetailMapper systemDictDetailMapper; - @Autowired private SystemDictMapper systemDictMapper; - /** - * 创建 - * - * @param args / - */ - @Transactional(rollbackFor = Exception.class) - public void saveDictDetail(SystemCreateDictDetailArgs args) { - SystemDictDetailTb dictDetail = BeanUtil.copyProperties(args, SystemDictDetailTb.class); - dictDetail.setDictId(args.getDict().getId()); - systemDictDetailMapper.insert(dictDetail); + @Autowired + private SystemDictDetailMapper systemDictDetailMapper; + @Autowired + private SystemDictMapper systemDictMapper; + + /** + * 创建 + * + * @param args / + */ + @Transactional(rollbackFor = Exception.class) + public void saveDictDetail(SystemCreateDictDetailArgs args) { + SystemDictDetailTb dictDetail = BeanUtil.copyProperties(args, SystemDictDetailTb.class); + dictDetail.setDictId(args.getDict().getId()); + systemDictDetailMapper.insert(dictDetail); + } + + /** + * 编辑 + * + * @param args / + */ + @Transactional(rollbackFor = Exception.class) + public void updateDictDetailById(SystemDictDetailTb args) { + SystemDictDetailTb dictDetail = systemDictDetailMapper.selectById(args.getId()); + args.setId(dictDetail.getId()); + systemDictDetailMapper.insertOrUpdate(args); + } + + /** + * 删除 + * + * @param id / + */ + @Transactional(rollbackFor = Exception.class) + public void deleteDictDetailById(Long id) { + systemDictDetailMapper.deleteById(id); + } + + @Transactional(rollbackFor = Exception.class) + public void deleteDictDetailByDictIds(Set ids) { + if (CollUtil.isNotEmpty(ids)) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(SystemDictDetailTb::getDictId, ids); + systemDictDetailMapper.delete(wrapper); } + } - /** - * 编辑 - * - * @param args / - */ - @Transactional(rollbackFor = Exception.class) - public void updateDictDetailById(SystemDictDetailTb args) { - SystemDictDetailTb dictDetail = systemDictDetailMapper.selectById(args.getId()); - args.setId(dictDetail.getId()); - systemDictDetailMapper.insertOrUpdate(args); + private List listDictDetailByDictId(Long dictId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SystemDictDetailTb::getDictId, dictId); + return systemDictDetailMapper.selectList(wrapper); + } + + /** + * 分页查询 + * + * @param args 条件 + * @param page 分页参数 + * @return / + */ + public KitPageResult searchDictDetail(SystemQueryDictDetailArgs args, + Page page) { + IPage iPage = systemDictDetailMapper.selectPageByArgs(page, args).convert(i -> BeanUtil.copyProperties(i, SystemDictDetailVo.class)); + List dictIds = iPage.getRecords().stream().map(SystemDictDetailTb::getDictId).collect(Collectors.toList()); + Map id2ItemMap = systemDictMapper.selectByIds(dictIds).stream().collect(Collectors.toMap(SystemDictTb::getId, i -> i)); + for (SystemDictDetailVo record : iPage.getRecords()) { + record.setDict(id2ItemMap.get(record.getDictId())); } + return KitPageUtil.toPage(iPage); + } - /** - * 删除 - * - * @param id / - */ - @Transactional(rollbackFor = Exception.class) - public void deleteDictDetailById(Long id) { - systemDictDetailMapper.deleteById(id); + /** + * 根据字典名称获取字典详情 + * + * @param name 字典名称 + * @return / + */ + public List listDictDetailByName(String name) { + if (StrUtil.isBlank(name)) { + return new ArrayList<>(); } - - @Transactional(rollbackFor = Exception.class) - public void deleteDictDetailByDictIds(Set ids) { - if (CollUtil.isNotEmpty(ids)) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.in(SystemDictDetailTb::getDictId, ids); - systemDictDetailMapper.delete(wrapper); - } - } - - private List listDictDetailByDictId(Long dictId) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(SystemDictDetailTb::getDictId, dictId); - return systemDictDetailMapper.selectList(wrapper); - } - - private IPage searchDictDetailByArgs(List dictIds, Page page) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.in(CollUtil.isNotEmpty(dictIds), SystemDictDetailTb::getDictId, dictIds); - return systemDictDetailMapper.selectPage(page, wrapper); - } - - /** - * 分页查询 - * - * @param args 条件 - * @param page 分页参数 - * @return / - */ - public KitPageResult searchDictDetail(SystemQueryDictDetailArgs args, - Page page) { - IPage iPage = new Page<>(); - List dictIds = new ArrayList<>(); - List dictTbs = new ArrayList<>(); - - if (args == null) { - dictTbs.addAll(systemDictMapper.listAll()); - 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 = this.searchDictDetailByArgs(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 listDictDetailByName(String name) { - if (StrUtil.isBlank(name)) { - return new ArrayList<>(); - } - SystemDictTb systemDictTb = systemDictMapper.getByName(name); - if (systemDictTb == null) { - return new ArrayList<>(); - } - return this.listDictDetailByDictId(systemDictTb.getId()).stream().map(m -> { - SystemDictDetailVo detailVo = BeanUtil.copyProperties(m, SystemDictDetailVo.class); - detailVo.setDict(systemDictTb); - return detailVo; - }).collect(Collectors.toList()); + SystemDictTb systemDictTb = systemDictMapper.getByName(name); + if (systemDictTb == null) { + return new ArrayList<>(); } + return this.listDictDetailByDictId(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/resources/mapper/SystemDictDetailMapper.xml b/cutejava-springboot3/cutejava-module-system/src/main/resources/mapper/SystemDictDetailMapper.xml new file mode 100644 index 00000000..5c7d528c --- /dev/null +++ b/cutejava-springboot3/cutejava-module-system/src/main/resources/mapper/SystemDictDetailMapper.xml @@ -0,0 +1,18 @@ + + + + + diff --git a/cutejava/cutejava-module-system/src/main/java/cn/odboy/system/dal/mysql/SystemDictDetailMapper.java b/cutejava/cutejava-module-system/src/main/java/cn/odboy/system/dal/mysql/SystemDictDetailMapper.java index 98e35d5c..a6f8fc0e 100644 --- a/cutejava/cutejava-module-system/src/main/java/cn/odboy/system/dal/mysql/SystemDictDetailMapper.java +++ b/cutejava/cutejava-module-system/src/main/java/cn/odboy/system/dal/mysql/SystemDictDetailMapper.java @@ -16,8 +16,12 @@ package cn.odboy.system.dal.mysql; import cn.odboy.system.dal.dataobject.SystemDictDetailTb; +import cn.odboy.system.dal.model.SystemQueryDictDetailArgs; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 字典明细 Mapper @@ -26,5 +30,5 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface SystemDictDetailMapper extends BaseMapper { - + IPage selectPageByArgs(Page page, @Param("args") SystemQueryDictDetailArgs args); } diff --git a/cutejava/cutejava-module-system/src/main/java/cn/odboy/system/service/SystemDictDetailService.java b/cutejava/cutejava-module-system/src/main/java/cn/odboy/system/service/SystemDictDetailService.java index 88234ee1..a6d60314 100644 --- a/cutejava/cutejava-module-system/src/main/java/cn/odboy/system/service/SystemDictDetailService.java +++ b/cutejava/cutejava-module-system/src/main/java/cn/odboy/system/service/SystemDictDetailService.java @@ -41,6 +41,7 @@ import org.springframework.transaction.annotation.Transactional; @Service public class SystemDictDetailService { + @Autowired private SystemDictDetailMapper systemDictDetailMapper; @Autowired @@ -95,12 +96,6 @@ public class SystemDictDetailService { return systemDictDetailMapper.selectList(wrapper); } - private IPage searchDictDetailByArgs(List dictIds, Page page) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.in(CollUtil.isNotEmpty(dictIds), SystemDictDetailTb::getDictId, dictIds); - return systemDictDetailMapper.selectPage(page, wrapper); - } - /** * 分页查询 * @@ -110,30 +105,9 @@ public class SystemDictDetailService { */ public KitPageResult searchDictDetail(SystemQueryDictDetailArgs args, Page page) { - IPage iPage = new Page<>(); - List dictIds = new ArrayList<>(); - List dictTbs = new ArrayList<>(); - - if (args == null) { - dictTbs.addAll(systemDictMapper.listAll()); - 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 = this.searchDictDetailByArgs(dictIds, page) - .convert(i -> BeanUtil.copyProperties(i, SystemDictDetailVo.class)); + IPage iPage = systemDictDetailMapper.selectPageByArgs(page, args).convert(i -> BeanUtil.copyProperties(i, SystemDictDetailVo.class)); + List dictIds = iPage.getRecords().stream().map(SystemDictDetailTb::getDictId).collect(Collectors.toList()); + Map id2ItemMap = systemDictMapper.selectByIds(dictIds).stream().collect(Collectors.toMap(SystemDictTb::getId, i -> i)); for (SystemDictDetailVo record : iPage.getRecords()) { record.setDict(id2ItemMap.get(record.getDictId())); } diff --git a/cutejava/cutejava-module-system/src/main/resources/mapper/SystemDictDetailMapper.xml b/cutejava/cutejava-module-system/src/main/resources/mapper/SystemDictDetailMapper.xml new file mode 100644 index 00000000..5c7d528c --- /dev/null +++ b/cutejava/cutejava-module-system/src/main/resources/mapper/SystemDictDetailMapper.xml @@ -0,0 +1,18 @@ + + + + +