whyczh
2021-05-14 fd2d92448a1fa0031daa0e05c739109093acdc3f
src/main/java/com/whyc/service/UserRoleService.java
@@ -1,5 +1,10 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.whyc.dto.Response;
import com.whyc.mapper.UserMapper;
import com.whyc.mapper.UserRoleMapper;
import com.whyc.pojo.Role;
import com.whyc.pojo.User;
@@ -8,10 +13,7 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 *  用户对应角色
@@ -21,6 +23,8 @@
    @Resource
    private UserRoleMapper mapper;
    @Resource
    private UserMapper userMapper;
    public List<User> getUserWithNoRole() {
        return mapper.getUserWithNoRole();
@@ -59,4 +63,53 @@
    public boolean bindingUserWithRoleBatch(List<UserRole> userRoles) {
        return mapper.insertBatchSomeColumn(userRoles)==userRoles.size();
    }
    //绑定用户
    public Response getUsersByRoleId(int roleId){
        List<User> userList = userMapper.selectList(null);
        QueryWrapper<UserRole> queryWrapper= new QueryWrapper();
        queryWrapper.eq("role_id",roleId);
        List<UserRole> userRoleList = mapper.selectList(queryWrapper);
        for (UserRole ur:userRoleList) {
            for (User u:userList) {
                if(ur.getUserId().equals(u.getId())){
                    u.setSelected(true);
                    break;
                }
            }
        }
        return new Response().set(1,userList);
    }
    public Response updateRoleUser(int roleId,int[] userIds){
        QueryWrapper<UserRole> queryWrapper = new QueryWrapper<UserRole>().eq("role_id",roleId);
        mapper.delete(queryWrapper);
        List<UserRole> list = new ArrayList<>();
        for (int userId:userIds) {
            UserRole userRole = new UserRole();
            userRole.setUserId(userId);
            userRole.setRoleId(roleId);
            list.add(userRole);
        }
        if (mapper.insertBatchSomeColumn(list)==list.size()){
            return new Response().setMsg(1,"更新成功");
        }else {
            return new Response().setMsg(0,"更新失败");
        }
    }
    public Response<PageInfo<User>> getUserByRoleId(int pageNum, int pageSize, int roleId){
        PageHelper.startPage(pageNum,pageSize);
        QueryWrapper queryWrapper = new QueryWrapper();
        queryWrapper.select("user_id").eq("role_id",roleId);
        List<UserRole> userIds = mapper.selectList(queryWrapper);
        List<User> userList = new ArrayList<>();
        for (UserRole userRole:userIds) {
            User user = userMapper.selectById(userRole.getUserId());
            userList.add(user);
        }
        PageInfo<User> pageInfo = new PageInfo<>(userList);
        return new Response<PageInfo<User>>().set(1,pageInfo);
    }
}