Merge remote-tracking branch 'origin/master'

master
谭宗福 2 years ago
commit b00a14b814

@ -204,10 +204,32 @@ CREATE TABLE
`password_init` VARCHAR(255) COMMENT "初装秘钥", `password_init` VARCHAR(255) COMMENT "初装秘钥",
`algorithm_param` VARCHAR(255) COMMENT "算法参数", `algorithm_param` VARCHAR(255) COMMENT "算法参数",
`param_code` VARCHAR(255) COMMENT "参数自检码", `param_code` VARCHAR(255) COMMENT "参数自检码",
`file_name` VARCHAR(255) COMMENT "导入文件名",
`secret_data_status` VARCHAR(255) COMMENT "是否发送 已发送或未发送",
`secret_rain` VARCHAR(255) COMMENT "密钥是否销毁 已销毁 未销毁",
`secret_kill` VARCHAR(255) COMMENT "密钥是否遥毙 已遥毙 未遥毙",
`mmj_kill` VARCHAR(255) COMMENT "密钥机是否遥毙 已遥毙 未遥毙"
`secret_yaobi` VARCHAR(255) COMMENT
create_time timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', create_time timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
update_time timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间' update_time timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间'
) COMMENT '密码机初装'; ) COMMENT '密码机初装';
DROP TABLE IF EXISTS remote_file_config;
CREATE TABLE
remote_file_config (
id int NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT 'Primary Key',
`service_list` TEXT COMMENT "服务列表",
`net_param` TEXT DEFAULT NULL COMMENT "网络参数",
`safe_strategy` TEXT DEFAULT NULL COMMENT "安全策略",
`manager_strategy` TEXT DEFAULT COMMENT "管理配置",
`vpn_strategy` TEXT DEFAULT COMMENT "vpn策略",
create_time timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
update_time timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间'
) COMMENT '远程文件配置';
DROP TABLE IF EXISTS secret_format; DROP TABLE IF EXISTS secret_format;
CREATE TABLE CREATE TABLE
@ -220,6 +242,7 @@ CREATE TABLE
`system_name` VARCHAR(255) COMMENT "管理系统名称", `system_name` VARCHAR(255) COMMENT "管理系统名称",
`shstem_id` VARCHAR(255) COMMENT "管理系统标识", `shstem_id` VARCHAR(255) COMMENT "管理系统标识",
`publisher` VARCHAR(255) COMMENT "发布状态", `publisher` VARCHAR(255) COMMENT "发布状态",
`publisher_type` VARCHAR(255) COMMENT "发布方式",
`current_status` VARCHAR(255) COMMENT "当前状态", `current_status` VARCHAR(255) COMMENT "当前状态",
`carrier_type` VARCHAR(255) COMMENT "载体类型", `carrier_type` VARCHAR(255) COMMENT "载体类型",
create_time timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', create_time timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
@ -231,6 +254,7 @@ DROP TABLE IF EXISTS secret_ask;
CREATE TABLE CREATE TABLE
secret_ask ( secret_ask (
id int NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT 'Primary Key', id int NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT 'Primary Key',
`apply_new_old` VARCHAR(255) COMMENT "申请新密钥体 或 申请旧密钥体"
`ask_type` VARCHAR(255) COMMENT "申请类型", `ask_type` VARCHAR(255) COMMENT "申请类型",
`product_name` VARCHAR(255) COMMENT "产品名称", `product_name` VARCHAR(255) COMMENT "产品名称",
`product_num` VARCHAR(255) COMMENT "产品编号", `product_num` VARCHAR(255) COMMENT "产品编号",
@ -252,7 +276,7 @@ CREATE TABLE
`product_name` VARCHAR(255) COMMENT "产品名称", `product_name` VARCHAR(255) COMMENT "产品名称",
`product_num` VARCHAR(255) COMMENT "产品编号", `product_num` VARCHAR(255) COMMENT "产品编号",
`carrier_type` VARCHAR(255) COMMENT "载体类型", `carrier_type` VARCHAR(255) COMMENT "载体类型",
`apply_num` VARCHAR(255) COMMENT "申请数量", `apply_num` INT(11) COMMENT "申请数量",
`apply_model` VARCHAR(255) COMMENT "载体型号", `apply_model` VARCHAR(255) COMMENT "载体型号",
`number` INT(11) COMMENT "数量", `number` INT(11) COMMENT "数量",
`source` VARCHAR(255) COMMENT "来源", `source` VARCHAR(255) COMMENT "来源",

@ -79,5 +79,4 @@ public class DeviceInitController extends BasicController{
} }

@ -0,0 +1,84 @@
package com.imitate.web.module.simulation.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.imitate.common.util.BasicController;
import com.imitate.common.util.R;
import com.imitate.web.module.simulation.service.NetGlqService;
import cn.hutool.json.JSONArray;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Api(value = "网络隔离器配置", hidden = true)
@RestController
@RequestMapping("/netGlq")
public class NetGlqController extends BasicController{
@Autowired
private NetGlqService netGlqService;
/**
* -
* @param type 1. 2. 3. 4. 5.VPN 6. 7.
* @return
*/
@ApiOperation(value = "网络隔离器配置")
@RequestMapping(path = "getGlqInfo")
public R getGlqInfo(Integer type){
log.info("[start]获取隔离器配置信息,type:{}",type);
JSONArray jsonArray = netGlqService.glqInfo(type);
log.info("[end]获取隔离器配置信息,return:{}",jsonArray);
return R.ok().setData(jsonArray);
}
/**
* - -
* @param type 1 2 3 4 5 vpn
* @param jsonStr json
* @return
*/
@ApiOperation(value = "远程文件配置")
@RequestMapping(path = "remoteFileConfiSendData")
public R remoteFileConfiSendData(Integer type,String jsonStr){
log.info("[start]远程文件配置,type:{},jsonStr:{}",type,jsonStr);
netGlqService.sendData(type,jsonStr);
log.info("[end]远程文件配置,return:");
return R.ok();
}
/**
*
* @param type
* @return
*/
@ApiOperation(value = "清空信息")
@RequestMapping(path = "remoteFileConfigClean")
public R remoteFileConfigClean(Integer type){
log.info("[start]远程文件配置,type:{}",type);
netGlqService.cleanRemoteConfig(type);
log.info("[end]远程文件配置");
return R.ok();
}
}

@ -0,0 +1,63 @@
package com.imitate.web.module.simulation.controller;
import javax.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.imitate.common.util.BasicController;
import com.imitate.common.util.R;
import com.imitate.web.module.simulation.service.ParameterSetService;
import com.imitate.web.params.DataTerminalParam;
import com.imitate.web.params.ParameterSetParam;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Api(value = "二期参数设置", hidden = true)
@RestController
@RequestMapping("/parameterSet")
public class ParameterSetController extends BasicController{
@Autowired
private ParameterSetService parameterSetService;
/**
*
* @return
*/
@ApiOperation(value = "参数设置", httpMethod = "POST")
@RequestMapping(path = "setParameter", method = RequestMethod.POST)
public R setParameter(@RequestBody @Valid ParameterSetParam param, BindingResult bindingResult){
log.info("[start]参数设置,param:{}",param);
if(bindingResult.hasErrors()){
return actionResultWithBindingResult(ErrorCodeEnum.BIND_EXCEPTION,bindingResult);
}
if (parameterSetService.updateOrAdd(param.getParameterSet())>0){
return R.ok().setData(dataTerminalParam.getDataTerminal());
}else {
return R.error();
}
log.info("[end]参数设置,return");
return R.ok();
}
}

@ -20,7 +20,6 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.util.*; import java.util.*;
/** /**

@ -0,0 +1,130 @@
package com.imitate.web.module.simulation.controller;
import javax.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.github.pagehelper.PageInfo;
import com.imitate.common.enums.ErrorCodeEnum;
import com.imitate.common.util.BasicController;
import com.imitate.common.util.R;
import com.imitate.web.module.simulation.service.SecretFormatService;
import com.imitate.web.params.SecretAskParam;
import com.imitate.web.params.SecretFormatParam;
import com.imitate.web.params.SecretImportParam;
import com.imitate.web.persistence.beans.SecretFormat;
import com.imitate.web.persistence.beans.SecretImport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Api(value = "秘钥体管理", hidden = true)
@RestController
@RequestMapping("/secretFormat")
public class SecretFormatController extends BasicController{
@Autowired
private SecretFormatService secretFormatService;
@ApiOperation(value = "密钥体格式导入")
@RequestMapping(path = "secretFormatImport")
public R secretFormatImport(@RequestParam("file") MultipartFile file){
log.info("[start]密钥体格式导入");
String fileName = file.getOriginalFilename();
secretFormatService.importSecretFormat(fileName);
log.info("[end]密钥体格式导入,return:");
return R.ok();
}
@ApiOperation(value = "密钥体发布")
@RequestMapping(path = "secretPublisher")
public R secretPublisher(Integer id){
log.info("[start]密钥体发布,id:{}",id);
secretFormatService.publisherSecret(id);
log.info("[end]密钥体发布");
return R.ok();
}
@ApiOperation(value = "密钥提格式列表")
@RequestMapping(path = "secretFormatList",method = RequestMethod.GET)
public R secretFormatList(@RequestBody @Valid SecretFormatParam param, BindingResult bindingResult){
if (bindingResult.hasErrors()) {
return actionResultWithBindingResult(ErrorCodeEnum.BIND_EXCEPTION, bindingResult);
}
log.info("[start]密钥提格式列表,param:{}",param);
PageInfo<SecretFormat> pages = secretFormatService.pageList(param);
log.info("[end]密钥提格式列表,pages:{}",pages);
return R.ok().setData(pages);
}
@ApiOperation(value = "密钥体申请")
@RequestMapping(path = "addSecretAsk",method = RequestMethod.POST)
public R addSecretAsk(@RequestBody @Valid SecretAskParam param, BindingResult bindingResult){
if(bindingResult.hasErrors()){
return actionResultWithBindingResult(ErrorCodeEnum.BIND_EXCEPTION, bindingResult);
}
log.info("[start]钥体申请,param:{}",param);
secretFormatService.addSecretAsk(param);
log.info("[end]密钥体申请");
return R.ok();
}
@ApiOperation(value = "密钥体导入")
@RequestMapping(path = "secretBodyImport")
public R secretBodyImport(String productNumber,@RequestParam("file") MultipartFile file){
log.info("[start] 密钥体导入,productNumber:{}, file:{}",productNumber,file);
String fileName = file.getOriginalFilename();
secretFormatService.importSecretBody(productNumber,fileName);
log.info("[end] 密钥体导入");
return R.ok();
}
@ApiOperation(value = "密钥体列表")
@RequestMapping(path = "secretList",method = RequestMethod.GET)
public R secretList(@RequestBody @Valid SecretImportParam param, BindingResult bindingResult){
if (bindingResult.hasErrors()) {
return actionResultWithBindingResult(ErrorCodeEnum.BIND_EXCEPTION, bindingResult);
}
log.info("[start]密钥提列表,param:{}",param);
PageInfo<SecretImport> pages = secretFormatService.secretList(param);
log.info("[end]密钥提列表,pages:{}",pages);
return R.ok().setData(pages);
}
@ApiOperation(value = "修改密钥体状态 密钥体删除 还原 清理")
@RequestMapping(path = "updateSecret",method = RequestMethod.POST)
public R updateSecret(Integer type,Integer id){
log.info("[start]修改密钥体状态,type:{}, id:{}", type, id);
secretFormatService.updateStatus(type, id);
log.info("[end]修改密钥体状态");
return R.ok();
}
}

@ -0,0 +1,118 @@
package com.imitate.web.module.simulation.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.imitate.common.util.R;
import com.imitate.web.module.simulation.service.SecretInitService;
import com.imitate.web.persistence.beans.SecretInit;
import ch.qos.logback.classic.BasicConfigurator;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Api(value = "二期密码机初装", hidden = true)
@RestController
@RequestMapping("/secretInit")
public class SecretInitController extends BasicConfigurator{
@Autowired
private SecretInitService secretInitService;
/**
* -
* @return
*/
@ApiOperation(value = "加载数据", httpMethod = "POST")
@RequestMapping(path = "loadData", method = RequestMethod.POST)
public R loadData(@RequestParam("file") MultipartFile file){
log.info("[start]加载数据");
// 获取上传文件名
String fileName = file.getOriginalFilename();
log.info("上传文件名: {}", fileName);
SecretInit secretInit = secretInitService.dataLoadding(fileName);
log.info("[end]加载数据,return:{}", secretInit);
return R.ok();
}
@ApiOperation(value = "发送数据", httpMethod = "POST")
@RequestMapping(path = "sendData", method = RequestMethod.POST)
public R sendData(){
log.info("[start]发送数据");
secretInitService.sendData();
log.info("[end]发送数据");
return R.ok();
}
/**
*
*/
@ApiOperation(value = "清空信息")
@RequestMapping(path = "cleanInfo", method = RequestMethod.GET)
public R cleanInfo(){
log.info("[start]清空信息");
secretInitService.clean();
log.info("[end]清空信息");
return R.ok();
}
/**
*
* @param type 1 2 3
* @return
*/
@ApiOperation(value = "发送命令")
@RequestMapping(path = "sendCommand", method = RequestMethod.GET)
public R sendCommand(Integer type){
log.info("[start]发送命令,type:{}",type);
secretInitService.secretSendCmd(type);
log.info("[end]发送命令");
return R.ok();
}
/**
*
* @return
*/
@ApiOperation(value = "状态查询")
@RequestMapping(path = "getStatus",method = RequestMethod.GET)
public R getStatus(){
log.info("[start]状态查询");
SecretInit secretInit = secretInitService.secretInfo();
log.info("[end]状态查询,return:{}",secretInit);
return R.ok().setData(secretInit);
}
}

@ -1,11 +1,11 @@
package com.imitate.web.module.simulation.service; package com.imitate.web.module.simulation.service;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.imitate.web.persistence.beans.Device;
import com.imitate.web.persistence.beans.DeviceInit; import com.imitate.web.persistence.beans.DeviceInit;
import com.imitate.web.persistence.mapper.DeviceInitMapper; import com.imitate.web.persistence.mapper.DeviceInitMapper;
@ -25,6 +25,7 @@ public class DeviceInitService {
public DeviceInit initDevice(String fileName){ public DeviceInit initDevice(String fileName){
//根据导入不同胡压缩包 最终生产对应内容 //根据导入不同胡压缩包 最终生产对应内容
DeviceInit deviceInit = new DeviceInit(); DeviceInit deviceInit = new DeviceInit();
LocalDateTime now = LocalDateTime.now();
deviceInit.setSecret("aGVsbG93b3JsZAo="); deviceInit.setSecret("aGVsbG93b3JsZAo=");
deviceInit.setAlgorithm("Y2Fuc2h1Cg=="); deviceInit.setAlgorithm("Y2Fuc2h1Cg==");
deviceInit.setSelfInspectionCode("emlqaWFubWEK");; deviceInit.setSelfInspectionCode("emlqaWFubWEK");;
@ -35,10 +36,12 @@ public class DeviceInitService {
deviceInit.setFirmwareVersion("v2"); deviceInit.setFirmwareVersion("v2");
deviceInit.setDeviceStatus("已开机"); deviceInit.setDeviceStatus("已开机");
deviceInit.setDeviceName(fileName); deviceInit.setDeviceName(fileName);
deviceInit.setCreateTime(now);
deviceInit.setUpdateTime(now);
deviceInitMapper.selectCount(deviceInit); deviceInitMapper.selectCount(deviceInit);
Example example = new Example(Device.class); Example example = new Example(DeviceInit.class);
example.createCriteria().andEqualTo("fileName",fileName); example.createCriteria().andEqualTo("fileName",fileName);
List<DeviceInit> list = deviceInitMapper.selectByExample(example); List<DeviceInit> list = deviceInitMapper.selectByExample(example);
if(list.size() > 0){ if(list.size() > 0){
@ -57,8 +60,10 @@ public class DeviceInitService {
public int installDevice(){ public int installDevice(){
List<DeviceInit> list = deviceInitMapper.selectAll(); List<DeviceInit> list = deviceInitMapper.selectAll();
if(list.size() > 0){ if(list.size() > 0){
LocalDateTime now = LocalDateTime.now();
DeviceInit deviceInit = list.get(0); DeviceInit deviceInit = list.get(0);
deviceInit.setDataInstalled("已安装"); deviceInit.setDataInstalled("已安装");
deviceInit.setUpdateTime(now);
return deviceInitMapper.updateByPrimaryKeySelective(deviceInit); return deviceInitMapper.updateByPrimaryKeySelective(deviceInit);
} }
return 0; return 0;

@ -0,0 +1,141 @@
package com.imitate.web.module.simulation.service;
import java.time.LocalDateTime;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.imitate.web.persistence.beans.RemoteFileConfig;
import com.imitate.web.persistence.mapper.RemoteFileConfigMapper;
import cn.hutool.json.JSONArray;
@Service
public class NetGlqService {
@Autowired
private RemoteFileConfigMapper remoteFileConfigMapper;
/**
*
* @param type
* @return
*/
public JSONArray glqInfo(Integer type) {
switch (type) {
//服务器列表信息
case 1:
break;
//网络配置信息
case 2:
break;
//安全策略信息
case 3:
break;
//管理配置信息
case 4:
break;
//VPN策略信息
case 5:
break;
//防火墙策略信息
case 6:
break;
//日志记录信息
case 7:
break;
default:
break;
}
return null;
}
/**
* -
* @param type
* @param jsonStr
*/
public void sendData(Integer type, String jsonStr) {
List<RemoteFileConfig> list = remoteFileConfigMapper.selectAll();
RemoteFileConfig remoteFileConfig = new RemoteFileConfig();
if(list.size() > 0){
remoteFileConfig = list.get(0);
}else{
remoteFileConfig.setId(1L);
}
switch (type) {
//服务器列表信息
case 1:
remoteFileConfig.setServiceList(jsonStr);
break;
//网络配置信息
case 2:
remoteFileConfig.setNetParam(jsonStr);
break;
//安全策略信息
case 3:
remoteFileConfig.setSafeStrategy(jsonStr);
break;
//管理配置信息
case 4:
remoteFileConfig.setManagerStrategy(jsonStr);
break;
//VPN策略信息
case 5:
remoteFileConfig.setVpnStrategy(jsonStr);
break;
default:
remoteFileConfig.setUpdateTime(LocalDateTime.now());
remoteFileConfigMapper.updateByPrimaryKeySelective(remoteFileConfig);
break;
}
}
/**
*
* @param type
*/
public void cleanRemoteConfig(Integer type) {
List<RemoteFileConfig> list = remoteFileConfigMapper.selectAll();
RemoteFileConfig remoteFileConfig = new RemoteFileConfig();
if(list.size() > 0){
remoteFileConfig = list.get(0);
switch (type) {
//服务器列表信息
case 1:
remoteFileConfig.setServiceList(null);
break;
//网络配置信息
case 2:
remoteFileConfig.setNetParam(null);
break;
//安全策略信息
case 3:
remoteFileConfig.setSafeStrategy(null);
break;
//管理配置信息
case 4:
remoteFileConfig.setManagerStrategy(null);
break;
//VPN策略信息
case 5:
remoteFileConfig.setVpnStrategy(null);
break;
default:
remoteFileConfig.setUpdateTime(LocalDateTime.now());
remoteFileConfigMapper.updateByPrimaryKeySelective(remoteFileConfig);
break;
}
}
}
}

@ -0,0 +1,40 @@
package com.imitate.web.module.simulation.service;
import java.time.LocalDateTime;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.aliyuncs.utils.StringUtils;
import com.imitate.web.persistence.beans.ParameterSet;
import com.imitate.web.persistence.mapper.ParameterSetMapper;
import cn.hutool.core.date.DateUtil;
@Service
public class ParameterSetService {
@Autowired
private ParameterSetMapper parameterSetMapper;
public ParameterSet updateOrAdd(ParameterSet parameterSet){
LocalDateTime now = LocalDateTime.now();
if (null == parameterSet.getId()){
if(StringUtils.isEmpty(parameterSet.getIpAddress())){
parameterSet.setIpAddress("114.114.114.114");
}
parameterSet.setCreateTime(now);
return parameterSetMapper.insertSelective(dataTerminal);
}else {
parameterSet.setUpdateTime(now);
return parameterSetMapper.updateByPrimaryKeySelective(parameterSet);
}
}
}

@ -0,0 +1,190 @@
package com.imitate.web.module.simulation.service;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import javax.validation.Valid;
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.SecretAskParam;
import com.imitate.web.params.SecretFormatParam;
import com.imitate.web.params.SecretImportParam;
import com.imitate.web.persistence.beans.SecretFormat;
import com.imitate.web.persistence.beans.SecretImport;
import com.imitate.web.persistence.mapper.SecretAskMapper;
import com.imitate.web.persistence.mapper.SecretFormatMapper;
import com.imitate.web.persistence.mapper.SecretImportMapper;
@Service
public class SecretFormatService {
@Autowired
private SecretFormatMapper secretFormatMapper;
@Autowired
private SecretAskMapper secretAskMapper;
@Autowired
private SecretImportMapper secretImportMapper;
/**
*
*/
public void importSecretFormat(String fileName) {
//1 . 每次导入先清空表
secretFormatMapper.deleteAll();
//2. 判断导入文件的正确性,模拟导入文件
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","管理系统标识","产品名称","未发布","光盘","在线向下级管理系统"));
secretFormatMapper.insertList(list);
}
}
/**
*
* @param id
*/
public void publisherSecret(Integer id){
SecretFormat secretFormat = secretFormatMapper.selectByPrimaryKey(id);
if(secretFormat != null){
secretFormat.setCurrentStatus("已发布");
secretFormatMapper.updateByPrimaryKeySelective(secretFormat);
}
}
/**
*
*/
public PageInfo<SecretFormat> pageList(SecretFormatParam param) {
PageHelper.startPage(param.getPageNumber(), param.getPageSize());
List<SecretFormat> list = secretFormatMapper.selectAllByParam(param);
return new PageInfo<>(list);
}
/**
*
* @param param
*/
public void addSecretAsk(SecretAskParam param){
secretAskMapper.insertSelective(param.getSecretAsk());
}
/**
*
* @param productNumber
* @param fileName
*/
public void importSecretBody(String productNumber, String fileName) {
// 1 每次导入清空历史数据
secretImportMapper.deleteAll();
// 2 判断导入文件的正确性,模拟导入文件
if(fileName.equals("aaaa.zip")){
List<SecretImport> list = new ArrayList<>();
SecretImport secretImport = new SecretImport();
secretImport.setProductName("AAA111");
secretImport.setProductNum("8549电");
secretImport.setCarrierType("移动盘");
secretImport.setApplyNum(33);
secretImport.setApplyModel("三寸");
secretImport.setNumber(99);
secretImport.setSource("离线来自111系统");
secretImport.setCurrentStatus("未使用");
secretImport.setIsClean(0);
secretImport.setImportTime(LocalDateTime.now());
SecretImport secretImport1 = new SecretImport();
secretImport1.setProductName("AAA111");
secretImport1.setProductNum("8549电");
secretImport1.setCarrierType("软盘");
secretImport1.setApplyNum(33);
secretImport1.setApplyModel("三寸");
secretImport1.setNumber(99);
secretImport1.setSource("离线来自111系统");
secretImport1.setCurrentStatus("使用");
secretImport1.setIsClean(0);
secretImport1.setImportTime(LocalDateTime.now());
SecretImport secretImport2 = new SecretImport();
secretImport2.setProductName("AAA111");
secretImport2.setProductNum("8549电");
secretImport2.setCarrierType("移动盘");
secretImport2.setApplyNum(33);
secretImport2.setApplyModel("三寸");
secretImport2.setNumber(99);
secretImport2.setSource("离线来自111系统");
secretImport2.setCurrentStatus("未使用");
secretImport2.setIsClean(0);
secretImport2.setImportTime(LocalDateTime.now());
list.add(secretImport);
list.add(secretImport1);
list.add(secretImport2);
}
}
/**
*
* @param param
* @return
*/
public PageInfo<SecretImport> secretList(SecretImportParam param) {
PageHelper.startPage(param.getPageNumber(), param.getPageSize());
List<SecretImport> list = secretImportMapper.selectAllByParam(param);
return new PageInfo<>(list);
}
/**
*
* @param type 1. 2. 3.
* @param id
*/
public void updateStatus(Integer type,Integer id){
SecretImport secretImport;
switch (type) {
case 1:
secretImportMapper.deleteByExample(id);
break;
case 2:
secretImport = secretImportMapper.selectByPrimaryKey(id);
if(secretImport != null){
secretImport.setIsClean(0);
secretImportMapper.updateByPrimaryKeySelective(secretImport);
}
break;
case 3:
secretImport = secretImportMapper.selectByPrimaryKey(id);
if(secretImport != null){
secretImport.setIsClean(1);
secretImportMapper.updateByPrimaryKeySelective(secretImport);
}
break;
default:
break;
}
}
}

@ -0,0 +1,124 @@
package com.imitate.web.module.simulation.service;
import java.time.LocalDateTime;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.imitate.web.persistence.beans.Device;
import com.imitate.web.persistence.beans.DeviceInit;
import com.imitate.web.persistence.beans.SecretInit;
import com.imitate.web.persistence.mapper.SecretInitMapper;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import tk.mybatis.mapper.entity.Example;
@Service
public class SecretInitService {
@Autowired
private SecretInitMapper secretInitMapper;
/**
*
* @param fileName
* @return
*/
public SecretInit dataLoadding(String fileName){
// 根据加载不同的文件 生成密码机初装数据
SecretInit secretInit = new SecretInit();
LocalDateTime now = LocalDateTime.now();
secretInit.setPasswordInit("aGVsbG93b3JsZAo=");
secretInit.setAlgorithmParam("Y2Fuc2h1Cg==");
secretInit.setParamCode("emlqaWFubWEK");
secretInit.setSecretDataStatus("未发送");
secretInit.setSecretRain("未销毁");
secretInit.setSecretKill("未遥毙");
secretInit.setMmjKill("未遥毙");
secretInit.setCreateTime(now);
secretInit.setUpdateTime(now);
secretInitMapper.selectCount(secretInit);
Example example = new Example(SecretInit.class);
example.createCriteria().andEqualTo("fileName",fileName);
List<SecretInit> list = secretInitMapper.selectByExample(example);
if(list.size() > 0){
secretInit.setId(list.get(0).getId());
secretInitMapper.updateByPrimaryKeySelective(deviceInit);
}else{
secretInitMapper.insertSelective(deviceInit);
}
return secretInit;
}
/**
*
*/
public void sendData(){
Example example = new Example(SecretInit.class);
example.createCriteria().andEqualTo("fileName",fileName);
List<SecretInit> list = secretInitMapper.selectByExample(example);
if(list.size() > 0){
SecretInit secretInit = list.get(0);
secretInit.setSecretDataStatus("已发送");
secretInit.setUpdateTime(LocalDateTime.now());
secretInitMapper.updateByPrimaryKeySelective(secretInit);
}
}
/**
*
*/
public void clean(){
secretInitMapper.deleteAll();
}
/**
* 1 2 3
*/
public SecretInit secretSendCmd(Integer type){
SecretInit secretInit = secretInitMapper.selectAll().get(0);
switch (type) {
case 1:
secretInit.setSecretRain("已销毁");
break;
case 2:
secretInit.setSecretKill("已遥毙");
break;
case 3:
secretInit.setMmjKill("已遥毙")
default:
break;
}
secretInitMapper.updateByPrimaryKeySelective(secretInit);
return secretInit;
}
/**
*
* @return
*/
public SecretInit secretInfo(){
return secretInitMapper.selectAll().get(0);
}
}

@ -0,0 +1,28 @@
package com.imitate.web.params;
import java.io.Serializable;
import javax.validation.Valid;
import com.imitate.common.util.BasePageCondition;
import com.imitate.web.persistence.beans.ParameterSet;
import lombok.Data;
import lombok.experimental.Delegate;
@Data
public class ParameterSetParam extends BasePageCondition implements Serializable{
@Valid
@Delegate
private ParameterSet parameterSet;
{
parameterSet = new ParameterSet();
}
}

@ -0,0 +1,21 @@
package com.imitate.web.params;
import java.io.Serializable;
import com.imitate.common.util.BasePageCondition;
import com.imitate.web.persistence.beans.SecretAsk;
import lombok.Data;
@Data
public class SecretAskParam extends BasePageCondition implements Serializable{
private SecretAsk secretAsk;
{
this.secretAsk = new SecretAsk();
}
}

@ -0,0 +1,26 @@
package com.imitate.web.params;
import java.io.Serializable;
import com.imitate.common.util.BasePageCondition;
import com.imitate.web.persistence.beans.SecretFormat;
import lombok.Data;
@Data
public class SecretFormatParam extends BasePageCondition implements Serializable{
private SecretFormat secretFormat;
{
this.secretFormat = new SecretFormat();
}
}

@ -0,0 +1,20 @@
package com.imitate.web.params;
import java.io.Serializable;
import com.imitate.common.util.BasePageCondition;
import com.imitate.web.persistence.beans.SecretImport;
import lombok.Data;
@Data
public class SecretImportParam extends BasePageCondition implements Serializable{
private SecretImport secretImport;
{
this.secretImport = new SecretImport();
}
}

@ -0,0 +1,19 @@
package com.imitate.web.params;
import com.imitate.web.persistence.beans.SecretInit;
import lombok.Data;
@Data
public class SecretInitParam extends BasePageCondition implements Serializable{
@Valid
@Delegate
private SecretInit secretInit;;
{
secretInit = new SecretInit();
}
}

@ -19,8 +19,8 @@ import lombok.EqualsAndHashCode;
@Table(name = "algorithm_config") @Table(name = "algorithm_config")
public class AlgorithmConfig extends AbstractDO { public class AlgorithmConfig extends AbstractDO {
@NotNull(message = "对应算法id不能为空")
@Column(name = "algorithm_id") @Column(name = "algorithm_id")
@NotBlank(message = "对应算法id不能为空")
private Long algorithmId; private Long algorithmId;
@NotNull(message = "设备id不能为空") @NotNull(message = "设备id不能为空")

@ -1,6 +1,8 @@
package com.imitate.web.persistence.beans; package com.imitate.web.persistence.beans;
import javax.persistence.Column;
import javax.persistence.Table; import javax.persistence.Table;
import javax.validation.constraints.NotBlank;
import com.imitate.common.util.AbstractDO; import com.imitate.common.util.AbstractDO;
@ -12,5 +14,8 @@ import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@Table(name = "parameter_set") @Table(name = "parameter_set")
public class ParameterSet extends AbstractDO { public class ParameterSet extends AbstractDO {
@NotBlank(message = "IP地址不能为空")
@Column(name = "ip_address")
private String ipAddress; private String ipAddress;
} }

@ -0,0 +1,35 @@
package com.imitate.web.persistence.beans;
import javax.persistence.Column;
import javax.persistence.Table;
import com.imitate.common.util.AbstractDO;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
@Table(name = "remote_file_config")
public class RemoteFileConfig extends AbstractDO{
@Column(name = "service_list")
private String serviceList;
@Column(name = "net_param")
private String netParam;
@Column(name = "safe_strategy")
private String safeStrategy;
@Column(name = "manager_strategy")
private String managerStrategy;
@Column(name = "vpn_strategy")
private String vpnStrategy;
}

@ -3,7 +3,9 @@ package com.imitate.web.persistence.beans;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Table; import javax.persistence.Table;
import javax.validation.constraints.NotBlank;
import com.imitate.common.util.AbstractDO; import com.imitate.common.util.AbstractDO;
@ -16,13 +18,26 @@ import lombok.EqualsAndHashCode;
@Table(name = "secret_ask") @Table(name = "secret_ask")
public class SecretAsk extends AbstractDO { public class SecretAsk extends AbstractDO {
@NotBlank(message = "申请新旧密钥体类型不能为空")
@Column(name = "apply_new_old")
private String applyNewOld;
@NotBlank(message = "申请类型不能为空")
@Column(name = "ask_type")
private String askType; private String askType;
@NotBlank(message = "产品名称不能为空")
@Column(name = "product_name")
private String productName; private String productName;
@NotBlank(message = "产品编号不能为空")
@Column(name = "product_num")
private String productNum; private String productNum;
private String applyNum; @NotBlank(message = "申请数量不能为空")
@Column(name = "apply_num")
private String apply_num;
private Date applyTime; private Date applyTime;

@ -1,12 +1,7 @@
package com.imitate.web.persistence.beans; package com.imitate.web.persistence.beans;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Table; import javax.persistence.Table;
import com.imitate.common.util.AbstractDO; import com.imitate.common.util.AbstractDO;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -33,4 +28,30 @@ public class SecretFormat extends AbstractDO {
private String currentStatus; private String currentStatus;
private String carrierType; private String carrierType;
private String publisherType;
public SecretFormat(){}
public SecretFormat(String productName, String carrierName, String carrierNumber, String managerFilename,
String systemName, String shstemId, String publisher, String currentStatus, String carrierType,String publisherType) {
this.productName = productName;
this.carrierName = carrierName;
this.carrierNumber = carrierNumber;
this.managerFilename = managerFilename;
this.systemName = systemName;
this.shstemId = shstemId;
this.publisher = publisher;
this.currentStatus = currentStatus;
this.carrierType = carrierType;
this.publisherType = publisherType;
}
} }

@ -1,5 +1,7 @@
package com.imitate.web.persistence.beans; package com.imitate.web.persistence.beans;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
import javax.persistence.Table; import javax.persistence.Table;
@ -20,7 +22,7 @@ public class SecretImport extends AbstractDO {
private String carrierType; private String carrierType;
private String applyNum; private Integer applyNum;
private String applyModel; private String applyModel;
@ -32,5 +34,9 @@ public class SecretImport extends AbstractDO {
private Integer isClean; private Integer isClean;
private Date importTime; private LocalDateTime importTime;
public SecretImport(){}
} }

@ -1,8 +1,5 @@
package com.imitate.web.persistence.beans; package com.imitate.web.persistence.beans;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Table; import javax.persistence.Table;
import com.imitate.common.util.AbstractDO; import com.imitate.common.util.AbstractDO;
@ -22,4 +19,14 @@ public class SecretInit extends AbstractDO {
private String paramCode; private String paramCode;
private String fileName;
private String secretDataStatus;
private String secretRain;
private String secretKill;
private String mmjKill;
} }

@ -0,0 +1,13 @@
package com.imitate.web.persistence.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import com.imitate.common.util.BaseMapper;
import com.imitate.web.persistence.beans.RemoteFileConfig;
@Mapper
@Repository
public interface RemoteFileConfigMapper extends BaseMapper<RemoteFileConfig>{
}

@ -1,6 +1,7 @@
package com.imitate.web.persistence.mapper; package com.imitate.web.persistence.mapper;
import com.imitate.common.util.BaseMapper; import com.imitate.common.util.BaseMapper;
import com.imitate.web.params.SecretFormatParam;
import com.imitate.web.persistence.beans.SecretFormat; import com.imitate.web.persistence.beans.SecretFormat;
import java.util.List; import java.util.List;
@ -12,4 +13,8 @@ import org.springframework.stereotype.Repository;
@Repository @Repository
public interface SecretFormatMapper extends BaseMapper<SecretFormat>{ public interface SecretFormatMapper extends BaseMapper<SecretFormat>{
void deleteAll();
List<SecretFormat> selectAllByParam(SecretFormatParam param);
} }

@ -1,7 +1,9 @@
package com.imitate.web.persistence.mapper; package com.imitate.web.persistence.mapper;
import com.imitate.common.util.BaseMapper; import com.imitate.common.util.BaseMapper;
import com.imitate.web.params.SecretImportParam;
import com.imitate.web.persistence.beans.SecretImport; import com.imitate.web.persistence.beans.SecretImport;
import java.util.List; import java.util.List;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -11,4 +13,8 @@ import org.springframework.stereotype.Repository;
@Repository @Repository
public interface SecretImportMapper extends BaseMapper<SecretImport>{ public interface SecretImportMapper extends BaseMapper<SecretImport>{
void deleteAll();
List<SecretImport> selectAllByParam(SecretImportParam param);
} }

@ -2,7 +2,6 @@ package com.imitate.web.persistence.mapper;
import com.imitate.common.util.BaseMapper; import com.imitate.common.util.BaseMapper;
import com.imitate.web.persistence.beans.SecretInit; import com.imitate.web.persistence.beans.SecretInit;
import java.util.List;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
@ -12,4 +11,7 @@ import org.springframework.stereotype.Repository;
@Repository @Repository
public interface SecretInitMapper extends BaseMapper<SecretInit>{ public interface SecretInitMapper extends BaseMapper<SecretInit>{
int deleteAll();
} }

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.imitate.web.persistence.mapper.RemoteFileConfigMapper" >
<resultMap id="BaseResultMap" type="com.imitate.web.persistence.beans.RemoteFileConfig" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="service_list" property="serviceList" jdbcType="TEXT" />
<result column="net_param" property="netParam" jdbcType="TEXT" />
<result column="safe_strategy" property="safeStrategy" jdbcType="TEXT" />
<result column="manager_strategy" property="mangerStrategy" jdbcType="TEXT" />
<result column="vpn_strategy" property="vpnStrategy" jdbcType="TEXT" />
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
</resultMap>
</mapper>

@ -3,6 +3,7 @@
<mapper namespace="com.imitate.web.persistence.mapper.SecretAskMapper" > <mapper namespace="com.imitate.web.persistence.mapper.SecretAskMapper" >
<resultMap id="BaseResultMap" type="com.imitate.web.persistence.beans.SecretAsk" > <resultMap id="BaseResultMap" type="com.imitate.web.persistence.beans.SecretAsk" >
<id column="id" property="id" jdbcType="INTEGER" /> <id column="id" property="id" jdbcType="INTEGER" />
<result column="apply_new_old" property="applyNewOld" jdbcType="VARCHAR" />
<result column="ask_type" property="askType" jdbcType="VARCHAR" /> <result column="ask_type" property="askType" jdbcType="VARCHAR" />
<result column="product_name" property="productName" jdbcType="VARCHAR" /> <result column="product_name" property="productName" jdbcType="VARCHAR" />
<result column="product_num" property="productNum" jdbcType="VARCHAR" /> <result column="product_num" property="productNum" jdbcType="VARCHAR" />

@ -12,8 +12,39 @@
<result column="publisher" property="publisher" jdbcType="VARCHAR" /> <result column="publisher" property="publisher" jdbcType="VARCHAR" />
<result column="current_status" property="currentStatus" jdbcType="VARCHAR" /> <result column="current_status" property="currentStatus" jdbcType="VARCHAR" />
<result column="carrier_type" property="carrierType" jdbcType="VARCHAR" /> <result column="carrier_type" property="carrierType" jdbcType="VARCHAR" />
<result column="publisher_type" property="publisherType" jdbcType="VARCHAR" />
<result column="applyType" property="applyType" jdbcType="VARCHAR" />
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" /> <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP" /> <result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
</resultMap> </resultMap>
<delete id="deleteAll">
DELETE FROM secret_format
</delete>
<select id="selectAllByParam" resultMap="BaseResultMap">
SELECT
a.id, a.product_name, a.carrier_name, a.carrier_number, a.manager_filename, a.system_name, a.shstem_id, a.publisher,a.current_status,a.carrier_type,a.publisher_type,a.apply_type,a.create_time,a.update_time
FROM
secret_format a
WHERE 1=1
<if test="param.productName !=null and param.productName !=''">
AND a.product_name = #{param.productName}
</if>
<if test="param.carrierType !=null and param.carrierType !=''">
AND a.carrier_type = #{param.carrierType}
</if>
<if test="param.carrierNumber !=null and param.carrierNumber !=''">
AND a.carrier_number = #{param.carrierNumber}
</if>
<if test="param.publisherType !=null and param.publisherType !=''">
AND b.publisher_type = #{param.publisherType}
</if>
</select>
</mapper> </mapper>

@ -6,7 +6,7 @@
<result column="product_name" property="productName" jdbcType="VARCHAR" /> <result column="product_name" property="productName" jdbcType="VARCHAR" />
<result column="product_num" property="productNum" jdbcType="VARCHAR" /> <result column="product_num" property="productNum" jdbcType="VARCHAR" />
<result column="carrier_type" property="carrierType" jdbcType="VARCHAR" /> <result column="carrier_type" property="carrierType" jdbcType="VARCHAR" />
<result column="apply_num" property="applyNum" jdbcType="VARCHAR" /> <result column="apply_num" property="applyNum" jdbcType="INTEGER" />
<result column="apply_model" property="applyModel" jdbcType="VARCHAR" /> <result column="apply_model" property="applyModel" jdbcType="VARCHAR" />
<result column="number" property="number" jdbcType="INTEGER" /> <result column="number" property="number" jdbcType="INTEGER" />
<result column="source" property="source" jdbcType="VARCHAR" /> <result column="source" property="source" jdbcType="VARCHAR" />
@ -17,4 +17,32 @@
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP" /> <result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
</resultMap> </resultMap>
<delete id="deleteAll">
DELETE FROM secret_import;
</delete>
<select id="selectAllByParam" resultMap="BaseResultMap">
SELECT
a.id, a.product_name, a.product_num, a.carrier_type, a.apply_num, a.apply_model, a.number, a.source,a.current_status,a.is_clean,a.import_time,a.apply_type,a.create_time,a.update_time
FROM
secret_import a
WHERE 1=1
<if test="param.productName !=null and param.productName !=''">
AND a.product_name = #{param.productName}
</if>
<if test="param.carrierType !=null and param.carrierType !=''">
AND a.carrier_type = #{param.carrierType}
</if>
<if test="param.applyModel !=null and param.applyModel !=''">
AND a.apply_model = #{param.applyModel}
</if>
<if test="param.isClean !=null and param.isClean !=''">
AND a.is_clean = #{param.isClean}
</if>
</select>
</mapper> </mapper>

@ -6,8 +6,20 @@
<result column="password_init" property="passwordInit" jdbcType="VARCHAR" /> <result column="password_init" property="passwordInit" jdbcType="VARCHAR" />
<result column="algorithm_param" property="algorithmParam" jdbcType="VARCHAR" /> <result column="algorithm_param" property="algorithmParam" jdbcType="VARCHAR" />
<result column="param_code" property="paramCode" jdbcType="VARCHAR" /> <result column="param_code" property="paramCode" jdbcType="VARCHAR" />
<result column="file_name" property="fileName" jdbcType="VARCHAR" />
<result column="secret_data_status" property="secretDataStatus" jdbcType="VARCHAR" />
<result column="secret_rain" property="scretRain" jdbcType="VARCHAR" />
<result column="secret_kill" property="secretKill" jdbcType="VARCHAR" />
<result column="mmjKill" property="mmjKill" jdbcType="VARCHAR" />
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" /> <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP" /> <result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
</resultMap> </resultMap>
<delete id="deleteAll">
DELETE FROM secret_init
</delete>
</mapper> </mapper>
Loading…
Cancel
Save