diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/PinnacleApplication.java b/Pinnacle/src/main/java/com/cfive/pinnacle/PinnacleApplication.java
index ffd6807..9651843 100644
--- a/Pinnacle/src/main/java/com/cfive/pinnacle/PinnacleApplication.java
+++ b/Pinnacle/src/main/java/com/cfive/pinnacle/PinnacleApplication.java
@@ -2,8 +2,10 @@ package com.cfive.pinnacle;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
@SpringBootApplication
+@EnableTransactionManagement
public class PinnacleApplication {
public static void main(String[] args) {
diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/RoleController.java b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/RoleController.java
index dcfdb1f..b701c83 100644
--- a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/RoleController.java
+++ b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/RoleController.java
@@ -1,7 +1,14 @@
package com.cfive.pinnacle.controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.cfive.pinnacle.entity.Role;
+import com.cfive.pinnacle.entity.common.ResponseCode;
+import com.cfive.pinnacle.entity.common.ResponseResult;
+import com.cfive.pinnacle.service.IRoleService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
/**
*
@@ -15,4 +22,45 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/role")
public class RoleController {
+ private IRoleService roleService;
+
+ @Autowired
+ public void setRoleService(IRoleService roleService) {
+ this.roleService = roleService;
+ }
+
+ @GetMapping
+ public ResponseResult getAllRole() {
+ List roles = roleService.getAllRole();
+ return ResponseResult.build(ResponseCode.DATABASE_SELECT_OK, "success", roles);
+ }
+
+ @PostMapping
+ public ResponseResult addRole(@RequestBody Role role) {
+ if (roleService.addRole(role)) {
+ return ResponseResult.build(ResponseCode.DATABASE_SAVE_OK, "success", null);
+ } else {
+ return ResponseResult.build(ResponseCode.DATABASE_DELETE_ERROR, "error", null);
+ }
+ }
+
+ @DeleteMapping("/{id}")
+ public ResponseResult deleteRole(@PathVariable Long id) {
+ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(Role::getId, id);
+ if (roleService.remove(wrapper)) {
+ return ResponseResult.build(ResponseCode.DATABASE_DELETE_OK, "success", null);
+ } else {
+ return ResponseResult.build(ResponseCode.DATABASE_DELETE_ERROR, "error", null);
+ }
+ }
+
+ @PutMapping()
+ public ResponseResult modifyRole(@RequestBody Role role) {
+ if (roleService.modifyRole(role)) {
+ return ResponseResult.build(ResponseCode.DATABASE_SAVE_OK, "success", null);
+ } else {
+ return ResponseResult.build(ResponseCode.DATABASE_DELETE_ERROR, "error", null);
+ }
+ }
}
diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Department.java b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Department.java
index c703931..11533f3 100644
--- a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Department.java
+++ b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Department.java
@@ -10,6 +10,8 @@ import java.io.Serial;
import java.io.Serializable;
import java.util.List;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;
@@ -30,6 +32,7 @@ public class Department implements Serializable {
private static final long serialVersionUID = 1L;
@TableId("id")
+ @JsonSerialize(using = ToStringSerializer.class)
private Long id;
/**
diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Group.java b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Group.java
index bea5303..1c64298 100644
--- a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Group.java
+++ b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Group.java
@@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.annotation.Version;
import java.io.Serial;
import java.io.Serializable;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;
@@ -29,6 +31,7 @@ public class Group implements Serializable {
private static final long serialVersionUID = 1L;
@TableId("id")
+ @JsonSerialize(using = ToStringSerializer.class)
private Long id;
/**
diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Role.java b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Role.java
index fb0ae46..d1016bc 100644
--- a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Role.java
+++ b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Role.java
@@ -8,7 +8,14 @@ import com.baomidou.mybatisplus.annotation.Version;
import java.io.Serial;
import java.io.Serializable;
+import java.util.List;
+import com.cfive.pinnacle.entity.permission.Element;
+import com.cfive.pinnacle.entity.permission.Menu;
+import com.cfive.pinnacle.entity.permission.Operation;
+import com.cfive.pinnacle.entity.permission.Power;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;
@@ -29,6 +36,7 @@ public class Role implements Serializable {
private static final long serialVersionUID = 1L;
@TableId("id")
+ @JsonSerialize(using = ToStringSerializer.class)
private Long id;
/**
@@ -37,6 +45,18 @@ public class Role implements Serializable {
@TableField("name")
private String name;
+ @TableField(exist = false)
+ private List