package com.ydtech.modules.admin.controller.kzt; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ydtech.core.page.HttpResult; import com.ydtech.exception.SystemException; import com.ydtech.modules.admin.model.SysMenu; import com.ydtech.modules.admin.model.SysRole; import com.ydtech.modules.admin.model.SysUser; import com.ydtech.modules.admin.model.dto.KZTRoleAndMenuDto; import com.ydtech.modules.admin.model.dto.KZTUserQueryDto; import com.ydtech.modules.admin.model.dto.SysUserRoleQueryDto; import com.ydtech.modules.admin.model.vo.SysUserRoleVo; import com.ydtech.modules.admin.service.SysMenuService; import com.ydtech.modules.admin.service.SysRoleMenuKztService; import com.ydtech.modules.admin.service.SysRoleService; import com.ydtech.modules.admin.service.SysUserRoleKztService; import com.ydtech.modules.base.controller.BaseController; import com.ydtech.modules.order.entity.BasePageResult; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; /** * @version * @author: hxl * @Date: 2024/8/14 11:02 * @Description: 控制台角色管理 */ @RestController @RequestMapping("kztRole") @Api(tags = "控制台角色") public class KZTRoleController extends BaseController { @Autowired private SysUserRoleKztService sysUserRoleKztService; @Autowired private SysRoleService sysRoleService; @Autowired private SysRoleMenuKztService sysRoleMenuKztService; @Autowired private SysMenuService sysMenuService; /** * @version * @author: hxl * @Date: 2024/8/14 18:13 * @Description: 控制台角色新增和修改 */ @ApiOperation(value = "控制台角色新增和修改") @PostMapping(value = "/save") public HttpResult save(@RequestBody SysRole record) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(SysRole::getName, record.getName()); lqw.eq(SysRole::getSysType, "2"); List sysRoles = sysRoleService.list(lqw); if ((record.getId() == null || record.getId() == 0) && sysRoles != null && sysRoles.size()>0) { return HttpResult.error("角色名已存在!"); } record.setSysType("2"); return HttpResult.ok(sysRoleService.saveOrUpdate(record)); } /** * @version * @author: hxl * @Date: 2024/8/14 18:54 * @Description: 控制台角色刪除 */ @ApiOperation(value = "控制台角色刪除") @PostMapping(value = "/delete") @Transactional public HttpResult delete(@RequestBody List records) { List sysRoleIds = records.stream().map(SysRole::getId).collect(Collectors.toList()); return HttpResult.ok(sysRoleService.removeBatchByIds(sysRoleIds)); } /** * @version * @author: hxl * @Date: 2024/8/14 18:54 * @Description: 控制台角色分页 */ @ApiOperation(value = "控制台角色分页") @PostMapping(value = "/findPage") public HttpResult> findKztPage(@RequestBody SysUserRoleQueryDto sysUserRoleQueryDto) { return HttpResult.ok(sysRoleService.findKztPage(sysUserRoleQueryDto)); } /** * @version * @author: hxl * @Date: 2024/8/14 18:54 * @Description: 控制台所有角色 */ @ApiOperation(value = "控制台所有角色") @GetMapping(value = "/findAll") public HttpResult findAll(String sysType) { if (StringUtils.isBlank(sysType)) { throw new SystemException("系統类型不能为空,传2为控制台!!"); } return HttpResult.ok(sysRoleService.findAllKzt(sysType)); } /** * @version * @author: hxl * @Date: 2024/8/14 18:27 * @Description: */ @PostMapping(value = "/saveRoleMenus") @ApiOperation(value = "角色关联菜单保存") public HttpResult saveRoleMenus(@RequestBody KZTRoleAndMenuDto kZTRoleAndMenuDto) { if (kZTRoleAndMenuDto.getRoleId()==null) { throw new SystemException("角色id不能为空!!"); } if (kZTRoleAndMenuDto.getSysType()==null) { throw new SystemException("系統类型不能为空!!"); } if (kZTRoleAndMenuDto.getMenuIds()==null || kZTRoleAndMenuDto.getMenuIds().size()==0) { throw new SystemException("菜单集合不能为空!!"); } try{ sysRoleMenuKztService.saveRoleMenus(kZTRoleAndMenuDto); }catch(Exception e){ return HttpResult.error("保存错误"); } return HttpResult.ok("保存成功"); } /** * @version * @author: hxl * @Date: 2024/8/14 16:58 * @Description: 查询已授权的部门用户 * dept/findTree 查询所有的机构 */ @ApiOperation(value = "根据参数查询已授权的部门用户") @PostMapping(value = "/queryPageByParam") public HttpResult> queryPageByParam(@RequestBody KZTUserQueryDto kZTUserQueryDto) { BasePageResult result = sysUserRoleKztService.queryPageByParam(kZTUserQueryDto); return HttpResult.ok(result); } /** * @version * @author: hxl * @Date: 2024/8/14 16:36 * @Description: */ @PostMapping(value = "/saveUserRoleKzt") @ApiOperation(value = "保存控制台用户角色信息") public HttpResult saveUserRoleKzt(@RequestBody SysUserRoleVo sysUserRoleVo) { String userId = sysUserRoleVo.getUserId(); String roleId = sysUserRoleVo.getRoleId(); if (StringUtils.isBlank(userId)) { throw new SystemException("用戶id不能为空!!"); } if (StringUtils.isBlank(roleId)) { throw new SystemException("角色id不能为空!!"); } try{ sysUserRoleKztService.saveUserRoleKzt(userId,roleId,"2"); }catch(Exception e){ return HttpResult.error("保存失败"); } return HttpResult.ok("保存成功"); } /** * @version * @author: hxl * @Date: 2024/8/14 16:36 * @Description: */ @GetMapping(value = "/findMenuIds") @ApiOperation(value = "通过角色关联菜单表") public HttpResult> findMenuIds(Long roleId) { if (roleId==null) { throw new SystemException("角色id不能为空!!"); } List list= new ArrayList(); try{ list= sysMenuService.getSysMenusByRoleId(roleId,"2"); }catch(Exception e){ return HttpResult.error("保存失败"); } return HttpResult.ok(list); } }