fix:1.添加解析成功后返回文件名称逻辑2.修改生成日志条件原始库存储完成后再生成
This commit is contained in:
parent
89c5377c09
commit
25459ab06e
|
@ -134,12 +134,13 @@ public class FileSourceHandleManager{
|
|||
|
||||
@Override
|
||||
public void run() {
|
||||
StringBuilder finalFileName = new StringBuilder();
|
||||
try {
|
||||
//获取文件内容
|
||||
fileContent = FileUtils.readFileToString(spectrumFile,"UTF-8");
|
||||
//解析文件
|
||||
AbstractSpectrumHandler spectrumHandler = new SamplephdSpectrum();
|
||||
spectrumHandler.init(fileContent,spectrumServiceQuotes);
|
||||
spectrumHandler.init(fileContent,spectrumServiceQuotes,finalFileName);
|
||||
final boolean matchResult = spectrumHandler.saveEmailToLocal();
|
||||
if(matchResult){
|
||||
//开始解析
|
||||
|
@ -153,7 +154,7 @@ public class FileSourceHandleManager{
|
|||
} else {
|
||||
warning = e.getMessage();
|
||||
}
|
||||
spectrumServiceQuotes.getLogFileUtil().errorLog(spectrumFile.getName(), warning, e);
|
||||
spectrumServiceQuotes.getLogFileUtil().errorLog(finalFileName.toString(), warning, e);
|
||||
|
||||
log.error("Parsing the {} file of the filesource directory failed.The reason is {}",spectrumFile.getName(),e.getMessage());
|
||||
e.printStackTrace();
|
||||
|
|
|
@ -135,6 +135,7 @@ public class UndealHandleManager{
|
|||
|
||||
@Override
|
||||
public void run() {
|
||||
StringBuilder finalFileName = new StringBuilder();
|
||||
long currentMillis = System.currentTimeMillis();
|
||||
long createMillis = currentMillis;
|
||||
//判断redis是否包含文件名称 key
|
||||
|
@ -148,7 +149,7 @@ public class UndealHandleManager{
|
|||
final String fileContent = FileUtils.readFileToString(spectrumFile,"UTF-8");
|
||||
//解析文件
|
||||
AbstractSpectrumHandler spectrumHandler = new SamplephdSpectrum();
|
||||
spectrumHandler.init(fileContent,spectrumServiceQuotes,true);
|
||||
spectrumHandler.init(fileContent,spectrumServiceQuotes,finalFileName,true);
|
||||
final boolean matchResult = spectrumHandler.saveEmailToLocal();
|
||||
if(matchResult){
|
||||
//开始解析
|
||||
|
@ -163,7 +164,7 @@ public class UndealHandleManager{
|
|||
} else {
|
||||
warning = e.getMessage();
|
||||
}
|
||||
spectrumServiceQuotes.getLogFileUtil().errorLog(spectrumFile.getName(), warning, e);
|
||||
spectrumServiceQuotes.getLogFileUtil().errorLog(finalFileName.toString(), warning, e);
|
||||
log.error("The {} file of the undeal directory fails to be parsed again.The reason is {}",spectrumFile.getName(),e.getMessage());
|
||||
e.printStackTrace();
|
||||
}finally {
|
||||
|
|
|
@ -57,6 +57,10 @@ public abstract class AbstractS_D_Q_G_SpectrumHandler extends AbstractSpectrumHa
|
|||
* 能谱文件处理状态,默认为:未处理
|
||||
*/
|
||||
protected String status = SampleStatus.UNTREATED.getValue();
|
||||
/**
|
||||
* 原始库是否存储成功
|
||||
*/
|
||||
protected boolean isStoreSuccess = false;
|
||||
|
||||
/**
|
||||
* 前置检查
|
||||
|
@ -90,7 +94,7 @@ public abstract class AbstractS_D_Q_G_SpectrumHandler extends AbstractSpectrumHa
|
|||
@Override
|
||||
protected void parseingEmail() throws Exception {
|
||||
final EnergySpectrumStruct sourceData = EnergySpectrumHandler.getSourceData(super.spectrumFile.getAbsolutePath());
|
||||
if(Objects.isNull(sourceData)){
|
||||
if(Objects.isNull(sourceData) || StringUtils.isBlank(sourceData.data_type)){
|
||||
throw new PHD_ReadException("THE PHDFile has some blocks can't be read:"+super.spectrumFile.getAbsolutePath());
|
||||
}
|
||||
this.sourceData = sourceData;
|
||||
|
@ -180,6 +184,7 @@ public abstract class AbstractS_D_Q_G_SpectrumHandler extends AbstractSpectrumHa
|
|||
}
|
||||
//提交事务
|
||||
this.spectrumServiceQuotes.getTransactionManager().commit(transactionStatus);
|
||||
this.isStoreSuccess = true;
|
||||
}catch (Exception e){
|
||||
//回滚事务
|
||||
spectrumServiceQuotes.getTransactionManager().rollback(transactionStatus);
|
||||
|
|
|
@ -48,7 +48,10 @@ public abstract class AbstractSpectrumHandler extends AbstractChain {
|
|||
* 是否来自于undel目录
|
||||
*/
|
||||
protected boolean fromUndel = false;
|
||||
|
||||
/**
|
||||
* 返回调用方(filesource,undel,SpectrumParsingActuator)的文件名称
|
||||
*/
|
||||
protected StringBuilder returnFileName;
|
||||
/**
|
||||
* 保存当前能谱文件有哪些#开头的标签
|
||||
*/
|
||||
|
@ -57,17 +60,19 @@ public abstract class AbstractSpectrumHandler extends AbstractChain {
|
|||
/**
|
||||
* 初始化参数
|
||||
*/
|
||||
public void init(String mailContent,SpectrumServiceQuotes spectrumServiceQuotes) throws Exception{
|
||||
public void init(String mailContent,SpectrumServiceQuotes spectrumServiceQuotes,StringBuilder returnFileName) throws Exception{
|
||||
this.mailContent = mailContent;
|
||||
this.spectrumServiceQuotes = spectrumServiceQuotes;
|
||||
this.returnFileName = returnFileName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化参数
|
||||
*/
|
||||
public void init(String mailContent,SpectrumServiceQuotes spectrumServiceQuotes,boolean fromUndel) throws Exception{
|
||||
public void init(String mailContent,SpectrumServiceQuotes spectrumServiceQuotes,StringBuilder returnFileName,boolean fromUndel) throws Exception{
|
||||
this.mailContent = mailContent;
|
||||
this.spectrumServiceQuotes = spectrumServiceQuotes;
|
||||
this.returnFileName = returnFileName;
|
||||
this.fromUndel = fromUndel;
|
||||
}
|
||||
|
||||
|
@ -75,12 +80,13 @@ public abstract class AbstractSpectrumHandler extends AbstractChain {
|
|||
* 初始化参数
|
||||
*/
|
||||
protected void initNext(SpectrumServiceQuotes spectrumServiceQuotes,File spectrumFile,DataType currDataType,
|
||||
String mailContent,boolean fromUndel){
|
||||
String mailContent,boolean fromUndel,StringBuilder returnFileName){
|
||||
this.spectrumServiceQuotes = spectrumServiceQuotes;
|
||||
this.spectrumFile = spectrumFile;
|
||||
this.currDataType = currDataType;
|
||||
this.mailContent = mailContent;
|
||||
this.fromUndel = fromUndel;
|
||||
this.returnFileName = returnFileName;
|
||||
this.setChina();
|
||||
}
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ public class AlertSpectrum extends AbstractSpectrumHandler{
|
|||
protected void setChina() {
|
||||
AbstractSpectrumHandler spectrumHandler = new HealthStatusSpectrum();
|
||||
spectrumHandler.initNext(super.spectrumServiceQuotes,super.spectrumFile,
|
||||
super.currDataType,super.mailContent,super.fromUndel);
|
||||
super.currDataType,super.mailContent,super.fromUndel,super.returnFileName);
|
||||
spectrumHandler.setPrevious(this);
|
||||
super.setNext(spectrumHandler);
|
||||
}
|
||||
|
@ -73,6 +73,8 @@ public class AlertSpectrum extends AbstractSpectrumHandler{
|
|||
//若本次文件来自于undel目录,解析成功则删除
|
||||
deleteIfFromUndelFile();
|
||||
}catch (Exception e){
|
||||
//异常返回文件名称用于报错日志
|
||||
super.returnFileName.append(super.spectrumFile.getName());
|
||||
throw e;
|
||||
}finally {
|
||||
//把流程日志保存到日志目录
|
||||
|
|
|
@ -16,7 +16,7 @@ public class DetbkphdSpectrum extends AbstractS_D_Q_G_SpectrumHandler {
|
|||
protected void setChina() {
|
||||
AbstractSpectrumHandler spectrumHandler = new QcphdSpectrum();
|
||||
spectrumHandler.initNext(super.spectrumServiceQuotes,super.spectrumFile,
|
||||
super.currDataType,super.mailContent,super.fromUndel);
|
||||
super.currDataType,super.mailContent,super.fromUndel,super.returnFileName);
|
||||
spectrumHandler.setPrevious(this);
|
||||
super.setNext(spectrumHandler);
|
||||
}
|
||||
|
@ -48,6 +48,8 @@ public class DetbkphdSpectrum extends AbstractS_D_Q_G_SpectrumHandler {
|
|||
//若本次文件来自于undel目录,解析成功则删除
|
||||
deleteIfFromUndelFile();
|
||||
}catch (Exception e){
|
||||
//异常返回文件名称用于报错日志
|
||||
super.returnFileName.append(super.spectrumFile.getName());
|
||||
//修改状态为解析失败
|
||||
super.status = SampleStatus.FAIL.getValue();
|
||||
super.updateStatus();
|
||||
|
@ -56,7 +58,7 @@ public class DetbkphdSpectrum extends AbstractS_D_Q_G_SpectrumHandler {
|
|||
super.handleParseingFailFile();
|
||||
throw e;
|
||||
}finally {
|
||||
if(Objects.nonNull(this.parsingProcessLog)){
|
||||
if(Objects.nonNull(this.parsingProcessLog) && super.isStoreSuccess){
|
||||
this.parsingProcessLog.handleLog();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ public class GasbkphdSpectrum extends AbstractS_D_Q_G_SpectrumHandler {
|
|||
protected void setChina() {
|
||||
AbstractSpectrumHandler spectrumHandler = new MetSpectrum();
|
||||
spectrumHandler.initNext(super.spectrumServiceQuotes,super.spectrumFile,
|
||||
super.currDataType,super.mailContent,super.fromUndel);
|
||||
super.currDataType,super.mailContent,super.fromUndel,super.returnFileName);
|
||||
spectrumHandler.setPrevious(this);
|
||||
super.setNext(spectrumHandler);
|
||||
}
|
||||
|
@ -50,6 +50,8 @@ public class GasbkphdSpectrum extends AbstractS_D_Q_G_SpectrumHandler {
|
|||
//若本次文件来自于undel目录,解析成功则删除
|
||||
deleteIfFromUndelFile();
|
||||
}catch (Exception e){
|
||||
//异常返回文件名称用于报错日志
|
||||
super.returnFileName.append(super.spectrumFile.getName());
|
||||
//修改状态为解析失败
|
||||
super.status = SampleStatus.FAIL.getValue();
|
||||
super.updateStatus();
|
||||
|
@ -58,7 +60,7 @@ public class GasbkphdSpectrum extends AbstractS_D_Q_G_SpectrumHandler {
|
|||
super.handleParseingFailFile();
|
||||
throw e;
|
||||
}finally {
|
||||
if(Objects.nonNull(this.parsingProcessLog)){
|
||||
if(Objects.nonNull(this.parsingProcessLog) && super.isStoreSuccess){
|
||||
this.parsingProcessLog.handleLog();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -59,18 +59,24 @@ public class HealthStatusSpectrum extends AbstractSpectrumHandler{
|
|||
@Override
|
||||
public void handler() throws Exception {
|
||||
if(DataType.SOH.getType().equals(super.currDataType.getType())){
|
||||
//打印当前处理的能谱类型
|
||||
super.printCurrDataType();
|
||||
//解析邮件内容
|
||||
this.parseingEmail();
|
||||
//保存PHD文件到savefile
|
||||
super.saveFileToSavefile();
|
||||
//结构体数据入库
|
||||
this.handlerOriginalData();
|
||||
//把流程日志保存到日志目录
|
||||
this.saveLogToLogDir();
|
||||
//若本次文件来自于undel目录,解析成功则删除
|
||||
deleteIfFromUndelFile();
|
||||
try {
|
||||
//打印当前处理的能谱类型
|
||||
super.printCurrDataType();
|
||||
//解析邮件内容
|
||||
this.parseingEmail();
|
||||
//保存PHD文件到savefile
|
||||
super.saveFileToSavefile();
|
||||
//结构体数据入库
|
||||
this.handlerOriginalData();
|
||||
//把流程日志保存到日志目录
|
||||
this.saveLogToLogDir();
|
||||
//若本次文件来自于undel目录,解析成功则删除
|
||||
deleteIfFromUndelFile();
|
||||
}catch (Exception e){
|
||||
//异常返回文件名称用于报错日志
|
||||
super.returnFileName.append(super.spectrumFile.getName());
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ public class MetSpectrum extends AbstractSpectrumHandler{
|
|||
protected void setChina() {
|
||||
AbstractSpectrumHandler spectrumHandler = new AlertSpectrum();
|
||||
spectrumHandler.initNext(super.spectrumServiceQuotes,super.spectrumFile,
|
||||
super.currDataType,super.mailContent,super.fromUndel);
|
||||
super.currDataType,super.mailContent,super.fromUndel,super.returnFileName);
|
||||
spectrumHandler.setPrevious(this);
|
||||
super.setNext(spectrumHandler);
|
||||
}
|
||||
|
@ -54,18 +54,24 @@ public class MetSpectrum extends AbstractSpectrumHandler{
|
|||
@Override
|
||||
public void handler() throws Exception {
|
||||
if(DataType.MET.getType().equals(super.currDataType.getType())){
|
||||
//打印当前处理的能谱类型
|
||||
super.printCurrDataType();
|
||||
//解析邮件内容
|
||||
this.parseingEmail();
|
||||
//保存PHD文件到savefile
|
||||
super.saveFileToSavefile();
|
||||
//结构体数据入库
|
||||
this.handlerOriginalData();
|
||||
//把流程日志保存到日志目录
|
||||
this.saveLogToLogDir();
|
||||
//若本次文件来自于undel目录,解析成功则删除
|
||||
deleteIfFromUndelFile();
|
||||
try {
|
||||
//打印当前处理的能谱类型
|
||||
super.printCurrDataType();
|
||||
//解析邮件内容
|
||||
this.parseingEmail();
|
||||
//保存PHD文件到savefile
|
||||
super.saveFileToSavefile();
|
||||
//结构体数据入库
|
||||
this.handlerOriginalData();
|
||||
//把流程日志保存到日志目录
|
||||
this.saveLogToLogDir();
|
||||
//若本次文件来自于undel目录,解析成功则删除
|
||||
deleteIfFromUndelFile();
|
||||
}catch (Exception e){
|
||||
//异常返回文件名称用于报错日志
|
||||
super.returnFileName.append(super.spectrumFile.getName());
|
||||
throw e;
|
||||
}
|
||||
}else{
|
||||
super.next.handler();
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ public class QcphdSpectrum extends AbstractS_D_Q_G_SpectrumHandler {
|
|||
protected void setChina() {
|
||||
AbstractSpectrumHandler spectrumHandler = new GasbkphdSpectrum();
|
||||
spectrumHandler.initNext(super.spectrumServiceQuotes,super.spectrumFile,
|
||||
super.currDataType,super.mailContent,super.fromUndel);
|
||||
super.currDataType,super.mailContent,super.fromUndel,super.returnFileName);
|
||||
spectrumHandler.setPrevious(this);
|
||||
super.setNext(spectrumHandler);
|
||||
}
|
||||
|
@ -49,6 +49,8 @@ public class QcphdSpectrum extends AbstractS_D_Q_G_SpectrumHandler {
|
|||
//若本次文件来自于undel目录,解析成功则删除
|
||||
deleteIfFromUndelFile();
|
||||
}catch (Exception e){
|
||||
//异常返回文件名称用于报错日志
|
||||
super.returnFileName.append(super.spectrumFile.getName());
|
||||
//修改状态为解析失败
|
||||
super.status = SampleStatus.FAIL.getValue();
|
||||
super.updateStatus();
|
||||
|
@ -57,7 +59,7 @@ public class QcphdSpectrum extends AbstractS_D_Q_G_SpectrumHandler {
|
|||
super.handleParseingFailFile();
|
||||
throw e;
|
||||
}finally {
|
||||
if(Objects.nonNull(this.parsingProcessLog)){
|
||||
if(Objects.nonNull(this.parsingProcessLog) && super.isStoreSuccess){
|
||||
this.parsingProcessLog.handleLog();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ public class SamplephdSpectrum extends AbstractS_D_Q_G_SpectrumHandler {
|
|||
protected void setChina() {
|
||||
AbstractSpectrumHandler spectrumHandler = new DetbkphdSpectrum();
|
||||
spectrumHandler.initNext(super.spectrumServiceQuotes,super.spectrumFile,
|
||||
super.currDataType,super.mailContent,super.fromUndel);
|
||||
super.currDataType,super.mailContent,super.fromUndel,super.returnFileName);
|
||||
spectrumHandler.setPrevious(this);
|
||||
super.setNext(spectrumHandler);
|
||||
}
|
||||
|
@ -52,6 +52,8 @@ public class SamplephdSpectrum extends AbstractS_D_Q_G_SpectrumHandler {
|
|||
//若本次文件来自于undel目录,解析成功则删除
|
||||
deleteIfFromUndelFile();
|
||||
}catch (Exception e){
|
||||
//异常返回文件名称用于报错日志
|
||||
super.returnFileName.append(super.spectrumFile.getName());
|
||||
//修改状态为解析失败
|
||||
super.status = SampleStatus.FAIL.getValue();
|
||||
super.updateStatus();
|
||||
|
@ -60,7 +62,7 @@ public class SamplephdSpectrum extends AbstractS_D_Q_G_SpectrumHandler {
|
|||
super.handleParseingFailFile();
|
||||
throw e;
|
||||
}finally {
|
||||
if(Objects.nonNull(this.parsingProcessLog)){
|
||||
if(Objects.nonNull(this.parsingProcessLog) && super.isStoreSuccess){
|
||||
this.parsingProcessLog.handleLog();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -80,6 +80,7 @@ public class SpectrumParsingActuator implements Runnable{
|
|||
StringBuilder mailContent = null;
|
||||
String sendTime = null;
|
||||
String receiveTime = null;
|
||||
StringBuilder finalFileName = new StringBuilder();
|
||||
try {
|
||||
subject = MimeUtility.decodeText(message.getSubject());
|
||||
sendTime = DateUtils.formatDate(message.getSentDate(),"yyyy-MM-dd HH:mm:ss");
|
||||
|
@ -92,7 +93,7 @@ public class SpectrumParsingActuator implements Runnable{
|
|||
//判断是否是IMS2.0协议文件
|
||||
if(checkMailContent(mailContent,subject)){
|
||||
AbstractSpectrumHandler spectrumHandler = new SamplephdSpectrum();
|
||||
spectrumHandler.init(mailContent.toString(),spectrumServiceQuotes);
|
||||
spectrumHandler.init(mailContent.toString(),spectrumServiceQuotes,finalFileName);
|
||||
final boolean matchResult = spectrumHandler.saveEmailToLocal();
|
||||
if(matchResult){
|
||||
//保存邮件解析日志到PG数据库
|
||||
|
|
Loading…
Reference in New Issue
Block a user