This commit is contained in:
2025-11-04 10:02:20 +08:00
parent 1cd8c5d420
commit d6fb143ac8
37 changed files with 628 additions and 46 deletions

View File

@ -7,7 +7,6 @@ import com.yj.earth.business.service.RoleMenuService;
import com.yj.earth.common.util.ApiResponse;
import com.yj.earth.dto.roleMenu.AddRoleMenuDto;
import com.yj.earth.dto.roleMenu.UpdateMenuDto;
import com.yj.earth.dto.roleOperate.UpdateRoleOperateDto;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
@ -15,6 +14,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
@ -48,17 +48,24 @@ public class RoleMenuController {
String menu = entry.getKey();
List<String> permissions = entry.getValue();
if (permissions == null || permissions.isEmpty()) {
continue;
if (permissions == null) {
permissions = new ArrayList<>();
}
// 为每个权限创建一条角色-菜单-权限关联记录
for (String permission : permissions) {
if (permissions.isEmpty()) {
RoleMenu roleMenu = new RoleMenu();
roleMenu.setRoleId(roleId);
roleMenu.setMenu(menu);
roleMenu.setPermission(permission);
roleMenu.setPermission(null);
roleMenuService.save(roleMenu);
} else {
for (String permission : permissions) {
RoleMenu roleMenu = new RoleMenu();
roleMenu.setRoleId(roleId);
roleMenu.setMenu(menu);
roleMenu.setPermission(permission);
roleMenuService.save(roleMenu);
}
}
}
}
@ -82,14 +89,14 @@ public class RoleMenuController {
return ApiResponse.success(null);
}
@Operation(summary = "查询角色权限")
@Operation(summary = "查询角色菜单权限")
@PostMapping("/query")
public ApiResponse query(@Parameter(description = "角色权限ID") @RequestParam(required = true) String id) {
public ApiResponse query(@Parameter(description = "角色菜单权限ID") @RequestParam(required = true) String id) {
RoleMenu roleMenu = roleMenuService.getById(id);
return ApiResponse.success(roleMenu);
}
@Operation(summary = "查询所有方案")
@Operation(summary = "所有角色菜单权限")
@PostMapping("/list")
public ApiResponse list(@Parameter(description = "分页数量") @RequestParam(value = "pageNum") Integer pageNum,
@Parameter(description = "分页大小") @RequestParam(value = "pageSize") Integer pageSize) {

View File

@ -52,14 +52,14 @@ public class RoleOperateController {
return ApiResponse.success(null);
}
@Operation(summary = "查询角色权限")
@Operation(summary = "查询角色操作权限")
@PostMapping("/query")
public ApiResponse query(@Parameter(description = "角色权限ID") @RequestParam(required = true) String id) {
public ApiResponse query(@Parameter(description = "角色操作权限ID") @RequestParam(required = true) String id) {
RoleOperate roleOperate = roleOperateService.getById(id);
return ApiResponse.success(roleOperate);
}
@Operation(summary = "查询所有方案")
@Operation(summary = "所有角色操作权限")
@PostMapping("/list")
public ApiResponse list(@Parameter(description = "分页数量") @RequestParam(value = "pageNum") Integer pageNum,
@Parameter(description = "分页大小") @RequestParam(value = "pageSize") Integer pageSize) {

View File

@ -0,0 +1,59 @@
package com.yj.earth.business.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yj.earth.business.domain.TsEvent;
import com.yj.earth.business.service.TsEventService;
import com.yj.earth.common.util.ApiResponse;
import com.yj.earth.dto.tsEvent.AddTsEventDto;
import com.yj.earth.dto.tsEvent.UpdateTsEventDto;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@Tag(name = "态势事件管理")
@RestController
@RequestMapping("/tsEvent")
public class TsEventController {
@Resource
private TsEventService tsEventService;
@PostMapping("/add")
@Operation(summary = "添加态势事件")
public ApiResponse add(@RequestBody AddTsEventDto addTsEventDto) {
TsEvent tsEvent = new TsEvent();
BeanUtils.copyProperties(addTsEventDto, tsEvent);
tsEventService.save(tsEvent);
return ApiResponse.success(null);
}
@PostMapping("/delete")
@Operation(summary = "删除态势事件")
public ApiResponse delete(@Parameter(description = "态势事件ID") @RequestParam(required = true) String id) {
tsEventService.removeById(id);
return ApiResponse.success(null);
}
@PostMapping("/update")
@Operation(summary = "修改态势事件")
public ApiResponse update(@RequestBody UpdateTsEventDto updateTsEventDto) {
TsEvent tsEvent = new TsEvent();
BeanUtils.copyProperties(updateTsEventDto, tsEvent);
return ApiResponse.success(null);
}
@GetMapping("/query")
@Operation(summary = "查询某个态势方案下资源下的事件")
public ApiResponse query(
@Parameter(description = "态势方案ID") @RequestParam(required = true) String planId,
@Parameter(description = "态势资源ID") @RequestParam(required = true) String sourceId) {
LambdaQueryWrapper<TsEvent> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(TsEvent::getPlanId, planId);
queryWrapper.eq(TsEvent::getSourceId, sourceId);
return ApiResponse.success(tsEventService.list(queryWrapper));
}
}

View File

@ -0,0 +1,55 @@
package com.yj.earth.business.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yj.earth.business.domain.TsSource;
import com.yj.earth.business.service.TsSourceService;
import com.yj.earth.common.util.ApiResponse;
import com.yj.earth.dto.tsSource.AddTsSourceDto;
import com.yj.earth.dto.tsSource.UpdateTsSourceDto;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@Tag(name = "态势资源管理")
@RestController
@RequestMapping("/tsSource")
public class TsSourceController {
@Resource
private TsSourceService tsSourceService;
@PostMapping("/add")
@Operation(summary = "添加态势资源")
public ApiResponse add(@RequestBody AddTsSourceDto addTsSourceDto) {
TsSource tsSource = new TsSource();
BeanUtils.copyProperties(addTsSourceDto, tsSource);
tsSourceService.save(tsSource);
return ApiResponse.success(null);
}
@Operation(summary = "删除态势资源")
@PostMapping("/delete")
public ApiResponse delete(@Parameter(description = "态势资源ID") @RequestParam(required = true) String id) {
tsSourceService.removeById(id);
return ApiResponse.success(null);
}
@Operation(summary = "修改态势资源")
@PostMapping("/update")
public ApiResponse update(@RequestBody UpdateTsSourceDto updateTsSourceDto) {
TsSource tsSource = new TsSource();
BeanUtils.copyProperties(updateTsSourceDto, tsSource);
return ApiResponse.success(null);
}
@Operation(summary = "查询某个方案下的态势资源")
@PostMapping("/query")
public ApiResponse query(@Parameter(description = "态势方案ID") @RequestParam(required = true) String id) {
LambdaQueryWrapper<TsSource> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(TsSource::getPlanId, id);
return ApiResponse.success(tsSourceService.list(queryWrapper));
}
}

View File

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yj.earth.annotation.RoleAccess;
import com.yj.earth.business.domain.Role;
import com.yj.earth.business.domain.RoleMenu;
import com.yj.earth.business.domain.RoleOperate;
import com.yj.earth.business.domain.User;
@ -189,4 +190,25 @@ public class UserController {
userService.updateById(user);
return ApiResponse.success(null);
}
@Operation(summary = "当前用户是否为管理员")
@GetMapping("/isAdmin")
public ApiResponse isAdmin() {
// 获取用户ID
String userId = StpUtil.getLoginIdAsString();
// 查询用户角色名称
User user = userService.getById(userId);
if (user == null) {
return ApiResponse.failure("用户不存在");
}
// 查询角色名称
Role role = roleService.getById(user.getRoleId());
if (role == null) {
return ApiResponse.failure("角色不存在");
}
if (role.getIsSuper() == 1) {
return ApiResponse.success(true);
}
return ApiResponse.success(false);
}
}