From fe2f3011f3f5d3ea760b6520e9e95a2c419e4b78 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期一, 11 十二月 2023 12:56:30 +0800
Subject: [PATCH] 修改

---
 zt/common/src/main/java/com/zt/common/utils/CommonUtils.java |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 46 insertions(+), 0 deletions(-)

diff --git a/zt/common/src/main/java/com/zt/common/utils/CommonUtils.java b/zt/common/src/main/java/com/zt/common/utils/CommonUtils.java
index e9cde03..fd9805b 100644
--- a/zt/common/src/main/java/com/zt/common/utils/CommonUtils.java
+++ b/zt/common/src/main/java/com/zt/common/utils/CommonUtils.java
@@ -1,10 +1,12 @@
 package com.zt.common.utils;
 
 import cn.hutool.core.convert.Convert;
+import cn.hutool.core.util.ReflectUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.zt.common.entity.MapData;
 import org.apache.commons.lang3.StringUtils;
 
+import java.lang.reflect.Field;
 import java.text.NumberFormat;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -170,4 +172,48 @@
         long msec = diff % 1000;
         return hour + "灏忔椂" + min + "鍒嗛挓" + sec + "绉�" + msec + "姣";
     }
+
+    public static boolean isActureChangeData(Object pageData, Object dbData) {
+        if (dbData == null)
+            return true;
+        Field[] fields = ReflectUtil.getFields(pageData.getClass());
+        for (Field field : fields) {
+            field.setAccessible(true);
+            String fieldName = field.getName();
+            String typeName = field.getType().getName().toLowerCase();
+            String fieldsList = "serialversionuid,updater,updatedate,creator,createdate,tenantid,companyid,files,isdelete";
+            if (!typeName.contains("com.zt.life.modules") && !typeName.equals("java.util.List") && !fieldsList.contains(fieldName.toLowerCase())) {
+                Object staticFieldValue = ReflectUtil.getFieldValue(pageData, field.getName());
+                try {
+                    Object staticFieldValue2 = ReflectUtil.getFieldValue(dbData, field.getName());
+                    if ("java.lang.string,java.lang.long".contains(typeName)) {
+                        if ((staticFieldValue == null && staticFieldValue2 != null) || (staticFieldValue != null && staticFieldValue2 == null)) {
+                            System.out.println(fieldName);
+                            System.out.println(staticFieldValue);
+                            System.out.println(staticFieldValue2);
+                            return true;
+                        }
+                        if (staticFieldValue != null && staticFieldValue2 != null) {
+                            if (!staticFieldValue.equals(staticFieldValue2)) {
+                                System.out.println(fieldName);
+                                System.out.println(staticFieldValue);
+                                System.out.println(staticFieldValue2);
+                                return true;
+                            }
+                        }
+                    } else {
+                        if (staticFieldValue != staticFieldValue2) {
+                            System.out.println(fieldName);
+                            System.out.println(staticFieldValue);
+                            System.out.println(staticFieldValue2);
+                            return true;
+                        }
+                    }
+                } catch (Exception ex) {
+
+                }
+            }
+        }
+        return false;
+    }
 }

--
Gitblit v1.9.1