|
|
@@ -1,14 +1,62 @@
|
|
|
package com.middle.platform.system.biz.service;
|
|
|
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.github.pagehelper.PageHelper;
|
|
|
+import com.github.pagehelper.PageInfo;
|
|
|
+import com.middle.platform.common.modle.BasePara;
|
|
|
+import com.middle.platform.common.utils.PageRes;
|
|
|
+import com.middle.platform.system.api.pojo.DictDto;
|
|
|
import com.middle.platform.system.biz.entity.SysDictItem;
|
|
|
import com.middle.platform.system.biz.mapper.SysDictItemMapper;
|
|
|
+import com.middle.platform.system.biz.pojo.res.SysDictItemVo;
|
|
|
+import lombok.RequiredArgsConstructor;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
/**
|
|
|
-* @date 2023-12-18 15:17:16
|
|
|
-* @author xucaiqin
|
|
|
-*/
|
|
|
+ * @author xucaiqin
|
|
|
+ * @date 2023-12-18 15:17:16
|
|
|
+ */
|
|
|
@Service
|
|
|
-public class SysDictItemService extends ServiceImpl<SysDictItemMapper, SysDictItem> {
|
|
|
+@RequiredArgsConstructor
|
|
|
+public class SysDictItemService {
|
|
|
+ private final SysDictItemMapper sysDictItemMapper;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 分页查询字典项
|
|
|
+ *
|
|
|
+ * @param dictId 字典id
|
|
|
+ * @param basePara 分页参数
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public PageRes<SysDictItemVo> list(Long dictId, BasePara basePara) {
|
|
|
+ PageHelper.startPage(basePara.getPage(), basePara.getPageSize());
|
|
|
+ List<SysDictItem> sysDictItems = sysDictItemMapper.selectList(new LambdaQueryWrapper<SysDictItem>().eq(SysDictItem::getDictId, dictId));
|
|
|
+ if (CollectionUtils.isEmpty(sysDictItems)) {
|
|
|
+ return new PageRes<>(basePara.getPage(), basePara.getPageSize());
|
|
|
+ }
|
|
|
+ List<SysDictItemVo> collect = sysDictItems.stream().map(a -> {
|
|
|
+ SysDictItemVo sysDictVo = new SysDictItemVo();
|
|
|
+ BeanUtils.copyProperties(a, sysDictVo);
|
|
|
+ return sysDictVo;
|
|
|
+
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ return PageRes.build(new PageInfo<>(sysDictItems), collect);
|
|
|
+ }
|
|
|
|
|
|
+ public DictDto queryBy(String dictType, String value) {
|
|
|
+ SysDictItem sysDictItem = sysDictItemMapper.selectOne(new LambdaQueryWrapper<SysDictItem>()
|
|
|
+ .eq(SysDictItem::getType, dictType).eq(SysDictItem::getValue, value).last("limit 1"));
|
|
|
+ if (Objects.nonNull(sysDictItem)) {
|
|
|
+ DictDto dictDto = new DictDto();
|
|
|
+ BeanUtils.copyProperties(sysDictItem, dictDto);
|
|
|
+ return dictDto;
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
}
|