wuxw
2024-04-05 09095d67f2e2acf45dcd55155da491e44206db4e
java110-utils/src/main/java/com/java110/utils/util/PayUtil.java
old mode 100644 new mode 100755
@@ -29,11 +29,21 @@
import java.math.BigDecimal;
import java.net.InetAddress;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.SortedMap;
import java.util.TreeMap;
import java.util.UUID;
public class PayUtil {
    static Logger log = LogManager.getLogger(PayUtil.class.getName());
    static Logger logger = LogManager.getLogger(PayUtil.class.getName());
    /**
     * 获取当前机器的ip
@@ -98,6 +108,19 @@
    /**
     * 创建签名Sign
     * <p>
     * {sdfsfsd}123123123  md5
     * <p>
     * {
     * <p>
     * heaer:{
     * serviceCode:'',
     * sign:'sddd'
     * },
     * body:{
     * sssssss
     * }
     * }
     *
     * @param key
     * @param parameters
@@ -118,9 +141,52 @@
            }
        }
        sb.append("key=" + key);
        logger.debug("加密前串:" + sb.toString());
        String sign = md5(sb.toString()).toUpperCase();
        return sign;
    }
    /**
     * 创建签名Sign
     * <p>
     * {sdfsfsd}123123123  md5
     * <p>
     * {
     * <p>
     * heaer:{
     * serviceCode:'',
     * sign:'sddd'
     * },
     * body:{
     * sssssss
     * }
     * }
     *
     * @param key
     * @param parameters
     * @return
     */
    public static String createChinaUmsSign(SortedMap<String, String> 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();
            if (entry.getValue() != null || !"".equals(entry.getValue())) {
                String v = String.valueOf(entry.getValue());
                if (null != v && !"".equals(v) && !"sign".equals(k)) {
                    sb.append(k + "=" + v + "&");
                }
            }
        }
        String data = sb.toString().substring(0, sb.length() - 1) + key;
        //sb.append(key);
        logger.debug("加密前串:" + data);
        String sign = md5(data).toUpperCase();
        return sign;
    }
    /**
     * md5签名
@@ -331,7 +397,7 @@
    public static double getPayAmountByEnv(String env, Double money) {
        double pay_money = 0.01;
//测试环境
        if ("DEV".equals(env)) {
        if ("DEV".equals(env) || "TEST".equals(env)) {
            if (money > 10000) {
                pay_money = 0.03;
            } else if (money > 1000) {