简历解析结构修改和字典逻辑修改

This commit is contained in:
2025-12-02 21:32:31 +08:00
parent 22c0f3d95d
commit 4eb473b77e
14 changed files with 246 additions and 41 deletions

View File

@@ -5,6 +5,8 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.PostConstruct;
import cn.hutool.core.collection.CollectionUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -73,20 +75,46 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
@Override
public List<SysDictData> selectDictDataByType(String dictType)
{
List<SysDictData> dictDatas = DictUtils.getDictCache(dictType);
// List<SysDictData> dictDataTops = DictUtils.getDictCache(dictType);
// if (StringUtils.isNotEmpty(dictDataTops))
// {
// return dictDataTops;
// }
List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(dictType);
if (StringUtils.isNotEmpty(dictDatas))
{
return dictDatas;
}
dictDatas = dictDataMapper.selectDictDataByType(dictType);
if (StringUtils.isNotEmpty(dictDatas))
{
DictUtils.setDictCache(dictType, dictDatas);
return dictDatas;
//先查询父类字典数据
List<SysDictData> dictParentDatas = dictDatas.stream().filter(e->e.getDictParentCode().longValue() == -1L).toList();
if(CollectionUtil.isNotEmpty(dictParentDatas)){
//递归查询子集
for(SysDictData dictData : dictParentDatas){
//查询对应的子级数据
getChildrenDictData(dictDatas,dictData);
}
}
// DictUtils.setDictCache(dictType, dictParentDatas);
return dictParentDatas;
}
return null;
}
/**
* 查询子级字典数据
* @param dictDatas
* @param dictParentData
*/
private void getChildrenDictData(List<SysDictData> dictDatas,SysDictData dictParentData){
List<SysDictData> dictChildrenDatas = dictDatas.stream().
filter(e->e.getDictParentCode().longValue() == dictParentData.getDictCode().longValue()).toList();
if(CollectionUtil.isNotEmpty(dictChildrenDatas)){
for(SysDictData dictChildData : dictChildrenDatas){
getChildrenDictData(dictDatas,dictChildData);
}
dictParentData.setChildrenDictData(dictChildrenDatas);
}
}
/**
* 根据字典类型ID查询信息
*

View File

@@ -6,6 +6,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<resultMap type="SysDictData" id="SysDictDataResult">
<id property="dictCode" column="dict_code" />
<result property="dictParentCode" column="dict_parent_code" />
<result property="dictSort" column="dict_sort" />
<result property="dictLabel" column="dict_label" />
<result property="dictValue" column="dict_value" />
@@ -21,13 +22,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectDictDataVo">
select dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark
select dict_code, dict_parent_code,dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark
from sys_dict_data
</sql>
<select id="selectDictDataList" parameterType="SysDictData" resultMap="SysDictDataResult">
<include refid="selectDictDataVo"/>
<where>
<if test="dictParentCode != null and dictParentCode != ''">
AND dict_parent_code = #{dictParentCode}
</if>
<if test="dictType != null and dictType != ''">
AND dict_type = #{dictType}
</if>

View File

@@ -6,6 +6,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<resultMap type="SysDictData" id="SysDictDataResult">
<id property="dictCode" column="dict_code" />
<result property="dictParentCode" column="dict_parent_code" />
<result property="dictSort" column="dict_sort" />
<result property="dictLabel" column="dict_label" />
<result property="dictValue" column="dict_value" />
@@ -21,13 +22,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectDictDataVo">
select dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark
select dict_code, dict_parent_code,dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark
from sys_dict_data
</sql>
<select id="selectDictDataList" parameterType="SysDictData" resultMap="SysDictDataResult">
<include refid="selectDictDataVo"/>
<where>
<if test="dictParentCode != null and dictParentCode != ''">
AND dict_parent_code = #{dictParentCode}
</if>
<if test="dictType != null and dictType != ''">
AND dict_type = #{dictType}
</if>