suochencheng %!s(int64=6) %!d(string=hai) anos
pai
achega
f1fe2130da
Modificáronse 100 ficheiros con 139 adicións e 122 borrados
  1. 1 1
      src/main/java/com/izouma/awesomeadmin/web/MainController.java
  2. 5 9
      src/main/java/com/izouma/weixin/util/WeixinUtil.java
  3. 8 2
      src/main/java/com/izouma/weixin/web/WeiXinController.java
  4. 119 104
      src/main/java/com/izouma/weixin/wxpay/WXPay.java
  5. 1 1
      src/main/resources/properties/outsidews.properties
  6. 2 2
      src/main/vue/src/pages/Login.vue
  7. 1 1
      src/main/webapp/WEB-INF/html/admin.html
  8. 1 1
      src/main/webapp/WEB-INF/html/loginAdmin.html
  9. 0 0
      src/main/webapp/static/css/admin.e95f4bdd1cd9c08fb560ff59f29250f5.css
  10. 0 1
      src/main/webapp/static/css/loginAdmin.46a5161090cd0d8998f220733fc576f0.css
  11. 0 0
      src/main/webapp/static/js/10.68b341a63ba93c65ba3c.js
  12. 0 0
      src/main/webapp/static/js/100.f59ddd43d40a789ba41c.js
  13. 0 0
      src/main/webapp/static/js/101.db80b44109282a9765ee.js
  14. 0 0
      src/main/webapp/static/js/102.41f7bc633cd978338ff9.js
  15. 0 0
      src/main/webapp/static/js/103.f49ca138b1a3ecc6c9fd.js
  16. 1 0
      src/main/webapp/static/js/104.a56704efd53dc87a2f57.js
  17. 0 0
      src/main/webapp/static/js/105.1d96387500856f8b9ac5.js
  18. 0 0
      src/main/webapp/static/js/106.4d95fc3a666442996638.js
  19. 0 0
      src/main/webapp/static/js/11.dc8425e3630d1051ff7f.js
  20. 0 0
      src/main/webapp/static/js/12.e30c3d3fd63ed330fd2d.js
  21. 0 0
      src/main/webapp/static/js/13.e0bdde1e2925d4698bb1.js
  22. 0 0
      src/main/webapp/static/js/14.88eeae8c56b6e4edb0e3.js
  23. 0 0
      src/main/webapp/static/js/15.c6641245ee8c914e6d73.js
  24. 0 0
      src/main/webapp/static/js/16.bc9cc27bcf22c1654120.js
  25. 0 0
      src/main/webapp/static/js/17.9563e030fd61f6c15e00.js
  26. 0 0
      src/main/webapp/static/js/18.cd378ac2051ab8978fe2.js
  27. 0 0
      src/main/webapp/static/js/19.a5297d82f675d5508dc6.js
  28. 0 0
      src/main/webapp/static/js/20.428fcb45e607cf1f6d49.js
  29. 0 0
      src/main/webapp/static/js/21.89d2174b1dd97cde7b9c.js
  30. 0 0
      src/main/webapp/static/js/22.03ef756df34eebefa0bf.js
  31. 0 0
      src/main/webapp/static/js/23.5d713dcd77f09466c963.js
  32. 0 0
      src/main/webapp/static/js/24.f4bb95a492c71cf4df95.js
  33. 0 0
      src/main/webapp/static/js/25.1b0f26684b4939aad821.js
  34. 0 0
      src/main/webapp/static/js/26.03a6d17f5fd8c4887311.js
  35. 0 0
      src/main/webapp/static/js/27.6c4705a440ab97b18a1d.js
  36. 0 0
      src/main/webapp/static/js/28.aea645a5e7928972164c.js
  37. 0 0
      src/main/webapp/static/js/29.c57f3e3c61cdd0ad7f64.js
  38. 0 0
      src/main/webapp/static/js/30.677a94647e443a8ca369.js
  39. 0 0
      src/main/webapp/static/js/31.090dac2673207699097b.js
  40. 0 0
      src/main/webapp/static/js/32.e5b8bc9f15dcfa5375d1.js
  41. 0 0
      src/main/webapp/static/js/33.f7e008e4820fa7727600.js
  42. 0 0
      src/main/webapp/static/js/34.108b56c613374e16e8bd.js
  43. 0 0
      src/main/webapp/static/js/35.1bb00b7f04076712e92f.js
  44. 0 0
      src/main/webapp/static/js/36.26402626ba37eb4cf637.js
  45. 0 0
      src/main/webapp/static/js/37.0b4fbc333d5388161c04.js
  46. 0 0
      src/main/webapp/static/js/38.6bfa29b444e7505ade48.js
  47. 0 0
      src/main/webapp/static/js/39.dd4baaeaab2374272494.js
  48. 0 0
      src/main/webapp/static/js/40.dbc8d1aecc8cb2f0ea71.js
  49. 0 0
      src/main/webapp/static/js/41.0e24caf7aadd6fb79e30.js
  50. 0 0
      src/main/webapp/static/js/42.9f9dbbc7b3c2a8581685.js
  51. 0 0
      src/main/webapp/static/js/43.3861afc6e58578808cb3.js
  52. 0 0
      src/main/webapp/static/js/44.4dc30033b9ed17b02952.js
  53. 0 0
      src/main/webapp/static/js/45.5605f392c2c72c409682.js
  54. 0 0
      src/main/webapp/static/js/46.86dc820e803608aedd85.js
  55. 0 0
      src/main/webapp/static/js/47.041f7a83fd0fa44c48e9.js
  56. 0 0
      src/main/webapp/static/js/48.5ffbf145bbdab72178f9.js
  57. 0 0
      src/main/webapp/static/js/49.0f1cf84edc732ec0b7fb.js
  58. 0 0
      src/main/webapp/static/js/50.aa1caacd01a6662f949f.js
  59. 0 0
      src/main/webapp/static/js/51.8c5a06548121ec393075.js
  60. 0 0
      src/main/webapp/static/js/52.0edcefa5f12bd235f762.js
  61. 0 0
      src/main/webapp/static/js/53.3e2a13006c0e0bd5fe36.js
  62. 0 0
      src/main/webapp/static/js/54.75e30c21fe18a69e2baa.js
  63. 0 0
      src/main/webapp/static/js/55.cf7929ed16fb480810a7.js
  64. 0 0
      src/main/webapp/static/js/56.cfa0c71c99c92bac6a59.js
  65. 0 0
      src/main/webapp/static/js/57.12caeb722c763de397c5.js
  66. 0 0
      src/main/webapp/static/js/58.ecb9b9a2238139ca6cb5.js
  67. 0 0
      src/main/webapp/static/js/59.3c3cd5933ca7f80744fc.js
  68. 0 0
      src/main/webapp/static/js/60.eaf9eec19ad383967144.js
  69. 0 0
      src/main/webapp/static/js/61.0a67fd8f692119b56b80.js
  70. 0 0
      src/main/webapp/static/js/62.9fb3ae85712716fb3735.js
  71. 0 0
      src/main/webapp/static/js/63.3c1253667044c4896abe.js
  72. 0 0
      src/main/webapp/static/js/64.7a5fb2b088bf55770371.js
  73. 0 0
      src/main/webapp/static/js/65.ad1a9cd72d244cca1408.js
  74. 0 0
      src/main/webapp/static/js/66.7a901dd173f8a78a33c8.js
  75. 0 0
      src/main/webapp/static/js/67.6e31d4b18ac052ea8dab.js
  76. 0 0
      src/main/webapp/static/js/68.6692acd075c89f30a4e9.js
  77. 0 0
      src/main/webapp/static/js/68.f879880187638565e8bb.js
  78. 0 0
      src/main/webapp/static/js/69.7741e8de04ee8939ec3c.js
  79. 0 0
      src/main/webapp/static/js/70.d343e89190dfcfae69f1.js
  80. 0 0
      src/main/webapp/static/js/71.7865d95ced703e4e5700.js
  81. 0 0
      src/main/webapp/static/js/72.0f8358a20057f7f1a900.js
  82. 0 0
      src/main/webapp/static/js/73.7e639e55a645a4e99b81.js
  83. 0 0
      src/main/webapp/static/js/74.632dec2a214584709962.js
  84. 0 0
      src/main/webapp/static/js/75.1716b70ad98f4dd00ea3.js
  85. 0 0
      src/main/webapp/static/js/76.415ea0247dad829d53c2.js
  86. 0 0
      src/main/webapp/static/js/77.65a858be64f92f45f19d.js
  87. 0 0
      src/main/webapp/static/js/78.aeeb9781d743364fad86.js
  88. 0 0
      src/main/webapp/static/js/79.388ca9e2d2a98c5611e7.js
  89. 0 0
      src/main/webapp/static/js/80.98893bd2012a6f0a08d5.js
  90. 0 0
      src/main/webapp/static/js/81.1492f3d8f0e55022f0c1.js
  91. 0 0
      src/main/webapp/static/js/82.e390ec8c5ab33f0a483d.js
  92. 0 0
      src/main/webapp/static/js/83.6052d3d617dd008d3556.js
  93. 0 0
      src/main/webapp/static/js/84.24d5c019d47f6ec8e9e1.js
  94. 0 0
      src/main/webapp/static/js/85.b945a65a64dae8392bc7.js
  95. 0 0
      src/main/webapp/static/js/86.91906545d9fb7f9063d5.js
  96. 0 0
      src/main/webapp/static/js/87.ce70be717eddd3bd1861.js
  97. 0 0
      src/main/webapp/static/js/88.bd01b9c05640cc26541f.js
  98. 0 0
      src/main/webapp/static/js/89.8f2242e14ea62ac8d674.js
  99. 0 0
      src/main/webapp/static/js/9.51e2109c76ed4fb650fb.js
  100. 0 0
      src/main/webapp/static/js/9.eda94663ddb972175428.js

+ 1 - 1
src/main/java/com/izouma/awesomeadmin/web/MainController.java

@@ -34,7 +34,7 @@ public class MainController {
 
     @RequestMapping("/")
     public ModelAndView autoIndex(HttpServletRequest request) {
-        return new ModelAndView("html/admin.html");
+        return new ModelAndView("html/yimishijie.html");
     }
 
     @RequestMapping("/admin")

+ 5 - 9
src/main/java/com/izouma/weixin/util/WeixinUtil.java

@@ -1,20 +1,17 @@
 package com.izouma.weixin.util;
 
-import com.izouma.awesomeadmin.constant.AppConstant;
 import com.izouma.weixin.dto.WxPaySendData;
-import com.izouma.weixin.model.WxpayTemp;
 import com.izouma.weixin.wxpay.MyConfig;
 import com.izouma.weixin.wxpay.WXPay;
-import com.izouma.weixin.wxpay.WXPayUtil;
+import com.izouma.weixin.wxpay.WXPayConstants;
 import org.apache.log4j.Logger;
 import org.json.JSONObject;
 import org.springframework.stereotype.Service;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-import java.io.*;
-import java.math.BigDecimal;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.UnsupportedEncodingException;
 import java.net.InetAddress;
 import java.net.MalformedURLException;
 import java.net.URL;
@@ -99,7 +96,6 @@ public class WeixinUtil {
     }
 
 
-
     public static String create_timestamp() {
 
         return Long.toString(System.currentTimeMillis() / 1000);

+ 8 - 2
src/main/java/com/izouma/weixin/web/WeiXinController.java

@@ -17,6 +17,7 @@ import com.izouma.weixin.service.WeiXinService;
 import com.izouma.weixin.util.WeixinUtil;
 import com.izouma.weixin.wxpay.MyConfig;
 import com.izouma.weixin.wxpay.WXPay;
+import com.izouma.weixin.wxpay.WXPayConstants;
 import com.izouma.weixin.wxpay.WXPayUtil;
 import org.apache.commons.lang.StringUtils;
 import org.apache.log4j.Logger;
@@ -282,8 +283,12 @@ public class WeiXinController {
             attach.put("total", total);
 
             WxPaySendData data = new WxPaySendData();
+//            data.setAppid(PropertiesFileLoader.getProperties("weixinappid"));
+//            data.setMch_id(PropertiesFileLoader.getProperties("weixin_mch_id"));
+//            data.setNonce_str(MbappUtil.create_nonce_str());
+
             data.setDevice_info(AppConstant.DEVICE_INFO);
-            data.setBody("商品");
+            data.setBody("一米世界-导游包");
             data.setOut_trade_no(MbappUtil.create_out_trade_no());
             data.setNotify_url(PropertiesFileLoader.getProperties("weixin_notify_url"));
             data.setTotal_fee(total);
@@ -293,6 +298,7 @@ public class WeiXinController {
             //data.setOpenid(openId);
             data.setAttach(attach.toString());
 
+
             Map<String, String> unified = WeixinUtil.unifiedOrder(data);
 
             String timeStamp = MbappUtil.create_timestamp();
@@ -313,7 +319,7 @@ public class WeiXinController {
             result.put("timestamp", timeStamp);
             result.put("noncestr", nonceStr);
             result.put("package", "Sign=WXPay");
-            result.put("sign", WXPayUtil.generateSignature(params, config.getKey()));
+            result.put("sign", WXPayUtil.generateSignature(params, config.getKey(), WXPayConstants.SignType.HMACSHA256));
 
 
             //result.put("code_url", unified.get("code_url"));

+ 119 - 104
src/main/java/com/izouma/weixin/wxpay/WXPay.java

@@ -16,12 +16,30 @@ public class WXPay {
         this(config, null, true, false);
     }
 
+    // 新增的构造方法
+    public WXPay(final WXPayConfig config, WXPayConstants.SignType signType) throws Exception {
+        this(config, null, true, false, signType);
+    }
+
+    // 新增的构造方法
+    public WXPay(final WXPayConfig config, final String notifyUrl,
+                 final boolean autoReport, final boolean useSandbox,
+                 WXPayConstants.SignType signType) throws Exception {
+        this.config = config;
+        this.notifyUrl = notifyUrl;
+        this.autoReport = autoReport;
+        this.useSandbox = useSandbox;
+        this.signType = signType;
+        this.wxPayRequest = new WXPayRequest(config);
+    }
+
+
     public WXPay(final WXPayConfig config, final boolean autoReport) throws Exception {
         this(config, null, autoReport, false);
     }
 
 
-    public WXPay(final WXPayConfig config, final boolean autoReport, final boolean useSandbox) throws Exception{
+    public WXPay(final WXPayConfig config, final boolean autoReport, final boolean useSandbox) throws Exception {
         this(config, null, autoReport, useSandbox);
     }
 
@@ -40,8 +58,7 @@ public class WXPay {
         this.useSandbox = useSandbox;
         if (useSandbox) {
             this.signType = WXPayConstants.SignType.MD5; // 沙箱环境
-        }
-        else {
+        } else {
             this.signType = WXPayConstants.SignType.HMACSHA256;
         }
         this.wxPayRequest = new WXPayRequest(config);
@@ -60,7 +77,7 @@ public class WXPay {
         if (this.config.getCertStream() == null) {
             throw new Exception("cert stream in config is empty");
         }
-        if (this.config.getWXPayDomain() == null){
+        if (this.config.getWXPayDomain() == null) {
             throw new Exception("config.getWXPayDomain() is null");
         }
 
@@ -87,8 +104,7 @@ public class WXPay {
         reqData.put("nonce_str", WXPayUtil.generateNonceStr());
         if (WXPayConstants.SignType.MD5.equals(this.signType)) {
             reqData.put("sign_type", WXPayConstants.MD5);
-        }
-        else if (WXPayConstants.SignType.HMACSHA256.equals(this.signType)) {
+        } else if (WXPayConstants.SignType.HMACSHA256.equals(this.signType)) {
             reqData.put("sign_type", WXPayConstants.HMACSHA256);
         }
         reqData.put("sign", WXPayUtil.generateSignature(reqData, config.getKey(), this.signType));
@@ -118,20 +134,17 @@ public class WXPay {
         String signTypeInData = reqData.get(WXPayConstants.FIELD_SIGN_TYPE);
         WXPayConstants.SignType signType;
         if (signTypeInData == null) {
-            signType = WXPayConstants.SignType.MD5;
-        }
-        else {
+            //signType = WXPayConstants.SignType.MD5;
+            signType = this.signType;//修改为默认类型
+        } else {
             signTypeInData = signTypeInData.trim();
             if (signTypeInData.length() == 0) {
                 signType = WXPayConstants.SignType.MD5;
-            }
-            else if (WXPayConstants.MD5.equals(signTypeInData)) {
+            } else if (WXPayConstants.MD5.equals(signTypeInData)) {
                 signType = WXPayConstants.SignType.MD5;
-            }
-            else if (WXPayConstants.HMACSHA256.equals(signTypeInData)) {
+            } else if (WXPayConstants.HMACSHA256.equals(signTypeInData)) {
                 signType = WXPayConstants.SignType.HMACSHA256;
-            }
-            else {
+            } else {
                 throw new Exception(String.format("Unsupported sign_type: %s", signTypeInData));
             }
         }
@@ -141,10 +154,11 @@ public class WXPay {
 
     /**
      * 不需要证书的请求
-     * @param urlSuffix String
-     * @param reqData 向wxpay post的请求数据
+     *
+     * @param urlSuffix        String
+     * @param reqData          向wxpay post的请求数据
      * @param connectTimeoutMs 超时时间,单位是毫秒
-     * @param readTimeoutMs 超时时间,单位是毫秒
+     * @param readTimeoutMs    超时时间,单位是毫秒
      * @return API返回数据
      * @throws Exception
      */
@@ -160,16 +174,17 @@ public class WXPay {
 
     /**
      * 需要证书的请求
-     * @param urlSuffix String
-     * @param reqData 向wxpay post的请求数据  Map
+     *
+     * @param urlSuffix        String
+     * @param reqData          向wxpay post的请求数据  Map
      * @param connectTimeoutMs 超时时间,单位是毫秒
-     * @param readTimeoutMs 超时时间,单位是毫秒
+     * @param readTimeoutMs    超时时间,单位是毫秒
      * @return API返回数据
      * @throws Exception
      */
     public String requestWithCert(String urlSuffix, Map<String, String> reqData,
                                   int connectTimeoutMs, int readTimeoutMs) throws Exception {
-        String msgUUID= reqData.get("nonce_str");
+        String msgUUID = reqData.get("nonce_str");
         String reqBody = WXPayUtil.mapToXml(reqData);
 
         String resp = this.wxPayRequest.requestWithCert(urlSuffix, msgUUID, reqBody, connectTimeoutMs, readTimeoutMs, this.autoReport);
@@ -178,6 +193,7 @@ public class WXPay {
 
     /**
      * 处理 HTTPS API返回数据,转换成Map对象。return_code为SUCCESS时,验证签名。
+     *
      * @param xmlStr API返回的XML格式数据
      * @return Map类型数据
      * @throws Exception
@@ -188,23 +204,19 @@ public class WXPay {
         Map<String, String> respData = WXPayUtil.xmlToMap(xmlStr);
         if (respData.containsKey(RETURN_CODE)) {
             return_code = respData.get(RETURN_CODE);
-        }
-        else {
+        } else {
             throw new Exception(String.format("No `return_code` in XML: %s", xmlStr));
         }
 
         if (return_code.equals(WXPayConstants.FAIL)) {
             return respData;
-        }
-        else if (return_code.equals(WXPayConstants.SUCCESS)) {
-           if (this.isResponseSignatureValid(respData)) {
-               return respData;
-           }
-           else {
-               throw new Exception(String.format("Invalid sign value in XML: %s", xmlStr));
-           }
-        }
-        else {
+        } else if (return_code.equals(WXPayConstants.SUCCESS)) {
+            if (this.isResponseSignatureValid(respData)) {
+                return respData;
+            } else {
+                throw new Exception(String.format("Invalid sign value in XML: %s", xmlStr));
+            }
+        } else {
             throw new Exception(String.format("return_code value %s is invalid in XML: %s", return_code, xmlStr));
         }
     }
@@ -212,6 +224,7 @@ public class WXPay {
     /**
      * 作用:提交刷卡支付<br>
      * 场景:刷卡支付
+     *
      * @param reqData 向wxpay post的请求数据
      * @return API返回数据
      * @throws Exception
@@ -224,9 +237,10 @@ public class WXPay {
     /**
      * 作用:提交刷卡支付<br>
      * 场景:刷卡支付
-     * @param reqData 向wxpay post的请求数据
+     *
+     * @param reqData          向wxpay post的请求数据
      * @param connectTimeoutMs 连接超时时间,单位是毫秒
-     * @param readTimeoutMs 读超时时间,单位是毫秒
+     * @param readTimeoutMs    读超时时间,单位是毫秒
      * @return API返回数据
      * @throws Exception
      */
@@ -234,8 +248,7 @@ public class WXPay {
         String url;
         if (this.useSandbox) {
             url = WXPayConstants.SANDBOX_MICROPAY_URL_SUFFIX;
-        }
-        else {
+        } else {
             url = WXPayConstants.MICROPAY_URL_SUFFIX;
         }
         String respXml = this.requestWithoutCert(url, this.fillRequestData(reqData), connectTimeoutMs, readTimeoutMs);
@@ -245,6 +258,7 @@ public class WXPay {
     /**
      * 提交刷卡支付,针对软POS,尽可能做成功
      * 内置重试机制,最多60s
+     *
      * @param reqData
      * @return
      * @throws Exception
@@ -256,13 +270,14 @@ public class WXPay {
     /**
      * 提交刷卡支付,针对软POS,尽可能做成功
      * 内置重试机制,最多60s
+     *
      * @param reqData
      * @param connectTimeoutMs
      * @return
      * @throws Exception
      */
     public Map<String, String> microPayWithPos(Map<String, String> reqData, int connectTimeoutMs) throws Exception {
-        int remainingTimeMs = 60*1000;
+        int remainingTimeMs = 60 * 1000;
         long startTimestampMs = 0;
         Map<String, String> lastResult = null;
         Exception lastException = null;
@@ -279,57 +294,49 @@ public class WXPay {
                         String errCode = lastResult.get("err_code");
                         if (resultCode.equals("SUCCESS")) {
                             break;
-                        }
-                        else {
+                        } else {
                             // 看错误码,若支付结果未知,则重试提交刷卡支付
                             if (errCode.equals("SYSTEMERROR") || errCode.equals("BANKERROR") || errCode.equals("USERPAYING")) {
-                                remainingTimeMs = remainingTimeMs - (int)(WXPayUtil.getCurrentTimestampMs() - startTimestampMs);
+                                remainingTimeMs = remainingTimeMs - (int) (WXPayUtil.getCurrentTimestampMs() - startTimestampMs);
                                 if (remainingTimeMs <= 100) {
                                     break;
-                                }
-                                else {
+                                } else {
                                     WXPayUtil.getLogger().info("microPayWithPos: try micropay again");
-                                    if (remainingTimeMs > 5*1000) {
-                                        Thread.sleep(5*1000);
-                                    }
-                                    else {
-                                        Thread.sleep(1*1000);
+                                    if (remainingTimeMs > 5 * 1000) {
+                                        Thread.sleep(5 * 1000);
+                                    } else {
+                                        Thread.sleep(1 * 1000);
                                     }
                                     continue;
                                 }
-                            }
-                            else {
+                            } else {
                                 break;
                             }
                         }
-                    }
-                    else {
+                    } else {
                         break;
                     }
-                }
-                catch (Exception ex) {
+                } catch (Exception ex) {
                     lastResult = null;
                     lastException = ex;
                 }
-            }
-            else {
+            } else {
                 break;
             }
         }
 
         if (lastResult == null) {
             throw lastException;
-        }
-        else {
+        } else {
             return lastResult;
         }
     }
 
 
-
     /**
      * 作用:统一下单<br>
      * 场景:公共号支付、扫码支付、APP支付
+     *
      * @param reqData 向wxpay post的请求数据
      * @return API返回数据
      * @throws Exception
@@ -342,21 +349,21 @@ public class WXPay {
     /**
      * 作用:统一下单<br>
      * 场景:公共号支付、扫码支付、APP支付
-     * @param reqData 向wxpay post的请求数据
+     *
+     * @param reqData          向wxpay post的请求数据
      * @param connectTimeoutMs 连接超时时间,单位是毫秒
-     * @param readTimeoutMs 读超时时间,单位是毫秒
+     * @param readTimeoutMs    读超时时间,单位是毫秒
      * @return API返回数据
      * @throws Exception
      */
-    public Map<String, String> unifiedOrder(Map<String, String> reqData,  int connectTimeoutMs, int readTimeoutMs) throws Exception {
+    public Map<String, String> unifiedOrder(Map<String, String> reqData, int connectTimeoutMs, int readTimeoutMs) throws Exception {
         String url;
         if (this.useSandbox) {
             url = WXPayConstants.SANDBOX_UNIFIEDORDER_URL_SUFFIX;
-        }
-        else {
+        } else {
             url = WXPayConstants.UNIFIEDORDER_URL_SUFFIX;
         }
-        if(this.notifyUrl != null) {
+        if (this.notifyUrl != null) {
             reqData.put("notify_url", this.notifyUrl);
         }
         String respXml = this.requestWithoutCert(url, this.fillRequestData(reqData), connectTimeoutMs, readTimeoutMs);
@@ -367,6 +374,7 @@ public class WXPay {
     /**
      * 作用:查询订单<br>
      * 场景:刷卡支付、公共号支付、扫码支付、APP支付
+     *
      * @param reqData 向wxpay post的请求数据
      * @return API返回数据
      * @throws Exception
@@ -379,9 +387,10 @@ public class WXPay {
     /**
      * 作用:查询订单<br>
      * 场景:刷卡支付、公共号支付、扫码支付、APP支付
-     * @param reqData 向wxpay post的请求数据 int
+     *
+     * @param reqData          向wxpay post的请求数据 int
      * @param connectTimeoutMs 连接超时时间,单位是毫秒
-     * @param readTimeoutMs 读超时时间,单位是毫秒
+     * @param readTimeoutMs    读超时时间,单位是毫秒
      * @return API返回数据
      * @throws Exception
      */
@@ -389,8 +398,7 @@ public class WXPay {
         String url;
         if (this.useSandbox) {
             url = WXPayConstants.SANDBOX_ORDERQUERY_URL_SUFFIX;
-        }
-        else {
+        } else {
             url = WXPayConstants.ORDERQUERY_URL_SUFFIX;
         }
         String respXml = this.requestWithoutCert(url, this.fillRequestData(reqData), connectTimeoutMs, readTimeoutMs);
@@ -401,6 +409,7 @@ public class WXPay {
     /**
      * 作用:撤销订单<br>
      * 场景:刷卡支付
+     *
      * @param reqData 向wxpay post的请求数据
      * @return API返回数据
      * @throws Exception
@@ -414,9 +423,10 @@ public class WXPay {
      * 作用:撤销订单<br>
      * 场景:刷卡支付<br>
      * 其他:需要证书
-     * @param reqData 向wxpay post的请求数据
+     *
+     * @param reqData          向wxpay post的请求数据
      * @param connectTimeoutMs 连接超时时间,单位是毫秒
-     * @param readTimeoutMs 读超时时间,单位是毫秒
+     * @param readTimeoutMs    读超时时间,单位是毫秒
      * @return API返回数据
      * @throws Exception
      */
@@ -424,8 +434,7 @@ public class WXPay {
         String url;
         if (this.useSandbox) {
             url = WXPayConstants.SANDBOX_REVERSE_URL_SUFFIX;
-        }
-        else {
+        } else {
             url = WXPayConstants.REVERSE_URL_SUFFIX;
         }
         String respXml = this.requestWithCert(url, this.fillRequestData(reqData), connectTimeoutMs, readTimeoutMs);
@@ -436,6 +445,7 @@ public class WXPay {
     /**
      * 作用:关闭订单<br>
      * 场景:公共号支付、扫码支付、APP支付
+     *
      * @param reqData 向wxpay post的请求数据
      * @return API返回数据
      * @throws Exception
@@ -448,18 +458,18 @@ public class WXPay {
     /**
      * 作用:关闭订单<br>
      * 场景:公共号支付、扫码支付、APP支付
-     * @param reqData 向wxpay post的请求数据
+     *
+     * @param reqData          向wxpay post的请求数据
      * @param connectTimeoutMs 连接超时时间,单位是毫秒
-     * @param readTimeoutMs 读超时时间,单位是毫秒
+     * @param readTimeoutMs    读超时时间,单位是毫秒
      * @return API返回数据
      * @throws Exception
      */
-    public Map<String, String> closeOrder(Map<String, String> reqData,  int connectTimeoutMs, int readTimeoutMs) throws Exception {
+    public Map<String, String> closeOrder(Map<String, String> reqData, int connectTimeoutMs, int readTimeoutMs) throws Exception {
         String url;
         if (this.useSandbox) {
             url = WXPayConstants.SANDBOX_CLOSEORDER_URL_SUFFIX;
-        }
-        else {
+        } else {
             url = WXPayConstants.CLOSEORDER_URL_SUFFIX;
         }
         String respXml = this.requestWithoutCert(url, this.fillRequestData(reqData), connectTimeoutMs, readTimeoutMs);
@@ -470,6 +480,7 @@ public class WXPay {
     /**
      * 作用:申请退款<br>
      * 场景:刷卡支付、公共号支付、扫码支付、APP支付
+     *
      * @param reqData 向wxpay post的请求数据
      * @return API返回数据
      * @throws Exception
@@ -483,9 +494,10 @@ public class WXPay {
      * 作用:申请退款<br>
      * 场景:刷卡支付、公共号支付、扫码支付、APP支付<br>
      * 其他:需要证书
-     * @param reqData 向wxpay post的请求数据
+     *
+     * @param reqData          向wxpay post的请求数据
      * @param connectTimeoutMs 连接超时时间,单位是毫秒
-     * @param readTimeoutMs 读超时时间,单位是毫秒
+     * @param readTimeoutMs    读超时时间,单位是毫秒
      * @return API返回数据
      * @throws Exception
      */
@@ -493,8 +505,7 @@ public class WXPay {
         String url;
         if (this.useSandbox) {
             url = WXPayConstants.SANDBOX_REFUND_URL_SUFFIX;
-        }
-        else {
+        } else {
             url = WXPayConstants.REFUND_URL_SUFFIX;
         }
         String respXml = this.requestWithCert(url, this.fillRequestData(reqData), connectTimeoutMs, readTimeoutMs);
@@ -505,6 +516,7 @@ public class WXPay {
     /**
      * 作用:退款查询<br>
      * 场景:刷卡支付、公共号支付、扫码支付、APP支付
+     *
      * @param reqData 向wxpay post的请求数据
      * @return API返回数据
      * @throws Exception
@@ -517,9 +529,10 @@ public class WXPay {
     /**
      * 作用:退款查询<br>
      * 场景:刷卡支付、公共号支付、扫码支付、APP支付
-     * @param reqData 向wxpay post的请求数据
+     *
+     * @param reqData          向wxpay post的请求数据
      * @param connectTimeoutMs 连接超时时间,单位是毫秒
-     * @param readTimeoutMs 读超时时间,单位是毫秒
+     * @param readTimeoutMs    读超时时间,单位是毫秒
      * @return API返回数据
      * @throws Exception
      */
@@ -527,8 +540,7 @@ public class WXPay {
         String url;
         if (this.useSandbox) {
             url = WXPayConstants.SANDBOX_REFUNDQUERY_URL_SUFFIX;
-        }
-        else {
+        } else {
             url = WXPayConstants.REFUNDQUERY_URL_SUFFIX;
         }
         String respXml = this.requestWithoutCert(url, this.fillRequestData(reqData), connectTimeoutMs, readTimeoutMs);
@@ -539,6 +551,7 @@ public class WXPay {
     /**
      * 作用:对账单下载(成功时返回对账单数据,失败时返回XML格式数据)<br>
      * 场景:刷卡支付、公共号支付、扫码支付、APP支付
+     *
      * @param reqData 向wxpay post的请求数据
      * @return API返回数据
      * @throws Exception
@@ -552,10 +565,11 @@ public class WXPay {
      * 作用:对账单下载<br>
      * 场景:刷卡支付、公共号支付、扫码支付、APP支付<br>
      * 其他:无论是否成功都返回Map。若成功,返回的Map中含有return_code、return_msg、data,
-     *      其中return_code为`SUCCESS`,data为对账单数据。
-     * @param reqData 向wxpay post的请求数据
+     * 其中return_code为`SUCCESS`,data为对账单数据。
+     *
+     * @param reqData          向wxpay post的请求数据
      * @param connectTimeoutMs 连接超时时间,单位是毫秒
-     * @param readTimeoutMs 读超时时间,单位是毫秒
+     * @param readTimeoutMs    读超时时间,单位是毫秒
      * @return 经过封装的API返回数据
      * @throws Exception
      */
@@ -563,8 +577,7 @@ public class WXPay {
         String url;
         if (this.useSandbox) {
             url = WXPayConstants.SANDBOX_DOWNLOADBILL_URL_SUFFIX;
-        }
-        else {
+        } else {
             url = WXPayConstants.DOWNLOADBILL_URL_SUFFIX;
         }
         String respStr = this.requestWithoutCert(url, this.fillRequestData(reqData), connectTimeoutMs, readTimeoutMs).trim();
@@ -572,8 +585,7 @@ public class WXPay {
         // 出现错误,返回XML数据
         if (respStr.indexOf("<") == 0) {
             ret = WXPayUtil.xmlToMap(respStr);
-        }
-        else {
+        } else {
             // 正常返回csv数据
             ret = new HashMap<String, String>();
             ret.put("return_code", WXPayConstants.SUCCESS);
@@ -587,6 +599,7 @@ public class WXPay {
     /**
      * 作用:交易保障<br>
      * 场景:刷卡支付、公共号支付、扫码支付、APP支付
+     *
      * @param reqData 向wxpay post的请求数据
      * @return API返回数据
      * @throws Exception
@@ -599,9 +612,10 @@ public class WXPay {
     /**
      * 作用:交易保障<br>
      * 场景:刷卡支付、公共号支付、扫码支付、APP支付
-     * @param reqData 向wxpay post的请求数据
+     *
+     * @param reqData          向wxpay post的请求数据
      * @param connectTimeoutMs 连接超时时间,单位是毫秒
-     * @param readTimeoutMs 读超时时间,单位是毫秒
+     * @param readTimeoutMs    读超时时间,单位是毫秒
      * @return API返回数据
      * @throws Exception
      */
@@ -609,8 +623,7 @@ public class WXPay {
         String url;
         if (this.useSandbox) {
             url = WXPayConstants.SANDBOX_REPORT_URL_SUFFIX;
-        }
-        else {
+        } else {
             url = WXPayConstants.REPORT_URL_SUFFIX;
         }
         String respXml = this.requestWithoutCert(url, this.fillRequestData(reqData), connectTimeoutMs, readTimeoutMs);
@@ -621,6 +634,7 @@ public class WXPay {
     /**
      * 作用:转换短链接<br>
      * 场景:刷卡支付、扫码支付
+     *
      * @param reqData 向wxpay post的请求数据
      * @return API返回数据
      * @throws Exception
@@ -633,6 +647,7 @@ public class WXPay {
     /**
      * 作用:转换短链接<br>
      * 场景:刷卡支付、扫码支付
+     *
      * @param reqData 向wxpay post的请求数据
      * @return API返回数据
      * @throws Exception
@@ -641,8 +656,7 @@ public class WXPay {
         String url;
         if (this.useSandbox) {
             url = WXPayConstants.SANDBOX_SHORTURL_URL_SUFFIX;
-        }
-        else {
+        } else {
             url = WXPayConstants.SHORTURL_URL_SUFFIX;
         }
         String respXml = this.requestWithoutCert(url, this.fillRequestData(reqData), connectTimeoutMs, readTimeoutMs);
@@ -653,6 +667,7 @@ public class WXPay {
     /**
      * 作用:授权码查询OPENID接口<br>
      * 场景:刷卡支付
+     *
      * @param reqData 向wxpay post的请求数据
      * @return API返回数据
      * @throws Exception
@@ -665,9 +680,10 @@ public class WXPay {
     /**
      * 作用:授权码查询OPENID接口<br>
      * 场景:刷卡支付
-     * @param reqData 向wxpay post的请求数据
+     *
+     * @param reqData          向wxpay post的请求数据
      * @param connectTimeoutMs 连接超时时间,单位是毫秒
-     * @param readTimeoutMs 读超时时间,单位是毫秒
+     * @param readTimeoutMs    读超时时间,单位是毫秒
      * @return API返回数据
      * @throws Exception
      */
@@ -675,8 +691,7 @@ public class WXPay {
         String url;
         if (this.useSandbox) {
             url = WXPayConstants.SANDBOX_AUTHCODETOOPENID_URL_SUFFIX;
-        }
-        else {
+        } else {
             url = WXPayConstants.AUTHCODETOOPENID_URL_SUFFIX;
         }
         String respXml = this.requestWithoutCert(url, this.fillRequestData(reqData), connectTimeoutMs, readTimeoutMs);

+ 1 - 1
src/main/resources/properties/outsidews.properties

@@ -19,7 +19,7 @@ ALIPAY_ALIPAY_PUBLIC_KEY=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzW3LltIo9Jj
 ALIPAY_SELLER=2088102179082444
 ALIPAY_GATEWAY=https://openapi.alipaydev.com/gateway.do
 weixin_mch_id=1533580721
-weixin_mch_secret=
+weixin_mch_secret=liuhuohuyu6666666666688888888888
 weixin_notify_url=http://www.liuhuohuyu.com/wx/notify
 weixin_cert_path=/home/cert/apiclient_cert.p12
 weixin_notify_url_recharge=

+ 2 - 2
src/main/vue/src/pages/Login.vue

@@ -46,8 +46,8 @@ export default {
                     }).then(res => {
                         this.loading = false;
                         if (res.success) {
-                             this.$router.replace('/');
-                            //window.location = this.$baseUrl + '/admin'
+                            // this.$router.replace('/');
+                            window.location = this.$baseUrl + 'admin'
                         } else {
                             this.$message.error('登录失败');
                         }

+ 1 - 1
src/main/webapp/WEB-INF/html/admin.html

@@ -1 +1 @@
-<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=referrer content=origin><title>管理后台</title><link rel=icon href=/static/favicon.ico><script src=/static/polyfill.min.js></script><script src=/static/fontawesome-v5.2.0.js></script><link href=/static/css/admin.b07bc4f91549f9bffdf5bf82d883f088.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.099950aaedb122adee60.js></script><script type=text/javascript src=/static/js/vendor.294d93b626ff445ca888.js></script><script type=text/javascript src=/static/js/admin.bd274f8335266ef7beff.js></script></body></html>
+<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=referrer content=origin><title>管理后台</title><link rel=icon href=/static/favicon.ico><script src=/static/polyfill.min.js></script><script src=/static/fontawesome-v5.2.0.js></script><link href=/static/css/admin.e95f4bdd1cd9c08fb560ff59f29250f5.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.274fd2a1b28d84604c1a.js></script><script type=text/javascript src=/static/js/vendor.2ec35927ffef2d198211.js></script><script type=text/javascript src=/static/js/admin.77d7cee6672a0f8943d9.js></script></body></html>

+ 1 - 1
src/main/webapp/WEB-INF/html/loginAdmin.html

@@ -1 +1 @@
-<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=referrer content=origin><title>管理后台</title><link rel=icon href=/static/favicon.ico><script src=/static/polyfill.min.js></script><link href=/static/css/loginAdmin.fd00a5a4e42911280fc149a39bbdf891.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.099950aaedb122adee60.js></script><script type=text/javascript src=/static/js/vendor.294d93b626ff445ca888.js></script><script type=text/javascript src=/static/js/loginAdmin.16f605e1b822abd1fb41.js></script></body></html>
+<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=referrer content=origin><title>管理后台</title><link rel=icon href=/static/favicon.ico><script src=/static/polyfill.min.js></script><link href=/static/css/loginAdmin.46a5161090cd0d8998f220733fc576f0.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.274fd2a1b28d84604c1a.js></script><script type=text/javascript src=/static/js/vendor.2ec35927ffef2d198211.js></script><script type=text/javascript src=/static/js/loginAdmin.bca53a5ab535438e9956.js></script></body></html>

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/css/admin.e95f4bdd1cd9c08fb560ff59f29250f5.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
src/main/webapp/static/css/loginAdmin.46a5161090cd0d8998f220733fc576f0.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/10.68b341a63ba93c65ba3c.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/100.f59ddd43d40a789ba41c.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/101.db80b44109282a9765ee.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/102.41f7bc633cd978338ff9.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/103.f49ca138b1a3ecc6c9fd.js


+ 1 - 0
src/main/webapp/static/js/104.a56704efd53dc87a2f57.js

@@ -0,0 +1 @@
+webpackJsonp([104],{izdZ:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});r("NYxO");var i={created:function(){this.getIframeSrc()},data:function(){return{iframeSrc:"/404"}},computed:{height:function(){return window.innerHeight-104+"px"}},methods:{getIframeSrc:function(){this.iframeSrc=this.$route.query.code}},watch:{$route:function(){this.getIframeSrc()}}},n={render:function(){var t=this.$createElement;return(this._self._c||t)("iframe",{staticClass:"iframe",attrs:{src:this.iframeSrc,height:this.height,width:"100%"}})},staticRenderFns:[]};var c=r("VU/8")(i,n,!1,function(t){r("xnY9")},"data-v-04168182",null);e.default=c.exports},xnY9:function(t,e){}});

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/105.1d96387500856f8b9ac5.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/106.4d95fc3a666442996638.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/11.dc8425e3630d1051ff7f.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/12.e30c3d3fd63ed330fd2d.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/13.e0bdde1e2925d4698bb1.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/14.88eeae8c56b6e4edb0e3.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/15.c6641245ee8c914e6d73.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/16.bc9cc27bcf22c1654120.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/17.9563e030fd61f6c15e00.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/18.cd378ac2051ab8978fe2.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/19.a5297d82f675d5508dc6.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/20.428fcb45e607cf1f6d49.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/21.89d2174b1dd97cde7b9c.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/22.03ef756df34eebefa0bf.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/23.5d713dcd77f09466c963.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/24.f4bb95a492c71cf4df95.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/25.1b0f26684b4939aad821.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/26.03a6d17f5fd8c4887311.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/27.6c4705a440ab97b18a1d.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/28.aea645a5e7928972164c.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/29.c57f3e3c61cdd0ad7f64.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/30.677a94647e443a8ca369.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/31.090dac2673207699097b.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/32.e5b8bc9f15dcfa5375d1.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/33.f7e008e4820fa7727600.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/34.108b56c613374e16e8bd.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/35.1bb00b7f04076712e92f.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/36.26402626ba37eb4cf637.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/37.0b4fbc333d5388161c04.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/38.6bfa29b444e7505ade48.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/39.dd4baaeaab2374272494.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/40.dbc8d1aecc8cb2f0ea71.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/41.0e24caf7aadd6fb79e30.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/42.9f9dbbc7b3c2a8581685.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/43.3861afc6e58578808cb3.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/44.4dc30033b9ed17b02952.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/45.5605f392c2c72c409682.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/46.86dc820e803608aedd85.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/47.041f7a83fd0fa44c48e9.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/48.5ffbf145bbdab72178f9.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/49.0f1cf84edc732ec0b7fb.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/50.aa1caacd01a6662f949f.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/51.8c5a06548121ec393075.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/52.0edcefa5f12bd235f762.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/53.3e2a13006c0e0bd5fe36.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/54.75e30c21fe18a69e2baa.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/55.cf7929ed16fb480810a7.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/56.cfa0c71c99c92bac6a59.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/57.12caeb722c763de397c5.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/58.ecb9b9a2238139ca6cb5.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/59.3c3cd5933ca7f80744fc.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/60.eaf9eec19ad383967144.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/61.0a67fd8f692119b56b80.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/62.9fb3ae85712716fb3735.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/63.3c1253667044c4896abe.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/64.7a5fb2b088bf55770371.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/65.ad1a9cd72d244cca1408.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/66.7a901dd173f8a78a33c8.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/67.6e31d4b18ac052ea8dab.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/68.6692acd075c89f30a4e9.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/68.f879880187638565e8bb.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/69.7741e8de04ee8939ec3c.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/70.d343e89190dfcfae69f1.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/71.7865d95ced703e4e5700.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/72.0f8358a20057f7f1a900.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/73.7e639e55a645a4e99b81.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/74.632dec2a214584709962.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/75.1716b70ad98f4dd00ea3.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/76.415ea0247dad829d53c2.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/77.65a858be64f92f45f19d.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/78.aeeb9781d743364fad86.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/79.388ca9e2d2a98c5611e7.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/80.98893bd2012a6f0a08d5.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/81.1492f3d8f0e55022f0c1.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/82.e390ec8c5ab33f0a483d.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/83.6052d3d617dd008d3556.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/84.24d5c019d47f6ec8e9e1.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/85.b945a65a64dae8392bc7.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/86.91906545d9fb7f9063d5.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/87.ce70be717eddd3bd1861.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/88.bd01b9c05640cc26541f.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/89.8f2242e14ea62ac8d674.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/9.51e2109c76ed4fb650fb.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/main/webapp/static/js/9.eda94663ddb972175428.js


Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio