package com.whyc.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.api.R; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.whyc.dto.Response; import com.whyc.mapper.RoleMapper; import com.whyc.mapper.UserMapper; import com.whyc.mapper.UserRoleMapper; import com.whyc.pojo.*; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; @Service public class RoleService { @Resource private RoleMapper mapper; @Resource private UserRoleMapper userRoleMapper; public List getAll() { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.ne("name","admin"); return mapper.selectList(queryWrapper); } public Response> getRoleByCondition(int pageNum,int pageSize,Role role){ QueryWrapper queryWrapper = new QueryWrapper<>(role); queryWrapper.or().like(StringUtils.isNotEmpty(role.getSearch()) ,"label",role.getSearch()); queryWrapper.or().like(StringUtils.isNotEmpty(role.getSearch()) ,"description",role.getSearch()); queryWrapper.ne("name","superadmin"); List list = mapper.selectList(queryWrapper); for (Role role1: list) { QueryWrapper userRoleQueryWrapper = new QueryWrapper<>(); userRoleQueryWrapper.eq("role_id",role1.getId()); int count = userRoleMapper.selectCount(userRoleQueryWrapper); role1.setUserCount(count); } //IPage roleIPage = mapper.selectPage(new Page<>(pageNum, pageSize), queryWrapper); PageInfo rolePageInfo = new PageInfo<>(list); return new Response>().set(1,rolePageInfo); } public Response add(Role role) { QueryWrapper queryWrapper = new QueryWrapper<>(role); try { if(mapper.selectOne(queryWrapper)!=null){ return new Response().setMsg(0,"已有此权限组数据"); } }catch (Exception e){ return new Response().setMsg(0,"已有此权限组数据"); } role.setState(0); role.setUpdateTime(new Date()); mapper.insert(role); return new Response().set(1,role,"添加成功"); } public Response updateRole(Role role){ if(mapper.updateById(role)>0){ return new Response().setMsg(1,"更新成功"); }else { return new Response().setMsg(0,"更新失败"); } } public boolean addBatch(List roles) { return mapper.insertBatchSomeColumn(roles)==roles.size(); } public Response updateRoleState(int roleId,int state){ Role role = mapper.selectById(roleId); role.setState(state); if(mapper.updateById(role)>0){ if (state==0){ return new Response().setMsg(1,"启用成功"); }else{ return new Response().setMsg(1,"冻结成功"); } }else { return new Response().setMsg(0,"更新失败"); } } public Response deleteRole(int roleId){ if(mapper.deleteById(roleId)>0){ return new Response().setMsg(1, "删除成功"); }else{ return new Response().setMsg(0, "删除失败"); } } }