刘韬 5 years ago
parent
commit
4947399ae2

+ 46 - 26
PacsOnline_Wechat_Patient/src/main/java/com/zskk/controller/WebBridgeController.java

@@ -118,37 +118,57 @@ public class WebBridgeController extends ApiController {
 //			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);
+			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 uidStr = toUrl.contains("?") ? "&appId=" : "?appId=";
+					String url = wService.getCodeUrl(ApiConfigKit.getApiConfig().getAppId(), getRequest().getRequestURL().toString());
+					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.redirect(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=";
-				this.redirect(toUrl + uidStr + "******");
-			
+				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());
 		}
-		
 	}
 }