|
|
@@ -13,6 +13,8 @@ import org.springblade.los.utils.LosSpecialHandle;
|
|
|
|
|
|
import java.lang.annotation.Annotation;
|
|
|
import java.lang.reflect.Field;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.List;
|
|
|
|
|
|
/**
|
|
|
* @author :jixinyuan
|
|
|
@@ -63,8 +65,7 @@ public class StringTools {
|
|
|
}
|
|
|
}
|
|
|
return bVessels;
|
|
|
- }
|
|
|
- else if ("BPorts".equals(type)) {
|
|
|
+ } else if ("BPorts".equals(type)) {
|
|
|
Class<?> inttraSoDtoClass = BPorts.class;
|
|
|
Field[] fileds = inttraSoDtoClass.getDeclaredFields();
|
|
|
BPorts bVessels = JSONObject.parseObject(JSONObject.toJSONString(data), BPorts.class);
|
|
|
@@ -100,18 +101,15 @@ public class StringTools {
|
|
|
}
|
|
|
}
|
|
|
return bVessels;
|
|
|
- }
|
|
|
- else if ("Bills".equals(type)) {
|
|
|
+ } else if ("Bills".equals(type)) {
|
|
|
Class<?> inttraSoDtoClass = Bills.class;
|
|
|
Field[] fileds = inttraSoDtoClass.getDeclaredFields();
|
|
|
Bills bVessels = JSONObject.parseObject(JSONObject.toJSONString(data), Bills.class);
|
|
|
for (Field field : fileds) {
|
|
|
String name = field.getName();
|
|
|
- System.out.println("字段名:" + name);
|
|
|
// 设置访问权限为true,否则无法获取private字段的值
|
|
|
field.setAccessible(true);
|
|
|
Object value = field.get(bVessels);
|
|
|
- System.out.println("字段值:" + value);
|
|
|
Class<Bills> clazz = Bills.class;
|
|
|
Field field1 = clazz.getDeclaredField(name);
|
|
|
Annotation[] annotations = field1.getAnnotations(); // 获取字段上的所有注解
|
|
|
@@ -123,6 +121,7 @@ public class StringTools {
|
|
|
if (conversion) {
|
|
|
if (ObjectUtils.isNotNull(value)) {
|
|
|
value = value.toString().toUpperCase();
|
|
|
+ value = specialCharacters(value);
|
|
|
}
|
|
|
}
|
|
|
if (space) {
|
|
|
@@ -131,14 +130,11 @@ public class StringTools {
|
|
|
}
|
|
|
}
|
|
|
field.set(bVessels, value);
|
|
|
- System.out.println("注解值:" + myAnnotation.conversion());
|
|
|
- System.out.println("注解值:" + myAnnotation.space());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return bVessels;
|
|
|
- }
|
|
|
- else if ("SeaBillsDetail".equals(type)) {
|
|
|
+ } else if ("SeaBillsDetail".equals(type)) {
|
|
|
Class<?> inttraSoDtoClass = SeaBillsDetail.class;
|
|
|
Field[] fileds = inttraSoDtoClass.getDeclaredFields();
|
|
|
SeaBillsDetail bVessels = JSONObject.parseObject(JSONObject.toJSONString(data), SeaBillsDetail.class);
|
|
|
@@ -160,14 +156,15 @@ public class StringTools {
|
|
|
if (conversion) {
|
|
|
if (ObjectUtils.isNotNull(value)) {
|
|
|
value = value.toString().toUpperCase();
|
|
|
- }else {
|
|
|
+ value = specialCharacters(value);
|
|
|
+ } else {
|
|
|
value = "";
|
|
|
}
|
|
|
}
|
|
|
if (space) {
|
|
|
if (ObjectUtils.isNotNull(value)) {
|
|
|
value = value.toString().trim();
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
value = "";
|
|
|
}
|
|
|
}
|
|
|
@@ -178,8 +175,7 @@ public class StringTools {
|
|
|
}
|
|
|
}
|
|
|
return bVessels;
|
|
|
- }
|
|
|
- else if ("BCorps".equals(type)) {
|
|
|
+ } else if ("BCorps".equals(type)) {
|
|
|
Class<?> inttraSoDtoClass = BCorps.class;
|
|
|
Field[] fileds = inttraSoDtoClass.getDeclaredFields();
|
|
|
BCorps bVessels = JSONObject.parseObject(JSONObject.toJSONString(data), BCorps.class);
|
|
|
@@ -215,8 +211,7 @@ public class StringTools {
|
|
|
}
|
|
|
}
|
|
|
return bVessels;
|
|
|
- }
|
|
|
- else if ("BCntrTypes".equals(type)) {
|
|
|
+ } else if ("BCntrTypes".equals(type)) {
|
|
|
Class<?> inttraSoDtoClass = BCntrTypes.class;
|
|
|
Field[] fileds = inttraSoDtoClass.getDeclaredFields();
|
|
|
BCntrTypes bVessels = JSONObject.parseObject(JSONObject.toJSONString(data), BCntrTypes.class);
|
|
|
@@ -252,14 +247,13 @@ public class StringTools {
|
|
|
}
|
|
|
}
|
|
|
return bVessels;
|
|
|
- }
|
|
|
- else if ("SeaReleaseBill".equals(type)) {
|
|
|
+ } else if ("SeaReleaseBill".equals(type)) {
|
|
|
Class<?> inttraSoDtoClass = SeaReleaseBill.class;
|
|
|
Field[] fileds = inttraSoDtoClass.getDeclaredFields();
|
|
|
SeaReleaseBill bVessels = JSONObject.parseObject(JSONObject.toJSONString(data), SeaReleaseBill.class);
|
|
|
for (Field field : fileds) {
|
|
|
String name = field.getName();
|
|
|
- if (ObjectUtils.isNotNull(name)){
|
|
|
+ if (ObjectUtils.isNotNull(name)) {
|
|
|
System.out.println("字段名:" + name);
|
|
|
// 设置访问权限为true,否则无法获取private字段的值
|
|
|
field.setAccessible(true);
|
|
|
@@ -276,6 +270,7 @@ public class StringTools {
|
|
|
if (conversion) {
|
|
|
if (ObjectUtils.isNotNull(value)) {
|
|
|
value = value.toString().toUpperCase();
|
|
|
+ value = specialCharacters(value);
|
|
|
}
|
|
|
}
|
|
|
if (space) {
|
|
|
@@ -291,9 +286,31 @@ public class StringTools {
|
|
|
}
|
|
|
}
|
|
|
return bVessels;
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
throw new RuntimeException("数据处理失败,请联系管理员");
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ private static Object specialCharacters(Object value) {
|
|
|
+ value = value.toString().replaceAll(",", ",");
|
|
|
+ value = value.toString().replaceAll("。", ".");
|
|
|
+ value = value.toString().replaceAll("?", "?");
|
|
|
+ value = value.toString().replaceAll("!", "!");
|
|
|
+ value = value.toString().replaceAll(":", ":");
|
|
|
+ value = value.toString().replaceAll(";", ";");
|
|
|
+ value = value.toString().replaceAll("%", "%");
|
|
|
+ value = value.toString().replaceAll("——", "-");
|
|
|
+ value = value.toString().replaceAll("……", "......");
|
|
|
+ value = value.toString().replaceAll("(", "(");
|
|
|
+ value = value.toString().replaceAll(")", ")");
|
|
|
+ value = value.toString().replaceAll("‘", "'");
|
|
|
+ value = value.toString().replaceAll("’", "'");
|
|
|
+ value = value.toString().replaceAll("“", "\"");
|
|
|
+ value = value.toString().replaceAll("”", "\"");
|
|
|
+ value = value.toString().replaceAll("[", "[");
|
|
|
+ value = value.toString().replaceAll("]", "]");
|
|
|
+ value = value.toString().replaceAll("《", "<");
|
|
|
+ value = value.toString().replaceAll("》", ">");
|
|
|
+ return value;
|
|
|
+ }
|
|
|
}
|