|
@@ -5,6 +5,7 @@
|
|
|
*/
|
|
|
package com.aizuda.boot.modules.system.service.impl;
|
|
|
|
|
|
+import com.aizuda.boot.modules.common.vo.SelectOptionVO;
|
|
|
import com.aizuda.boot.modules.system.entity.SysDict;
|
|
|
import com.aizuda.boot.modules.system.mapper.SysDictMapper;
|
|
|
import com.aizuda.boot.modules.system.service.ISysDictService;
|
|
@@ -13,10 +14,13 @@ import com.aizuda.service.service.BaseServiceImpl;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Collection;
|
|
|
import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
|
|
|
/**
|
|
|
* 系统字典 服务实现类
|
|
@@ -40,6 +44,21 @@ public class SysDictServiceImpl extends BaseServiceImpl<SysDictMapper, SysDict>
|
|
|
.eq(SysDict::getPid, 0));
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<SelectOptionVO> listSelectOptions(String code) {
|
|
|
+ List<SelectOptionVO> sovList = new ArrayList<>();
|
|
|
+ List<SysDict> dictList = lambdaQuery().eq(SysDict::getCode, code).orderByDesc(SysDict::getSort).list();
|
|
|
+ if (CollectionUtils.isNotEmpty(dictList)) {
|
|
|
+ if (Objects.equals(1, dictList.size())) {
|
|
|
+ // 单个字典配置情况且为一级字典,查询子集字典
|
|
|
+ dictList = lambdaQuery().eq(SysDict::getPid, dictList.get(0).getId()).orderByDesc(SysDict::getSort).list();
|
|
|
+ }
|
|
|
+ // 表单下拉选择项列表转换
|
|
|
+ sovList = dictList.stream().map(t -> new SelectOptionVO(t.getName(), t.getContent())).toList();
|
|
|
+ }
|
|
|
+ return sovList;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public boolean save(SysDict sysDict) {
|
|
|
this.checkCode(sysDict);
|