首页 > 其他分享 >jeecgBoot将实体转为Map对象

jeecgBoot将实体转为Map对象

时间:2023-01-10 10:46:47浏览次数:32  
标签:Map obj get getName field result jeecgBoot 转为

接口:

interface CommonService Map<String, Object> convertObjToMap(Object obj, boolean isIgnore, String... columns); 实现类: class CommonServiceImpl implements CommonService 实现方法;
@Override
    public Map<String, Object> convertObjToMap(Object obj, boolean isIgnore, String... columns) {
        Map<String, Object> result = new HashMap<>();

        Field[] fields = obj.getClass().getDeclaredFields();
        for (Field field : fields) {
            if (isIgnore) {
                if (Arrays.asList(columns).contains(field.getName()))
                    continue;
            } else {
                if (!Arrays.asList(columns).contains(field.getName()))
                    continue;
            }

            field.setAccessible(true);
            try {
                // 如果是日期,则进行转换
                if (field.getType().equals(Date.class) && field.get(obj) != null) {
                    result.put(field.getName(), DateTime.of((Date) field.get(obj)).toString("yyyy-MM-dd HH:mm:ss"));
                    continue;
                }

                // 如果添加了注解Dict,则解析Dict内容
                if (field.isAnnotationPresent(Dict.class)) {
                    String dictCode = field.getAnnotation(Dict.class).dicCode();
                    Map<String, String> dictMaps = sysBaseAPI.queryDictItemsByCode(dictCode)
                            .stream()
                            .collect(Collectors.toMap(DictModel::getValue, DictModel::getText));

                    result.put(field.getName() + "_dictText", dictMaps.get(field.get(obj)));
                }

                result.put(field.getName(), field.get(obj));
            } catch (Exception e) {
                System.err.println("UtilTools.convertObjToMap 发生错误:" + e.getMessage());
                result.put(field.getName(), "nil");
            }
            field.setAccessible(false);
        }

        return result;
    }

 

 

标签:Map,obj,get,getName,field,result,jeecgBoot,转为
From: https://www.cnblogs.com/baixiuhua/p/17039413.html

相关文章