✨ 路径标签.
This commit is contained in:
@@ -3,7 +3,7 @@ package com.orion.ops.module.asset.controller;
|
||||
import com.orion.ops.framework.web.core.annotation.RestWrapper;
|
||||
import com.orion.ops.module.asset.entity.request.path.PathBookmarkCreateRequest;
|
||||
import com.orion.ops.module.asset.entity.request.path.PathBookmarkUpdateRequest;
|
||||
import com.orion.ops.module.asset.entity.vo.PathBookmarkVO;
|
||||
import com.orion.ops.module.asset.entity.vo.PathBookmarkWrapperVO;
|
||||
import com.orion.ops.module.asset.service.PathBookmarkService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
@@ -13,7 +13,6 @@ import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 路径标签 api
|
||||
@@ -48,8 +47,8 @@ public class PathBookmarkController {
|
||||
|
||||
@GetMapping("/list")
|
||||
@Operation(summary = "查询全部路径标签")
|
||||
public List<PathBookmarkVO> getPathBookmarkList() {
|
||||
return pathBookmarkService.getPathBookmarkList();
|
||||
public PathBookmarkWrapperVO getPathBookmarkList() {
|
||||
return pathBookmarkService.getPathBookmark();
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
### 创建路径标签分组
|
||||
POST {{baseUrl}}/asset/path-bookmark-group/create
|
||||
Content-Type: application/json
|
||||
Authorization: {{token}}
|
||||
|
||||
{
|
||||
"name": ""
|
||||
}
|
||||
|
||||
|
||||
### 更新路径标签分组
|
||||
PUT {{baseUrl}}/asset/path-bookmark-group/update
|
||||
Content-Type: application/json
|
||||
Authorization: {{token}}
|
||||
|
||||
{
|
||||
"id": "",
|
||||
"name": ""
|
||||
}
|
||||
|
||||
|
||||
### 查询全部路径标签分组
|
||||
GET {{baseUrl}}/asset/path-bookmark-group/list
|
||||
Authorization: {{token}}
|
||||
|
||||
|
||||
### 删除路径标签分组
|
||||
DELETE {{baseUrl}}/asset/path-bookmark-group/delete?id=1
|
||||
Authorization: {{token}}
|
||||
|
||||
|
||||
###
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.orion.ops.module.asset.controller;
|
||||
|
||||
import com.orion.ops.framework.common.validator.group.Id;
|
||||
import com.orion.ops.framework.log.core.annotation.IgnoreLog;
|
||||
import com.orion.ops.framework.log.core.enums.IgnoreLogMode;
|
||||
import com.orion.ops.framework.web.core.annotation.RestWrapper;
|
||||
import com.orion.ops.module.asset.entity.request.path.PathBookmarkGroupCreateRequest;
|
||||
import com.orion.ops.module.asset.entity.request.path.PathBookmarkGroupDeleteRequest;
|
||||
import com.orion.ops.module.asset.entity.request.path.PathBookmarkGroupUpdateRequest;
|
||||
import com.orion.ops.module.asset.entity.vo.PathBookmarkGroupVO;
|
||||
import com.orion.ops.module.asset.service.PathBookmarkGroupService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 路径标签分组 api
|
||||
*
|
||||
* @author Jiahang Li
|
||||
* @version 1.0.0
|
||||
* @since 2024-1-24 12:28
|
||||
*/
|
||||
@Tag(name = "asset - 路径标签分组服务")
|
||||
@Slf4j
|
||||
@Validated
|
||||
@RestWrapper
|
||||
@RestController
|
||||
@RequestMapping("/asset/path-bookmark-group")
|
||||
@SuppressWarnings({"ELValidationInJSP", "SpringElInspection"})
|
||||
public class PathBookmarkGroupController {
|
||||
|
||||
@Resource
|
||||
private PathBookmarkGroupService pathBookmarkGroupService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建路径标签分组")
|
||||
public Long createPathBookmarkGroup(@Validated @RequestBody PathBookmarkGroupCreateRequest request) {
|
||||
return pathBookmarkGroupService.createPathBookmarkGroup(request);
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新路径标签分组")
|
||||
public Integer updatePathBookmarkGroup(@Validated @RequestBody PathBookmarkGroupUpdateRequest request) {
|
||||
return pathBookmarkGroupService.updatePathBookmarkGroupById(request);
|
||||
}
|
||||
|
||||
@IgnoreLog(IgnoreLogMode.RET)
|
||||
@GetMapping("/list")
|
||||
@Operation(summary = "查询全部路径标签分组")
|
||||
public List<PathBookmarkGroupVO> getPathBookmarkGroupList() {
|
||||
return pathBookmarkGroupService.getPathBookmarkGroupList();
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除路径标签分组")
|
||||
public Integer deletePathBookmarkGroup(@Validated(Id.class) @RequestBody PathBookmarkGroupDeleteRequest request) {
|
||||
return pathBookmarkGroupService.deletePathBookmarkGroup(request);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package com.orion.ops.module.asset.convert;
|
||||
|
||||
import com.orion.ops.module.asset.entity.domain.CommandSnippetGroupDO;
|
||||
import com.orion.ops.module.asset.entity.request.command.CommandSnippetGroupCreateRequest;
|
||||
import com.orion.ops.module.asset.entity.request.command.CommandSnippetGroupUpdateRequest;
|
||||
import com.orion.ops.module.asset.entity.vo.CommandSnippetGroupVO;
|
||||
@@ -10,8 +9,6 @@ import com.orion.ops.module.infra.entity.dto.data.DataGroupRenameDTO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 命令片段分组 内部对象转换器
|
||||
*
|
||||
@@ -30,6 +27,4 @@ public interface CommandSnippetGroupConvert {
|
||||
|
||||
CommandSnippetGroupVO to(DataGroupDTO domain);
|
||||
|
||||
List<CommandSnippetGroupVO> to(List<CommandSnippetGroupDO> list);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.orion.ops.module.asset.convert;
|
||||
|
||||
import com.orion.ops.module.asset.entity.request.path.PathBookmarkGroupCreateRequest;
|
||||
import com.orion.ops.module.asset.entity.request.path.PathBookmarkGroupUpdateRequest;
|
||||
import com.orion.ops.module.asset.entity.vo.PathBookmarkGroupVO;
|
||||
import com.orion.ops.module.infra.entity.dto.data.DataGroupCreateDTO;
|
||||
import com.orion.ops.module.infra.entity.dto.data.DataGroupDTO;
|
||||
import com.orion.ops.module.infra.entity.dto.data.DataGroupRenameDTO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
/**
|
||||
* 路径标签分组 内部对象转换器
|
||||
*
|
||||
* @author Jiahang Li
|
||||
* @version 1.0.0
|
||||
* @since 2024-1-24 12:28
|
||||
*/
|
||||
@Mapper
|
||||
public interface PathBookmarkGroupConvert {
|
||||
|
||||
PathBookmarkGroupConvert MAPPER = Mappers.getMapper(PathBookmarkGroupConvert.class);
|
||||
|
||||
DataGroupCreateDTO to(PathBookmarkGroupCreateRequest request);
|
||||
|
||||
DataGroupRenameDTO to(PathBookmarkGroupUpdateRequest request);
|
||||
|
||||
PathBookmarkGroupVO to(DataGroupDTO domain);
|
||||
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
package com.orion.ops.module.asset.entity.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.orion.ops.framework.mybatis.core.domain.BaseDO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
/**
|
||||
* 命令片段分组 实体对象
|
||||
*
|
||||
* @author Jiahang Li
|
||||
* @version 1.0.0
|
||||
* @since 2024-1-24 12:28
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName(value = "command_snippet_group", autoResultMap = true)
|
||||
@Schema(name = "CommandSnippetGroupDO", description = "命令片段分组 实体对象")
|
||||
public class CommandSnippetGroupDO extends BaseDO {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "id")
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "用户id")
|
||||
@TableField("user_id")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "分组名称")
|
||||
@TableField("name")
|
||||
private String name;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.orion.ops.module.asset.entity.request.path;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 路径标签分组 创建请求对象
|
||||
*
|
||||
* @author Jiahang Li
|
||||
* @version 1.0.0
|
||||
* @since 2024-1-24 12:28
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Schema(name = "PathBookmarkGroupCreateRequest", description = "路径标签分组 创建请求对象")
|
||||
public class PathBookmarkGroupCreateRequest implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@NotBlank
|
||||
@Size(max = 64)
|
||||
@Schema(description = "分组名称")
|
||||
private String name;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.orion.ops.module.asset.entity.request.path;
|
||||
|
||||
import com.orion.ops.framework.common.validator.group.Id;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 路径标签分组 删除请求对象
|
||||
*
|
||||
* @author Jiahang Li
|
||||
* @version 1.0.0
|
||||
* @since 2024-1-24 12:28
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Schema(name = "PathBookmarkGroupDeleteRequest", description = "路径标签分组 删除请求对象")
|
||||
public class PathBookmarkGroupDeleteRequest implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@NotNull(groups = Id.class)
|
||||
@Schema(description = "id")
|
||||
private Long id;
|
||||
|
||||
@NotNull
|
||||
@Schema(description = "是否删除组内数据")
|
||||
private Boolean deleteItem;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.orion.ops.module.asset.entity.request.path;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 路径标签分组 更新请求对象
|
||||
*
|
||||
* @author Jiahang Li
|
||||
* @version 1.0.0
|
||||
* @since 2024-1-24 12:28
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Schema(name = "PathBookmarkGroupUpdateRequest", description = "路径标签分组 更新请求对象")
|
||||
public class PathBookmarkGroupUpdateRequest implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@NotNull
|
||||
@Schema(description = "id")
|
||||
private Long id;
|
||||
|
||||
@NotBlank
|
||||
@Size(max = 64)
|
||||
@Schema(description = "分组名称")
|
||||
private String name;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.orion.ops.module.asset.entity.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 路径标签分组 视图响应对象
|
||||
*
|
||||
* @author Jiahang Li
|
||||
* @version 1.0.0
|
||||
* @since 2024-1-24 12:28
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Schema(name = "PathBookmarkGroupVO", description = "路径标签分组 视图响应对象")
|
||||
public class PathBookmarkGroupVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "id")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "分组名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "路径标签列表")
|
||||
private List<PathBookmarkVO> items;
|
||||
|
||||
}
|
||||
@@ -30,6 +30,9 @@ public class PathBookmarkVO implements Serializable {
|
||||
@Schema(description = "用户id")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "分组id")
|
||||
private Long groupId;
|
||||
|
||||
@Schema(description = "名称")
|
||||
private String name;
|
||||
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.orion.ops.module.asset.entity.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 路径标签组合 视图响应对象
|
||||
*
|
||||
* @author Jiahang Li
|
||||
* @version 1.0.0
|
||||
* @since 2024/1/24 17:30
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Schema(name = "PathBookmarkWrapperVO", description = "路径标签组合 视图响应对象")
|
||||
public class PathBookmarkWrapperVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "分组")
|
||||
private List<PathBookmarkGroupVO> groups;
|
||||
|
||||
@Schema(description = "未分组的路径标签")
|
||||
private List<PathBookmarkVO> ungroupedItems;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.orion.ops.module.asset.service;
|
||||
|
||||
import com.orion.ops.module.asset.entity.request.path.PathBookmarkGroupCreateRequest;
|
||||
import com.orion.ops.module.asset.entity.request.path.PathBookmarkGroupDeleteRequest;
|
||||
import com.orion.ops.module.asset.entity.request.path.PathBookmarkGroupUpdateRequest;
|
||||
import com.orion.ops.module.asset.entity.vo.PathBookmarkGroupVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 路径标签分组 服务类
|
||||
*
|
||||
* @author Jiahang Li
|
||||
* @version 1.0.0
|
||||
* @since 2024-1-24 12:28
|
||||
*/
|
||||
public interface PathBookmarkGroupService {
|
||||
|
||||
/**
|
||||
* 创建路径标签分组
|
||||
*
|
||||
* @param request request
|
||||
* @return id
|
||||
*/
|
||||
Long createPathBookmarkGroup(PathBookmarkGroupCreateRequest request);
|
||||
|
||||
/**
|
||||
* 更新路径标签分组
|
||||
*
|
||||
* @param request request
|
||||
* @return effect
|
||||
*/
|
||||
Integer updatePathBookmarkGroupById(PathBookmarkGroupUpdateRequest request);
|
||||
|
||||
/**
|
||||
* 查询全部路径标签分组
|
||||
*
|
||||
* @return rows
|
||||
*/
|
||||
List<PathBookmarkGroupVO> getPathBookmarkGroupList();
|
||||
|
||||
/**
|
||||
* 删除路径标签分组
|
||||
*
|
||||
* @param request request
|
||||
* @return effect
|
||||
*/
|
||||
Integer deletePathBookmarkGroup(PathBookmarkGroupDeleteRequest request);
|
||||
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package com.orion.ops.module.asset.service;
|
||||
import com.orion.ops.module.asset.entity.request.path.PathBookmarkCreateRequest;
|
||||
import com.orion.ops.module.asset.entity.request.path.PathBookmarkUpdateRequest;
|
||||
import com.orion.ops.module.asset.entity.vo.PathBookmarkVO;
|
||||
import com.orion.ops.module.asset.entity.vo.PathBookmarkWrapperVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -31,6 +32,13 @@ public interface PathBookmarkService {
|
||||
*/
|
||||
Integer updatePathBookmarkById(PathBookmarkUpdateRequest request);
|
||||
|
||||
/**
|
||||
* 查询路径标签
|
||||
*
|
||||
* @return rows
|
||||
*/
|
||||
PathBookmarkWrapperVO getPathBookmark();
|
||||
|
||||
/**
|
||||
* 查询全部路径标签
|
||||
*
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
package com.orion.ops.module.asset.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.orion.lang.utils.Booleans;
|
||||
import com.orion.ops.framework.common.constant.Const;
|
||||
import com.orion.ops.framework.common.constant.ErrorMessage;
|
||||
import com.orion.ops.framework.common.utils.Valid;
|
||||
import com.orion.ops.framework.security.core.utils.SecurityUtils;
|
||||
import com.orion.ops.module.asset.convert.PathBookmarkGroupConvert;
|
||||
import com.orion.ops.module.asset.entity.request.path.PathBookmarkGroupCreateRequest;
|
||||
import com.orion.ops.module.asset.entity.request.path.PathBookmarkGroupDeleteRequest;
|
||||
import com.orion.ops.module.asset.entity.request.path.PathBookmarkGroupUpdateRequest;
|
||||
import com.orion.ops.module.asset.entity.vo.PathBookmarkGroupVO;
|
||||
import com.orion.ops.module.asset.service.PathBookmarkGroupService;
|
||||
import com.orion.ops.module.asset.service.PathBookmarkService;
|
||||
import com.orion.ops.module.infra.api.DataGroupApi;
|
||||
import com.orion.ops.module.infra.api.DataGroupUserApi;
|
||||
import com.orion.ops.module.infra.entity.dto.data.DataGroupCreateDTO;
|
||||
import com.orion.ops.module.infra.entity.dto.data.DataGroupDTO;
|
||||
import com.orion.ops.module.infra.entity.dto.data.DataGroupRenameDTO;
|
||||
import com.orion.ops.module.infra.enums.DataGroupTypeEnum;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 路径标签分组 服务实现类
|
||||
*
|
||||
* @author Jiahang Li
|
||||
* @version 1.0.0
|
||||
* @since 2024-1-24 12:28
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class PathBookmarkGroupServiceImpl implements PathBookmarkGroupService {
|
||||
|
||||
@Resource
|
||||
private DataGroupApi dataGroupApi;
|
||||
|
||||
@Resource
|
||||
private DataGroupUserApi dataGroupUserApi;
|
||||
|
||||
@Resource
|
||||
private PathBookmarkService pathBookmarkService;
|
||||
|
||||
@Override
|
||||
public Long createPathBookmarkGroup(PathBookmarkGroupCreateRequest request) {
|
||||
Long userId = SecurityUtils.getLoginUserId();
|
||||
log.info("PathBookmarkGroupService-createPathBookmarkGroup request: {}", JSON.toJSONString(request));
|
||||
// 创建
|
||||
DataGroupCreateDTO create = PathBookmarkGroupConvert.MAPPER.to(request);
|
||||
create.setParentId(Const.ROOT_PARENT_ID);
|
||||
return dataGroupUserApi.createDataGroup(DataGroupTypeEnum.PATH_BOOKMARK, userId, create);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer updatePathBookmarkGroupById(PathBookmarkGroupUpdateRequest request) {
|
||||
Long id = Valid.notNull(request.getId(), ErrorMessage.ID_MISSING);
|
||||
log.info("PathBookmarkGroupService-updatePathBookmarkGroupById id: {}, request: {}", id, JSON.toJSONString(request));
|
||||
// 重命名
|
||||
DataGroupRenameDTO rename = PathBookmarkGroupConvert.MAPPER.to(request);
|
||||
return dataGroupApi.renameDataGroup(rename);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PathBookmarkGroupVO> getPathBookmarkGroupList() {
|
||||
Long userId = SecurityUtils.getLoginUserId();
|
||||
// 查询分组
|
||||
return dataGroupUserApi.getDataGroupList(DataGroupTypeEnum.PATH_BOOKMARK, userId)
|
||||
.stream()
|
||||
.sorted(Comparator.comparing(DataGroupDTO::getSort))
|
||||
.map(PathBookmarkGroupConvert.MAPPER::to)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Integer deletePathBookmarkGroup(PathBookmarkGroupDeleteRequest request) {
|
||||
Long userId = SecurityUtils.getLoginUserId();
|
||||
Long id = request.getId();
|
||||
log.info("PathBookmarkGroupService-deletePathBookmarkGroupById id: {}", id);
|
||||
// 删除分组
|
||||
Integer effect = dataGroupApi.deleteDataGroupById(id);
|
||||
if (Booleans.isTrue(request.getDeleteItem())) {
|
||||
// 删除组内数据
|
||||
effect += pathBookmarkService.deleteByGroupId(userId, id);
|
||||
} else {
|
||||
// 移动到根节点
|
||||
effect += pathBookmarkService.setGroupNull(userId, id);
|
||||
}
|
||||
return effect;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -16,7 +16,10 @@ import com.orion.ops.module.asset.entity.domain.PathBookmarkDO;
|
||||
import com.orion.ops.module.asset.entity.dto.PathBookmarkCacheDTO;
|
||||
import com.orion.ops.module.asset.entity.request.path.PathBookmarkCreateRequest;
|
||||
import com.orion.ops.module.asset.entity.request.path.PathBookmarkUpdateRequest;
|
||||
import com.orion.ops.module.asset.entity.vo.PathBookmarkGroupVO;
|
||||
import com.orion.ops.module.asset.entity.vo.PathBookmarkVO;
|
||||
import com.orion.ops.module.asset.entity.vo.PathBookmarkWrapperVO;
|
||||
import com.orion.ops.module.asset.service.PathBookmarkGroupService;
|
||||
import com.orion.ops.module.asset.service.PathBookmarkService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -24,6 +27,8 @@ import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -40,6 +45,9 @@ public class PathBookmarkServiceImpl implements PathBookmarkService {
|
||||
@Resource
|
||||
private PathBookmarkDAO pathBookmarkDAO;
|
||||
|
||||
@Resource
|
||||
private PathBookmarkGroupService pathBookmarkGroupService;
|
||||
|
||||
@Override
|
||||
public Long createPathBookmark(PathBookmarkCreateRequest request) {
|
||||
Long userId = SecurityUtils.getLoginUserId();
|
||||
@@ -83,6 +91,31 @@ public class PathBookmarkServiceImpl implements PathBookmarkService {
|
||||
return effect;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PathBookmarkWrapperVO getPathBookmark() {
|
||||
// 查询分组
|
||||
List<PathBookmarkGroupVO> groups = pathBookmarkGroupService.getPathBookmarkGroupList();
|
||||
// 查询命令片段
|
||||
List<PathBookmarkVO> items = this.getPathBookmarkList();
|
||||
// 设置组内数据
|
||||
Map<Long, PathBookmarkGroupVO> groupMap = groups.stream()
|
||||
.collect(Collectors.toMap(PathBookmarkGroupVO::getId, Function.identity()));
|
||||
groupMap.forEach((groupId, group) -> {
|
||||
List<PathBookmarkVO> groupedItems = items.stream()
|
||||
.filter(s -> groupId.equals(s.getGroupId()))
|
||||
.collect(Collectors.toList());
|
||||
group.setItems(groupedItems);
|
||||
});
|
||||
// 未分组数据
|
||||
List<PathBookmarkVO> ungroupedItems = items.stream()
|
||||
.filter(s -> s.getGroupId() == null)
|
||||
.collect(Collectors.toList());
|
||||
return PathBookmarkWrapperVO.builder()
|
||||
.groups(groups)
|
||||
.ungroupedItems(ungroupedItems)
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PathBookmarkVO> getPathBookmarkList() {
|
||||
Long userId = SecurityUtils.getLoginUserId();
|
||||
|
||||
Reference in New Issue
Block a user