From 2f640b1038fa331954f78ed1f4317212cf5bb34d Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期五, 07 六月 2024 16:56:06 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java |  112 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 104 insertions(+), 8 deletions(-)

diff --git a/north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java b/north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java
index 6bcfea4..9761456 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java
@@ -1,27 +1,44 @@
 package com.example.erp.service.userInfo;
 
+import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.dynamic.datasource.annotation.DS;
-import com.example.erp.common.CacheUtil;
-import com.example.erp.common.Result;
-import com.example.erp.entity.userInfo.User;
-import com.example.erp.mapper.userInfo.UserMapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.example.erp.controller.dto.UserDTO;
+import com.example.erp.entity.userInfo.PermissionBasic;
+import com.example.erp.entity.userInfo.Role;
+import com.example.erp.entity.userInfo.SysError;
+import com.example.erp.entity.userInfo.User;
+import com.example.erp.mapper.userInfo.*;
 import com.example.erp.tools.TokenTools;
-import org.apache.ibatis.jdbc.Null;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
+import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @Service
 @DS("user_info")
 public class UserService {
 
-    @Autowired
-    private  UserMapper userMapper;
+    private final UserMapper userMapper;
+    private final RoleMapper roleMapper;
+    private final UserRoleMapper userRoleMapper;
+
+   private final PermissionRoleMapper permissionRoleMapper;
+
+    public UserService(UserMapper userMapper, RoleMapper roleMapper, PermissionRoleMapper permissionRoleMapper, UserRoleMapper userRoleMapper) {
+        this.userMapper = userMapper;
+        this.roleMapper = roleMapper;
+        this.permissionRoleMapper = permissionRoleMapper;
+        this.userRoleMapper = userRoleMapper;
+    }
 
 
     @Cacheable(value="users", key="#userDTO.getUserId()")
@@ -54,7 +71,7 @@
         return userMapper.getUserByID(userId);
     }
 
-
+    @Transactional
     public User register(User user) {
         User returnUser = new User();
         if(userMapper.register(user)){
@@ -64,5 +81,84 @@
         }
         return returnUser;
     }
+
+    @Transactional
+    public Boolean updatePassWord(Map<String,Object> object) {
+        boolean saveState = false;
+        int userId =0;
+        String oldPassWord = "";
+        String passWord = "";
+        if (object.get("userId") != null) {
+            userId = Integer.parseInt(object.get("userId").toString());
+        }
+        if (object.get("oldPassword") != null) {
+            oldPassWord = object.get("oldPassword").toString();
+        }
+        if (object.get("password") != null) {
+            passWord = object.get("password").toString();
+        }
+
+        User user =userMapper.findOnePassWord(userId,oldPassWord);
+        if (user!=null){
+            if (userMapper.updatePassWordById(userId,passWord)){
+                saveState = true;
+            }
+        }
+        return saveState;
+
+    }
+
+    /*----------------鏂扮増鏈櫥闄�*/
+    public UserDTO doLogin(UserDTO userDTO) {
+        User user = userMapper.selectOne(new QueryWrapper<User>().
+                eq("login_name", userDTO.getUserId()).eq("password", userDTO.getPass()));
+        if(user!=null){
+            //妫�鏌ユ槸璁╂湁鐧诲綍锛屾湁鐧诲綍鐩存帴閫�鍑�
+            StpUtil.logout(user.getId());
+            //閲嶆柊杩涜鐧诲綍
+            StpUtil.login(user.getId());
+            userDTO.setPass(null);
+            userDTO.setId(user.getId());
+            userDTO.setUserName(user.getUserName());
+            userDTO.setToken(StpUtil.getTokenValue());
+            Boolean userIsAdmin= userRoleMapper.getUserIsAdmin(user.getId());
+            userDTO.setPermissions(permissionRoleMapper.getUserEditPermission(user.getId(),userIsAdmin));
+            return userDTO;
+        }else{
+            return null;
+        }
+    }
+
+    public Boolean isLogin() {
+        // 杩斿洖褰撳墠鐢ㄦ埛鏄惁鐧诲綍
+        return StpUtil.isLogin();
+    }
+
+    public Boolean logout() {
+        StpUtil.logout();
+        return true;
+    }
+
+    public Map<String,List<Object>> findAll() {
+        List<User> users = userMapper.findAll();
+        users.forEach(user -> {
+            user.setPassword(null);
+        });
+        Map<String,List<Object>> map = new HashMap<>();
+
+        map.put("users", Collections.singletonList(users));
+        map.put("role", Collections.singletonList(
+                roleMapper.selectList(
+                new QueryWrapper<Role>()
+                        .ne("role","admin")
+                )
+        ));
+        return map;
+    }
+
+    public Boolean userDelete(Integer id) {
+
+        return userMapper.userDelete(id);
+    }
 }
 

--
Gitblit v1.8.0