添加角色管理功能接口

release_1.0.0
xueqingkun 8 months ago
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…
Cancel
Save