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()); }