|
|
package com.yanzhen.service;
|
|
|
|
|
|
import com.yanzhen.mapper.MenuMapper;
|
|
|
import com.yanzhen.mapper.UserMapper;
|
|
|
import com.yanzhen.entity.User;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
@Service
|
|
|
public class UserService {
|
|
|
|
|
|
@Autowired // 自动注入UserMapper
|
|
|
private UserMapper userMapper;
|
|
|
@Autowired // 自动注入MenuMapper
|
|
|
private MenuMapper menuMapper;
|
|
|
|
|
|
public int create(User user) {
|
|
|
//保存到中间表
|
|
|
int row = 0; // 初始化受影响的行数为0
|
|
|
userMapper.create(user); // 调用userMapper的create方法保存用户信息
|
|
|
for (Integer menuId : user.getIds()) { // 遍历用户关联的菜单ID列表
|
|
|
menuMapper.createUserMenu(user.getId(),menuId); // 将用户和菜单的关系保存到中间表
|
|
|
}
|
|
|
row = 1; // 设置受影响的行数为1,表示成功创建一条记录
|
|
|
return row; // 返回受影响的行数
|
|
|
}
|
|
|
|
|
|
public int delete(String ids) {
|
|
|
String[] arr = ids.split(","); // 将传入的字符串按逗号分割成数组
|
|
|
int row = 0; // 初始化受影响的行数为0
|
|
|
for (String s : arr) { // 遍历数组中的每个元素
|
|
|
if(!StringUtils.isEmpty(s)){ // 如果元素不为空
|
|
|
menuMapper.deleteUserMenu(Integer.parseInt(s)); // 删除中间表中对应的记录
|
|
|
userMapper.delete(Integer.parseInt(s)); // 删除用户表中对应的记录
|
|
|
row++; // 增加受影响的行数
|
|
|
}
|
|
|
}
|
|
|
return row; // 返回受影响的行数
|
|
|
}
|
|
|
|
|
|
public int delete(Integer id) {
|
|
|
menuMapper.deleteUserMenu(id); // 删除中间表中对应的记录
|
|
|
return userMapper.delete(id); // 删除用户表中对应的记录并返回受影响的行数
|
|
|
}
|
|
|
|
|
|
public int update(User user) {
|
|
|
int row = 0; // 初始化受影响的行数为0
|
|
|
userMapper.update(user); // 更新用户信息
|
|
|
menuMapper.deleteUserMenu(user.getId()); // 删除旧的用户-菜单关系
|
|
|
for (Integer menuId : user.getIds()) { // 遍历新的用户-菜单关系
|
|
|
menuMapper.createUserMenu(user.getId(),menuId); // 保存新的用户-菜单关系
|
|
|
}
|
|
|
row = 1; // 设置受影响的行数为1,表示成功更新一条记录
|
|
|
return row; // 返回受影响的行数
|
|
|
}
|
|
|
|
|
|
public int updatePwd(User user) {
|
|
|
return userMapper.updateSelective(user); // 更新用户密码并返回受影响的行数
|
|
|
}
|
|
|
|
|
|
public int updateSelective(User user) {
|
|
|
int row = 0; // 初始化受影响的行数为0
|
|
|
userMapper.updateSelective(user); // 选择性更新用户信息
|
|
|
menuMapper.deleteUserMenu(user.getId()); // 删除旧的用户-菜单关系
|
|
|
for (Integer menuId : user.getIds()) { // 遍历新的用户-菜单关系
|
|
|
menuMapper.createUserMenu(user.getId(),menuId); // 保存新的用户-菜单关系
|
|
|
}
|
|
|
row = 1; // 设置受影响的行数为1,表示成功更新一条记录
|
|
|
return row; // 返回受影响的行数
|
|
|
}
|
|
|
|
|
|
public PageInfo<User> query(User user) {
|
|
|
if(user != null && user.getPage() != null){ // 如果用户对象不为空且分页参数不为空
|
|
|
PageHelper.startPage(user.getPage(),user.getLimit()); // 设置分页参数
|
|
|
}
|
|
|
return new PageInfo<User>(userMapper.query(user)); // 查询用户列表并返回分页信息
|
|
|
}
|
|
|
|
|
|
public User login(String userName,String password){
|
|
|
return userMapper.login(userName,password); // 根据用户名和密码查询用户信息并返回
|
|
|
}
|
|
|
|
|
|
public User detail(Integer id) {
|
|
|
return userMapper.detail(id); // 根据用户ID查询用户详情并返回
|
|
|
}
|
|
|
|
|
|
public int count(User user) {
|
|
|
return userMapper.count(user); // 统计符合条件的用户数量并返回
|
|
|
}
|
|
|
} |