刘韬 5 tahun lalu
induk
melakukan
e7b412b708

+ 10 - 10
PacsOnline_Wechat_Patient/src/main/java/com/zskk/controller/WeixinPayController.java

@@ -39,10 +39,10 @@ public class WeixinPayController extends Controller {
 		String asString = this.getPara("out_trade_no");
 		String bbString = this.getPara("appId");
 
-		String ip = IpKit.getRealIp(getRequest());
-        if (StrKit.isBlank(ip)) {
-            ip = "127.0.0.1";
-        }
+//		String ip = IpKit.getRealIp(getRequest());
+//        if (StrKit.isBlank(ip)) {
+//            ip = "127.0.0.1";
+//        }
         
 		String codeString = "";
 		WeixinService wService = ServiceFactory.getService(WeixinService.class);
@@ -53,7 +53,7 @@ public class WeixinPayController extends Controller {
 			System.out.println(getRequest().getRequestURL().toString());
 			String url;
 			try {
-				url = wService.getCodeUrl(ApiConfigKit.getApiConfig().getAppId(), getRequest().getRequestURL().toString() + "?appId=" + ApiConfigKit.getApiConfig().getAppId() + "&out_trade_no=" + asString + "&ip=" + ip);
+				url = wService.getCodeUrl2(ApiConfigKit.getApiConfig().getAppId(), getRequest().getRequestURL().toString() + "?appId=" + ApiConfigKit.getApiConfig().getAppId() + "&out_trade_no=" + asString);
 				this.redirect(url);
 
 			} catch (UnsupportedEncodingException e) {
@@ -63,7 +63,7 @@ public class WeixinPayController extends Controller {
 			return;
 		}else {
 			codeString = this.getPara("code");
-			ip = this.getPara("ip");
+//			ip = this.getPara("ip");
 		}
 		SnsAccessToken snsAccessToken = wService.getWebAccessToken(ApiConfigKit.getApiConfig().getAppId(), ApiConfigKit.getApiConfig().getAppSecret(), codeString);
 
@@ -79,10 +79,10 @@ public class WeixinPayController extends Controller {
         params.put("out_trade_no", asString);
         params.put("total_fee", "1");
 
-//        String ip = IpKit.getRealIp(getRequest());
-//        if (StrKit.isBlank(ip)) {
-//            ip = "127.0.0.1";
-//        }
+        String ip = IpKit.getRealIp(getRequest());
+        if (StrKit.isBlank(ip)) {
+            ip = "127.0.0.1";
+        }
 
         params.put("spbill_create_ip", ip);
         params.put("trade_type", TradeType.JSAPI.name());

+ 11 - 0
PacsOnline_Wechat_Patient/src/main/java/com/zskk/service/WeixinService.java

@@ -53,6 +53,17 @@ public class WeixinService {
 		return url;
 	}
 
+	
+	/**
+	 * 用户同意授权,获取带code的url
+	 * @return
+	 * @throws UnsupportedEncodingException 
+	 */
+	public String getCodeUrl2(String appId, String redirect_uri) throws UnsupportedEncodingException {
+		String encode = URLEncoder.encode(redirect_uri, "UTF-8");
+		String url = SnsAccessTokenApi.getAuthorizeURL(appId, encode, true);
+		return url;
+	}
 	/**
 	 * 通过回调地址参数code获取access_token
 	 * @param appId