修改代码生成模板.

This commit is contained in:
lijiahang
2023-08-15 18:36:04 +08:00
parent 4facfc66cd
commit bc163d786a
12 changed files with 87 additions and 39 deletions

View File

@@ -37,9 +37,6 @@ public class SystemMenuController {
@Resource
private SystemMenuService systemMenuService;
@Resource
private SystemRoleMenuService systemRoleMenuService;
@PostMapping("/create")
@Operation(summary = "创建菜单")
@PreAuthorize("@ss.hasPermission('infra:system-menu:create')")
@@ -56,18 +53,11 @@ public class SystemMenuController {
@PutMapping("/update-status")
@Operation(summary = "通过 id 级联更新菜单状态")
@PreAuthorize("@ss.hasPermission('infra:system-menu:update')")
@PreAuthorize("@ss.hasPermission('infra:system-menu:update-status')")
public Integer updateSystemMenuStatus(@RequestBody SystemMenuUpdateStatusRequest request) {
return systemMenuService.updateSystemMenuStatus(request);
}
@PostMapping("/bind")
@Operation(summary = "绑定角色菜单")
@PreAuthorize("@ss.hasPermission('infra:system-menu:bind')")
public Integer bindRoleMenu(@RequestBody SystemMenuBindRequest request) {
return systemRoleMenuService.bindRoleMenu(request);
}
@IgnoreLog(IgnoreLogMode.RET)
@GetMapping("/get")
@Operation(summary = "通过 id 查询菜单")

View File

@@ -4,11 +4,13 @@ import com.orion.lang.define.wrapper.DataGrid;
import com.orion.ops.framework.common.annotation.IgnoreLog;
import com.orion.ops.framework.common.annotation.RestWrapper;
import com.orion.ops.framework.common.constant.IgnoreLogMode;
import com.orion.ops.module.infra.entity.request.menu.SystemRoleBindMenuRequest;
import com.orion.ops.module.infra.entity.request.role.SystemRoleCreateRequest;
import com.orion.ops.module.infra.entity.request.role.SystemRoleQueryRequest;
import com.orion.ops.module.infra.entity.request.role.SystemRoleStatusRequest;
import com.orion.ops.module.infra.entity.request.role.SystemRoleUpdateRequest;
import com.orion.ops.module.infra.entity.vo.SystemRoleVO;
import com.orion.ops.module.infra.service.SystemRoleMenuService;
import com.orion.ops.module.infra.service.SystemRoleService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
@@ -40,6 +42,9 @@ public class SystemRoleController {
@Resource
private SystemRoleService systemRoleService;
@Resource
private SystemRoleMenuService systemRoleMenuService;
@PostMapping("/create")
@Operation(summary = "创建角色")
@PreAuthorize("@ss.hasPermission('infra:system-role:create')")
@@ -86,6 +91,13 @@ public class SystemRoleController {
return systemRoleService.getSystemRolePage(request);
}
@GetMapping("/get-menu-id")
@Operation(summary = "获取角色菜单id")
@PreAuthorize("@ss.hasPermission('infra:system-role:query')")
public List<Long> getRoleMenuIdList(@RequestParam("roleId") Long roleId) {
return systemRoleMenuService.getRoleMenuIdList(roleId);
}
@DeleteMapping("/delete")
@Operation(summary = "通过 id 删除角色")
@Parameter(name = "id", description = "id", required = true)
@@ -94,5 +106,12 @@ public class SystemRoleController {
return systemRoleService.deleteSystemRole(id);
}
@PutMapping("/bind")
@Operation(summary = "绑定角色菜单")
@PreAuthorize("@ss.hasPermission('infra:system-role:bind-menu')")
public Integer bindRoleMenu(@RequestBody SystemRoleBindMenuRequest request) {
return systemRoleMenuService.bindRoleMenu(request);
}
}

View File

@@ -12,7 +12,7 @@ import java.io.Serializable;
import java.util.List;
/**
* 菜单 绑定角色请求对象
* 角色 绑定菜单请求对象
*
* @author Jiahang Li
* @version 1.0.0
@@ -22,8 +22,8 @@ import java.util.List;
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(name = "SystemMenuBindRequest", description = "菜单 绑定角色请求对象")
public class SystemMenuBindRequest implements Serializable {
@Schema(name = "SystemRoleBindMenuRequest", description = "角色 绑定菜单请求对象")
public class SystemRoleBindMenuRequest implements Serializable {
@NotNull
@Schema(description = "roleId")
@@ -31,6 +31,6 @@ public class SystemMenuBindRequest implements Serializable {
@NotEmpty
@Schema(description = "菜单id集合")
private List<Long> idList;
private List<Long> menuIdList;
}

View File

@@ -1,6 +1,8 @@
package com.orion.ops.module.infra.service;
import com.orion.ops.module.infra.entity.request.menu.SystemMenuBindRequest;
import com.orion.ops.module.infra.entity.request.menu.SystemRoleBindMenuRequest;
import java.util.List;
/**
* 角色菜单关联 服务类
@@ -17,6 +19,14 @@ public interface SystemRoleMenuService {
* @param request request
* @return effect
*/
Integer bindRoleMenu(SystemMenuBindRequest request);
Integer bindRoleMenu(SystemRoleBindMenuRequest request);
/**
* 获取角色菜单 id
*
* @param roleId roleId
* @return menuIdList
*/
List<Long> getRoleMenuIdList(Long roleId);
}

View File

@@ -14,7 +14,7 @@ import com.orion.ops.module.infra.entity.domain.SystemMenuDO;
import com.orion.ops.module.infra.entity.domain.SystemRoleDO;
import com.orion.ops.module.infra.entity.domain.SystemRoleMenuDO;
import com.orion.ops.module.infra.entity.dto.SystemMenuCacheDTO;
import com.orion.ops.module.infra.entity.request.menu.SystemMenuBindRequest;
import com.orion.ops.module.infra.entity.request.menu.SystemRoleBindMenuRequest;
import com.orion.ops.module.infra.service.PermissionService;
import com.orion.ops.module.infra.service.SystemRoleMenuService;
import lombok.extern.slf4j.Slf4j;
@@ -52,15 +52,20 @@ public class SystemRoleMenuServiceImpl implements SystemRoleMenuService {
@Override
@Transactional(rollbackFor = Exception.class)
public Integer bindRoleMenu(SystemMenuBindRequest request) {
public Integer bindRoleMenu(SystemRoleBindMenuRequest request) {
Long roleId = request.getRoleId();
List<Long> menuIdList = request.getIdList();
List<Long> menuIdList = request.getMenuIdList();
// 检查角色是否存在
SystemRoleDO role = Valid.notNull(systemRoleDAO.selectById(roleId), ErrorMessage.ROLE_ABSENT);
// 查询菜单列表
List<SystemMenuDO> menuList = systemMenuDAO.selectBatchIds(menuIdList);
if (menuIdList.size() != menuList.size()) {
throw ErrorCode.CONFLICT.exception();
List<SystemMenuDO> menuList;
if (menuIdList.isEmpty()) {
menuList = Lists.empty();
} else {
menuList = systemMenuDAO.selectBatchIds(menuIdList);
if (menuIdList.size() != menuList.size()) {
throw ErrorCode.CONFLICT.exception();
}
}
// 查询角色菜单
List<Long> beforeMenuIdList = systemRoleMenuDAO.of()
@@ -106,4 +111,12 @@ public class SystemRoleMenuServiceImpl implements SystemRoleMenuService {
return effect;
}
@Override
public List<Long> getRoleMenuIdList(Long roleId) {
return systemRoleMenuDAO.selectList(Conditions.eq(SystemRoleMenuDO::getRoleId, roleId))
.stream()
.map(SystemRoleMenuDO::getMenuId)
.collect(Collectors.toList());
}
}

View File

@@ -10,6 +10,7 @@ import com.orion.ops.module.infra.convert.SystemRoleConvert;
import com.orion.ops.module.infra.dao.SystemRoleDAO;
import com.orion.ops.module.infra.dao.SystemRoleMenuDAO;
import com.orion.ops.module.infra.dao.SystemUserRoleDAO;
import com.orion.ops.module.infra.define.RoleDefine;
import com.orion.ops.module.infra.entity.domain.SystemRoleDO;
import com.orion.ops.module.infra.entity.request.role.SystemRoleCreateRequest;
import com.orion.ops.module.infra.entity.request.role.SystemRoleQueryRequest;
@@ -95,6 +96,8 @@ public class SystemRoleServiceImpl implements SystemRoleService {
Long id = Valid.notNull(request.getId(), ErrorMessage.ID_MISSING);
SystemRoleDO record = systemRoleDAO.selectById(id);
Valid.notNull(record, ErrorMessage.DATA_ABSENT);
// 检查是否为管理员账号
Valid.isTrue(!RoleDefine.isAdmin(record.getCode()), ErrorMessage.UNABLE_OPERATE_ADMIN_ROLE);
// 转换
SystemRoleDO updateRecord = SystemRoleConvert.MAPPER.to(request);
Integer status = updateRecord.getStatus();
@@ -135,8 +138,7 @@ public class SystemRoleServiceImpl implements SystemRoleService {
.eq(SystemRoleDO::getId, request.getId())
.like(SystemRoleDO::getName, request.getName())
.eq(SystemRoleDO::getCode, request.getCode())
.eq(SystemRoleDO::getStatus, request.getStatus())
.orderByDesc(SystemRoleDO::getId);
.eq(SystemRoleDO::getStatus, request.getStatus());
// 查询
return systemRoleDAO.of()
.wrapper(wrapper)
@@ -151,6 +153,8 @@ public class SystemRoleServiceImpl implements SystemRoleService {
SystemRoleDO record = systemRoleDAO.selectById(id);
Valid.notNull(record, ErrorMessage.DATA_ABSENT);
String code = record.getCode();
// 检查是否为管理员账号
Valid.isTrue(!RoleDefine.isAdmin(code), ErrorMessage.UNABLE_OPERATE_ADMIN_ROLE);
// 删除角色
int effect = systemRoleDAO.deleteById(id);
log.info("SystemRoleService-deleteSystemRole id: {}, effect: {}", id, effect);