添加角色管理功能接口
parent
bbdef82170
commit
33b5d518a9
@ -0,0 +1,45 @@
|
||||
package com.supervision.knowsub.controller.system;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.supervision.knowsub.model.SystemRole;
|
||||
import com.supervision.knowsub.service.RoleManageService;
|
||||
import com.supervision.knowsub.vo.role.RoleReqVo;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@Tag(name = "用户角色管理")
|
||||
@RestController
|
||||
@RequestMapping("/roleManage")
|
||||
@RequiredArgsConstructor
|
||||
public class RoleManageController {
|
||||
|
||||
private final RoleManageService roleManageService;
|
||||
@Operation(summary = "新增角色")
|
||||
@PostMapping("/save")
|
||||
public String saveRole(@RequestBody RoleReqVo roleReqVo) {
|
||||
|
||||
return roleManageService.saveRole(roleReqVo);
|
||||
}
|
||||
|
||||
@Operation(summary = "修改角色")
|
||||
@PostMapping("/update")
|
||||
public void updateRole(@RequestBody RoleReqVo roleReqVo) {
|
||||
roleManageService.updateRole(roleReqVo);
|
||||
}
|
||||
|
||||
@Operation(summary = "删除角色")
|
||||
@DeleteMapping("/delete")
|
||||
public Boolean deleteRole(@Parameter(name = "id") @RequestParam(name="id") String id) {
|
||||
return roleManageService.deleteRole(id);
|
||||
}
|
||||
@Operation(summary = "查看角色列表")
|
||||
@GetMapping("/list")
|
||||
public IPage<SystemRole> list(@Parameter(name = "roleName",description = "角色名称") @RequestParam(required = false) String roleName,
|
||||
@Parameter(name = "pageNum",description = "页码") @RequestParam(defaultValue = "1") Integer pageNum,
|
||||
@Parameter(name = "pageSize",description = "每页大小") @RequestParam(defaultValue = "10") Integer pageSize) {
|
||||
return roleManageService.list(roleName, pageNum, pageSize);
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package com.supervision.knowsub.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.supervision.knowsub.model.SystemRole;
|
||||
import com.supervision.knowsub.vo.role.RoleReqVo;
|
||||
|
||||
public interface RoleManageService {
|
||||
|
||||
String saveRole(RoleReqVo roleReqVo);
|
||||
|
||||
void updateRole(RoleReqVo roleReqVo);
|
||||
|
||||
Boolean deleteRole(String id);
|
||||
|
||||
IPage<SystemRole> list(String roleName, Integer pageNum, Integer pageSize);
|
||||
}
|
@ -0,0 +1,70 @@
|
||||
package com.supervision.knowsub.service.impl;
|
||||
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.supervision.knowsub.model.SystemRole;
|
||||
import com.supervision.knowsub.service.RoleManageService;
|
||||
import com.supervision.knowsub.service.SystemRoleService;
|
||||
import com.supervision.knowsub.vo.role.RoleReqVo;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class RoleManageServiceImpl implements RoleManageService {
|
||||
|
||||
private final SystemRoleService systemRoleService;
|
||||
@Override
|
||||
public String saveRole(RoleReqVo roleReqVo) {
|
||||
|
||||
Assert.notEmpty(roleReqVo.getRoleName(), "角色名称不能为空");
|
||||
Long count = systemRoleService.lambdaQuery().eq(SystemRole::getRoleName, roleReqVo.getRoleName()).count();
|
||||
Assert.isTrue(count == 0, "角色名称已存在");
|
||||
|
||||
// 保存角色
|
||||
SystemRole systemRole = new SystemRole();
|
||||
systemRole.setRoleName(roleReqVo.getRoleName());
|
||||
systemRole.setRemark(roleReqVo.getMark());
|
||||
systemRole.setManage(roleReqVo.getManage());
|
||||
systemRoleService.save(systemRole);
|
||||
|
||||
return systemRole.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateRole(RoleReqVo roleReqVo) {
|
||||
Assert.notEmpty(roleReqVo.getId(), "角色id不能为空");
|
||||
Assert.notEmpty(roleReqVo.getRoleName(), "角色名称不能为空");
|
||||
|
||||
SystemRole dbSystemRole = systemRoleService.getById(roleReqVo.getId());
|
||||
Assert.notNull(dbSystemRole, "角色不存在");
|
||||
if (!StrUtil.equals(dbSystemRole.getRoleName(), roleReqVo.getRoleName())){
|
||||
Long count = systemRoleService.lambdaQuery().eq(SystemRole::getRoleName, roleReqVo.getRoleName()).count();
|
||||
Assert.isTrue(count == 0, "角色名称已存在");
|
||||
}
|
||||
|
||||
dbSystemRole.setRoleName(roleReqVo.getRoleName());
|
||||
dbSystemRole.setRemark(roleReqVo.getMark());
|
||||
dbSystemRole.setManage(roleReqVo.getManage());
|
||||
|
||||
systemRoleService.updateById(dbSystemRole);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deleteRole(String id) {
|
||||
|
||||
Assert.notEmpty(id, "角色id不能为空");
|
||||
|
||||
return systemRoleService.removeById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<SystemRole> list(String roleName, Integer pageNum, Integer pageSize) {
|
||||
|
||||
return systemRoleService.lambdaQuery().like(StrUtil.isNotEmpty(roleName), SystemRole::getRoleName, roleName)
|
||||
.orderBy(true,false ,SystemRole::getCreateTime).page(new Page<>(pageNum, pageSize));
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package com.supervision.knowsub.vo.role;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class RoleReqVo {
|
||||
|
||||
@Schema(description = "角色id")
|
||||
private String id;
|
||||
|
||||
@Schema(description = "角色名称")
|
||||
private String roleName;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String mark;
|
||||
|
||||
@Schema(description = "是否是管理员 0否 1是")
|
||||
private Integer manage;
|
||||
}
|
Loading…
Reference in New Issue