From 0e877574ab499260677ab81c2c0298eb25fe4fd0 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 13 五月 2024 16:19:23 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV
---
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/AutoGenerateIdInterceptor.java | 29 ++++++++++++++++++++++-------
1 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/AutoGenerateIdInterceptor.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/AutoGenerateIdInterceptor.java
index e9db338..6265e27 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/AutoGenerateIdInterceptor.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/AutoGenerateIdInterceptor.java
@@ -1,16 +1,14 @@
package com.dy.common.mybatis;
+import com.alibaba.fastjson2.JSONObject;
+import com.alibaba.fastjson2.JSONWriter;
import com.dy.common.po.BaseEntity;
import com.dy.common.util.IDLongGenerator;
import org.apache.ibatis.executor.Executor;
import org.apache.ibatis.mapping.MappedStatement;
import org.apache.ibatis.mapping.SqlCommandType;
-import org.apache.ibatis.plugin.Interceptor;
-import org.apache.ibatis.plugin.Intercepts;
-import org.apache.ibatis.plugin.Invocation;
-import org.apache.ibatis.plugin.Plugin;
-import org.apache.ibatis.plugin.Signature;
+import org.apache.ibatis.plugin.*;
import java.lang.reflect.Method;
@@ -28,6 +26,7 @@
static int MAPPED_STATEMENT_INDEX = 0;
static int PARAMETER_INDEX = 1;
static String BASE_FIELD_SET_PRIMARY_KEY_FUNTION_NAME = "setId";
+ static String BASE_FIELD_SET_PRIMARY_KEY_FUNTION_NAME2 = "setUserId";
/**
* 鎷︽埅閫昏緫瀹炵幇
@@ -43,8 +42,24 @@
if (entity instanceof BaseEntity) {
//Class<? extends Object> entityClass = entity.getClass();
Class<?> entityClass = entity.getClass();
- Method setMt = entityClass.getMethod(BASE_FIELD_SET_PRIMARY_KEY_FUNTION_NAME, Long.class) ;
- setMt.invoke(entity, new IDLongGenerator().generate());
+ Method setMt = null ;
+ try{
+ // 娣诲姞鐢ㄦ埛鏃秛serId涓鸿嚜鍔ㄧ敓鎴愪富閿�俽oleId瀛樺湪鏃舵槸涓虹敤鎴风粦瑙掕壊
+ String jsonString = JSONObject.toJSONString(entity, JSONWriter.Feature.WriteMapNullValue);
+ JSONObject jsonObject = JSONObject.parseObject(jsonString);
+ if(jsonObject.containsKey("userId") && !jsonObject.containsKey("roleId")) {
+ setMt = entityClass.getMethod(BASE_FIELD_SET_PRIMARY_KEY_FUNTION_NAME2, Long.class) ;
+ }else {
+ //鏈変竴浜涘疄浣撴病鏈塱d锛屼緥濡備腑闂磋〃
+ setMt = entityClass.getMethod(BASE_FIELD_SET_PRIMARY_KEY_FUNTION_NAME, Long.class) ;
+ }
+ }catch (Exception e){
+ //褰揺ntityClass娌℃湁setId鏂规硶鏃讹紝浼氭姏鍑哄紓甯�
+ }
+ if(setMt != null){
+ setMt.invoke(entity, new IDLongGenerator().generate());
+ }
+
invocation.getArgs()[PARAMETER_INDEX] = entity;
}
}
--
Gitblit v1.8.0