From 177249c76aeea0b4bf8d8816d4994e3b445b45ce Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期四, 02 九月 2021 10:39:34 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/zzj' into zzj --- springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/PayUtil.java | 57 ++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 34 insertions(+), 23 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/PayUtil.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/PayUtil.java index ea59469..152b4b9 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/PayUtil.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/PayUtil.java @@ -1,15 +1,16 @@ package com.panzhihua.common.utlis; -import org.jdom2.input.SAXBuilder; - import java.io.ByteArrayInputStream; import java.io.InputStream; import java.math.BigDecimal; import java.net.InetAddress; import java.net.UnknownHostException; +import java.nio.charset.StandardCharsets; import java.security.MessageDigest; import java.text.SimpleDateFormat; import java.util.*; + +import org.jdom2.input.SAXBuilder; public class PayUtil { @@ -20,13 +21,14 @@ InetAddress ia = null; String localip = null; try { - ia = ia.getLocalHost(); + ia = InetAddress.getLocalHost(); localip = ia.getHostAddress(); } catch (UnknownHostException e) { e.printStackTrace(); } return localip; } + @SuppressWarnings("rawtypes") public static String getRequestXml(SortedMap<Object, Object> parameters) { StringBuffer sb = new StringBuffer(); @@ -34,9 +36,9 @@ Set es = parameters.entrySet(); Iterator it = es.iterator(); while (it.hasNext()) { - Map.Entry entry = (Map.Entry) it.next(); - String k = (String) entry.getKey(); - String v = (String) entry.getValue(); + Map.Entry entry = (Map.Entry)it.next(); + String k = (String)entry.getKey(); + String v = (String)entry.getValue(); if ("attach".equalsIgnoreCase(k) || "body".equalsIgnoreCase(k) || "sign".equalsIgnoreCase(k)) { sb.append("<" + k + ">" + "<![CDATA[" + v + "]]></" + k + ">"); } else { @@ -46,17 +48,18 @@ sb.append("</xml>"); return sb.toString(); } + /** * 创建签名Sign */ @SuppressWarnings("rawtypes") - public static String createSign(String characterEncoding,SortedMap<Object, Object> parameters, String key) { + public static String createSign(String characterEncoding, SortedMap<Object, Object> parameters, String key) { StringBuffer sb = new StringBuffer(); Set es = parameters.entrySet(); Iterator<?> it = es.iterator(); while (it.hasNext()) { - Map.Entry entry = (Map.Entry) it.next(); - String k = (String) entry.getKey(); + Map.Entry entry = (Map.Entry)it.next(); + String k = (String)entry.getKey(); if (entry.getValue() != null || !"".equals(entry.getValue())) { String v = String.valueOf(entry.getValue()); if (null != v && !"".equals(v) && !"sign".equals(k) && !"key".equals(k)) { @@ -68,17 +71,19 @@ String sign = ""; try { sign = MD5(sb.toString()); - }catch (Exception e){ + } catch (Exception e) { return e.getMessage(); } return sign; } + /** * 生成随机数 */ public static String makeUUID(int len) { return UUID.randomUUID().toString().replaceAll("-", "").substring(0, len); } + /** * 生成订单号 */ @@ -86,6 +91,7 @@ SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd"); return sdf.format(new Date()) + makeUUID(16); } + /** * 解析xml */ @@ -95,14 +101,14 @@ return null; } Map m = new HashMap(); - InputStream in = new ByteArrayInputStream(strxml.getBytes("UTF-8")); + InputStream in = new ByteArrayInputStream(strxml.getBytes(StandardCharsets.UTF_8)); SAXBuilder builder = new SAXBuilder(); org.jdom2.Document doc = builder.build(in); org.jdom2.Element root = doc.getRootElement(); List list = root.getChildren(); Iterator it = list.iterator(); while (it.hasNext()) { - org.jdom2.Element e = (org.jdom2.Element) it.next(); + org.jdom2.Element e = (org.jdom2.Element)it.next(); String k = e.getName(); String v = ""; List children = e.getChildren(); @@ -113,10 +119,11 @@ } m.put(k, v); } - //关闭流 + // 关闭流 in.close(); return m; } + /** * 获取子节点的xml */ @@ -125,7 +132,7 @@ if (!children.isEmpty()) { Iterator it = children.iterator(); while (it.hasNext()) { - org.jdom2.Element e = (org.jdom2.Element) it.next(); + org.jdom2.Element e = (org.jdom2.Element)it.next(); String name = e.getName(); String value = e.getTextNormalize(); List list = e.getChildren(); @@ -139,27 +146,31 @@ } return sb.toString(); } + /** * 转换金额到整型 */ public static String moneyToIntegerStr(BigDecimal money) { - int amount = money.multiply(new BigDecimal((100))) - .setScale(0, BigDecimal.ROUND_HALF_UP).intValue(); + int amount = money.multiply(new BigDecimal((100))).setScale(0, BigDecimal.ROUND_HALF_UP).intValue(); return String.valueOf(amount); } + /** * 微信下单,map to xml - * @param params 参数 + * + * @param params + * 参数 * @return String */ public static String mapToXml(Map<String, String> params) { StringBuilder xml = new StringBuilder(); xml.append("<xml>"); for (Map.Entry<String, String> entry : params.entrySet()) { - String key = entry.getKey(); + String key = entry.getKey(); String value = entry.getValue(); // 略过空值 - if (StringUtils.isEmpty(value)) continue; + if (StringUtils.isEmpty(value)) + continue; xml.append("<").append(key).append("><![CDATA["); xml.append(entry.getValue()); xml.append("]]></").append(key).append(">"); @@ -171,19 +182,19 @@ /** * 生成 MD5 * - * @param data 待处理数据 + * @param data + * 待处理数据 * @return MD5结果 */ public static String MD5(String data) throws Exception { java.security.MessageDigest md = MessageDigest.getInstance("MD5"); - byte[] array = md.digest(data.getBytes("UTF-8")); + byte[] array = md.digest(data.getBytes(StandardCharsets.UTF_8)); StringBuilder sb = new StringBuilder(); for (byte item : array) { - sb.append(Integer.toHexString((item & 0xFF) | 0x100).substring(1, 3)); + sb.append(Integer.toHexString((item & 0xFF) | 0x100), 1, 3); } return sb.toString().toUpperCase(); } - public static String create_timestamp() { return Long.toString(System.currentTimeMillis() / 1000); -- Gitblit v1.7.1