|
|
|
@ -1,10 +1,5 @@
|
|
|
|
|
package com.imitate.web.module.simulation.service;
|
|
|
|
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
|
|
import com.imitate.web.params.ClearTextKeyBodyParam;
|
|
|
|
@ -31,6 +26,13 @@ import com.imitate.web.persistence.mapper.SecretImportMapper;
|
|
|
|
|
import com.imitate.web.persistence.mapper.SecretIssueMailboxMapper;
|
|
|
|
|
import com.imitate.web.persistence.mapper.SecretIssuePrivateMapper;
|
|
|
|
|
import com.imitate.web.persistence.mapper.SecretIssueSubordinateMapper;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
@Service
|
|
|
|
|
public class SecretBodyService {
|
|
|
|
@ -64,8 +66,6 @@ public class SecretBodyService {
|
|
|
|
|
@Autowired
|
|
|
|
|
private EncryptedKeyBodyMapper encryptedKeyBodyMapper;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 密钥体导入
|
|
|
|
@ -74,11 +74,11 @@ public class SecretBodyService {
|
|
|
|
|
//1 . 每次导入先清空表
|
|
|
|
|
secretFormatMapper.deleteAll();
|
|
|
|
|
//2. 判断导入文件的正确性,模拟导入文件
|
|
|
|
|
if(fileName.equals("aaaaa.zip")){
|
|
|
|
|
if (fileName.equals("aaaaa.zip")) {
|
|
|
|
|
List<SecretFormat> list = new ArrayList<>();
|
|
|
|
|
list.add(new SecretFormat("AAA111","载体名称01","三寸","AAA.txt","管理系统名称0-1","管理系统标识","产品名称","未发布","软盘","在线向密钥编制分系统"));
|
|
|
|
|
list.add(new SecretFormat("AAA222","载体名称02","六寸","BBB.txt","管理系统名称0-2","管理系统标识","产品名称","未发布","移动盘","离线向密钥编制分系统"));
|
|
|
|
|
list.add(new SecretFormat("AAA333","载体名称02","八寸","CCC.txt","管理系统名称0-3","管理系统标识","产品名称","未发布","光盘","在线向下级管理系统"));
|
|
|
|
|
list.add(new SecretFormat("AAA111", "载体名称01", "三寸", "AAA.txt", "管理系统名称0-1", "管理系统标识", "产品名称", "未发布", "软盘", "在线向密钥编制分系统"));
|
|
|
|
|
list.add(new SecretFormat("AAA222", "载体名称02", "六寸", "BBB.txt", "管理系统名称0-2", "管理系统标识", "产品名称", "未发布", "移动盘", "离线向密钥编制分系统"));
|
|
|
|
|
list.add(new SecretFormat("AAA333", "载体名称02", "八寸", "CCC.txt", "管理系统名称0-3", "管理系统标识", "产品名称", "未发布", "光盘", "在线向下级管理系统"));
|
|
|
|
|
secretFormatMapper.insertList(list);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -86,11 +86,12 @@ public class SecretBodyService {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 更新已发布状态
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
*/
|
|
|
|
|
public void publisherSecret(Integer id){
|
|
|
|
|
public void publisherSecret(Integer id) {
|
|
|
|
|
SecretFormat secretFormat = secretFormatMapper.selectByPrimaryKey(id);
|
|
|
|
|
if(secretFormat != null){
|
|
|
|
|
if (secretFormat != null) {
|
|
|
|
|
secretFormat.setCurrentStatus("已发布");
|
|
|
|
|
secretFormatMapper.updateByPrimaryKeySelective(secretFormat);
|
|
|
|
|
}
|
|
|
|
@ -107,19 +108,19 @@ public class SecretBodyService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 密钥体申请
|
|
|
|
|
*
|
|
|
|
|
* @param param
|
|
|
|
|
*/
|
|
|
|
|
public void addSecretAsk(SecretAskParam param){
|
|
|
|
|
public void addSecretAsk(SecretAskParam param) {
|
|
|
|
|
secretAskMapper.insertSelective(param.getSecretAsk());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 密钥体导入
|
|
|
|
|
*
|
|
|
|
|
* @param productNumber
|
|
|
|
|
* @param fileName
|
|
|
|
|
*/
|
|
|
|
@ -128,7 +129,7 @@ public class SecretBodyService {
|
|
|
|
|
secretImportMapper.deleteAll();
|
|
|
|
|
|
|
|
|
|
// 2 判断导入文件的正确性,模拟导入文件
|
|
|
|
|
if(fileName.equals("aaaa.zip")){
|
|
|
|
|
if (fileName.equals("aaaa.zip")) {
|
|
|
|
|
List<SecretImport> list = new ArrayList<>();
|
|
|
|
|
SecretImport secretImport = new SecretImport();
|
|
|
|
|
secretImport.setProductName("AAA111");
|
|
|
|
@ -177,10 +178,9 @@ public class SecretBodyService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 密钥体列表
|
|
|
|
|
*
|
|
|
|
|
* @param param
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
@ -192,11 +192,12 @@ public class SecretBodyService {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 密钥体导入 - 修改状态
|
|
|
|
|
* 密钥体导入 - 修改状态
|
|
|
|
|
*
|
|
|
|
|
* @param type 1.删除 2. 还原 3.清理
|
|
|
|
|
* @param id
|
|
|
|
|
* @param id
|
|
|
|
|
*/
|
|
|
|
|
public void updateStatus(Integer type,Integer id){
|
|
|
|
|
public void updateStatus(Integer type, Integer id) {
|
|
|
|
|
SecretImport secretImport;
|
|
|
|
|
switch (type) {
|
|
|
|
|
case 1:
|
|
|
|
@ -204,14 +205,14 @@ public class SecretBodyService {
|
|
|
|
|
break;
|
|
|
|
|
case 2:
|
|
|
|
|
secretImport = secretImportMapper.selectByPrimaryKey(id);
|
|
|
|
|
if(secretImport != null){
|
|
|
|
|
if (secretImport != null) {
|
|
|
|
|
secretImport.setIsClean(0);
|
|
|
|
|
secretImportMapper.updateByPrimaryKeySelective(secretImport);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 3:
|
|
|
|
|
secretImport = secretImportMapper.selectByPrimaryKey(id);
|
|
|
|
|
if(secretImport != null){
|
|
|
|
|
if (secretImport != null) {
|
|
|
|
|
secretImport.setIsClean(1);
|
|
|
|
|
secretImportMapper.updateByPrimaryKeySelective(secretImport);
|
|
|
|
|
}
|
|
|
|
@ -224,11 +225,15 @@ public class SecretBodyService {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 密钥体导入 - 添加密钥体接收单
|
|
|
|
|
* @param id 导入的 密钥体列表中某条记录的id 状态改为已使用
|
|
|
|
|
*
|
|
|
|
|
* @param id 导入的 密钥体列表中某条记录的id 状态改为已使用
|
|
|
|
|
*/
|
|
|
|
|
public void addSecretBodyAcceptance(Integer id){
|
|
|
|
|
public void addSecretBodyAcceptance(Integer id) {
|
|
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
|
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
String nowAsString = formatter.format(now);
|
|
|
|
|
SecretImport secretImport = secretImportMapper.selectByPrimaryKey(id);
|
|
|
|
|
if(secretImport != null){
|
|
|
|
|
if (secretImport != null) {
|
|
|
|
|
secretImport.setCurrentStatus("已使用");
|
|
|
|
|
secretImportMapper.updateByPrimaryKeySelective(secretImport);
|
|
|
|
|
|
|
|
|
@ -246,15 +251,16 @@ public class SecretBodyService {
|
|
|
|
|
secretBodyAcceptance.setCodeCarriers(secretImport.getApplyModel());
|
|
|
|
|
secretBodyAcceptance.setNumber(secretImport.getNumber());
|
|
|
|
|
secretBodyAcceptance.setNotes("备注");
|
|
|
|
|
secretBodyAcceptance.setCreateTime(nowAsString);
|
|
|
|
|
secretBodyAcceptance.setUpdateTime(nowAsString);
|
|
|
|
|
secretBodyAcceptanceMapper.insertSelective(secretBodyAcceptance);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 密钥体导入-密钥体接收单列表
|
|
|
|
|
*
|
|
|
|
|
* @param param
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
@ -265,13 +271,12 @@ public class SecretBodyService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 密钥体配发 - 向下级配发列表
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public PageInfo<SecretIssueSubordinate> belowIssueList(SecretIssueSubordinateParam param){
|
|
|
|
|
public PageInfo<SecretIssueSubordinate> belowIssueList(SecretIssueSubordinateParam param) {
|
|
|
|
|
PageHelper.startPage(param.getPageNumber(), param.getPageSize());
|
|
|
|
|
List<SecretIssueSubordinate> list = secretIssueSubordinateMapper.selectAllByParam(param);
|
|
|
|
|
return new PageInfo<>(list);
|
|
|
|
@ -280,6 +285,7 @@ public class SecretBodyService {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 密钥体配发 - 邮箱配发列表
|
|
|
|
|
*
|
|
|
|
|
* @param param
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
@ -290,9 +296,9 @@ public class SecretBodyService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 密钥体配发 - 向专用密码管理系统配发列表
|
|
|
|
|
*
|
|
|
|
|
* @param param
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
@ -301,80 +307,83 @@ public class SecretBodyService {
|
|
|
|
|
List<SecretIssuePrivate> list = secretIssuePrivateMapper.selectAllByParam(param);
|
|
|
|
|
return new PageInfo<>(list);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 密钥体配发 - 1 向下级配发 2 向邮箱配发 3 向专用密码管理系统配发
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
*/
|
|
|
|
|
public void issue(Integer type, Integer id) {
|
|
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
|
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
String nowAsString = formatter.format(now);
|
|
|
|
|
SecretImport secretImport = secretImportMapper.selectByPrimaryKey(id);
|
|
|
|
|
if (secretImport != null) {
|
|
|
|
|
secretImport.setCurrentStatus("已使用");
|
|
|
|
|
secretImport.setUpdateTime(nowAsString);
|
|
|
|
|
secretImportMapper.updateByPrimaryKeySelective(secretImport);
|
|
|
|
|
switch (type) {
|
|
|
|
|
case 1:
|
|
|
|
|
// 向下级配发
|
|
|
|
|
SecretIssueSubordinate secretIssueSubordinate = new SecretIssueSubordinate();
|
|
|
|
|
secretIssueSubordinate.setProductName(secretImport.getProductName());
|
|
|
|
|
secretIssueSubordinate.setProductNum(secretImport.getProductNum());
|
|
|
|
|
secretIssueSubordinate.setCarrierType(secretImport.getCarrierType());
|
|
|
|
|
secretIssueSubordinate.setApplyModel(secretImport.getApplyModel());
|
|
|
|
|
secretIssueSubordinate.setDistManagerName("配发管理系统名称");
|
|
|
|
|
secretIssueSubordinate.setDistManagerIdentifer("配发管理系统实体标识");
|
|
|
|
|
secretIssueSubordinate.setIssueNum(secretImport.getNumber());
|
|
|
|
|
secretIssueSubordinate.setIssueStatus("已配发");
|
|
|
|
|
secretIssueSubordinate.setDelNotes("删除标志");
|
|
|
|
|
secretIssueSubordinate.setSubOperateTime(LocalDateTime.now());
|
|
|
|
|
secretIssueSubordinate.setApplyManagerSysName("申请管理系统名称");
|
|
|
|
|
secretIssueSubordinate.setApplyManagerModelName("申请管理系统实体标识");
|
|
|
|
|
secretIssueSubordinate.setQuantity(secretImport.getApplyNum());
|
|
|
|
|
secretIssueSubordinate.setQuantityTime(LocalDateTime.now());
|
|
|
|
|
secretIssueSubordinate.setDistCode("配发编号");
|
|
|
|
|
secretIssueSubordinate.setApplyCode("申请编号");
|
|
|
|
|
secretIssueSubordinateMapper.insertSelective(secretIssueSubordinate);
|
|
|
|
|
break;
|
|
|
|
|
case 2:
|
|
|
|
|
// 向邮箱配发
|
|
|
|
|
SecretIssueMailbox secretIssueMailbox = new SecretIssueMailbox();
|
|
|
|
|
secretIssueMailbox.setKeyDistPlatformName("密钥分发平台名称");
|
|
|
|
|
secretIssueMailbox.setKeyDistPlatformEntity("密钥分发平台实体标识");
|
|
|
|
|
secretIssueMailbox.setProductName(secretImport.getProductName());
|
|
|
|
|
secretIssueMailbox.setProductCode(secretImport.getProductNum());
|
|
|
|
|
secretIssueMailbox.setApplyType(secretImport.getCarrierType());
|
|
|
|
|
secretIssueMailbox.setApplyModel(secretImport.getApplyModel());
|
|
|
|
|
secretIssueMailbox.setTotal(secretImport.getNumber());
|
|
|
|
|
secretIssueMailbox.setDownloadNum(35);
|
|
|
|
|
secretIssueMailbox.setEmpower("授权");
|
|
|
|
|
secretIssueMailbox.setPriority("优先级");
|
|
|
|
|
secretIssueMailbox.setOverTime(LocalDateTime.now());
|
|
|
|
|
secretIssueMailbox.setNotificationFlag("通知标志");
|
|
|
|
|
secretIssueMailbox.setDeleteFlag("删除标志");
|
|
|
|
|
secretIssueMailboxMapper.insertSelective(secretIssueMailbox);
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
// 向专用密码管理系统配发
|
|
|
|
|
SecretIssuePrivate secretIssuePrivate = new SecretIssuePrivate();
|
|
|
|
|
secretIssuePrivate.setProductName(secretImport.getProductName());
|
|
|
|
|
secretIssuePrivate.setProductCode(secretImport.getProductNum());
|
|
|
|
|
secretIssuePrivate.setIssueManagerSysName("配发管理系统名称");
|
|
|
|
|
secretIssuePrivate.setSyncStatus("已同步");
|
|
|
|
|
secretIssuePrivateMapper.insertSelective(secretIssuePrivate);
|
|
|
|
|
break;
|
|
|
|
|
case 1:
|
|
|
|
|
// 向下级配发
|
|
|
|
|
SecretIssueSubordinate secretIssueSubordinate = new SecretIssueSubordinate();
|
|
|
|
|
secretIssueSubordinate.setProductName(secretImport.getProductName());
|
|
|
|
|
secretIssueSubordinate.setProductNum(secretImport.getProductNum());
|
|
|
|
|
secretIssueSubordinate.setCarrierType(secretImport.getCarrierType());
|
|
|
|
|
secretIssueSubordinate.setApplyModel(secretImport.getApplyModel());
|
|
|
|
|
secretIssueSubordinate.setDistManagerName("配发管理系统名称");
|
|
|
|
|
secretIssueSubordinate.setDistManagerIdentifer("配发管理系统实体标识");
|
|
|
|
|
secretIssueSubordinate.setIssueNum(secretImport.getNumber());
|
|
|
|
|
secretIssueSubordinate.setIssueStatus("已配发");
|
|
|
|
|
secretIssueSubordinate.setDelNotes("删除标志");
|
|
|
|
|
secretIssueSubordinate.setSubOperateTime(LocalDateTime.now());
|
|
|
|
|
secretIssueSubordinate.setApplyManagerSysName("申请管理系统名称");
|
|
|
|
|
secretIssueSubordinate.setApplyManagerModelName("申请管理系统实体标识");
|
|
|
|
|
secretIssueSubordinate.setQuantity(secretImport.getApplyNum());
|
|
|
|
|
secretIssueSubordinate.setQuantityTime(nowAsString);
|
|
|
|
|
secretIssueSubordinate.setDistCode("配发编号");
|
|
|
|
|
secretIssueSubordinate.setApplyCode("申请编号");
|
|
|
|
|
secretIssueSubordinate.setUpdateTime(nowAsString);
|
|
|
|
|
secretIssueSubordinateMapper.insertSelective(secretIssueSubordinate);
|
|
|
|
|
break;
|
|
|
|
|
case 2:
|
|
|
|
|
// 向邮箱配发
|
|
|
|
|
SecretIssueMailbox secretIssueMailbox = new SecretIssueMailbox();
|
|
|
|
|
secretIssueMailbox.setKeyDistPlatformName("密钥分发平台名称");
|
|
|
|
|
secretIssueMailbox.setKeyDistPlatformEntity("密钥分发平台实体标识");
|
|
|
|
|
secretIssueMailbox.setProductName(secretImport.getProductName());
|
|
|
|
|
secretIssueMailbox.setProductCode(secretImport.getProductNum());
|
|
|
|
|
secretIssueMailbox.setApplyType(secretImport.getCarrierType());
|
|
|
|
|
secretIssueMailbox.setApplyModel(secretImport.getApplyModel());
|
|
|
|
|
secretIssueMailbox.setTotal(secretImport.getNumber());
|
|
|
|
|
secretIssueMailbox.setDownloadNum(35);
|
|
|
|
|
secretIssueMailbox.setEmpower("授权");
|
|
|
|
|
secretIssueMailbox.setPriority("优先级");
|
|
|
|
|
secretIssueMailbox.setOverTime(LocalDateTime.now());
|
|
|
|
|
secretIssueMailbox.setNotificationFlag("通知标志");
|
|
|
|
|
secretIssueMailbox.setDeleteFlag("删除标志");
|
|
|
|
|
secretIssueMailbox.setCreateTime(nowAsString);
|
|
|
|
|
secretIssueMailbox.setUpdateTime(nowAsString);
|
|
|
|
|
secretIssueMailboxMapper.insertSelective(secretIssueMailbox);
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
// 向专用密码管理系统配发
|
|
|
|
|
SecretIssuePrivate secretIssuePrivate = new SecretIssuePrivate();
|
|
|
|
|
secretIssuePrivate.setProductName(secretImport.getProductName());
|
|
|
|
|
secretIssuePrivate.setProductCode(secretImport.getProductNum());
|
|
|
|
|
secretIssuePrivate.setIssueManagerSysName("配发管理系统名称");
|
|
|
|
|
secretIssuePrivate.setSyncStatus("已同步");
|
|
|
|
|
secretIssuePrivate.setCreateTime(nowAsString);
|
|
|
|
|
secretIssuePrivate.setUpdateTime(nowAsString);
|
|
|
|
|
secretIssuePrivateMapper.insertSelective(secretIssuePrivate);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 密钥体载体包封 - 明文载体包封
|
|
|
|
|
*/
|
|
|
|
@ -391,20 +400,4 @@ public class SecretBodyService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|