From 26d5a19b7f11107dfe15cc4ed1dfde93f7a770b2 Mon Sep 17 00:00:00 2001 From: yechenhao Date: Mon, 20 Apr 2020 14:16:45 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/kiisoo/ic/login/bean/LoginBean.java | 10 +++++++ .../ic/login/controller/LoginController.java | 30 ++++++++----------- .../login/service/impl/LoginServiceImpl.java | 13 ++++---- 3 files changed, 30 insertions(+), 23 deletions(-) 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 20c5ff5..cffb1ba 100644 --- a/src/main/java/com/kiisoo/ic/login/bean/LoginBean.java +++ b/src/main/java/com/kiisoo/ic/login/bean/LoginBean.java @@ -33,6 +33,16 @@ public class LoginBean { */ private String login; + /** + * 密码 + */ + private String password; + + /** + * 企业微信账号 + */ + private String cpUserId; + /** * 角色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 29f296d..feb96d2 100644 --- a/src/main/java/com/kiisoo/ic/login/controller/LoginController.java +++ b/src/main/java/com/kiisoo/ic/login/controller/LoginController.java @@ -11,10 +11,7 @@ import org.apache.shiro.SecurityUtils; import org.apache.shiro.subject.Subject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpSession; import java.util.HashMap; @@ -70,18 +67,15 @@ public class LoginController extends BaseController { /** * 小程序登录账号 - * @param login 用户名 - * @param password 密码 + * @param loginParams 登录参数 * @return 成功/失败 */ @RequestMapping(value = "/mini/login",method = RequestMethod.POST) @ResponseBody - public Map miniLoginAccount(@RequestParam(value = "login")String login, - @RequestParam(value = "password")String password, - @RequestParam(value = "isMD5",required = false,defaultValue = "false")Boolean isMD5){ + public Map miniLoginAccount(@RequestBody LoginBean loginParams){ try{ Map resultMap = new HashMap<>(); - LoginBean loginBean = loginService.miniLogin(login, password,isMD5); + LoginBean loginBean = loginService.miniLogin(loginParams.getLogin(), loginParams.getPassword(),false); resultMap.put("code", loginBean.getLoginInfo().get("code")); resultMap.put("results", loginBean); resultMap.put("success", Boolean.TRUE); @@ -105,7 +99,10 @@ public class LoginController extends BaseController { LoginBean loginBean = null; if (accountInfo!=null){ if (StringUtils.isNotBlank(accountInfo.get("login")) && StringUtils.isNotBlank(accountInfo.get("password"))){ - loginBean = loginService.miniLogin(accountInfo.get("login"), accountInfo.get("password"), false); + loginBean = loginService.miniLogin(accountInfo.get("login"), accountInfo.get("password"), true); + if (accountInfo.get("cpUserId").equals(loginBean.getCpUserId())){ + loginBean.getLoginInfo().put("code",LoginEnum.LOGIN_SUCCEED.getCode()); + } }else{ if (StringUtils.isNotBlank(accountInfo.get("cpUserId"))){ String cpUserId = accountInfo.get("cpUserId"); @@ -125,21 +122,18 @@ public class LoginController extends BaseController { /** * 登录账号 - * @param login 用户名 - * @param password 密码 - * @param qywxUserId 企业微信账号 + * @param loginParams 登录参数 * @return 成功/失败 */ @RequestMapping(value = "/login/bind",method = RequestMethod.POST) @ResponseBody - public Map loginAccountBind(@RequestParam("login")String login, @RequestParam("password")String password, - @RequestParam("cpUserId")String qywxUserId){ + public Map loginAccountBind(@RequestBody LoginBean loginParams){ try{ Map resultMap = new HashMap<>(); - LoginBean loginBean = loginService.miniLogin(login, password,false); + LoginBean loginBean = loginService.miniLogin(loginParams.getLogin(), loginParams.getPassword(),false); resultMap.put("code", loginBean.getLoginInfo().get("code")); if (LoginEnum.LOGIN_SUCCEED.getCode().equals(loginBean.getLoginInfo().get("code"))){ - loginService.bindQywxUserIdByUserId(loginBean.getUserId(),qywxUserId); + loginService.bindQywxUserIdByUserId(loginBean.getUserId(),loginParams.getCpUserId()); } resultMap.put("results", loginBean); resultMap.put("success", Boolean.TRUE); 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 33c72e0..be7e743 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 @@ -74,7 +74,7 @@ public class LoginServiceImpl implements LoginService { @Override public LoginBean login(String login, String password, Boolean isMD5) { password = MD5FileUtil.getMD5String(password); - UsernamePasswordToken token = new UsernamePasswordToken(login, password, isMD5); + UsernamePasswordToken token = new UsernamePasswordToken(login, password, false); Subject subject = SecurityUtils.getSubject(); try { @@ -114,8 +114,10 @@ public class LoginServiceImpl implements LoginService { @Override public LoginBean miniLogin(String login, String password, Boolean isMD5) { - password = MD5FileUtil.getMD5String(password); - UsernamePasswordToken token = new UsernamePasswordToken(login, password, isMD5); + if (!isMD5){ + password = MD5FileUtil.getMD5String(password); + } + UsernamePasswordToken token = new UsernamePasswordToken(login, password, false); Subject subject = SecurityUtils.getSubject(); try { @@ -151,12 +153,13 @@ public class LoginServiceImpl implements LoginService { //查询绑定状态 Map selectBindAccountMap = new HashMap<>(); - selectAccountMap.put("user_id", privilageUserDO.getId()); - selectAccountMap.put("type", AccountEnum.ACCOUNT_TYPE_QYWX.getType()); + selectBindAccountMap.put("user_id", privilageUserDO.getId()); + selectBindAccountMap.put("type", AccountEnum.ACCOUNT_TYPE_QYWX.getType()); List bindAccounts = privilageAccountDOMapper.selectByMap(selectBindAccountMap); if (CollectionUtils.isEmpty(bindAccounts)){ loginInfoMap.put("code", LoginEnum.LOGIN_SUCCEED.getCode()); }else{ + loginBean.setCpUserId(bindAccounts.get(0).getLogin()); loginInfoMap.put("code", LoginEnum.LOGIN_USER_BINDED.getCode()); }