---修复关联关系一对多bug
This commit is contained in:
@ -1,5 +1,6 @@
|
||||
package com.pictc.utils;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.nacos.shaded.com.google.common.collect.Lists;
|
||||
@ -58,6 +59,8 @@ public class DataLogTools {
|
||||
|
||||
private static Map<String,Class<?>> entitys = Maps.newHashMap();
|
||||
|
||||
private static final String REDIS_CACHE_KEY = "TABLE_INFO:";
|
||||
|
||||
private static Set<String> logTables = null;
|
||||
|
||||
private static Object lock = new Object();
|
||||
@ -609,21 +612,23 @@ public class DataLogTools {
|
||||
Object joinValue = tabInfo.getFieldValue(entity, join.getField());
|
||||
if(joinValue!=null && joinValue instanceof List) {
|
||||
List listValue = (List) joinValue;
|
||||
for (LogJoinColumn joinColumn : columns) {
|
||||
if (joinColumn.valueType() == JoinValueType.FEILD
|
||||
&& joinColumn.valueDirection() == ValueDirectionType.RIGHT) {
|
||||
Object joinFieldValue = tabInfo.getFieldValue(entity, joinColumn.field());
|
||||
for (Object item : listValue) {
|
||||
Long idValue2 = joinTable.getIdValue(item);
|
||||
if(idValue2==null || idValue2 <=0) {
|
||||
joinTable.setIdValue(item, IdWorker.getId());
|
||||
}
|
||||
|
||||
for (Object item : listValue) {
|
||||
Long idValue2 = joinTable.getIdValue(item);
|
||||
if(idValue2==null || idValue2 <=0) {
|
||||
joinTable.setIdValue(item, IdWorker.getId());
|
||||
}
|
||||
for (LogJoinColumn joinColumn : columns) {
|
||||
if (joinColumn.valueType() == JoinValueType.FEILD
|
||||
&& joinColumn.valueDirection() == ValueDirectionType.RIGHT) {
|
||||
Object joinFieldValue = tabInfo.getFieldValue(entity, joinColumn.field());
|
||||
joinTable.setFieldValue(item, joinColumn.relatedField(), joinFieldValue);
|
||||
}else if(joinColumn.valueType()==JoinValueType.STATIC){
|
||||
Object joinFieldValue = Convert.convert(joinColumn.staticType(), joinColumn.staticValue());
|
||||
joinTable.setFieldValue(item, joinColumn.relatedField(), joinFieldValue);
|
||||
Set<Class<?>> joinClasses = SetUtils.ofCollection(classes);
|
||||
initJoinValue(item,joinTable,joinClasses);
|
||||
}
|
||||
}
|
||||
Set<Class<?>> joinClasses = SetUtils.ofCollection(classes);
|
||||
initJoinValue(item,joinTable,joinClasses);
|
||||
}
|
||||
}else {
|
||||
Long idValue2 = joinTable.getIdValue(joinValue);
|
||||
@ -634,9 +639,16 @@ public class DataLogTools {
|
||||
if(joinColumn.valueType()==JoinValueType.FEILD && joinColumn.valueDirection()==ValueDirectionType.LEFT) {
|
||||
Object joinFieldValue = joinTable.getFieldValue(joinValue, joinColumn.relatedField());
|
||||
tabInfo.setFieldValue(entity, joinColumn.field(),joinFieldValue);
|
||||
}else {
|
||||
}else if(joinColumn.valueType()==JoinValueType.FEILD){
|
||||
Object joinFieldValue = tabInfo.getFieldValue(entity, joinColumn.field());
|
||||
joinTable.setFieldValue(joinValue, joinColumn.relatedField(), joinFieldValue);
|
||||
}else {
|
||||
Object joinFieldValue = Convert.convert(joinColumn.staticType(), joinColumn.staticValue());
|
||||
if(joinColumn.valueDirection()==ValueDirectionType.LEFT) {
|
||||
tabInfo.setFieldValue(entity, joinColumn.field(),joinFieldValue);
|
||||
}else {
|
||||
joinTable.setFieldValue(joinValue, joinColumn.relatedField(), joinFieldValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
Set<Class<?>> joinClasses = SetUtils.ofCollection(classes);
|
||||
|
||||
@ -0,0 +1,46 @@
|
||||
package com.pictc.utils;
|
||||
|
||||
import java.util.Enumeration;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
import org.springframework.web.servlet.HandlerMapping;
|
||||
|
||||
|
||||
public class RequestUtils {
|
||||
|
||||
private RequestUtils() {
|
||||
super();
|
||||
}
|
||||
|
||||
public static HttpServletRequest getRequest() {
|
||||
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
|
||||
return servletRequestAttributes.getRequest();
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static Map<String, String> getPathValues(){
|
||||
HttpServletRequest request = getRequest();
|
||||
return (Map<String, String>) request.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
|
||||
}
|
||||
|
||||
public static String getPathValue(String name){
|
||||
return getPathValues().get(name);
|
||||
}
|
||||
|
||||
public static Map<String,Object> getParameters(HttpServletRequest request) {
|
||||
Map<String,Object> parameters = CollectionUtils.newHashMap();
|
||||
Enumeration<String> names = request.getParameterNames();
|
||||
if(names!=null) {
|
||||
while (names.hasMoreElements()) {
|
||||
String name = names.nextElement();
|
||||
parameters.put(name, request.getParameter(name));
|
||||
}
|
||||
}
|
||||
return parameters;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user