From 13a34d2197b001799ef8f0f09e5b48af2add0926 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期一, 15 四月 2024 09:25:31 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/crm/common/web/AuthController.java |   49 +++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 45 insertions(+), 4 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 1c436f6..541c4d7 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<>();
@@ -72,10 +76,46 @@
         if (user.getStatus()!=1){
             return R.parse(CodeRes.USER_10002);
         }
+        if (Cools.isEmpty(user.getPassword())){
+            return R.parse(CodeRes.USER_10004);
+        }
         if (!user.getPassword().equals(password)){
             return R.parse(CodeRes.USER_10003);
         }
         String token = Cools.enToken(System.currentTimeMillis() + username, user.getPassword());
+        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("/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());
@@ -410,12 +450,13 @@
 
     @RequestMapping(value = "/power/menu/{resourceId}/auth")
     @ManagerAuth
-    public R buttonResource(@PathVariable("resourceId") Long resourceId) {
+    public R buttonResource(@PathVariable("resourceId") String resourceId) {
+        long resourceId2 = Long.parseLong(resourceId);
         List<Resource> resources;
         if (getUserId() == 9527) {
-            resources = resourceService.selectList(new EntityWrapper<Resource>().eq("level", 3).eq("resource_id", resourceId));
+            resources = resourceService.selectList(new EntityWrapper<Resource>().eq("level", 3).eq("resource_id", resourceId2));
         } else {
-            resources = roleResourceService.getMenuButtomResource(resourceId, getUserId());
+            resources = roleResourceService.getMenuButtomResource(resourceId2, getUserId());
         }
         for (Resource resource : resources) {
             resource.setCode(resource.getCode().split("#")[1]);

--
Gitblit v1.9.1