diff --git a/core/core-frontend/config/dev.ts b/core/core-frontend/config/dev.ts index ca7bea35d7..4e0c968023 100644 --- a/core/core-frontend/config/dev.ts +++ b/core/core-frontend/config/dev.ts @@ -13,6 +13,6 @@ export default { rewrite: path => path.replace(/^\/api/, 'de2api') } }, - port: 8080 + port: 7070 } } diff --git a/core/core-frontend/src/api/auth.ts b/core/core-frontend/src/api/auth.ts index 2ae39019f7..f1a54df4bd 100644 --- a/core/core-frontend/src/api/auth.ts +++ b/core/core-frontend/src/api/auth.ts @@ -14,17 +14,12 @@ export const resourceTreeApi = (flag: string, isSystem?: boolean) => { export const menuTreeApi = () => request.get({ url: '/auth/menuResource' }) -export const resourcePerApi = data => request.post({ url: '/auth/busiPermission', data }) +export const subjectPermissionApi = data => request.post({ url: '/auth/subjectPermission', data }) -export const menuPerApi = data => request.post({ url: '/auth/menuPermission', data }) +export const subjectPermissionSaveApi = data => + request.post({ url: '/auth/saveSubjectPermission', data }) -export const busiPerSaveApi = data => request.post({ url: '/auth/saveBusiPer', data }) -export const menuPerSaveApi = data => request.post({ url: '/auth/saveMenuPer', data }) +export const resourcePermissionApi = data => request.post({ url: '/auth/resourcePermission', data }) -export const resourceTargetPerApi = data => - request.post({ url: '/auth/busiTargetPermission', data }) - -export const menuTargetPerApi = data => request.post({ url: '/auth/menuTargetPermission', data }) - -export const busiTargetPerSaveApi = data => request.post({ url: '/auth/saveBusiTargetPer', data }) -export const menuTargetPerSaveApi = data => request.post({ url: '/auth/saveMenuTargetPer', data }) +export const resourcePermissionSaveApi = data => + request.post({ url: '/auth/saveResourcePermission', data }) diff --git a/pom.xml b/pom.xml index f55642d548..f1ee593bbf 100644 --- a/pom.xml +++ b/pom.xml @@ -10,6 +10,8 @@ sdk + de-xpack + core org.springframework.boot @@ -195,6 +197,26 @@ + + org.codehaus.mojo + build-helper-maven-plugin + 3.4.0 + + + remove-core-module + initialize + + remove-project-artifact + + + + de-xpack + core + + + + + diff --git a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/api/AuthApi.java b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/api/AuthApi.java index 457e6c6226..dd03a4f45d 100644 --- a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/api/AuthApi.java +++ b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/api/AuthApi.java @@ -1,21 +1,24 @@ package io.dataease.api.permissions.auth.api; +import java.util.List; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport; -import io.dataease.api.permissions.auth.dto.*; + +import io.dataease.api.permissions.auth.dto.SubjectPermissionEditor; +import io.dataease.api.permissions.auth.dto.BasePermissionRequest; +import io.dataease.api.permissions.auth.dto.BusiResourceRequest; +import io.dataease.api.permissions.auth.dto.ResourcePermissionEditor; import io.dataease.api.permissions.auth.vo.PermissionVO; import io.dataease.api.permissions.auth.vo.ResourceItemVO; import io.dataease.api.permissions.auth.vo.ResourceVO; import io.swagger.v3.oas.annotations.Hidden; import io.swagger.v3.oas.annotations.Operation; - import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; - -import java.util.List; @Tag(name = "权限管理") @ApiSupport(order = 885, author = "fit2cloud-someone") @@ -26,54 +29,66 @@ public interface AuthApi { @PostMapping("/busiResource") List busiResource(@RequestBody BusiResourceRequest request); - @Operation(summary = "查询对象已授权资源") - @ApiOperationSupport(order = 3) - @PostMapping("/busiPermission") - PermissionVO busiPermission(@RequestBody BusiPermissionRequest request); - - @Operation(summary = "查询资源已授权对象") - @ApiOperationSupport(order = 5) - @PostMapping("/busiTargetPermission") - PermissionVO busiTargetPermission(@RequestBody BusiPermissionRequest request); - @Operation(summary = "查询菜单树") @ApiOperationSupport(order = 2) @GetMapping("/menuResource") List menuResource(); - @Operation(summary = "查询对象已授权菜单") - @ApiOperationSupport(order = 4) - @PostMapping("/menuPermission") - PermissionVO menuPermission(@RequestBody MenuPermissionRequest request); + @Operation(summary = "查询对象已授权资源") + @ApiOperationSupport(order = 3) + @PostMapping("/subjectPermission") + PermissionVO subjectPermission(@RequestBody BasePermissionRequest request); - @Operation(summary = "查询菜单已授权对象") - @ApiOperationSupport(order = 6) - @PostMapping("/menuTargetPermission") - PermissionVO menuTargetPermission(@RequestBody MenuPermissionRequest request); + @Operation(summary = "查询资源已授权对象") + @ApiOperationSupport(order = 5) + @PostMapping("/resourcePermission") + PermissionVO resourcePermission(@RequestBody BasePermissionRequest request); + + /* + * @Operation(summary = "查询对象已授权菜单") + * + * @ApiOperationSupport(order = 4) + * + * @PostMapping("/menuPermission") + * PermissionVO menuPermission(@RequestBody MenuPermissionRequest request); + * + * @Operation(summary = "查询菜单已授权对象") + * + * @ApiOperationSupport(order = 6) + * + * @PostMapping("/menuTargetPermission") + * PermissionVO menuTargetPermission(@RequestBody MenuPermissionRequest + * request); + */ @Operation(summary = "保存资源权限") @ApiOperationSupport(order = 7) - @PostMapping("/saveBusiPer") - void saveBusiPer(@RequestBody BusiPerEditor editor); + @PostMapping("/saveSubjectPermission") + void saveSubjectPermission(@RequestBody SubjectPermissionEditor editor); @Operation(summary = "资源维度保存权限") @ApiOperationSupport(order = 9) - @PostMapping("/saveBusiTargetPer") - void saveBusiTargetPer(@RequestBody BusiTargetPerCreator creator); - - @Operation(summary = "保存菜单权限") - @ApiOperationSupport(order = 8) - @PostMapping("/saveMenuPer") - void saveMenuPer(@RequestBody MenuPerEditor editor); - - @Operation(summary = "菜单维度保存权限") - @ApiOperationSupport(order = 10) - @PostMapping("/saveMenuTargetPer") - void saveMenuTargetPer(@RequestBody MenuTargetPerCreator creator); + @PostMapping("/saveResourcePermission") + void saveResourcePermission(@RequestBody ResourcePermissionEditor creator); + /* + * @Operation(summary = "保存菜单权限") + * + * @ApiOperationSupport(order = 8) + * + * @PostMapping("/saveMenuPer") + * void saveMenuPer(@RequestBody MenuPerEditor editor); + * + * @Operation(summary = "菜单维度保存权限") + * + * @ApiOperationSupport(order = 10) + * + * @PostMapping("/saveMenuTargetPer") + * void saveMenuTargetPer(@RequestBody MenuTargetPerCreator creator); + */ @Hidden @PostMapping("/busiTargetPermissionAll") - List busiTargetPermissionAll(@RequestBody BusiPermissionRequest request); + List busiTargetPermissionAll(@RequestBody BasePermissionRequest request); } diff --git a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/dto/BusiPermissionRequest.java b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/dto/BasePermissionRequest.java similarity index 91% rename from sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/dto/BusiPermissionRequest.java rename to sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/dto/BasePermissionRequest.java index ceddd8f85b..c54d2b0615 100644 --- a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/dto/BusiPermissionRequest.java +++ b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/dto/BasePermissionRequest.java @@ -8,7 +8,7 @@ import java.io.Serializable; @Schema(description = "权限查询条件") @Data -public class BusiPermissionRequest implements Serializable { +public class BasePermissionRequest implements Serializable { @Serial private static final long serialVersionUID = -2424587989223319563L; diff --git a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/dto/BusiTargetPerCreator.java b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/dto/BusiTargetPerCreator.java deleted file mode 100644 index ffe61ec87f..0000000000 --- a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/dto/BusiTargetPerCreator.java +++ /dev/null @@ -1,15 +0,0 @@ -package io.dataease.api.permissions.auth.dto; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -@EqualsAndHashCode(callSuper = true) -@Schema(description = "资源权限构造器") -@Data -public class BusiTargetPerCreator extends MenuTargetPerCreator{ - @Schema(description = "类型") - private Integer type; - @Schema(description = "标记") - private String flag; -} diff --git a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/dto/ResourceItemDTO.java b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/dto/ResourceItemDTO.java new file mode 100644 index 0000000000..bef8419011 --- /dev/null +++ b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/dto/ResourceItemDTO.java @@ -0,0 +1,19 @@ +package io.dataease.api.permissions.auth.dto; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class ResourceItemDTO implements Serializable { + + @JsonSerialize(using= ToStringSerializer.class) + @Schema(description = "资源ID") + private Long id; + @JsonSerialize(using= ToStringSerializer.class) + @Schema(description = "组织ID") + private Long oid; +} diff --git a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/dto/ResourcePermissionEditor.java b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/dto/ResourcePermissionEditor.java new file mode 100644 index 0000000000..fc9de1ebd3 --- /dev/null +++ b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/dto/ResourcePermissionEditor.java @@ -0,0 +1,21 @@ +package io.dataease.api.permissions.auth.dto; + +import io.dataease.api.permissions.auth.vo.BasePermissionItem; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +@Schema(description = "资源权限构造器") +@Data +public class ResourcePermissionEditor { + + @Schema(description = "资源集合") + private List resourceList; + @Schema(description = "主体类型") + private Integer type; + @Schema(description = "资源类型标记") + private String flag; + @Schema(description = "权限集合") + private List permissions; +} diff --git a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/dto/BusiPerEditor.java b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/dto/SubjectPermissionEditor.java similarity index 82% rename from sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/dto/BusiPerEditor.java rename to sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/dto/SubjectPermissionEditor.java index b2fba32d5c..09ffd8d463 100644 --- a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/dto/BusiPerEditor.java +++ b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/dto/SubjectPermissionEditor.java @@ -1,17 +1,19 @@ package io.dataease.api.permissions.auth.dto; +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + import io.dataease.api.permissions.auth.vo.PermissionItem; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; -import java.io.Serial; -import java.io.Serializable; -import java.util.List; +@SuppressWarnings("unused") @EqualsAndHashCode(callSuper = true) @Schema(description = "业务权限编辑器") @Data -public class BusiPerEditor extends BusiPermissionRequest implements Serializable { +public class SubjectPermissionEditor extends BasePermissionRequest implements Serializable { @Serial private static final long serialVersionUID = 3067994331757489447L; @Schema(description = "编辑权限节点集合") diff --git a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/vo/BasePermissionItem.java b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/vo/BasePermissionItem.java new file mode 100644 index 0000000000..1f47c71eba --- /dev/null +++ b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/vo/BasePermissionItem.java @@ -0,0 +1,24 @@ +package io.dataease.api.permissions.auth.vo; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +@Data +public class BasePermissionItem implements Serializable { + + @Serial + private static final long serialVersionUID = -6537851979745319692L; + @JsonSerialize(using = ToStringSerializer.class) + @Schema(description = "ID") + private Long id; + @Schema(description = "权重") + private int weight; + @Schema(description = "独立权重") + private int ext; + +} diff --git a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/vo/PermissionItem.java b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/vo/PermissionItem.java index c057f051c3..8b69e445b1 100644 --- a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/vo/PermissionItem.java +++ b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/vo/PermissionItem.java @@ -3,28 +3,19 @@ package io.dataease.api.permissions.auth.vo; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; +import lombok.*; -import java.io.Serial; import java.io.Serializable; +@EqualsAndHashCode(callSuper = true) @Schema(description = "权限项") @Data @AllArgsConstructor @NoArgsConstructor @Builder -public class PermissionItem implements Serializable { +public class PermissionItem extends BasePermissionItem implements Serializable { - @Serial - private static final long serialVersionUID = -6537851979745319692L; - @JsonSerialize(using= ToStringSerializer.class) - @Schema(description = "ID") - private Long id; - @Schema(description = "权重") - private int weight; - @Schema(description = "独立权重") - private int ext; + @JsonSerialize(using = ToStringSerializer.class) + @Schema(description = "组织ID") + private Long oid; } diff --git a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/vo/ResourceVO.java b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/vo/ResourceVO.java index b2dc92f72a..ba67346aa3 100644 --- a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/vo/ResourceVO.java +++ b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/auth/vo/ResourceVO.java @@ -1,15 +1,16 @@ package io.dataease.api.permissions.auth.vo; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import io.dataease.model.TreeResultModel; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - 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 io.dataease.model.TreeResultModel; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + @Data @Schema(description = "资源结点") public class ResourceVO implements TreeResultModel, Serializable { @@ -27,4 +28,7 @@ public class ResourceVO implements TreeResultModel, Serializable { private boolean leaf = false; @Schema(description = "额外标识") private Integer extraFlag = 0; + @JsonSerialize(using = ToStringSerializer.class) + @Schema(description = "组织ID") + private Long oid; } diff --git a/sdk/common/src/main/java/io/dataease/constant/BusiResourceEnum.java b/sdk/common/src/main/java/io/dataease/constant/BusiResourceEnum.java index 795e51aaa3..459ce5f010 100644 --- a/sdk/common/src/main/java/io/dataease/constant/BusiResourceEnum.java +++ b/sdk/common/src/main/java/io/dataease/constant/BusiResourceEnum.java @@ -1,18 +1,13 @@ package io.dataease.constant; +import lombok.Getter; + +@Getter public enum BusiResourceEnum { - PANEL(1), SCREEN(2), DATASET(3), DATASOURCE(4), DATA_FILLING(8), SPREADSHEET(10); + MENU(0), PANEL(1), SCREEN(2), DATASET(3), DATASOURCE(4), DATA_FILLING(8), SPREADSHEET(10); - private int flag; - - public int getFlag() { - return flag; - } - - public void setFlag(int flag) { - this.flag = flag; - } + private final int flag; BusiResourceEnum(int flag) { this.flag = flag; diff --git a/sdk/common/src/main/java/io/dataease/dao/auto/entity/PerBusiResource.java b/sdk/common/src/main/java/io/dataease/dao/auto/entity/PerBusiResource.java index 4a075b09c2..a6bcb842cc 100644 --- a/sdk/common/src/main/java/io/dataease/dao/auto/entity/PerBusiResource.java +++ b/sdk/common/src/main/java/io/dataease/dao/auto/entity/PerBusiResource.java @@ -63,6 +63,12 @@ public class PerBusiResource { @Column(name = "extra_flag1", nullable = false) private Integer extraFlag1; + @NotNull + @Comment("是否组织根目录(随组织生命周期)") + @ColumnDefault("false") + @Column(name = "org_root", nullable = false) + private Boolean orgRoot = false; + @NotNull @Comment("创建时间") @ColumnDefault("0") diff --git a/sdk/common/src/main/java/io/dataease/model/BusiNodeVO.java b/sdk/common/src/main/java/io/dataease/model/BusiNodeVO.java index 5349bda821..c3a9ffa723 100644 --- a/sdk/common/src/main/java/io/dataease/model/BusiNodeVO.java +++ b/sdk/common/src/main/java/io/dataease/model/BusiNodeVO.java @@ -1,19 +1,19 @@ package io.dataease.model; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - 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 io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + @Schema(description = "业务资源结点") @Data public class BusiNodeVO implements TreeResultModel, Serializable { - @Serial private static final long serialVersionUID = 8191619596741217494L; @@ -36,4 +36,6 @@ public class BusiNodeVO implements TreeResultModel, Serializable { private List children; @Schema(description = "独立权重") private Integer ext; + @Schema(description = "组织根节点") + private boolean orgRoot; }