!4 数据字典增加支持动态SQL,可以不需要去写接口查询业务数据表。
Merge pull request !4 from thomas/dynamic_dict
This commit is contained in:
commit
4ac9e33739
|
@ -2,7 +2,12 @@ package net.maku.system.dao;
|
|||
|
||||
import net.maku.framework.common.dao.BaseDao;
|
||||
import net.maku.system.entity.SysDictDataEntity;
|
||||
import net.maku.system.vo.SysDictVO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 字典数据
|
||||
|
@ -12,4 +17,7 @@ import org.apache.ibatis.annotations.Mapper;
|
|||
@Mapper
|
||||
public interface SysDictDataDao extends BaseDao<SysDictDataEntity> {
|
||||
|
||||
@Select("${sql}")
|
||||
List<SysDictVO.DictData> selectListForSql(@Param("sql") String sql);
|
||||
|
||||
}
|
||||
|
|
|
@ -30,4 +30,12 @@ public class SysDictTypeEntity extends BaseEntity {
|
|||
* 排序
|
||||
*/
|
||||
private Integer sort;
|
||||
/**
|
||||
* 类型:1 静态常量 2 动态SQL
|
||||
*/
|
||||
private Integer type;
|
||||
/**
|
||||
* 动态sql
|
||||
*/
|
||||
private String sourceSql;
|
||||
}
|
|
@ -18,6 +18,7 @@ import net.maku.system.service.SysDictTypeService;
|
|||
import net.maku.system.vo.SysDictVO;
|
||||
import net.maku.system.query.SysDictTypeQuery;
|
||||
import net.maku.system.vo.SysDictTypeVO;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
@ -92,6 +93,18 @@ public class SysDictTypeServiceImpl extends BaseServiceImpl<SysDictTypeDao, SysD
|
|||
}
|
||||
}
|
||||
|
||||
if(type.getType() == 2){
|
||||
// 增加动态列表
|
||||
String sql = type.getSourceSql();
|
||||
if(StringUtils.isNotBlank(sql)){
|
||||
try {
|
||||
dict.setDataList(sysDictDataDao.selectListForSql(sql));
|
||||
} catch (Exception e) {
|
||||
log.error("增加动态字典异常: type=" + type, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dictList.add(dict);
|
||||
}
|
||||
|
||||
|
|
|
@ -45,4 +45,10 @@ public class SysDictTypeVO implements Serializable {
|
|||
@Schema(description = "更新时间")
|
||||
@JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
|
||||
private Date updateTime;
|
||||
|
||||
@Schema(description = "类型:1 静态常量 2 动态SQL")
|
||||
private Integer type;
|
||||
|
||||
@Schema(description = "动态sql")
|
||||
private String sourceSql;
|
||||
}
|
Loading…
Reference in New Issue
Block a user