浏览代码

修复解绑接口bug

刘韬 3 年之前
父节点
当前提交
4f243f1648
共有 1 个文件被更改,包括 33 次插入40 次删除
  1. 33 40
      PacsOnline_Wechat_Doctor/src/main/java/com/zskk/controller/WxaUserApiController.java

+ 33 - 40
PacsOnline_Wechat_Doctor/src/main/java/com/zskk/controller/WxaUserApiController.java

@@ -88,7 +88,7 @@ public class WxaUserApiController extends WxaController {
 				loginBean = new LoginBean();
 				loginBean.setSessionId(sessionId);
 			}
-			
+
 		}
 		renderJson(new ResultBean(loginBean));
 	}
@@ -141,7 +141,7 @@ public class WxaUserApiController extends WxaController {
 				loginBean = new LoginBean();
 				loginBean.setSessionId(sessionId);
 			}
-			
+
 		}
 		renderJson(new ResultBean(loginBean));
 	}
@@ -358,50 +358,43 @@ public class WxaUserApiController extends WxaController {
 			renderJson(ErrorConstant.ERROR_DOCTOR_NOT_FIND);
 		}
 	}
-	
+
 	/**
 	 * 解除绑定接口
 	 */
 	public void unbind() {
 		String sessionId = getPara("wxa-sessionid");
-		try {
-			if (StrKit.isBlank(sessionId)) {
-				Kv data = Kv.by("errcode", 500).set("errmsg", "wxa_session Header is blank for session");
-				renderJson(ErrorConstant.ERROR_WXA_SESSION_BLANK);
-				return;
-			}
-		
-			IAccessTokenCache accessTokenCache = ApiConfigKit.getAccessTokenCache();
-			String sessionJson = accessTokenCache.get("wxa:session:" + sessionId);
-		
-			if (StrKit.isBlank(sessionJson)) {
-				Kv data = Kv.by("errcode", 500).set("errmsg", "wxa_session sessionJson is blank for cache");
-				renderJson(ErrorConstant.ERROR_WXA_SESSION_OUT_TIME);
-				return;
-			}
-		
-			ApiResult sessionResult = ApiResult.create(sessionJson);
-		
-//			// 获取sessionKey
-			String sessionKey = sessionResult.get("session_key");
-		
-			if (StrKit.isBlank(sessionKey)) {
-				Kv data = Kv.by("errcode", 500).set("errmsg", "sessionKey is blank");
-				renderJson(ErrorConstant.ERROR_WXA_SESSION_CONTENT);
-				return;
-			}
-			DoctorsWechat doctorsWechat = DoctorsWechat.dao.findFirst("select * from doctors_wechat where wxa_openid=?", sessionResult.getStr("openid"));
-//			doctorsWechat.setDoctorId("");
-//			doctorsWechat.setCreateAt(new Date());
-//			doctorsWechat.update();
-//			LoginBean loginBean = new LoginBean();
-//			loginBean.setSessionId(sessionId);
-//			renderJson(new ResultBean(loginBean));
-			renderText(sessionJson);;
-		} catch (Exception e) {
-			// TODO: handle exception
-			renderText(e.toString());
+		if (StrKit.isBlank(sessionId)) {
+			Kv data = Kv.by("errcode", 500).set("errmsg", "wxa_session Header is blank for session");
+			renderJson(ErrorConstant.ERROR_WXA_SESSION_BLANK);
+			return;
+		}
+		IAccessTokenCache accessTokenCache = ApiConfigKit.getAccessTokenCache();
+		String sessionJson = accessTokenCache.get("wxa:session:" + sessionId);
+
+		if (StrKit.isBlank(sessionJson)) {
+			Kv data = Kv.by("errcode", 500).set("errmsg", "wxa_session sessionJson is blank for cache");
+			renderJson(ErrorConstant.ERROR_WXA_SESSION_OUT_TIME);
+			return;
 		}
+		JSONObject sessionResult = JSON.parseObject(sessionJson);
+		// 获取sessionKey
+		String sessionKey = sessionResult.getString("session_key");
+
+		if (StrKit.isBlank(sessionKey)) {
+			Kv data = Kv.by("errcode", 500).set("errmsg", "sessionKey is blank");
+			renderJson(ErrorConstant.ERROR_WXA_SESSION_CONTENT);
+			return;
+		}
+		DoctorsWechat doctorsWechat = DoctorsWechat.dao.findFirst("select * from doctors_wechat where wxa_openid=?",
+				sessionResult.getString("openid"));
+		doctorsWechat.setDoctorId("");
+		doctorsWechat.setCreateAt(new Date());
+		doctorsWechat.update();
+		LoginBean loginBean = new LoginBean();
+		loginBean.setSessionId(sessionId);
+		renderJson(new ResultBean(loginBean));
+		renderText(sessionJson);
 	}
 
 }