密钥存储修改
This commit is contained in:
parent
4569db66ad
commit
7a995e159f
@ -99,9 +99,9 @@ public class SecretKeyController {
|
|||||||
return success(BeanUtils.toBean(pageResult, SecretKeyVO.class));
|
return success(BeanUtils.toBean(pageResult, SecretKeyVO.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/download")
|
// @GetMapping("/download")
|
||||||
@Operation(summary = "下载密钥文件")
|
// @Operation(summary = "下载密钥文件")
|
||||||
public ResponseEntity<InputStreamResource> downloadSecretFile(@RequestParam("id") Long id) {
|
// public ResponseEntity<InputStreamResource> downloadSecretFile(@RequestParam("id") Long id) {
|
||||||
return secretKeyService.downloadSecretFile(id);
|
// return secretKeyService.downloadSecretFile(id);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,13 @@ public interface MachineInfoService {
|
|||||||
|
|
||||||
void deleteMachineInfo(Long machineInfoId);
|
void deleteMachineInfo(Long machineInfoId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取绑定的密钥
|
||||||
|
* @param secretKeyId 密钥id
|
||||||
|
* @return 绑定的机器列表
|
||||||
|
*/
|
||||||
|
List<MachineInfoDO>selectBindMachineBySecretKey(Long secretKeyId);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 测试机器连接
|
* 测试机器连接
|
||||||
|
@ -27,10 +27,8 @@ public interface SecretKeyService {
|
|||||||
|
|
||||||
void unbindMachine(@Valid SecretKeyVO secretKeyVO);
|
void unbindMachine(@Valid SecretKeyVO secretKeyVO);
|
||||||
|
|
||||||
ResponseEntity<InputStreamResource> downloadSecretFile(Long id);
|
|
||||||
|
|
||||||
List<MachineInfoDO> getBindMachine(Long secretKeyId);
|
List<MachineInfoDO> getBindMachine(Long secretKeyId);
|
||||||
|
|
||||||
String getKeyContent(Long secretKeyId);
|
// String getKeyContent(Long secretKeyId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -107,6 +107,11 @@ public class MachineInfoServiceImpl implements MachineInfoService {
|
|||||||
machineInfoMapper.deleteById(machineInfoId);
|
machineInfoMapper.deleteById(machineInfoId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<MachineInfoDO> selectBindMachineBySecretKey(Long secretKeyId) {
|
||||||
|
return machineInfoMapper.selectBindMachineBySecretKey(secretKeyId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean testConnection(Long id) {
|
public boolean testConnection(Long id) {
|
||||||
|
@ -3,6 +3,7 @@ package cd.casic.module.machine.service.impl;
|
|||||||
import cd.casic.framework.commons.pojo.PageResult;
|
import cd.casic.framework.commons.pojo.PageResult;
|
||||||
import cd.casic.framework.commons.util.object.BeanUtils;
|
import cd.casic.framework.commons.util.object.BeanUtils;
|
||||||
import cd.casic.module.machine.controller.vo.SecretKeyVO;
|
import cd.casic.module.machine.controller.vo.SecretKeyVO;
|
||||||
|
import cd.casic.module.machine.dal.dataobject.MachineInfoDO;
|
||||||
import cd.casic.module.machine.dal.dataobject.SecretKeyDO;
|
import cd.casic.module.machine.dal.dataobject.SecretKeyDO;
|
||||||
import cd.casic.module.machine.dal.mysql.SecretKeyMapper;
|
import cd.casic.module.machine.dal.mysql.SecretKeyMapper;
|
||||||
import cd.casic.module.machine.service.MachineInfoService;
|
import cd.casic.module.machine.service.MachineInfoService;
|
||||||
@ -29,12 +30,14 @@ public class SecretKeyServiceImpl implements SecretKeyService {
|
|||||||
@Resource
|
@Resource
|
||||||
private MachineInfoService machineInfoService;
|
private MachineInfoService machineInfoService;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private AliYunOssClient aliYunOssClient;
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private SecretKeyMapper secretKeyMapper;
|
private SecretKeyMapper secretKeyMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deleteSecretKey(Long id) {
|
||||||
|
validateSecretKeyExists(id);
|
||||||
|
secretKeyMapper.deleteById(id);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SecretKeyVO getSecretKey(Long id) {
|
public SecretKeyVO getSecretKey(Long id) {
|
||||||
@ -47,16 +50,15 @@ public class SecretKeyServiceImpl implements SecretKeyService {
|
|||||||
machineInfoService.bindingSecretKey(secretKeyVO.getMachineInfoIds(),null);
|
machineInfoService.bindingSecretKey(secretKeyVO.getMachineInfoIds(),null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<MachineInfoDO> getBindMachine(Long secretKeyId) {
|
||||||
|
return machineInfoService.selectBindMachineBySecretKey(secretKeyId);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Long createSecretKey(SecretKeyVO secretKeyVO) {
|
public Long createSecretKey(SecretKeyVO secretKeyVO) {
|
||||||
validateSecretKeyAdd(secretKeyVO);
|
validateSecretKeyAdd(secretKeyVO);
|
||||||
String ossPath = upLoadSecretKey(secretKeyVO.getPath());
|
|
||||||
//检查得到的oss路径是否为空
|
|
||||||
validateSecretKeyPath(ossPath);
|
|
||||||
secretKeyVO.setPath(ossPath);
|
|
||||||
SecretKeyDO secretKeyDO = BeanUtils.toBean(secretKeyVO, SecretKeyDO.class);
|
SecretKeyDO secretKeyDO = BeanUtils.toBean(secretKeyVO, SecretKeyDO.class);
|
||||||
//todo检查密钥合法
|
|
||||||
|
|
||||||
secretKeyMapper.insert(secretKeyDO);
|
secretKeyMapper.insert(secretKeyDO);
|
||||||
return secretKeyDO.getId();
|
return secretKeyDO.getId();
|
||||||
|
|
||||||
@ -66,15 +68,7 @@ public class SecretKeyServiceImpl implements SecretKeyService {
|
|||||||
@Override
|
@Override
|
||||||
public void updateSecretKey(SecretKeyVO secretKeyVO) {
|
public void updateSecretKey(SecretKeyVO secretKeyVO) {
|
||||||
SecretKeyDO secretKeyDO = validateSecretKeyExists(secretKeyVO.getId());
|
SecretKeyDO secretKeyDO = validateSecretKeyExists(secretKeyVO.getId());
|
||||||
//如果路径改变==改变密钥
|
|
||||||
if (!secretKeyDO.getPath().equals(secretKeyVO.getPath())) {
|
|
||||||
//todo检查密钥合法
|
|
||||||
String ossPath = upLoadSecretKey(secretKeyVO.getPath());
|
|
||||||
BeanUtils.copyProperties(secretKeyVO, secretKeyDO);
|
BeanUtils.copyProperties(secretKeyVO, secretKeyDO);
|
||||||
secretKeyDO.setPath(ossPath);
|
|
||||||
} else {
|
|
||||||
BeanUtils.copyProperties(secretKeyVO, secretKeyDO);
|
|
||||||
}
|
|
||||||
secretKeyMapper.updateById(secretKeyDO);
|
secretKeyMapper.updateById(secretKeyDO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,25 +81,7 @@ public class SecretKeyServiceImpl implements SecretKeyService {
|
|||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public void deleteSecretKeyList(List<Long> ids) {
|
public void deleteSecretKeyList(List<Long> ids) {
|
||||||
ids.forEach(
|
|
||||||
secretKeyId -> {
|
|
||||||
SecretKeyDO secretKeyDO = validateSecretKeyExists(secretKeyId);
|
|
||||||
if (secretKeyDO.getPath() != null && !secretKeyDO.getPath().isEmpty()) {
|
|
||||||
try {
|
|
||||||
//文件名
|
|
||||||
//删除子目录文件,需要在前面加上根目录文件路径
|
|
||||||
String fileName = secretKeyDO.getPath().substring(secretKeyDO.getPath().lastIndexOf("/") + 1);
|
|
||||||
aliYunOssClient.delete(fileName);
|
|
||||||
} catch (Exception e) {
|
|
||||||
throw exception(DELETE_FILE_FAIL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
//绑定的机器全部设置为空
|
|
||||||
machineInfoService.bindingSecretKey(ids,null);
|
machineInfoService.bindingSecretKey(ids,null);
|
||||||
|
|
||||||
secretKeyMapper.deleteBatchIds(ids);
|
secretKeyMapper.deleteBatchIds(ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -114,38 +90,14 @@ public class SecretKeyServiceImpl implements SecretKeyService {
|
|||||||
return secretKeyMapper.selectPage(secretKeyVO);
|
return secretKeyMapper.selectPage(secretKeyVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String upLoadSecretKey(String localPath) {
|
|
||||||
//使用S3FileClient上传文件
|
|
||||||
aliYunOssClient.init();
|
|
||||||
//传输到指定文件,需要在path前面加上文件路径
|
|
||||||
String path = IdUtil.fastSimpleUUID() + ".txt";
|
|
||||||
//上传文件是从本地上传,这里传的是本地文件地址
|
|
||||||
byte[] content = ResourceUtil.readBytes(localPath);
|
|
||||||
String ossPath;
|
|
||||||
try {
|
|
||||||
ossPath = aliYunOssClient.upload(content, path, "txt");
|
|
||||||
} catch (Exception e) {
|
|
||||||
throw exception(UPLOADING_FILE_FAIL);
|
|
||||||
}
|
|
||||||
return ossPath;
|
|
||||||
}
|
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
void validateSecretKeyAdd(SecretKeyVO secretKeyVO) {
|
void validateSecretKeyAdd(SecretKeyVO secretKeyVO) {
|
||||||
if (secretKeyVO == null) {
|
if (secretKeyVO == null) {
|
||||||
throw exception(SECRET_KEY_NULL);
|
throw exception(SECRET_KEY_NULL);
|
||||||
}
|
}
|
||||||
if (secretKeyVO.getPath().isEmpty()) {
|
|
||||||
throw exception(SECRET_KEY_PATH_NULL);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
|
||||||
void validateSecretKeyPath(String path) {
|
|
||||||
if (path.isEmpty()) {
|
|
||||||
throw exception(SECRET_KEY_PATH_NULL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
|
Loading…
x
Reference in New Issue
Block a user