Просмотр исходного кода

[深爱]科目基础资料对接测试

zxl 1 год назад
Родитель
Сommit
03e16b29b0
1 измененных файлов с 30 добавлено и 1 удалено
  1. 30 1
      src/main/java/com/uas/eis/service/Impl/RequestSTKServiceImpl.java

+ 30 - 1
src/main/java/com/uas/eis/service/Impl/RequestSTKServiceImpl.java

@@ -25,6 +25,8 @@ import org.springframework.jdbc.core.BeanPropertyRowMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
@@ -304,8 +306,16 @@ public class RequestSTKServiceImpl implements RequestSTKService {
         //param.put("TASKNO","P2022032200000041");
         //param.put("TASKCODE","202409");
 
+        JSONObject param = new JSONObject(4);
+        Field[] fields = dto.getClass().getDeclaredFields();
+        for(Field field : fields){
+            String fieldName =  field.getName();
+            if(getValueByFieldName(fieldName,dto)!=null)
+                param.put(fieldName,  getValueByFieldName(fieldName,dto));
+        }
+
 
-        request.put("param",request);
+        request.put("param",param);
 
         String content = request.toString();
 
@@ -336,6 +346,25 @@ public class RequestSTKServiceImpl implements RequestSTKService {
         return resultResponse ;
     }
 
+    /**
+     * 根据属性名获取该类此属性的值
+     * @param fieldName
+     * @param object
+     * @return
+     */
+    private static Object getValueByFieldName(String fieldName,Object object){
+        String firstLetter=fieldName.substring(0,1).toUpperCase();
+        String getter = "get"+firstLetter+fieldName.substring(1);
+        try {
+            Method method = object.getClass().getMethod(getter, new Class[]{});
+            Object value = method.invoke(object, new Object[] {});
+            return value;
+        } catch (Exception e) {
+            return null;
+        }
+
+    }
+
     @Override
     public List<CustvendDTO> queryList() {
         List<CustvendDTO> custvendDTO = new ArrayList<CustvendDTO>();