refactor: 修改主机权限.
This commit is contained in:
@@ -5,17 +5,13 @@ import com.orion.ops.framework.biz.operator.log.core.annotation.OperatorLog;
|
||||
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.convert.HostGroupConvert;
|
||||
import com.orion.ops.module.asset.define.operator.HostGroupOperatorType;
|
||||
import com.orion.ops.module.asset.entity.request.host.HostGroupRelUpdateRequest;
|
||||
import com.orion.ops.module.asset.entity.vo.HostGroupTreeVO;
|
||||
import com.orion.ops.module.infra.api.DataGroupApi;
|
||||
import com.orion.ops.module.infra.api.DataGroupRelApi;
|
||||
import com.orion.ops.module.asset.service.HostGroupService;
|
||||
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.DataGroupMoveDTO;
|
||||
import com.orion.ops.module.infra.entity.dto.data.DataGroupRenameDTO;
|
||||
import com.orion.ops.module.infra.enums.DataGroupTypeEnum;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
@@ -45,67 +41,63 @@ import java.util.Set;
|
||||
public class HostGroupController {
|
||||
|
||||
@Resource
|
||||
private DataGroupApi dataGroupApi;
|
||||
|
||||
@Resource
|
||||
private DataGroupRelApi dataGroupRelApi;
|
||||
private HostGroupService hostGroupService;
|
||||
|
||||
@OperatorLog(HostGroupOperatorType.CREATE)
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建主机分组")
|
||||
@Operation(summary = "创建主机分组 - 管理")
|
||||
@PreAuthorize("@ss.hasPermission('asset:host-group:create')")
|
||||
public Long updateGroupHost(@Validated @RequestBody DataGroupCreateDTO request) {
|
||||
return dataGroupApi.createDataGroup(DataGroupTypeEnum.HOST, request);
|
||||
public Long createHostGroup(@Validated @RequestBody DataGroupCreateDTO request) {
|
||||
return hostGroupService.createHostGroup(request);
|
||||
}
|
||||
|
||||
@IgnoreLog(IgnoreLogMode.RET)
|
||||
@GetMapping("/tree")
|
||||
@Operation(summary = "查询主机分组")
|
||||
@Operation(summary = "查询主机分组 - 管理")
|
||||
@PreAuthorize("@ss.hasPermission('asset:host-group:query')")
|
||||
public List<HostGroupTreeVO> queryHostGroup() {
|
||||
List<DataGroupDTO> rows = dataGroupApi.getDataGroupTree(DataGroupTypeEnum.HOST);
|
||||
return HostGroupConvert.MAPPER.toList(rows);
|
||||
public List<HostGroupTreeVO> queryHostGroupTree() {
|
||||
return hostGroupService.queryHostGroupTree();
|
||||
}
|
||||
|
||||
@OperatorLog(HostGroupOperatorType.RENAME)
|
||||
@PutMapping("/rename")
|
||||
@Operation(summary = "修改名称")
|
||||
@Operation(summary = "修改名称 - 管理")
|
||||
@PreAuthorize("@ss.hasPermission('asset:host-group:update')")
|
||||
public Integer updateHostGroupName(@Validated @RequestBody DataGroupRenameDTO request) {
|
||||
return dataGroupApi.renameDataGroup(request);
|
||||
return hostGroupService.updateHostGroupName(request);
|
||||
}
|
||||
|
||||
@OperatorLog(HostGroupOperatorType.MOVE)
|
||||
@PutMapping("/move")
|
||||
@Operation(summary = "移动位置")
|
||||
@Operation(summary = "移动位置 - 管理")
|
||||
@PreAuthorize("@ss.hasPermission('asset:host-group:update')")
|
||||
public Integer moveHostGroup(@Validated @RequestBody DataGroupMoveDTO request) {
|
||||
return dataGroupApi.moveDataGroup(request);
|
||||
return hostGroupService.moveHostGroup(request);
|
||||
}
|
||||
|
||||
@OperatorLog(HostGroupOperatorType.DELETE)
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除主机分组")
|
||||
@Operation(summary = "删除主机分组 - 管理")
|
||||
@PreAuthorize("@ss.hasPermission('asset:host-group:delete')")
|
||||
public Integer deleteHostGroup(@RequestParam("id") Long id) {
|
||||
return dataGroupApi.deleteDataGroupById(id);
|
||||
return hostGroupService.deleteHostGroup(id);
|
||||
}
|
||||
|
||||
@IgnoreLog(IgnoreLogMode.RET)
|
||||
@GetMapping("/rel-list")
|
||||
@Operation(summary = "查询分组主机")
|
||||
@Operation(summary = "查询分组内主机 - 管理")
|
||||
@Parameter(name = "groupId", description = "groupId", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('asset:host-group:query')")
|
||||
public Set<Long> queryHostGroupRel(@RequestParam("groupId") Long groupId) {
|
||||
return dataGroupRelApi.getGroupRelIdByGroupId(DataGroupTypeEnum.HOST, groupId);
|
||||
return hostGroupService.queryHostGroupRel(groupId);
|
||||
}
|
||||
|
||||
@OperatorLog(HostGroupOperatorType.UPDATE_REL)
|
||||
@PostMapping("/update-rel")
|
||||
@Operation(summary = "修改分组主机")
|
||||
@Operation(summary = "修改分组内主机 - 管理")
|
||||
@PreAuthorize("@ss.hasPermission('asset:host:update')")
|
||||
public HttpWrapper<?> updateGroupHost(@Validated @RequestBody HostGroupRelUpdateRequest request) {
|
||||
dataGroupRelApi.updateGroupRel(request.getGroupId(), request.getHostIdList());
|
||||
public HttpWrapper<?> updateHostGroupRel(@Validated @RequestBody HostGroupRelUpdateRequest request) {
|
||||
hostGroupService.updateHostGroupRel(request);
|
||||
return HttpWrapper.ok();
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.orion.ops.module.asset.service;
|
||||
|
||||
import com.orion.ops.module.asset.entity.request.host.HostGroupRelUpdateRequest;
|
||||
import com.orion.ops.module.asset.entity.vo.HostGroupTreeVO;
|
||||
import com.orion.ops.module.infra.entity.dto.data.DataGroupCreateDTO;
|
||||
import com.orion.ops.module.infra.entity.dto.data.DataGroupMoveDTO;
|
||||
import com.orion.ops.module.infra.entity.dto.data.DataGroupRenameDTO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 主机分组服务
|
||||
*
|
||||
* @author Jiahang Li
|
||||
* @version 1.0.0
|
||||
* @since 2023/11/23 10:59
|
||||
*/
|
||||
public interface HostGroupService {
|
||||
|
||||
/**
|
||||
* 创建主机分组
|
||||
*
|
||||
* @param request request
|
||||
* @return id
|
||||
*/
|
||||
Long createHostGroup(DataGroupCreateDTO request);
|
||||
|
||||
/**
|
||||
* 查询主机分组树
|
||||
*
|
||||
* @return tree
|
||||
*/
|
||||
List<HostGroupTreeVO> queryHostGroupTree();
|
||||
|
||||
/**
|
||||
* 更新主机分组名称
|
||||
*
|
||||
* @param request request
|
||||
* @return effect
|
||||
*/
|
||||
Integer updateHostGroupName(DataGroupRenameDTO request);
|
||||
|
||||
/**
|
||||
* 移动主机分组
|
||||
*
|
||||
* @param request request
|
||||
* @return effect
|
||||
*/
|
||||
Integer moveHostGroup(DataGroupMoveDTO request);
|
||||
|
||||
/**
|
||||
* 删除主机分组
|
||||
*
|
||||
* @param id id
|
||||
* @return effect
|
||||
*/
|
||||
Integer deleteHostGroup(Long id);
|
||||
|
||||
/**
|
||||
* 查询主机分组内主机
|
||||
*
|
||||
* @param groupId groupId
|
||||
* @return hostId
|
||||
*/
|
||||
Set<Long> queryHostGroupRel(Long groupId);
|
||||
|
||||
/**
|
||||
* 修改主机分组内主机
|
||||
*
|
||||
* @param request request
|
||||
*/
|
||||
void updateHostGroupRel(HostGroupRelUpdateRequest request);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
package com.orion.ops.module.asset.service.impl;
|
||||
|
||||
import com.orion.ops.module.asset.convert.HostGroupConvert;
|
||||
import com.orion.ops.module.asset.entity.request.host.HostGroupRelUpdateRequest;
|
||||
import com.orion.ops.module.asset.entity.vo.HostGroupTreeVO;
|
||||
import com.orion.ops.module.asset.service.HostGroupService;
|
||||
import com.orion.ops.module.infra.api.DataGroupApi;
|
||||
import com.orion.ops.module.infra.api.DataGroupRelApi;
|
||||
import com.orion.ops.module.infra.api.DataPermissionApi;
|
||||
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.DataGroupMoveDTO;
|
||||
import com.orion.ops.module.infra.entity.dto.data.DataGroupRenameDTO;
|
||||
import com.orion.ops.module.infra.enums.DataGroupTypeEnum;
|
||||
import com.orion.ops.module.infra.enums.DataPermissionTypeEnum;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 主机分组服务 实现类
|
||||
*
|
||||
* @author Jiahang Li
|
||||
* @version 1.0.0
|
||||
* @since 2023/11/23 10:59
|
||||
*/
|
||||
@Service
|
||||
public class HostGroupServiceImpl implements HostGroupService {
|
||||
|
||||
@Resource
|
||||
private DataGroupApi dataGroupApi;
|
||||
|
||||
@Resource
|
||||
private DataGroupRelApi dataGroupRelApi;
|
||||
|
||||
@Resource
|
||||
private DataPermissionApi dataPermissionApi;
|
||||
|
||||
@Override
|
||||
public Long createHostGroup(DataGroupCreateDTO request) {
|
||||
return dataGroupApi.createDataGroup(DataGroupTypeEnum.HOST, request);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<HostGroupTreeVO> queryHostGroupTree() {
|
||||
List<DataGroupDTO> rows = dataGroupApi.getDataGroupTree(DataGroupTypeEnum.HOST);
|
||||
return HostGroupConvert.MAPPER.toList(rows);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer updateHostGroupName(DataGroupRenameDTO request) {
|
||||
return dataGroupApi.renameDataGroup(request);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer moveHostGroup(DataGroupMoveDTO request) {
|
||||
return dataGroupApi.moveDataGroup(request);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Integer deleteHostGroup(Long id) {
|
||||
// 删除主机分组
|
||||
Integer effect = dataGroupApi.deleteDataGroupById(id);
|
||||
// 删除数据权限
|
||||
dataPermissionApi.deleteByRelId(DataPermissionTypeEnum.HOST_GROUP, id);
|
||||
return effect;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<Long> queryHostGroupRel(Long groupId) {
|
||||
return dataGroupRelApi.getGroupRelIdByGroupId(DataGroupTypeEnum.HOST, groupId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateHostGroupRel(HostGroupRelUpdateRequest request) {
|
||||
dataGroupRelApi.updateGroupRel(request.getGroupId(), request.getHostIdList());
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user