From 914bc07f2ff447f916b736da84d766cda8c6f67b Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期二, 11 六月 2024 14:04:12 +0800
Subject: [PATCH] 优化代码

---
 pms-parent/pms-common/src/main/java/com/dy/common/mybatis/AutoGenerateIdInterceptor.java |   23 ++++++++++++++++++++++-
 1 files changed, 22 insertions(+), 1 deletions(-)

diff --git a/pms-parent/pms-common/src/main/java/com/dy/common/mybatis/AutoGenerateIdInterceptor.java b/pms-parent/pms-common/src/main/java/com/dy/common/mybatis/AutoGenerateIdInterceptor.java
index b9bba45..5c3b4e0 100644
--- a/pms-parent/pms-common/src/main/java/com/dy/common/mybatis/AutoGenerateIdInterceptor.java
+++ b/pms-parent/pms-common/src/main/java/com/dy/common/mybatis/AutoGenerateIdInterceptor.java
@@ -9,6 +9,8 @@
 import org.apache.ibatis.plugin.*;
 
 import java.lang.reflect.Method;
+import java.util.List;
+import java.util.Map;
 
 @Intercepts(
     {
@@ -38,7 +40,7 @@
             Object entity = invocation.getArgs()[PARAMETER_INDEX];
             if (entity instanceof BaseEntity) {
                 Class<?> entityClass = entity.getClass();
-                Method setIdMt = null ;
+                 Method setIdMt = null ;
                 try{
                     setIdMt = entityClass.getMethod(BASE_FIELD_SET_PRIMARY_KEY_FUNTION_NAME, Long.class) ;
                 }catch (Exception e){
@@ -49,6 +51,25 @@
                 }
 
                 invocation.getArgs()[PARAMETER_INDEX] = entity;
+            }else if(entity instanceof Map){
+                try {
+                    ((List)((Map<?, ?>) entity).get("list")).forEach(e -> {
+                        if (e instanceof BaseEntity) {
+                            Class<?> entityClass = e.getClass();
+                            Method setIdMt = null ;
+                            try{
+                                setIdMt = entityClass.getMethod(BASE_FIELD_SET_PRIMARY_KEY_FUNTION_NAME, Long.class) ;
+                                if(setIdMt != null){
+                                    setIdMt.invoke(e, new IDLongGenerator().generate());
+                                }
+                            }catch (Exception e1){
+                                //褰揺ntityClass娌℃湁setId鏂规硶鏃讹紝浼氭姏鍑哄紓甯�
+                            }
+                        }
+                    });
+                }catch (Exception e){
+
+                }
             }
         }
         return invocation.proceed();

--
Gitblit v1.8.0