添加一个枚举字典全量查询接口

This commit is contained in:
houwei 2024-11-06 14:42:03 +08:00
parent 7e17b04d71
commit ea276b46ab
5 changed files with 75 additions and 2 deletions

View File

@ -7,6 +7,7 @@ import com.das.common.result.R;
import com.das.common.utils.PageDataInfo;
import com.das.modules.equipment.domain.dto.SysEnumTypesDto;
import com.das.modules.equipment.domain.dto.SysEnumValuesDto;
import com.das.modules.equipment.domain.vo.SysEnumDictVo;
import com.das.modules.equipment.domain.vo.SysEnumTypesVo;
import com.das.modules.equipment.domain.vo.SysEnumValuesVo;
import com.das.modules.equipment.service.SysEnumService;
@ -153,6 +154,17 @@ public class SysEnumController {
sysEnumService.deleteEnumTypes(sysEnumTypesDto);
return R.success();
}
/**
* 获取枚举字典
* @return 枚举值字典
*/
@PostMapping("/getEnumDict")
public R<List<SysEnumDictVo>> getEnumDict() {
List<SysEnumDictVo> list = sysEnumService.getEnumDict();
return R.success(list);
}
}

View File

@ -0,0 +1,26 @@
package com.das.modules.equipment.domain.vo;
import lombok.Data;
import java.util.Map;
/**
* 枚举值值字典
*/
@Data
public class SysEnumDictVo {
/**
* 枚举类型名称
*/
private String name;
/**
* 枚举类型描述
*/
private String description;
/**
* 枚举类型值集合
* key: 枚举值
* value: 枚举值描述
*/
private Map<String,String> enumValues;
}

View File

@ -5,9 +5,10 @@ import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
@Data
public class SysEnumValuesVo {
public class SysEnumValuesVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;

View File

@ -3,6 +3,7 @@ package com.das.modules.equipment.service;
import com.das.common.utils.PageDataInfo;
import com.das.modules.equipment.domain.dto.SysEnumTypesDto;
import com.das.modules.equipment.domain.dto.SysEnumValuesDto;
import com.das.modules.equipment.domain.vo.SysEnumDictVo;
import com.das.modules.equipment.domain.vo.SysEnumTypesVo;
import com.das.modules.equipment.domain.vo.SysEnumValuesVo;
@ -26,5 +27,9 @@ public interface SysEnumService {
void deleteEnumValues(SysEnumValuesDto sysEnumValuesDto);
/**
* 获取系统枚举字典
* @return
*/
List<SysEnumDictVo> getEnumDict();
}

View File

@ -3,6 +3,7 @@ package com.das.modules.equipment.service.impl;
import cn.dev33.satoken.stp.StpUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.das.common.config.SessionUtil;
import com.das.common.exceptions.ServiceException;
import com.das.common.utils.BeanCopyUtils;
@ -11,6 +12,7 @@ import com.das.common.utils.PageQuery;
import com.das.modules.auth.domain.vo.SysUserVo;
import com.das.modules.equipment.domain.dto.SysEnumTypesDto;
import com.das.modules.equipment.domain.dto.SysEnumValuesDto;
import com.das.modules.equipment.domain.vo.SysEnumDictVo;
import com.das.modules.equipment.domain.vo.SysEnumTypesVo;
import com.das.modules.equipment.domain.vo.SysEnumValuesVo;
import com.das.modules.equipment.entity.SysEnumTypes;
@ -24,6 +26,8 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class SysEnumServiceImpl implements SysEnumService {
@ -177,4 +181,29 @@ public class SysEnumServiceImpl implements SysEnumService {
sysEnumValues.setIsActive(0);
sysEnumValuesMapper.updateById(sysEnumValues);
}
/**
* 获取系统枚举字典
* @return 枚举字典
*/
@Override
public List<SysEnumDictVo> getEnumDict() {
List<SysEnumDictVo> dict = new ArrayList<>();
List<SysEnumTypesVo> list = queryEnumTypesList();
for (SysEnumTypesVo sysEnumTypesVo : list) {
SysEnumDictVo sysEnumDictVo = new SysEnumDictVo();
sysEnumDictVo.setName(sysEnumTypesVo.getName());
sysEnumDictVo.setDescription(sysEnumTypesVo.getDescription());
List<SysEnumValues> values = sysEnumValuesMapper.selectList(Wrappers.<SysEnumValues>lambdaQuery().eq(SysEnumValues::getEnumTypeId, sysEnumTypesVo.getId()));
Map<String, String> map = values.stream().collect(Collectors.toMap(SysEnumValues::getValue, SysEnumValues::getDescription));
sysEnumDictVo.setEnumValues(map);
dict.add(sysEnumDictVo);
}
return dict;
}
}