diff --git a/src/main/java/com/kiisoo/ic/login/bean/LoginBean.java b/src/main/java/com/kiisoo/ic/login/bean/LoginBean.java index 7fa2fab..e071793 100644 --- a/src/main/java/com/kiisoo/ic/login/bean/LoginBean.java +++ b/src/main/java/com/kiisoo/ic/login/bean/LoginBean.java @@ -43,6 +43,11 @@ public class LoginBean { */ private String cpUserId; + /** + * 企业微信sessionKey + */ + private String sessionKey; + /** * 角色id */ diff --git a/src/main/java/com/kiisoo/ic/login/controller/LoginController.java b/src/main/java/com/kiisoo/ic/login/controller/LoginController.java index feb96d2..226f839 100644 --- a/src/main/java/com/kiisoo/ic/login/controller/LoginController.java +++ b/src/main/java/com/kiisoo/ic/login/controller/LoginController.java @@ -103,11 +103,13 @@ public class LoginController extends BaseController { if (accountInfo.get("cpUserId").equals(loginBean.getCpUserId())){ loginBean.getLoginInfo().put("code",LoginEnum.LOGIN_SUCCEED.getCode()); } + loginBean.setSessionKey(accountInfo.get("sessionKey")); }else{ if (StringUtils.isNotBlank(accountInfo.get("cpUserId"))){ String cpUserId = accountInfo.get("cpUserId"); loginBean = new LoginBean(ERROR_ACCOUNT_NOT_BIND); loginBean.setLogin(cpUserId); + loginBean.setSessionKey(accountInfo.get("sessionKey")); } } }else{ diff --git a/src/main/java/com/kiisoo/ic/login/service/impl/LoginServiceImpl.java b/src/main/java/com/kiisoo/ic/login/service/impl/LoginServiceImpl.java index 84fba4d..5c06c37 100644 --- a/src/main/java/com/kiisoo/ic/login/service/impl/LoginServiceImpl.java +++ b/src/main/java/com/kiisoo/ic/login/service/impl/LoginServiceImpl.java @@ -221,12 +221,13 @@ public class LoginServiceImpl implements LoginService { @Override public Map qyMiniAutoLogin(String code) throws WxErrorException { - Map result = new HashMap<>(3); + Map result = new HashMap<>(4); - String cpUserId = qwMailListManageService.getCpUserIdByCode(code); - result.put("cpUserId",cpUserId); + Map codeInfo = qwMailListManageService.getCpUserIdByCode(code); + result.put("cpUserId",codeInfo.get("cpUserId")); + result.put("sessionKey",codeInfo.get("sessionKey")); Map selectAccountMap = new HashMap<>(); - selectAccountMap.put("login", cpUserId); + selectAccountMap.put("login", codeInfo.get("cpUserId")); selectAccountMap.put("type", AccountEnum.ACCOUNT_TYPE_QYWX.getType()); List privilageAccountDOS = privilageAccountDOMapper.selectByMap(selectAccountMap); //账号不存在 diff --git a/src/main/java/com/kiisoo/ic/wx/service/QWMailListManageService.java b/src/main/java/com/kiisoo/ic/wx/service/QWMailListManageService.java index 1724ba4..2f281c2 100644 --- a/src/main/java/com/kiisoo/ic/wx/service/QWMailListManageService.java +++ b/src/main/java/com/kiisoo/ic/wx/service/QWMailListManageService.java @@ -242,10 +242,15 @@ public class QWMailListManageService { * @return * @throws WxErrorException */ - public String getCpUserIdByCode(String code) throws WxErrorException { + public Map getCpUserIdByCode(String code) throws WxErrorException { + Map result = new HashMap<> (); wxCpService = WxCpConfiguration.getCpService(1); WxCpMaJsCode2SessionResult wxCpMaJsCode2SessionResult = wxCpService.jsCode2Session(code); - return wxCpMaJsCode2SessionResult.getUserId(); + String userId = wxCpMaJsCode2SessionResult.getUserId(); + String sessionKey = wxCpMaJsCode2SessionResult.getSessionKey(); + result.put("cpUserId",userId); + result.put("sessionKey",sessionKey); + return result; } }