From b4c371a3049be8a53a5cad6b6ba499ebaf438232 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期三, 13 八月 2025 15:25:14 +0800 Subject: [PATCH] 修改bug --- UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/account/util/Util.java | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 102 insertions(+), 1 deletions(-) diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/account/util/Util.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/account/util/Util.java index 761a739..115f995 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/account/util/Util.java +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/account/util/Util.java @@ -1,12 +1,14 @@ package com.stylefeng.guns.modular.account.util; +import com.thoughtworks.xstream.XStream; import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.lang.RandomStringUtils; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.time.DateFormatUtils; import javax.servlet.http.HttpServletRequest; -import java.io.UnsupportedEncodingException; +import java.io.*; +import java.lang.reflect.Field; import java.util.*; /** @@ -118,5 +120,104 @@ throw new RuntimeException("签名过程中出现错误"); } } + + /** + * 通过反射的方式遍历对象的属性和属性值,方便调试 + * + * @param o 要遍历的对象 + * @throws Exception + */ + public static void reflect(Object o) throws Exception { + Class<? extends Object> cls = o.getClass(); + Field[] fields = cls.getDeclaredFields(); + for (int i = 0; i < fields.length; i++) { + Field f = fields[i]; + f.setAccessible(true); + Util.log(f.getName() + " -> " + f.get(o)); + } + } + + public static byte[] readInput(InputStream in) throws IOException { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + int len = 0; + byte[] buffer = new byte[1024]; + while ((len = in.read(buffer)) > 0) { + out.write(buffer, 0, len); + } + out.close(); + in.close(); + return out.toByteArray(); + } + + public static String inputStreamToString(InputStream is) throws IOException { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + int i; + while ((i = is.read()) != -1) { + baos.write(i); + } + return baos.toString(); + } + + + public static InputStream getStringStream(String sInputString) { + ByteArrayInputStream tInputStringStream = null; + if (sInputString != null && !sInputString.trim().equals("")) { + try { + tInputStringStream = new ByteArrayInputStream(sInputString.getBytes("UTF-8")); + } catch (Exception e) { + e.printStackTrace(); + } + } + return tInputStringStream; + } + + public static Object getObjectFromXML(String xml, Class<?> tClass) { + //将从API返回的XML数据映射到Java对象 + XStream xStreamForResponseData = new XStream(); + xStreamForResponseData.alias("xml", tClass); + xStreamForResponseData.ignoreUnknownElements();//暂时忽略掉一些新增的字段 + return xStreamForResponseData.fromXML(xml); + } + + public static String getStringFromMap(Map<String, Object> map, String key, String defaultValue) { + if (key == "" || key == null) { + return defaultValue; + } + String result = (String) map.get(key); + if (result == null) { + return defaultValue; + } else { + return result; + } + } + + public static int getIntFromMap(Map<String, Object> map, String key) { + if (key == "" || key == null) { + return 0; + } + if (map.get(key) == null) { + return 0; + } + return Integer.parseInt((String) map.get(key)); + } + + /** + * 打log接口 + * @param log 要打印的log字符串 + * @return 返回log + */ + public static String log(Object log){ + System.out.println(log.toString()); + return log.toString(); + } + + /** + * 读取本地的xml数据,一般用来自测用 + * @param localPath 本地xml文件路径 + * @return 读到的xml字符串 + */ + public static String getLocalXMLString(String localPath) throws IOException { + return Util.inputStreamToString(Util.class.getResourceAsStream(localPath)); + } } -- Gitblit v1.7.1