This commit is contained in:
2025-06-28 14:41:13 +08:00
parent 66334b8963
commit f40837cd05
7 changed files with 19 additions and 12 deletions

View File

@@ -20,6 +20,8 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.Arrays;
import static com.ycwl.basic.constant.JwtRoleConstant.MERCHANT;
@RestController
@RequestMapping("/api/permission/v1")
@Api(tags = "权限管理接口")
@@ -32,9 +34,9 @@ public class PermissionController {
String userId = BaseContextHandler.getUserId();
PermissionEntity permission = permissionService.getPermissionByUserId(Long.parseLong(userId));
if (permission == null || StringUtils.isEmpty(permission.getPermString())) {
return ApiResponse.success(new PermissionResp(new ArrayList<>()));
return ApiResponse.success(new PermissionResp(new ArrayList<>(), new ArrayList<>()));
}
return ApiResponse.success(new PermissionResp(Arrays.asList(StringUtils.split(permission.getPermString(), ","))));
return ApiResponse.success(new PermissionResp(Arrays.asList(StringUtils.split(permission.getPermString(), ",")), Arrays.asList(StringUtils.split(permission.getMenuString(), ","))));
}
@ApiOperation("根据用户ID查询权限信息")
@@ -42,15 +44,15 @@ public class PermissionController {
public ApiResponse<PermissionResp> getPermissionByUser(@PathVariable Long userId) {
PermissionEntity permission = permissionService.getPermissionByUserId(userId);
if (permission == null || StringUtils.isEmpty(permission.getPermString())) {
return ApiResponse.success(new PermissionResp(new ArrayList<>()));
return ApiResponse.success(new PermissionResp(new ArrayList<>(), new ArrayList<>()));
}
return ApiResponse.success(new PermissionResp(Arrays.asList(StringUtils.split(permission.getPermString(), ","))));
return ApiResponse.success(new PermissionResp(Arrays.asList(StringUtils.split(permission.getPermString(), ",")), Arrays.asList(StringUtils.split(permission.getMenuString(), ","))));
}
@ApiOperation("保存或更新权限信息")
@PostMapping("/save/{userId}")
public ApiResponse saveOrUpdate(@PathVariable Long userId, @RequestBody PermissionSaveReq req) {
permissionService.saveOrUpdate(userId, StringUtils.join(req.getPermissions(), ","));
permissionService.saveOrUpdate(userId, StringUtils.join(req.getPermissions(), ","), StringUtils.join(req.getMenus(), ","));
return ApiResponse.success(true);
}
}

View File

@@ -20,10 +20,12 @@ public class PermissionEntity implements Serializable {
private Integer id;
@TableField("user_id")
private Long userId; // 确保字段映射
private Long userId;
@TableField("perm_str")
private String permString;
@TableField("menu_str")
private String menuString;
@TableField("create_time")
private Date createTime;

View File

@@ -7,4 +7,5 @@ import java.util.List;
@Data
public class PermissionSaveReq {
private List<String> permissions;
private List<String> menus;
}

View File

@@ -9,4 +9,5 @@ import java.util.List;
@AllArgsConstructor
public class PermissionResp {
private List<String> permissions;
private List<String> menus;
}

View File

@@ -6,5 +6,5 @@ public interface PermissionService {
// 新增权限查询接口
PermissionEntity getPermissionByUserId(Long userId);
boolean saveOrUpdate(Long userId, String permStr);
boolean saveOrUpdate(Long userId, String permStr, String menuStr);
}

View File

@@ -17,10 +17,11 @@ public class PermissionServiceImpl implements PermissionService {
}
@Override
public boolean saveOrUpdate(Long userId, String permStr) {
public boolean saveOrUpdate(Long userId, String permStr, String menuStr) {
PermissionEntity entity = new PermissionEntity();
entity.setUserId(userId);
entity.setPermString(permStr);
entity.setMenuString(menuStr);
if (permissionMapper.selectByUserId(userId) == null) {
permissionMapper.insertPermission(entity);
} else {