Browse Source

系统字典添加 获取树形结构的方法

master
jianjun 4 years ago
parent
commit
96e9a3cc37
  1. 10
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysDictDataController.java
  2. 3
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysDictDataDao.java
  3. 3
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysDictDataService.java
  4. 8
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/SysDictDataServiceImpl.java
  5. 14
      epmet-admin/epmet-admin-server/src/main/resources/mapper/SysDictDataDao.xml
  6. 17
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/DictTreeResultDTO.java

10
epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysDictDataController.java

@ -10,6 +10,7 @@ package com.epmet.controller;
import com.epmet.commons.tools.dto.form.DictListFormDTO;
import com.epmet.commons.tools.dto.result.DictListResultDTO;
import com.epmet.commons.tools.dto.result.DictTreeResultDTO;
import com.epmet.commons.tools.dto.result.OptionResultDTO;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
@ -150,6 +151,15 @@ public class SysDictDataController {
return new Result<List<DictListResultDTO>>().ok(sysDictDataService.dictList(formDTO.getDictType()));
}
/**
* @Description 字典数据查询通用接口
* @Author sun
*/
@PostMapping("dictTree/{dictType}")
public Result<List<DictTreeResultDTO>> dictListTree(@PathVariable("dictType") String dictType) {
return new Result<List<DictTreeResultDTO>>().ok(sysDictDataService.dictListTree(dictType));
}
/**
* 字典数据查询通用接口
* @Param dictType

3
epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysDictDataDao.java

@ -10,6 +10,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.commons.tools.dto.result.DictListResultDTO;
import com.epmet.commons.tools.dto.result.DictTreeResultDTO;
import com.epmet.entity.DictData;
import com.epmet.entity.SysDictDataEntity;
import org.apache.ibatis.annotations.Mapper;
@ -30,4 +31,6 @@ public interface SysDictDataDao extends BaseDao<SysDictDataEntity> {
List<DictData> getDictDataList();
List<DictListResultDTO> selectDictList(String dictType);
List<DictTreeResultDTO> selectDictData(String dictType);
}

3
epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysDictDataService.java

@ -10,6 +10,7 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.dto.result.DictListResultDTO;
import com.epmet.commons.tools.dto.result.DictTreeResultDTO;
import com.epmet.commons.tools.dto.result.OptionResultDTO;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.SysDictDataDTO;
@ -87,4 +88,6 @@ public interface SysDictDataService extends BaseService<SysDictDataEntity> {
Map<String, String> dictMap(String dictType);
List<DictTreeResultDTO> dictListTree(String dictType);
}

8
epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/SysDictDataServiceImpl.java

@ -13,9 +13,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.dto.result.DictListResultDTO;
import com.epmet.commons.tools.dto.result.DictTreeResultDTO;
import com.epmet.commons.tools.dto.result.OptionResultDTO;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.TreeUtils;
import com.epmet.dao.SysDictDataDao;
import com.epmet.dto.SysDictDataDTO;
import com.epmet.entity.SysDictDataEntity;
@ -217,4 +219,10 @@ public class SysDictDataServiceImpl extends BaseServiceImpl<SysDictDataDao, SysD
return resultDTOList.stream().collect(Collectors.toMap(DictListResultDTO::getValue, DictListResultDTO::getLabel));
}
@Override
public List<DictTreeResultDTO> dictListTree(String dictType) {
List<DictTreeResultDTO> resultDTOList = baseDao.selectDictData(dictType);
return TreeUtils.buildTree(resultDTOList);
}
}

14
epmet-admin/epmet-admin-server/src/main/resources/mapper/SysDictDataDao.xml

@ -19,5 +19,19 @@
ORDER BY
a.sort ASC
</select>
<select id="selectDictData" resultType="com.epmet.commons.tools.dto.result.DictTreeResultDTO">
SELECT
a.dict_value id,
a.dict_p_value pid,
a.dict_label label,
a.dict_value `value`
FROM
sys_dict_data a
INNER JOIN sys_dict_type b ON a.dict_type_id = b.id
WHERE
b.dict_type = #{dictType}
ORDER BY
a.sort asc
</select>
</mapper>

17
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/DictTreeResultDTO.java

@ -0,0 +1,17 @@
package com.epmet.commons.tools.dto.result;
import com.epmet.commons.tools.utils.TreeStringNode;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 字典数据查询-接口返参
* @Author sun
*/
@Data
public class DictTreeResultDTO extends TreeStringNode<DictTreeResultDTO> implements Serializable {
private static final long serialVersionUID = 3772355047088964759L;
private String label;
private String value;
}
Loading…
Cancel
Save