All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.net.vidyo.yd.common.utils.MapItemUtil Maven / Gradle / Ivy

package cn.net.vidyo.yd.common.utils;

import cn.hutool.core.bean.BeanUtil;
import cn.net.vidyo.yd.common.data.service.EntityService;
import cn.net.vidyo.yd.common.utils.convert.*;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class MapItemUtil {

    public static Map convertObject(Object entity){
        return convertObject(entity, new MapConverter() {
            @Override
            public Map convert(Map data) {
                return data;
            }
        });
    }
    public static Map convertObject(Object entity,MapConverter converter){
        Map map = new HashMap<>();
        map=BeanUtil.beanToMap(entity);
        map=convertDate(map,"createtime","createtimeString");
        map=convertDate(map,"updatetime","updatetimeString");
        map=convertBoolean(map,"hidden","已删除","未删除","hiddenName");
        return converter.convert(map);
    }
    public static List convertList(List entitys){
        return convertList(entitys, new MapConverter() {
            @Override
            public Map convert(Map data) {
                return data;
            }
        });
    }
    public static List convertList(List entitys,MapConverter converter){
        List list = new ArrayList<>();
        if(entitys==null) {
            return list;
        }
        for (Object entity : entitys) {
            list.add(convertObject(entity,converter));
        }
        return list;
    }
    public static Page convertPage(Page page, MapConverter converter){
        long count = page.getTotalElements();
        List list = page.getContent();
        List items = new ArrayList<>();
        if(list!=null){
            items=convertList(list, converter);
        }
        PageRequest pageRequest=PageRequest.of(page.getNumber(),page.getSize());
        PageImpl newpage=new PageImpl(items,pageRequest,count);
        return newpage;
    }
    public static Map convertPageMap(Page page, MapConverter converter){
        Page maps = convertPage(page, converter);
        Map map = new HashMap<>();
        map=BeanUtil.beanToMap(maps);
        map.put("totalElements",page.getTotalElements());
        map.put("total",page.getTotalElements());
        return map;
    }
    public static Map convertMap(Map data,MapConverter converter){
        return converter.convert(data);
    }
    public static List convertMapList(List list,MapConverter converter){
        if(list==null) {
            return list;
        }
        for (Map map : list) {
            map = converter.convert(map);
        }
        return list;
    }
    public static List> beanListToMap(List entitys, MapConverter converter){
        List> list = new ArrayList<>();
        if(entitys==null){
            return list;
        }
        for (Object entity : entitys) {
            list.add(convertObject(entity,converter));
        }
        return list;
    }
    public static List> beanListToMap(List entitys){
        List> list = new ArrayList<>();
        if(entitys==null){
            return list;
        }
        for (Object entity : entitys) {
            list.add(convertObject(entity));
        }
        return list;
    }

    public static Map convertBoolean(Map data,String findField,String trueValue,String falseValue,String addNameField){
        if(data.containsKey(findField)){
            boolean b = Boolean.parseBoolean(data.get(findField).toString());
            if(b){
                data.put(addNameField,trueValue);
            }else{
                data.put(addNameField,falseValue);
            }
        }
        return data;
    }
    public static Map convertBothDateTime(Map data,String beginTimeField,String endTimeField,String addNameField){
        BothDateTimeConverter converter=new BothDateTimeConverter(beginTimeField, endTimeField, addNameField);
        return converter.convert(data);
    }
    public static Map convertDateTime(Map data,String timeField,String addNameField){
        DateConverter converter=new DateConverter(timeField, addNameField);
        return converter.convert(data);
    }
    public static Map convertDate(Map data,String dateField,String addNameField){
        DateConverter converter=new DateConverter(dateField, addNameField);
        return converter.convert(data);
    }
    public static Map convertTime(Map data,String timeField,String addNameField){
        TimeConverter converter=new TimeConverter(timeField, addNameField);
        return converter.convert(data);
    }

//    public static List> convertQueryEntityColumn(List> data, EntityService entityService, String idField, String nameField, String addNameField){
//        if(data==null || data.size()==0){
//            return data;
//        }
//        EntityServiceColumnConverter converter = new EntityServiceColumnConverter(entityService, idField, nameField, addNameField);
//        List> result= new ArrayList<>();
//        for (Map map : data) {
//            Map item=converter.convert(map);
//            result.add(item);
//        }
//        return result;
//    }
    public static Map convertQueryEntityColumn(Map data, EntityService entityService, String idField, String nameField, String addNameField){
        if(data==null || data.size()==0){
            return data;
        }
        EntityServiceColumnConverter converter = new EntityServiceColumnConverter(entityService, idField, nameField, addNameField);
        return converter.convert(data);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy