Package cn.sinozg.applet.opt.util
Class OptUtil
java.lang.Object
cn.sinozg.applet.opt.util.OptUtil
工具类
- Since:
- 2024-02-27 19:57
- Author:
- xieyubin
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic String所有的 对比 按照表显示 不按照父子关系static List<OptLogTableInfo>compare(List<Map<String, Object>> newValues, Map<String, Map<String, Object>> oldValues, Map<String, OptMapperColumn> propMap, OptLogTableDetail tableDetail, ModeEnum modeEnum) 对比一次sql 执行后的数据差异private static OptLogTableInfocompareTable(Map<String, Object> newValues, Map<String, Object> oldValues, Map<String, OptMapperColumn> propMap, OptLogTableDetail tableDetail, ModeEnum modeEnum) 对比表一条记录的数据差异static voiddiffWithDependency(AnalysisMiddleware mom, Class<?> tie) 对比信息 按照依赖关系返回static boolean排除全局表 或者字段private static voidfirstEntityClass(AnalysisMiddleware mom, OptTieRelation<?> optTie) 获取主表的类型static Class<?>firstMethodParams(Method method, String requestMethod) 获取方法的第一个参数范型类型static StringformatColumnValue(Object value) 不同类型的数据格式化private static OptLogDiffTablegetOneTableDiff(List<OptLogTableInfo> tables, AnalysisMiddleware mom) 设置一个类型的表的数据private static OptLogDiffTableinitDiffTable(List<OptLogTableInfo> list) 初始化设置表的diff信息private static boolean判断是否需要过滤的对象。private static voiditemTale(OptTieCache<?> tie, AnalysisMiddleware mom, OptLogDiffTable diffTable, String pId) 迭代处理数据static <T> OptTieRelation<T>递归获取映射关系private static List<OptTieCache<?>>optTieList(Class<?> clazz, Map<Class<?>, OptTieRecord> keyMap) 递归获取映射关系static StringrequestParamsToJson(String requestMethod, org.aspectj.lang.JoinPoint joinPoint) 获取到请求参数private static voidsetChangeList(Map<ModeEnum, OptLogDiffTableChange> changes, OptLogDiffTable table) 设置 对比结果到一个表的集合里面去private static voidsetTableDiffByMode(Map<ModeEnum, OptLogDiffTableChange> map, OptLogTableInfo t, AnalysisMiddleware mom) 根据类型 设置表的修改信息static StringvalueIsEquals(Object oldValue, Object newValue) 判断对象是否相等
-
Field Details
-
MAX_LENGTH
private static final int MAX_LENGTH最长的字符串- See Also:
-
-
Constructor Details
-
OptUtil
public OptUtil()
-
-
Method Details
-
firstMethodParams
获取方法的第一个参数范型类型- Parameters:
method- 方法requestMethod- 请求类型- Returns:
- 参数类型
-
requestParamsToJson
public static String requestParamsToJson(String requestMethod, org.aspectj.lang.JoinPoint joinPoint) 获取到请求参数- Parameters:
requestMethod- 请求类型joinPoint- joinPoint- Returns:
- 参数 json 或者字符串
-
exclude
排除全局表 或者字段- Parameters:
info- 表名称或者字段名称include- 含有exclude- 排除- Returns:
- 是否满足
-
substring
-
optTie
递归获取映射关系- Parameters:
clazz- 类- Returns:
- 映射关系
-
allDiffJson
所有的 对比 按照表显示 不按照父子关系- Parameters:
mom- 数据- Returns:
- 差异集合
-
diffWithDependency
对比信息 按照依赖关系返回- Parameters:
mom- 参数tie- 依赖关系结构
-
compare
public static List<OptLogTableInfo> compare(List<Map<String, Object>> newValues, Map<String, Map<String, Object>> oldValues, Map<String, OptMapperColumn> propMap, OptLogTableDetail tableDetail, ModeEnum modeEnum) 对比一次sql 执行后的数据差异- Parameters:
newValues- 新值oldValues- 旧数据propMap- 属性tableDetail- 表详情modeEnum- 修改类型- Returns:
- 具体信息
-
compareTable
private static OptLogTableInfo compareTable(Map<String, Object> newValues, Map<String, Object> oldValues, Map<String, OptMapperColumn> propMap, OptLogTableDetail tableDetail, ModeEnum modeEnum) 对比表一条记录的数据差异- Parameters:
newValues- 新值oldValues- 旧数据propMap- 属性tableDetail- 表详情modeEnum- 修改类型- Returns:
- 具体信息
-
valueIsEquals
private static org.apache.commons.lang3.tuple.ImmutablePair<String,String> valueIsEquals(Object oldValue, Object newValue) 判断对象是否相等- Parameters:
oldValue- oldValuenewValue- newValue- Returns:
- 是否相等
-
formatColumnValue
不同类型的数据格式化- Parameters:
value- 格式化值- Returns:
- 格式化
-
optTieList
递归获取映射关系- Parameters:
clazz- 类keyMap- map- Returns:
- 映射关系
-
itemTale
private static void itemTale(OptTieCache<?> tie, AnalysisMiddleware mom, OptLogDiffTable diffTable, String pId) 迭代处理数据- Parameters:
tie- 依赖mom- 参数diffTable- 父级diff 信息pId- 父id
-
setTableDiffByMode
private static void setTableDiffByMode(Map<ModeEnum, OptLogDiffTableChange> map, OptLogTableInfo t, AnalysisMiddleware mom) 根据类型 设置表的修改信息- Parameters:
map- mapt- 表数据mom- 原始数据
-
getOneTableDiff
private static OptLogDiffTable getOneTableDiff(List<OptLogTableInfo> tables, AnalysisMiddleware mom) 设置一个类型的表的数据- Parameters:
tables- 数据mom- 参数- Returns:
- 表信息
-
setChangeList
private static void setChangeList(Map<ModeEnum, OptLogDiffTableChange> changes, OptLogDiffTable table) 设置 对比结果到一个表的集合里面去- Parameters:
changes- 对比结果table- 表
-
firstEntityClass
获取主表的类型- Parameters:
mom- 已经处理后的表数据optTie- 依赖
-
initDiffTable
初始化设置表的diff信息- Parameters:
list- 数据集合- Returns:
- 表信息
-
isFilterObject
判断是否需要过滤的对象。- Parameters:
o- 对象信息。- Returns:
- 如果是需要过滤的对象,则返回true;否则返回false。
-