From 67f39351a5571b822f93c09e8c6e7986fe91e758 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期三, 06 九月 2023 16:46:29 +0800 Subject: [PATCH] #短信登录 --- src/main/java/com/zy/crm/common/web/AuthController.java | 39 ++++++++++++++++++++++++++++++++++++++- 1 files changed, 38 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/zy/crm/common/web/AuthController.java b/src/main/java/com/zy/crm/common/web/AuthController.java index 6711669..4b8fe69 100644 --- a/src/main/java/com/zy/crm/common/web/AuthController.java +++ b/src/main/java/com/zy/crm/common/web/AuthController.java @@ -8,6 +8,8 @@ import com.core.common.Cools; import com.core.common.R; import com.core.exception.CoolException; +import com.zy.crm.manager.service.SmsCodeService; +import com.zy.crm.manager.utils.SmsUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.transaction.annotation.Transactional; @@ -53,9 +55,11 @@ private RolePermissionService rolePermissionService; @Autowired private HostService hostService; + @Autowired + private SmsCodeService smsCodeService; @RequestMapping("/login.action") - @ManagerAuth(value = ManagerAuth.Auth.NONE, memo = "鐧诲綍") + @ManagerAuth(value = ManagerAuth.Auth.NONE, memo = "瀵嗙爜鐧诲綍") public R loginAction(String username, String password){ if (username.equals("super") && password.equals(Cools.md5(superPwd))) { Map<String, Object> res = new HashMap<>(); @@ -95,6 +99,39 @@ return R.ok(res); } + @RequestMapping("/smsLogin.action") + @ManagerAuth(value = ManagerAuth.Auth.NONE, memo = "鐭俊鐧诲綍") + public R smsLoginAction(String phone, String code){ + EntityWrapper<User> userWrapper = new EntityWrapper<>(); + userWrapper.eq("mobile", phone); + User user = userService.selectOne(userWrapper); + if (Cools.isEmpty(user)){ + return R.parse(CodeRes.USER_10001); + } + if (user.getStatus()!=1){ + return R.parse(CodeRes.USER_10002); + } + boolean verify = smsCodeService.verifySmsCode(phone, code); + if (!verify) { + return R.parse(CodeRes.USER_10005); + } + String token = Cools.enToken(System.currentTimeMillis() + phone, code); + userLoginService.delete(new EntityWrapper<UserLogin>().eq("user_id", user.getId())); + UserLogin userLogin = new UserLogin(); + userLogin.setUserId(user.getId()); + userLogin.setToken(token); + userLogin.setCreateTime(new Date()); + if (user.getRoleId() == 1) { + userLogin.setHostId(hostService.getTop1().getId()); + } + userLoginService.insert(userLogin); + Map<String, Object> res = new HashMap<>(); + res.put("username", user.getUsername()); + res.put("nickname", user.getNickname()); + res.put("token", token); + return R.ok(res); + } + @RequestMapping("/show/host.action") @ManagerAuth public R showHosts() { -- Gitblit v1.9.1