From ceb1dea2b24d5c3216816f42fd0e514613656416 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 08 十二月 2025 16:11:04 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override
---
north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java | 187 ++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 179 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..64ca017 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,45 @@
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.Log;
+import com.example.erp.entity.userInfo.Role;
+import com.example.erp.entity.userInfo.User;
+import com.example.erp.mapper.pp.ProductionSchedulingMapper;
+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 java.util.List;
+import java.util.*;
@Service
@DS("user_info")
public class UserService {
+ private final UserMapper userMapper;
+ private final RoleMapper roleMapper;
+ private final UserRoleMapper userRoleMapper;
+
+ private final PermissionRoleMapper permissionRoleMapper;
+ private final ProductionSchedulingMapper productionSchedulingMapper;
+
@Autowired
- private UserMapper userMapper;
+ LogService logService;
+
+ public UserService(UserMapper userMapper, RoleMapper roleMapper, PermissionRoleMapper permissionRoleMapper, UserRoleMapper userRoleMapper, ProductionSchedulingMapper productionSchedulingMapper) {
+ this.userMapper = userMapper;
+ this.roleMapper = roleMapper;
+ this.permissionRoleMapper = permissionRoleMapper;
+ this.userRoleMapper = userRoleMapper;
+ this.productionSchedulingMapper = productionSchedulingMapper;
+ }
@Cacheable(value="users", key="#userDTO.getUserId()")
@@ -54,7 +72,7 @@
return userMapper.getUserByID(userId);
}
-
+ @Transactional
public User register(User user) {
User returnUser = new User();
if(userMapper.register(user)){
@@ -64,5 +82,158 @@
}
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;
+
+ }
+
+ @Transactional
+ public Boolean updateUserName(Map<String,Object> object) {
+ boolean saveState = false;
+ int userId =0;
+ String userName = "";
+ if (object.get("userId") != null) {
+ userId = Integer.parseInt(object.get("userId").toString());
+ }
+ if (object.get("userName") != null) {
+ userName = object.get("userName").toString();
+ }
+
+ if (userMapper.updateUserNameById(userId,userName)){
+ 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())
+ .eq("state",1)
+ );
+ if(user!=null){
+ //妫�鏌ユ槸璁╂湁鐧诲綍锛屾湁鐧诲綍鐩存帴閫�鍑�
+ StpUtil.logout(user.getId());
+ //閲嶆柊杩涜鐧诲綍
+ StpUtil.login(user.getId());
+ userDTO.setPass(null);
+ userDTO.setId(user.getId());
+ userDTO.setUserName(user.getUserName());
+ userDTO.setAddress(user.getAddress());
+ userDTO.setToken(StpUtil.getTokenValue());
+ Boolean userIsAdmin= userRoleMapper.getUserIsAdmin(user.getId());
+ userDTO.setPermissions(permissionRoleMapper.getUserEditPermission(user.getId(),userIsAdmin));
+
+ Log log = new Log();
+ log.setOperator(user.getUserName());
+ log.setOperatorId(userDTO.getUserId());
+ log.setContent(userDTO.toString());
+ log.setFunction("鐢ㄦ埛鐧诲綍");
+ logService.saveLog(log);
+ 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);
+ }
+
+ public Map<String, Object> selectProcessSv() {
+ Map<String, Object> map = new HashMap<>();
+ map.put("process", productionSchedulingMapper.selectProcess());
+ return map;
+ }
+
+ public Boolean updateProcessSv(Integer id, String process) {
+ return userMapper.updateProcessMp(id,process);
+ }
+
+ public Object findByAddress(Map<String,String> userName) {
+ if(Objects.equals(userName.get("userName"), "")){
+ userName.put("userName", null) ;
+ }
+ List<User> users = userMapper.findByAddress(userName.get("userName"));
+ List<Map<String,Object>> userList = new ArrayList<>();
+ users.forEach(user -> {
+ Map<String,Object> userMap = new HashMap<>();
+ userMap.put("value", user.getLoginName());
+ userMap.put("text", user.getUserName());
+ userList.add(userMap);
+ });
+ Map<String,List<Object>> map = new HashMap<>();
+
+ map.put("users", Collections.singletonList(userList));
+ return map;
+ }
+
+ public Object getUserLog() {
+ Map<String, Object> map = new HashMap<>();
+ map.put("data", userMapper.getUserLog());
+ return map;
+ }
+
+
+//鏌ヨ鐢ㄦ埛浼樺寲鍙傛暟
+public String getOptimizeParms(String username) {
+ // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛
+
+ return userMapper.selectOptimizeParmsById(username);
+ }
+
}
+
--
Gitblit v1.8.0