From ee6fe3c37ad20f2d34b80546f53fe7d38cbfb158 Mon Sep 17 00:00:00 2001 From: TinyAnts Date: Mon, 5 Sep 2022 17:09:48 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=E5=8A=9F=E8=83=BD=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mdd/common/entity/user/User.java | 3 +- .../mdd/front/controller/LoginController.java | 7 +-- .../com/mdd/front/service/ILoginService.java | 31 ++++++++-- .../front/service/impl/LoginServiceImpl.java | 58 ++++++++++++++++++- 4 files changed, 87 insertions(+), 12 deletions(-) diff --git a/server/like-common/src/main/java/com/mdd/common/entity/user/User.java b/server/like-common/src/main/java/com/mdd/common/entity/user/User.java index e805f1ea..48b03c65 100644 --- a/server/like-common/src/main/java/com/mdd/common/entity/user/User.java +++ b/server/like-common/src/main/java/com/mdd/common/entity/user/User.java @@ -26,7 +26,8 @@ public class User implements Serializable { private Integer channel; // 注册渠道 private String salt; // 加密盐巴 private Integer sex; // 用户性别: [1=男, 2=女] - private Integer is_delete; // 是否删除: [0=否, 1=是] + private Integer isDisable; // 是否禁用: [0=否, 1=是] + private Integer isDelete; // 是否删除: [0=否, 1=是] private String lastLoginIp; // 最后登录IP private Long lastLoginTime; // 最后登录时间 private Long createTime; // 创建时间 diff --git a/server/like-front/src/main/java/com/mdd/front/controller/LoginController.java b/server/like-front/src/main/java/com/mdd/front/controller/LoginController.java index c5a8cc98..c82f027e 100644 --- a/server/like-front/src/main/java/com/mdd/front/controller/LoginController.java +++ b/server/like-front/src/main/java/com/mdd/front/controller/LoginController.java @@ -41,12 +41,11 @@ public class LoginController { case "mnp": map = iLoginService.mnpLogin(params); break; - case "sms": - Assert.isNull(params.get("code"), "code参数缺失!"); - iLoginService.smsLogin(params); + case "mobile": + map = iLoginService.mobileLogin(params); break; case "account": - iLoginService.accountLogin(params); + map = iLoginService.accountLogin(params); break; } diff --git a/server/like-front/src/main/java/com/mdd/front/service/ILoginService.java b/server/like-front/src/main/java/com/mdd/front/service/ILoginService.java index 36aafd20..a04b2ac5 100644 --- a/server/like-front/src/main/java/com/mdd/front/service/ILoginService.java +++ b/server/like-front/src/main/java/com/mdd/front/service/ILoginService.java @@ -18,17 +18,38 @@ public interface ILoginService { void register(RegisterParam registerParam); /** - * 微信小程序登录 + * 微信登录 * * @author fzr - * @param scene 场景 - * @param code 编码 + * @param params 参数 + * @return Map */ Map mnpLogin(Map params); - void smsLogin(Map params); + /** + * 手机登录 + * + * @author fzr + * @param params 参数 + * @return Map + */ + Map mobileLogin(Map params); - void accountLogin(Map params); + /** + * 账号登录 + * + * @author fzr + * @param params 参数 + * @return Map + */ + Map accountLogin(Map params); + /** + * 忘记密码 + * + * @author fzr + * @param params 参数 + */ void forgotPassword(Map params); + } diff --git a/server/like-front/src/main/java/com/mdd/front/service/impl/LoginServiceImpl.java b/server/like-front/src/main/java/com/mdd/front/service/impl/LoginServiceImpl.java index 110a036c..30af5cfb 100644 --- a/server/like-front/src/main/java/com/mdd/front/service/impl/LoginServiceImpl.java +++ b/server/like-front/src/main/java/com/mdd/front/service/impl/LoginServiceImpl.java @@ -172,14 +172,67 @@ public class LoginServiceImpl implements ILoginService { } } + /** + * 手机号登录 + * + * @author fzr + * @param params 参数 + * @return Map + */ @Override - public void smsLogin(Map params) { + public Map mobileLogin(Map params) { + Assert.notNull(params.get("mobile"), "mobile参数缺失!"); + Assert.notNull(params.get("code"), "code参数缺失!"); + // 校验验证码 + + // 查询手机号 + User user = userMapper.selectOne(new QueryWrapper() + .select("id,username,mobile,is_disable") + .eq("mobile", params.get("mobile")) + .eq("is_delete", 0) + .last("limit 1")); + + Assert.notNull(user, "账号不存在!"); + Assert.isFalse(user.getIsDisable() != 0, "账号已禁用!"); + + String token = ToolsUtil.makeToken(); + Map response = new LinkedHashMap<>(); + response.put("id", user.getId()); + response.put("token", token); + return response; } + /** + * 账号登录 + * + * @author fzr + * @param params 参数 + * @return Map + */ @Override - public void accountLogin(Map params) { + public Map accountLogin(Map params) { + Assert.notNull(params.get("username"), "username参数缺失!"); + Assert.notNull(params.get("password"), "password参数缺失!"); + String username = params.get("username"); + String password = params.get("password"); + User user = userMapper.selectOne(new QueryWrapper() + .select("id,username,password,salt,mobile,is_disable") + .eq("username", username) + .eq("is_delete", 0) + .last("limit 1")); + + Assert.notNull(user, "账号不存在!"); + String pwd = ToolsUtil.makeMd5(password+user.getSalt()); + Assert.isFalse(!pwd.equals(user.getPassword()), "账号或密码错误!"); + Assert.isFalse(user.getIsDisable() != 0, "账号已被禁用!"); + + String token = ToolsUtil.makeToken(); + Map response = new LinkedHashMap<>(); + response.put("id", user.getId()); + response.put("token", token); + return response; } @Override @@ -207,4 +260,5 @@ public class LoginServiceImpl implements ILoginService { } return sn; } + }