|  |  |  | 
|---|
|  |  |  | package com.ruoyi.system.controller; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.io.IOException; | 
|---|
|  |  |  | import javax.servlet.http.HttpServletResponse; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; | 
|---|
|  |  |  | import com.ruoyi.common.core.domain.R; | 
|---|
|  |  |  | import com.ruoyi.system.api.model.SysUserRoleVo; | 
|---|
|  |  |  | import com.ruoyi.system.domain.SysUserRole; | 
|---|
|  |  |  | import com.ruoyi.system.service.ISysUserRoleService; | 
|---|
|  |  |  | import org.springframework.beans.BeanUtils; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.GetMapping; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.PostMapping; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.PutMapping; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.DeleteMapping; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.PathVariable; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.RequestBody; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.RequestMapping; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.RestController; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.*; | 
|---|
|  |  |  | import com.ruoyi.common.log.annotation.Log; | 
|---|
|  |  |  | import com.ruoyi.common.log.enums.BusinessType; | 
|---|
|  |  |  | import com.ruoyi.common.security.annotation.RequiresPermissions; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 用户和角色关联Controller | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @author xiaochen | 
|---|
|  |  |  | * @date 2023-06-12 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RestController | 
|---|
|  |  |  | @RequestMapping("/userRole") | 
|---|
|  |  |  | public class SysUserRoleController extends BaseController | 
|---|
|  |  |  | { | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ISysUserRoleService sysUserRoleService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 查询用户和角色关联列表 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("car:role:list") | 
|---|
|  |  |  | @GetMapping("/list") | 
|---|
|  |  |  | public TableDataInfo list(SysUserRole sysUserRole) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | startPage(); | 
|---|
|  |  |  | List<SysUserRole> list = sysUserRoleService.selectSysUserRoleList(sysUserRole); | 
|---|
|  |  |  | return getDataTable(list); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 导出用户和角色关联列表 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("car:role:export") | 
|---|
|  |  |  | @Log(title = "用户和角色关联", businessType = BusinessType.EXPORT) | 
|---|
|  |  |  | @PostMapping("/export") | 
|---|
|  |  |  | public void export(HttpServletResponse response, SysUserRole sysUserRole) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<SysUserRole> list = sysUserRoleService.selectSysUserRoleList(sysUserRole); | 
|---|
|  |  |  | ExcelUtil<SysUserRole> util = new ExcelUtil<SysUserRole>(SysUserRole.class); | 
|---|
|  |  |  | util.exportExcel(response, list, "用户和角色关联数据"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取用户和角色关联详细信息 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("car:role:query") | 
|---|
|  |  |  | @GetMapping(value = "/{userId}") | 
|---|
|  |  |  | public AjaxResult getInfo(@PathVariable("userId") Long userId) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return success(sysUserRoleService.selectSysUserRoleByUserId(userId)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 新增用户和角色关联 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("car:role:add") | 
|---|
|  |  |  | @Log(title = "用户和角色关联", businessType = BusinessType.INSERT) | 
|---|
|  |  |  | @PostMapping | 
|---|
|  |  |  | public AjaxResult add(@RequestBody SysUserRole sysUserRole) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return toAjax(sysUserRoleService.insertSysUserRole(sysUserRole)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 修改用户和角色关联 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("car:role:edit") | 
|---|
|  |  |  | @Log(title = "用户和角色关联", businessType = BusinessType.UPDATE) | 
|---|
|  |  |  | @PutMapping | 
|---|
|  |  |  | public AjaxResult edit(@RequestBody SysUserRole sysUserRole) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return toAjax(sysUserRoleService.updateSysUserRole(sysUserRole)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 删除用户和角色关联 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("car:role:remove") | 
|---|
|  |  |  | @Log(title = "用户和角色关联", businessType = BusinessType.DELETE) | 
|---|
|  |  |  | public class SysUserRoleController extends BaseController { | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ISysUserRoleService sysUserRoleService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 查询用户和角色关联列表 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @GetMapping("/list") | 
|---|
|  |  |  | public TableDataInfo list(SysUserRole sysUserRole) { | 
|---|
|  |  |  | startPage(); | 
|---|
|  |  |  | List<SysUserRole> list = sysUserRoleService.selectSysUserRoleList(sysUserRole); | 
|---|
|  |  |  | return getDataTable(list); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 导出用户和角色关联列表 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Log(title = "用户和角色关联", businessType = BusinessType.EXPORT) | 
|---|
|  |  |  | @PostMapping("/export") | 
|---|
|  |  |  | public void export(HttpServletResponse response, SysUserRole sysUserRole) { | 
|---|
|  |  |  | List<SysUserRole> list = sysUserRoleService.selectSysUserRoleList(sysUserRole); | 
|---|
|  |  |  | ExcelUtil<SysUserRole> util = new ExcelUtil<SysUserRole>(SysUserRole.class); | 
|---|
|  |  |  | util.exportExcel(response, list, "用户和角色关联数据"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取用户和角色关联详细信息 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @GetMapping(value = "/{userId}") | 
|---|
|  |  |  | public AjaxResult getInfo(@PathVariable("userId") Long userId) { | 
|---|
|  |  |  | return success(sysUserRoleService.selectSysUserRoleByUserId(userId)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 新增用户和角色关联 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Log(title = "用户和角色关联", businessType = BusinessType.INSERT) | 
|---|
|  |  |  | @PostMapping | 
|---|
|  |  |  | public AjaxResult add(@RequestBody SysUserRole sysUserRole) { | 
|---|
|  |  |  | return toAjax(sysUserRoleService.insertSysUserRole(sysUserRole)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 修改用户和角色关联 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Log(title = "用户和角色关联", businessType = BusinessType.UPDATE) | 
|---|
|  |  |  | @PutMapping | 
|---|
|  |  |  | public AjaxResult edit(@RequestBody SysUserRole sysUserRole) { | 
|---|
|  |  |  | return toAjax(sysUserRoleService.updateSysUserRole(sysUserRole)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 删除用户和角色关联 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Log(title = "用户和角色关联", businessType = BusinessType.DELETE) | 
|---|
|  |  |  | @DeleteMapping("/{userIds}") | 
|---|
|  |  |  | public AjaxResult remove(@PathVariable Long[] userIds) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return toAjax(sysUserRoleService.deleteSysUserRoleByUserIds(userIds)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public AjaxResult remove(@PathVariable Long[] userIds) { | 
|---|
|  |  |  | return toAjax(sysUserRoleService.deleteSysUserRoleByUserIds(userIds)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 根据用户id获取角色 | 
|---|
|  |  |  | * @param userId | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @PostMapping("/getRoleByUserId") | 
|---|
|  |  |  | public R<List<SysUserRoleVo>> getRoleByUserId(@RequestParam("userId") Long userId){ | 
|---|
|  |  |  | List<SysUserRole> list = sysUserRoleService.list(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, userId)); | 
|---|
|  |  |  | List<SysUserRoleVo> data = new ArrayList<>(); | 
|---|
|  |  |  | for (SysUserRole sysUserRole : list) { | 
|---|
|  |  |  | SysUserRoleVo vo = new SysUserRoleVo(); | 
|---|
|  |  |  | BeanUtils.copyProperties(sysUserRole, vo); | 
|---|
|  |  |  | data.add(vo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok(data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|