Commit 9a940a61 by zhangxingmin

push

parent 7ca1f888
...@@ -3,20 +3,27 @@ package com.yd.oss.service.service.impl; ...@@ -3,20 +3,27 @@ package com.yd.oss.service.service.impl;
import com.yd.oss.feign.annotation.PdfField; import com.yd.oss.feign.annotation.PdfField;
import com.yd.oss.service.service.FieldValueProvider; import com.yd.oss.service.service.FieldValueProvider;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.Map;
/** /**
* 使用注解实现通用字段值提供器 * 支持注解和 Map 的通用字段值提供器
* @param <T>
*/ */
@Component @Component
public class AnnotationFieldValueProvider<T> implements FieldValueProvider<T> { public class AnnotationFieldValueProvider<T> implements FieldValueProvider<T> {
@Override @Override
@SuppressWarnings("unchecked")
public String getFieldValue(T object, String fieldName) { public String getFieldValue(T object, String fieldName) {
try { try {
// 获取所有字段 // 如果对象是 Map 类型
if (object instanceof Map) {
Map<String, Object> map = (Map<String, Object>) object;
Object value = map.get(fieldName);
return value != null ? value.toString() : "";
}
// 如果是普通 Java 对象,使用注解方式
Field[] fields = object.getClass().getDeclaredFields(); Field[] fields = object.getClass().getDeclaredFields();
for (Field field : fields) { for (Field field : fields) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment