Browse Source

添加角色接口

master
白凤吉 6 months ago
parent
commit
5d33bfe68f
  1. 2
      src/main/java/com/qyft/gd/system/common/result/ResultCode.java
  2. 75
      src/main/java/com/qyft/gd/system/controller/RoleController.java
  3. 2
      src/main/java/com/qyft/gd/system/mapper/RoleMapper.java
  4. 4
      src/main/java/com/qyft/gd/system/model/entity/Role.java
  5. 4
      src/main/java/com/qyft/gd/system/model/entity/User.java
  6. 8
      src/main/java/com/qyft/gd/system/service/RoleService.java
  7. 2
      src/main/java/com/qyft/gd/system/service/UserService.java
  8. 21
      src/main/java/com/qyft/gd/system/service/impl/RoleServiceImpl.java
  9. 3
      src/main/resources/mapper/system/RoleMapper.xml

2
src/main/java/com/qyft/gd/system/common/result/ResultCode.java

@ -103,6 +103,8 @@ public enum ResultCode implements IResultCode, Serializable {
USER_OPERATION_EXCEPTION("A0440", "用户操作异常"),
DATA_ALREADY_EXISTS("C0450", "数据已存在"),
/** 二级宏观错误码 */
USER_REQUEST_SERVICE_EXCEPTION("A0500", "用户请求服务异常"),
REQUEST_LIMIT_EXCEEDED("A0501", "请求次数超出限制"),

75
src/main/java/com/qyft/gd/system/controller/RoleController.java

@ -0,0 +1,75 @@
package com.qyft.gd.system.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qyft.gd.system.common.base.BasePageQuery;
import com.qyft.gd.system.common.result.PageResult;
import com.qyft.gd.system.common.result.Result;
import com.qyft.gd.system.common.result.ResultCode;
import com.qyft.gd.system.model.entity.Role;
import com.qyft.gd.system.service.RoleService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
@Tag(name = "角色接口")
@RestController
@RequestMapping("/api/role")
@RequiredArgsConstructor
@Slf4j
public class RoleController {
private final RoleService roleService;
@Operation(summary = "角色列表")
@GetMapping("/list")
public PageResult<Role> getAllRole(BasePageQuery pageQuery) {
IPage<Role> result = roleService.page(new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize()), null);
return PageResult.success(result);
}
@Operation(summary = "添加新角色")
@PostMapping("/")
public Result<String> addRole(@RequestBody Role role) {
Role existingRole = roleService.findByCode(role.getCode());
if(existingRole == null) {
boolean isSuccess = roleService.addRole(role);
if (isSuccess) {
return Result.success();
}
}else{
return Result.failed(ResultCode.DATA_ALREADY_EXISTS);
}
return Result.failed();
}
@Operation(summary = "更新角色")
@PutMapping("/{id}")
public Result<String> updateRole(@PathVariable Long id, @RequestBody Role role) {
role.setId(id);
Role existingRole = roleService.findByCode(role.getCode());
if(existingRole == null) {
boolean isSuccess = roleService.updateRole(role);
if (isSuccess) {
return Result.success();
}
}else{
return Result.failed(ResultCode.DATA_ALREADY_EXISTS);
}
return Result.failed();
}
@Operation(summary = "删除角色")
@DeleteMapping("/{id}")
public Result<String> deleteRole(@PathVariable Long id) {
boolean isSuccess = roleService.deleteRole(id);
if (isSuccess) {
return Result.success();
}
return Result.failed();
}
}

2
src/main/java/com/qyft/gd/system/mapper/RoleMapper.java

@ -7,4 +7,6 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface RoleMapper extends BaseMapper<Role> {
Role findByCode(String code);
}

4
src/main/java/com/qyft/gd/system/model/entity/Role.java

@ -3,6 +3,7 @@ package com.qyft.gd.system.model.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.qyft.gd.system.common.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Getter;
import lombok.Setter;
@ -14,10 +15,11 @@ import lombok.Setter;
@Getter
@Setter
public class Role extends BaseEntity {
@NotBlank()
@Schema(description = "角色名称")
private String name;
@NotBlank()
@Schema(description = "角色编码")
private String code;

4
src/main/java/com/qyft/gd/system/model/entity/User.java

@ -3,6 +3,7 @@ package com.qyft.gd.system.model.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.qyft.gd.system.common.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Getter;
import lombok.Setter;
@ -15,12 +16,15 @@ import lombok.Setter;
@Setter
public class User extends BaseEntity {
@NotBlank()
@Schema(description = "用户名")
private String username;
@NotBlank()
@Schema(description = "昵称")
private String nickname;
@NotBlank()
@Schema(description = "密码")
private String password;

8
src/main/java/com/qyft/gd/system/service/RoleService.java

@ -3,11 +3,19 @@ package com.qyft.gd.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qyft.gd.system.model.entity.Role;
import com.qyft.gd.system.model.entity.User;
/**
* 角色业务接口层
*/
public interface RoleService extends IService<Role> {
Role findByCode(String code);
boolean addRole(Role role);
boolean updateRole(Role role);
boolean deleteRole(Long roleId);
}

2
src/main/java/com/qyft/gd/system/service/UserService.java

@ -3,8 +3,6 @@ package com.qyft.gd.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qyft.gd.system.model.entity.User;
import java.util.List;
/**
* 用户业务接口
*/

21
src/main/java/com/qyft/gd/system/service/impl/RoleServiceImpl.java

@ -3,6 +3,7 @@ package com.qyft.gd.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qyft.gd.system.mapper.RoleMapper;
import com.qyft.gd.system.model.entity.Role;
import com.qyft.gd.system.model.entity.User;
import com.qyft.gd.system.service.RoleService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@ -14,5 +15,25 @@ import org.springframework.stereotype.Service;
@RequiredArgsConstructor
public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements RoleService {
@Override
public Role findByCode(String code) {
return this.baseMapper.findByCode(code);
}
@Override
public boolean addRole(Role role) {
return this.baseMapper.insert(role) > 0;
}
@Override
public boolean updateRole(Role role) {
return this.baseMapper.updateById(role) > 0;
}
@Override
public boolean deleteRole(Long roleId) {
return this.baseMapper.deleteById(roleId) > 0;
}
}

3
src/main/resources/mapper/system/RoleMapper.xml

@ -5,4 +5,7 @@
<mapper namespace="com.qyft.gd.system.mapper.RoleMapper">
<select id="findByCode" resultType="com.qyft.gd.system.model.entity.Role">
SELECT * FROM sys_role WHERE code = #{code}
</select>
</mapper>
Loading…
Cancel
Save