Class JsonORMUtil

java.lang.Object
cn.net.pap.common.jsonorm.util.JsonORMUtil

public class JsonORMUtil extends Object
JSON ORM 工具类
  • Constructor Details

    • JsonORMUtil

      public JsonORMUtil()
  • Method Details

    • readFileToString

      public static String readFileToString(File file) throws IOException
      文档读取 - 读取文本内容
      Parameters:
      file -
      Returns:
      Throws:
      IOException
    • findUniqueKeyValuePairs

      public static Map<String,Object> findUniqueKeyValuePairs(List<Map<String,Object>> mapList)
      从 map list 里面进行遍历取值,把 多个集合中具有相同key和value不分的数据查出来,放到一个单独的 map 里面返回, 入参: [{key1=value1, key2=value2}, {key1=value1, key2=value2, key3=value3}, {key1=value1}] 出参: {key1=value1}
      Parameters:
      mapList -
      Returns:
    • geneTableFieldValueDTOList

      public static List<TableFieldValueDTO> geneTableFieldValueDTOList(MappingORMDTO mappingORMDTO, com.fasterxml.jackson.databind.JsonNode jsonNode) throws Exception
      将 业务数据-jsonNode 按照 业务-表结构映射规则-mappingORMDTO 进行封装处理,转换为结构化操作数据
      Parameters:
      mappingORMDTO -
      jsonNode -
      Returns:
      Throws:
      Exception
    • refreshTableFieldValueDTOListInsert

      public static List<TableFieldValueDTO> refreshTableFieldValueDTOListInsert(List<TableFieldValueDTO> tableFieldValueDTOList) throws Exception
      刷新生成的 TableFieldValueDTO 对象,根据主键和外键标识,将主键和外键的关联关系添加进来。
      Parameters:
      tableFieldValueDTOList -
      Returns:
      Throws:
      Exception
    • refreshTableFieldValueDTOListInsert

      public static List<TableFieldValueDTO> refreshTableFieldValueDTOListInsert(List<TableFieldValueDTO> tableFieldValueDTOList, Boolean usingInputPK) throws Exception
      刷新生成的 TableFieldValueDTO 对象,根据主键和外键标识,将主键和外键的关联关系添加进来。
      Parameters:
      tableFieldValueDTOList -
      usingInputPK - true代表使用前端传递过来的主键值(更新操作使用先删除再插入,此时可以传递true使用前端传值); false代表使用服务端的主键生成策略
      Returns:
      Throws:
      Exception
    • refreshTableFieldValueDTOListUpdate2Del

      public static DelDetailTableValueDTO<String> refreshTableFieldValueDTOListUpdate2Del(List<TableFieldValueDTO> tableFieldValueDTOList) throws Exception
      如果是一对多关系的更新操作,那么多方的数据部分需要进行删除,这里将多方数据删除后新增,这里维护对应需要删除的数据。
      Parameters:
      tableFieldValueDTOList -
      Returns:
      Throws:
      Exception
    • refreshTableFieldValueDTOListDelete

      public static List<DelDetailTableValueDTO<String>> refreshTableFieldValueDTOListDelete(List<TableFieldValueDTO> tableFieldValueDTOList) throws Exception
      Throws:
      Exception
    • geneTableFieldValueDTO

      public static TableFieldValueDTO geneTableFieldValueDTO(String tableName, MappingTableDTO mappingTableDTO, Map<String,Object> values)
      根据 业务 - 表结构 映射关系,维护对应的操作数据
      Parameters:
      tableName - 操作表名
      mappingTableDTO - 业务 - 表结构 映射关系
      values - 传递过来的数据值
      Returns:
    • withFKFilter

      public static List<Map<String,Object>> withFKFilter(String tableName, MappingTableDTO mappingTableDTO, List<Map<String,Object>> flattenedMapList)
      如果存在外键设置,那么需要过滤一下平铺的map,把纯主表的map对象进行移除
      Parameters:
      tableName -
      mappingTableDTO -
      flattenedMapList -
      Returns:
    • checkMapAllInFieldList

      public static Boolean checkMapAllInFieldList(List<String> fieldList, Map<String,Object> values)
      数据完整性检测,业务字段数据和规则是否匹配
      Parameters:
      fieldList -
      values -
      Returns:
    • deepCopyList

      public static <T> List<T> deepCopyList(List<T> originalList, Class<T> clazz) throws IOException
      List 深拷贝
      Type Parameters:
      T -
      Parameters:
      originalList -
      Returns:
      Throws:
      IOException
    • extractKeyValues

      public static List<String> extractKeyValues(com.fasterxml.jackson.databind.JsonNode node, String targetKey)
      使用 jackson 把 JSON 对象中特定节点的值都查询出来, 可用于参数校验、参数提取
      Parameters:
      node -
      targetKey -
      Returns:
    • flattenJson

      public static List<Map<String,Object>> flattenJson(com.fasterxml.jackson.databind.JsonNode jsonNode)
      json 转平铺
      Parameters:
      jsonNode -
      Returns: