diff --git a/das/src/main/java/com/das/modules/equipment/controller/SysEnumController.java b/das/src/main/java/com/das/modules/equipment/controller/SysEnumController.java index 9688a314..01a3c113 100644 --- a/das/src/main/java/com/das/modules/equipment/controller/SysEnumController.java +++ b/das/src/main/java/com/das/modules/equipment/controller/SysEnumController.java @@ -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> getEnumDict() { + + List list = sysEnumService.getEnumDict(); + return R.success(list); + } } diff --git a/das/src/main/java/com/das/modules/equipment/domain/vo/SysEnumDictVo.java b/das/src/main/java/com/das/modules/equipment/domain/vo/SysEnumDictVo.java new file mode 100644 index 00000000..36bf656a --- /dev/null +++ b/das/src/main/java/com/das/modules/equipment/domain/vo/SysEnumDictVo.java @@ -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 enumValues; +} diff --git a/das/src/main/java/com/das/modules/equipment/domain/vo/SysEnumValuesVo.java b/das/src/main/java/com/das/modules/equipment/domain/vo/SysEnumValuesVo.java index ff847d10..c17675d9 100644 --- a/das/src/main/java/com/das/modules/equipment/domain/vo/SysEnumValuesVo.java +++ b/das/src/main/java/com/das/modules/equipment/domain/vo/SysEnumValuesVo.java @@ -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; diff --git a/das/src/main/java/com/das/modules/equipment/service/SysEnumService.java b/das/src/main/java/com/das/modules/equipment/service/SysEnumService.java index 4ef225d8..0238b2f5 100644 --- a/das/src/main/java/com/das/modules/equipment/service/SysEnumService.java +++ b/das/src/main/java/com/das/modules/equipment/service/SysEnumService.java @@ -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 getEnumDict(); } diff --git a/das/src/main/java/com/das/modules/equipment/service/impl/SysEnumServiceImpl.java b/das/src/main/java/com/das/modules/equipment/service/impl/SysEnumServiceImpl.java index d77d5c8a..50e1bf81 100644 --- a/das/src/main/java/com/das/modules/equipment/service/impl/SysEnumServiceImpl.java +++ b/das/src/main/java/com/das/modules/equipment/service/impl/SysEnumServiceImpl.java @@ -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 getEnumDict() { + List dict = new ArrayList<>(); + + List list = queryEnumTypesList(); + for (SysEnumTypesVo sysEnumTypesVo : list) { + SysEnumDictVo sysEnumDictVo = new SysEnumDictVo(); + + sysEnumDictVo.setName(sysEnumTypesVo.getName()); + sysEnumDictVo.setDescription(sysEnumTypesVo.getDescription()); + + List values = sysEnumValuesMapper.selectList(Wrappers.lambdaQuery().eq(SysEnumValues::getEnumTypeId, sysEnumTypesVo.getId())); + Map map = values.stream().collect(Collectors.toMap(SysEnumValues::getValue, SysEnumValues::getDescription)); + sysEnumDictVo.setEnumValues(map); + + dict.add(sysEnumDictVo); + } + + return dict; + } }