刘韬 5 years ago
parent
commit
3fc94c102d

+ 62 - 2
PacsOnline_Wechat_Patient/src/main/java/com/zskk/controller/WebBridgeController.java

@@ -46,8 +46,8 @@ public class WebBridgeController extends ApiController {
 	}
 	
 	public void localReport2() {
-		this.renderText("WEB_BASR_URL_4+\"/reportInfo/report?report_id="+ this.getPara("report_id"));
-//		this.process(WEB_BASR_URL_4+"/reportInfo/report?report_id=" + this.getPara("report_id"));
+//		this.renderText(WEB_BASR_URL_4+"/reportInfo/report?report_id="+ this.getPara("report_id"));
+		this.process2(WEB_BASR_URL_4+"/reportInfo/report?report_id=" + this.getPara("report_id"));
 	}
 	
 	private void process(String toUrl) {
@@ -110,4 +110,64 @@ public class WebBridgeController extends ApiController {
 		
 	}
 	
+	
+	private void process2(String toUrl) {
+		try {
+			System.out.println(toUrl);
+//			System.out.println(getRequest().getRequestURL().toString());
+//			Object sessionObj = this.getRequest().getSession().getAttribute("pwpSessionObjtest9");
+			Object sessionObj = null;
+			WeixinService wService = ServiceFactory.getService(WeixinService.class);
+			if (sessionObj == null) {
+				String code = this.getPara("code");
+				if (code == null) {
+					System.out.println(ApiConfigKit.getApiConfig().getAppId());
+					System.out.println(getRequest().getRequestURL().toString());
+					String url = wService.getCodeUrl(ApiConfigKit.getApiConfig().getAppId(), getRequest().getRequestURL().toString() + "?appId=" + ApiConfigKit.getApiConfig().getAppId());
+					this.redirect(url);
+					return;
+				}
+				System.out.println(ApiConfigKit.getApiConfig().getAppId());
+				SnsAccessToken snsAccessToken = wService.getWebAccessToken(ApiConfigKit.getApiConfig().getAppId(), ApiConfigKit.getApiConfig().getAppSecret(), code);
+
+				UserService uService = ServiceFactory.getService(UserService.class);
+				UserWechat user = UserWechat.dao.findFirst("select * from user_wechat where wx_openid=?",snsAccessToken.getOpenid());
+
+				if (user == null && snsAccessToken.getOpenid() != null) {
+					user = uService.createWxUserByAppid(snsAccessToken.getOpenid(), ApiConfigKit.getApiConfig().getAppId());
+				}
+				if (user != null && user.getWxIcon().isEmpty()) {                     
+					wService.getWebWeixinUserInfo(snsAccessToken.getAccessToken(), snsAccessToken.getOpenid());
+				}
+				this.getRequest().getSession().setAttribute("pwpSessionObjtest9", user);
+				String uidStr = toUrl.contains("?") ? "&openid=" : "?openid=";
+				this.renderText(toUrl + uidStr + snsAccessToken.getOpenid());
+			} else {
+				UserService uService = ServiceFactory.getService(UserService.class);
+				UserWechat userWechats = (UserWechat) sessionObj;
+				UserWechat users = UserWechat.dao.findById(userWechats.getId());
+				String uidStr = toUrl.contains("?") ? "&openid=" : "?openid=";
+				if (users == null) {
+					userWechats = uService.createWxUserByAppid(userWechats.getWxOpenid(), ApiConfigKit.getApiConfig().getAppId());
+				}
+				UserWechat users2 = UserWechat.dao.findFirst("select * from user_wechat where wx_openid=?",userWechats.getWxOpenid());
+				if (users2 != null && users2.getWxIcon().isEmpty()) {
+//					uService.getUserInfo(userWechats.getWxOpenid());
+//					wService.getWebWeixinUserInfo(snsAccessToken.getAccessToken(), snsAccessToken.getOpenid());
+
+				}
+				
+				this.getRequest().getSession().setAttribute("pwpSessionObjtest9", users2);
+
+				this.redirect(toUrl + uidStr + userWechats.getWxOpenid());
+
+				
+			}
+		} catch (Exception e) {
+			// nothing
+//			this.redirect("http://www.pacsonline.cn");
+			this.renderText(e.toString());
+		}
+		
+	}
 }