From b9d94b40d8ae7db93517704926914b65ec748347 Mon Sep 17 00:00:00 2001 From: wangsq Date: Fri, 9 Jan 2026 11:36:21 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=B3=E6=9E=97=E5=8E=BF=E4=BA=BA=E6=B0=91?= =?UTF-8?q?=E5=8C=BB=E9=99=A2=E5=93=88=E5=93=88=E5=8C=BB=E7=96=97=E7=9A=84?= =?UTF-8?q?=E4=BD=93=E6=A3=80=E8=BD=AF=E4=BB=B6=E4=BD=BF=E7=94=A8session?= =?UTF-8?q?=E4=B8=AD=E7=9A=84openId=E4=BD=9C=E4=B8=BA=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E5=AF=BC=E8=87=B4=E6=9F=A5=E8=AF=A2=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E7=9A=84=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D=E3=80=82?= =?UTF-8?q?=E4=BD=BF=E7=94=A8token=E6=97=B6=E8=A7=A3=E6=9E=90=E6=88=90?= =?UTF-8?q?=E5=8A=9F=E6=97=B6=E6=8A=8A=E8=A7=A3=E6=9E=90=E7=9A=84openid?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E5=88=B0session=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ynxbd/common/action/ExtAction.java | 16 ++++++++-------- .../com/ynxbd/wx/wxfactory/WxAuthHelper.java | 6 ++++++ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/ynxbd/common/action/ExtAction.java b/src/main/java/com/ynxbd/common/action/ExtAction.java index e9aea72..43429e2 100644 --- a/src/main/java/com/ynxbd/common/action/ExtAction.java +++ b/src/main/java/com/ynxbd/common/action/ExtAction.java @@ -5,12 +5,14 @@ import com.ynxbd.common.bean.Patient; import com.ynxbd.common.dao.PatientDao; import com.ynxbd.common.helper.common.Base64Helper; import com.ynxbd.common.result.Result; +import com.ynxbd.common.result.ResultEnum; +import com.ynxbd.wx.config.WeChatConfig; +import com.ynxbd.wx.wxfactory.WxAuthHelper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Namespace; -import javax.servlet.http.HttpSession; import java.util.List; /** @@ -29,14 +31,12 @@ public class ExtAction extends BaseAction { */ @Action("getSLTJReport") public Result getSLTJReport() { - HttpSession session = getSession(); - Object openid = session.getAttribute("openid"); - if (ObjectUtils.isEmpty(openid)) { - return Result.error(); + String openId = WxAuthHelper.getSessionOpenid(request); + if (ObjectUtils.isEmpty(openId)) { + return Result.error(ResultEnum.AUTH_FAILED); } - List patients = new PatientDao().selectListByOpenid(openid.toString()); - + List patients = new PatientDao().selectListByOpenid(openId); StringBuilder params = new StringBuilder(); String idCardNo; @@ -50,6 +50,6 @@ public class ExtAction extends BaseAction { params.append(","); } } - return Result.redirect("http://www.slxrmyy.cn:9899/?id=" + params); + return Result.redirect(WeChatConfig.getDomain(false) + ":9899/?id=" + params); } } diff --git a/src/main/java/com/ynxbd/wx/wxfactory/WxAuthHelper.java b/src/main/java/com/ynxbd/wx/wxfactory/WxAuthHelper.java index bd4c6ad..1bb3035 100644 --- a/src/main/java/com/ynxbd/wx/wxfactory/WxAuthHelper.java +++ b/src/main/java/com/ynxbd/wx/wxfactory/WxAuthHelper.java @@ -40,6 +40,11 @@ public class WxAuthHelper { private static final String GMC_ID = "GMCId"; private static final String OPENID = "openid"; + public static String getSessionOpenid(HttpServletRequest request) { + HttpSession session = request.getSession(); + Object sessionOpenIdObj = session.getAttribute(OPENID); // 自身openid + return sessionOpenIdObj == null ? null : sessionOpenIdObj.toString(); + } public static String auth(HttpServletRequest request, HttpServletResponse response, boolean isUserInfo) { try { @@ -164,6 +169,7 @@ public class WxAuthHelper { if (cacheTokenOpenId != null) { log.info("[微信token认证] token={}, cacheOpenId={}", token, cacheTokenOpenId); AuthResultData authResultData = getTokenData(cacheTokenOpenId, token, authTokenData); + session.setAttribute(OPENID, cacheTokenOpenId); return Result.success(authResultData.toResultData()); }