添加角色管理功能接口
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