From 6335a3f588c9214529ad949ed9315efddb825df2 Mon Sep 17 00:00:00 2001 From: nieziyan <nzyone@qq.com> Date: Wed, 24 Apr 2024 09:34:59 +0800 Subject: [PATCH 1/8] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E6=94=B9FTP=E4=B8=BA?= =?UTF-8?q?=E6=9C=AC=E5=9C=B0=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/GardsSampleDataServiceImpl.java | 68 +++++++++---------- 1 file changed, 32 insertions(+), 36 deletions(-) diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/GardsSampleDataServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/GardsSampleDataServiceImpl.java index 22984ab2..71e490fc 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/GardsSampleDataServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/GardsSampleDataServiceImpl.java @@ -1,8 +1,10 @@ package org.jeecg.modules.system.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.ListUtil; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.dynamic.datasource.annotation.DS; @@ -13,6 +15,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; +import com.google.common.io.Files; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.QueryRequest; import org.jeecg.common.api.vo.Result; @@ -47,9 +50,6 @@ public class GardsSampleDataServiceImpl extends ServiceImpl<GardsSampleDataMappe @Autowired private RedisUtil redisUtil; - @Autowired - private FTPUtil ftpUtil; - @Autowired private SpectrumPathProperties pathProperties; @@ -110,9 +110,9 @@ public class GardsSampleDataServiceImpl extends ServiceImpl<GardsSampleDataMappe TransactionDefinition txDef = new DefaultTransactionDefinition(); final TransactionStatus txStatus = transactionManager.getTransaction(txDef); try { - String ftpRootPath = ftpUtil.getFtpRootPath(); - String savePath = ftpRootPath + pathProperties.getSaveFilePath() + StrUtil.SLASH; - String logPath = ftpRootPath + pathProperties.getLogPath() + StrUtil.SLASH; + String rootPath = pathProperties.getRootPath(); + String savePath = rootPath + pathProperties.getSaveFilePath() + StrUtil.SLASH; + String logPath = rootPath + pathProperties.getLogPath() + StrUtil.SLASH; /* 删除数据库数据 */ // 过滤掉多余的表 String ORIGINAL = "ORIGINAL";String RNAUTO = "RNAUTO";String RNMAN = "RNMAN"; @@ -170,16 +170,14 @@ public class GardsSampleDataServiceImpl extends ServiceImpl<GardsSampleDataMappe needDel = needDel.stream().filter(StrUtil::isNotBlank).collect(Collectors.toList()); if (CollUtil.isEmpty(needDel)) return Result.OK("Data cleaning is complete. No files need to be cleaned!"); - // 删除FTP文件 - List<String> failList = new ArrayList<>(); - for (String path:needDel) { - boolean success = ftpUtil.removeFiles(path); - if (!success) { - failList.add(path); - } + // 删除本地文件 + List<String> fails = new ArrayList<>(); + for (String path : needDel) { + boolean success = FileUtil.del(path); + if (!success) fails.add(path); } - if (CollUtil.isNotEmpty(failList)) - return Result.error("Data clearing is complete, but file clearing fails!", failList); + if (CollUtil.isNotEmpty(fails)) + return Result.error("Data clearing is complete, but file clearing fails!", fails); return Result.OK("Data and file cleanup complete!"); }catch (Exception e){ transactionManager.rollback(txStatus); @@ -215,27 +213,25 @@ public class GardsSampleDataServiceImpl extends ServiceImpl<GardsSampleDataMappe Integer sampleId, String owner){ List<String> fileList = new ArrayList<>(); List<AnalysesDto> AnalysesDtoList = baseMapper.getAnalysis(owner, sampleId); - if (CollectionUtils.isNotEmpty(AnalysesDtoList)) { - for (AnalysesDto AnalysesDto:AnalysesDtoList) { - String baselinePath = AnalysesDto.getBaselinePath(); - if (StrUtil.isNotBlank(baselinePath)) { - fileList.add(savePath + baselinePath); - } - String lcPath = AnalysesDto.getLcPath(); - if (StrUtil.isNotBlank(lcPath)) { - fileList.add(savePath + lcPath); - } - String scacPath = AnalysesDto.getScacPath(); - if (StrUtil.isNotBlank(scacPath)) { - fileList.add(savePath + scacPath); - } - if (StrUtil.isNotBlank(AnalysesDto.getLogPath())) { - fileList.add(logPath + AnalysesDto.getLogPath()); - } - String reportPath = AnalysesDto.getReportPath(); - if (StrUtil.isNotBlank(reportPath)) { - fileList.add(savePath + reportPath + FileTypeEnum.txt.getType()); - } + for (AnalysesDto AnalysesDto:AnalysesDtoList) { + String baselinePath = AnalysesDto.getBaselinePath(); + if (StrUtil.isNotBlank(baselinePath)) { + fileList.add(savePath + baselinePath); + } + String lcPath = AnalysesDto.getLcPath(); + if (StrUtil.isNotBlank(lcPath)) { + fileList.add(savePath + lcPath); + } + String scacPath = AnalysesDto.getScacPath(); + if (StrUtil.isNotBlank(scacPath)) { + fileList.add(savePath + scacPath); + } + if (StrUtil.isNotBlank(AnalysesDto.getLogPath())) { + fileList.add(logPath + AnalysesDto.getLogPath()); + } + String reportPath = AnalysesDto.getReportPath(); + if (StrUtil.isNotBlank(reportPath)) { + fileList.add(savePath + reportPath + FileTypeEnum.txt.getType()); } } return fileList; From caf47a58d5014800cc3a719a19c12ed1015118ee Mon Sep 17 00:00:00 2001 From: qiaoqinzheng <qiaoqinzheng@hivekion.com> Date: Fri, 10 May 2024 16:12:26 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E4=BA=BA=E5=B7=A5=E4=BA=A4=E4=BA=92?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E5=A2=9E=E5=8A=A0=E5=88=A4=E6=96=AD=E5=A6=82?= =?UTF-8?q?=E6=9E=9C=E4=B8=8D=E6=98=AF=E6=AD=A3=E5=B8=B8=E8=B0=B1=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E5=BC=82=E5=B8=B8=E4=BF=A1=E6=81=AF=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/jeecg/modules/service/impl/GammaServiceImpl.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GammaServiceImpl.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GammaServiceImpl.java index 05fd4687..42f90b0b 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GammaServiceImpl.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GammaServiceImpl.java @@ -194,6 +194,10 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi if (!flag) { return result; } + if (Objects.nonNull(phd) && !phd.isValid()) { + result.error500("This Spectrum is invalid! it's counts are all zero"); + return result; + } // 加载phd数据所需的lc,scac,baseline数据 if (dbName.equals("auto")) { gammaFileUtil.SetBaseInfo(phd, "RNAUTO"); @@ -609,6 +613,10 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi if (!bRet) { return result; } + if (Objects.nonNull(phd) && !phd.isValid()) { + result.error500("This Spectrum is invalid! it's counts are all zero"); + return result; + } if (!redisUtil.hasKey(userName+StringPool.DASH+phd.getHeader().getSystem_type()) || !redisUtil.hasKey(userName+StringPool.DASH+phd.getHeader().getSystem_type()+"-list")) { //读取缓存的全部核素信息 Map<String, NuclideLines> allNuclideMap = (Map<String, NuclideLines>) redisUtil.get("AllNuclideMap"); From 6c5a0bf5464aef9bd3379b9fbff4912174275b01 Mon Sep 17 00:00:00 2001 From: qiaoqinzheng <qiaoqinzheng@hivekion.com> Date: Mon, 13 May 2024 09:24:25 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E4=BA=BA=E5=B7=A5=E4=BA=A4=E4=BA=92?= =?UTF-8?q?=E6=A8=A1=E5=9D=97BetaDataFile=E5=AE=9E=E4=BD=93=E7=B1=BB?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0detectorId=E5=AD=97=E6=AE=B5=E7=94=A8?= =?UTF-8?q?=E4=BA=8E=E6=8A=A5=E8=AD=A6=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/jeecg/modules/entity/vo/BetaDataFile.java | 2 ++ .../jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java | 1 + 2 files changed, 3 insertions(+) diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/entity/vo/BetaDataFile.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/entity/vo/BetaDataFile.java index 92a31639..2de9f6e2 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/entity/vo/BetaDataFile.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/entity/vo/BetaDataFile.java @@ -41,6 +41,8 @@ public class BetaDataFile implements Serializable { private String stationId; + private String detectorId; + private boolean bProcessed; private boolean saveAnalysisResult; diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java index f44a2ec7..8b997d75 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java @@ -4420,6 +4420,7 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements String error = "get station_id or detect_id error"; return false; } + betaDataFile.setDetectorId(detectorId.toString()); //新增Gards_Sample_Data表数据 sampleDataSpectrumService.saveSampleData(sourceData, stationId, detectorId, filePathName, readLines); //获取sampleId From 2407b65a067865b58baba748bb383776961bf19d Mon Sep 17 00:00:00 2001 From: qiaoqinzheng <qiaoqinzheng@hivekion.com> Date: Mon, 13 May 2024 14:09:42 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=A4=84=E7=90=86?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E4=B8=8B=E8=BD=BD=E9=82=AE=E4=BB=B6=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/email/EmailServiceManager.java | 37 +++++++++---------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/email/EmailServiceManager.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/email/EmailServiceManager.java index f4f8b334..9c52eb09 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/common/email/EmailServiceManager.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/email/EmailServiceManager.java @@ -532,7 +532,8 @@ public class EmailServiceManager { File emlFile = null; String status = EmailLogManager.STATUS_SUCCESS; Date receivedDate = null; - FileOutputStream outputStream = null; + InputStream inputStream = null; + BufferedOutputStream outputStream = null; try { //获取发件人 final String address = ((InternetAddress) message.getFrom()[0]).getAddress(); @@ -566,25 +567,19 @@ public class EmailServiceManager { final String rootPath = spectrumPathProperties.getRootPath(); final String emlPath = spectrumPathProperties.getEmlPath(); emlFile = new File(rootPath+emlPath+File.separator+fileName); - outputStream = new FileOutputStream(emlFile); - message.writeTo(outputStream); +// outputStream = new FileOutputStream(emlFile); +// message.writeTo(outputStream); + + int bufferSize = 1024 * 1024; // 1M + inputStream = message.getInputStream(); + outputStream = new BufferedOutputStream(new FileOutputStream(emlFile), bufferSize); + // 从邮件的输入流读取内容,并写入到本地文件 + byte[] buffer = new byte[bufferSize]; + int bytesRead; + while ((bytesRead = inputStream.read(buffer)) != -1) { + outputStream.write(buffer, 0, bytesRead); + } -// int bufferSize = 1024 * 1024; // 1M -// InputStream inputStream = message.getInputStream(); -// BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream, bufferSize); -// // 或者使用 BufferedOutputStream -// OutputStream outputStream = new FileOutputStream(emlFile); -// BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream, bufferSize); -// // 从邮件的输入流读取内容,并写入到本地文件 -// byte[] buffer = new byte[bufferSize]; -// int bytesRead; -// while ((bytesRead = bufferedInputStream.read(buffer)) != -1) { -// bufferedOutputStream.write(buffer, 0, bytesRead); -// } -// -// // 关闭流 -// bufferedInputStream.close(); -// bufferedOutputStream.close(); } catch (MessagingException | IOException e) { // 下载邮件失败 抛出自定义邮件下载异常 status = EmailLogManager.STATUS_ERROR; @@ -598,7 +593,11 @@ public class EmailServiceManager { (Objects.isNull(emlFile)?" ":emlFile.getAbsolutePath())); EmailLogManager.getInstance().offer(Thread.currentThread().getId(),event); try { + if (Objects.nonNull(inputStream)) { + inputStream.close(); + } if (Objects.nonNull(outputStream)) { + outputStream.flush(); outputStream.close(); } } catch (IOException e) { From 9fffd2436c3d74b8ba3d5fa0d9a883a4b7b2fbad Mon Sep 17 00:00:00 2001 From: qiaoqinzheng <qiaoqinzheng@hivekion.com> Date: Mon, 13 May 2024 14:14:01 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=A4=84=E7=90=86?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E6=A8=A1=E5=9D=97=E5=90=8C=E6=AD=A5=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/email/EmailServiceManager.java | 11 +++++----- .../org/jeecg/modules/AutoProcessManager.java | 11 ++++++++-- .../jeecg/modules/EmailParsingActuator.java | 20 ++++++++++++------- .../spectrum/SpectrumParsingActuator.java | 8 ++++---- 4 files changed, 32 insertions(+), 18 deletions(-) diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/email/EmailServiceManager.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/email/EmailServiceManager.java index 9c52eb09..a3ac56f3 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/common/email/EmailServiceManager.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/email/EmailServiceManager.java @@ -9,6 +9,8 @@ import com.sun.mail.imap.IMAPStore; import com.sun.mail.smtp.SMTPAddressFailedException; import io.swagger.models.auth.In; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.io.Charsets; +import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.jeecg.common.api.dto.message.MessageDTO; import org.jeecg.common.constant.RedisConstant; @@ -124,7 +126,7 @@ public class EmailServiceManager { /** * 接收邮件 */ - public Message[] receiveMail() { + public Message[] receiveMail() throws MessagingException { String status = EmailLogManager.STATUS_SUCCESS; try{ //配置邮件服务属性 @@ -183,12 +185,11 @@ public class EmailServiceManager { return Arrays.copyOfRange(messages,0,this.receiveNum-1); } } - }catch (MessagingException e){ + } catch (MessagingException e){ status = EmailLogManager.STATUS_ERROR; log.error("Email connection is abnormal, account is {}, service is {},the reason is {}.",email.getName(),email.getEmailServerAddress(),e.getMessage()); - e.printStackTrace(); - return null; - }finally { + throw e; + } finally { EmailLogEvent connectEvent = new EmailLogEvent(EmailLogManager.GS_TYPE_GET,email,status,EmailLogManager.CONNECT); EmailLogManager.getInstance().setConnectLogEvent(connectEvent); //GetAllId C++原业务是把远程邮箱邮件同步到C++,本次java编写没有这一步,所以和Connect绑定,若Connect成功则GetAllId成功 diff --git a/jeecg-module-auto-process/src/main/java/org/jeecg/modules/AutoProcessManager.java b/jeecg-module-auto-process/src/main/java/org/jeecg/modules/AutoProcessManager.java index 3a0880dd..9460d44d 100644 --- a/jeecg-module-auto-process/src/main/java/org/jeecg/modules/AutoProcessManager.java +++ b/jeecg-module-auto-process/src/main/java/org/jeecg/modules/AutoProcessManager.java @@ -233,9 +233,15 @@ public class AutoProcessManager{ if(databaseEmail.getEnabled().equals(SysMailEnableType.ENABLE.getMailEnableType())){ final boolean testFlag = testConnectEmailServer(databaseEmail); if(testFlag){ - databaseEmail.setNewEmailFlag(true); + if (emailExecThreadMap.containsKey(databaseEmail.getId())) { + EmailParsingActuator actuator = emailExecThreadMap.get(databaseEmail.getId()); + actuator.setStop(false); + log.info("{}邮箱重新加入监测队列",databaseEmail.getUsername()); + } else { + databaseEmail.setNewEmailFlag(true); + log.info("{}邮箱加入监测队列,设置新增标记",databaseEmail.getUsername()); + } emailMap.put(databaseEmail.getId(),databaseEmail); - log.info("{}邮箱加入监测队列,设置新增标记",databaseEmail.getUsername()); } } } @@ -279,6 +285,7 @@ public class AutoProcessManager{ if(next.getValue().getState() == State.TERMINATED){ log.info("{}邮箱执行线程已停止,emailExecThreadMap删除此邮箱数据",next.getValue().getEmailProperties().getUsername()); checkStopThreads.remove(); + emailMap.remove(next.getKey()); } } diff --git a/jeecg-module-auto-process/src/main/java/org/jeecg/modules/EmailParsingActuator.java b/jeecg-module-auto-process/src/main/java/org/jeecg/modules/EmailParsingActuator.java index 737b53c8..2f85fe4f 100644 --- a/jeecg-module-auto-process/src/main/java/org/jeecg/modules/EmailParsingActuator.java +++ b/jeecg-module-auto-process/src/main/java/org/jeecg/modules/EmailParsingActuator.java @@ -17,10 +17,7 @@ import org.springframework.scheduling.concurrent.CustomizableThreadFactory; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; +import java.util.*; import java.util.concurrent.*; /** @@ -79,11 +76,17 @@ public class EmailParsingActuator extends Thread{ try { Message[] messages = emailServiceManager.receiveMail(); if(ArrayUtils.isNotEmpty(messages)){ - log.info("EmailParsingActuator本次获取邮件数量为:{}",messages.length); + log.info("EmailParsingActuator本次{}获取邮件数量为:{}", Thread.currentThread().getName(), messages.length); //检验获取的邮件是否在之前删除失败列表中,若在直接调用邮件API删除,并且此次数组里元素也删除 for(int i=messages.length-1;i>=0;i--){ + if (null == messages[i].getHeader("Message-ID")) { + System.out.println("Message ID是空值信息!!!!!!!"); + messages = ArrayUtils.remove(messages, i); + continue; + } if (!messages[i].isExpunged()){ String messageId = ((MimeMessage) messages[i]).getMessageID(); + System.out.println("正常获取到的Message ID是:"+messageId); final boolean exist = emailServiceManager.check(messages[i],messageId); messageIds.add(messageId); if(exist){ @@ -105,10 +108,13 @@ public class EmailParsingActuator extends Thread{ taskLatch.await(); } } - }catch (InterruptedException e) { - e.printStackTrace(); } catch (MessagingException e) { + System.out.println("捕获MessagingException!!!!!!!!"); + closeResource(); throw new RuntimeException(e); + } catch (Exception e) { + closeResource(); + log.error(""+e); } finally { //清除本批次邮件日志缓存 EmailLogManager.getInstance().clear(); diff --git a/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/SpectrumParsingActuator.java b/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/SpectrumParsingActuator.java index a88f07ad..5548ba1e 100644 --- a/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/SpectrumParsingActuator.java +++ b/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/SpectrumParsingActuator.java @@ -97,9 +97,6 @@ public class SpectrumParsingActuator implements Runnable{ String emlName = subject+ StringConstant.UNDER_LINE+ receiveDate; String key = RedisConstant.EMAIL_MSG_ID+StringConstant.COLON+messageId; // spectrumServiceQuotes.getRedisUtil().set(key,emlName,expiryTime); - //判断当前key的下载次数是否超过限制次数 - spectrumServiceQuotes.getRedisUtil().incr(key, 1L); - spectrumServiceQuotes.getRedisUtil().expire(key, expiryTime); //线程开始初始化时,初始本线程负责的能谱日志事件 SpectrumLogManager.mailSpectrumLogManager.offer(Thread.currentThread().getId(),null); @@ -144,7 +141,10 @@ public class SpectrumParsingActuator implements Runnable{ log.warn("This email {} parsing failed and is not listed in the Met, Alert, SOH, Sample, Detbkphd, QC, Gasbkphd spectra.",subject); } emailServiceManager.removeMail(message,batchesCounter); - }else { + } else { + //判断当前key的下载次数是否超过限制次数 + spectrumServiceQuotes.getRedisUtil().incr(key, 1L); + spectrumServiceQuotes.getRedisUtil().expire(key, expiryTime); // 如果邮件内容校验失败(邮件内容不完整) 将错误邮件从eml移动到emlError if (Objects.nonNull(emlFile) && emlFile.exists()){ moveEmail(emlFile, key); From 86968e383b729909dfd44887b7099a4f2d6260d3 Mon Sep 17 00:00:00 2001 From: nieziyan <nzyone@qq.com> Date: Mon, 13 May 2024 14:58:41 +0800 Subject: [PATCH 6/8] =?UTF-8?q?fix=EF=BC=9A=E5=88=A0=E9=99=A4=E5=A4=9A?= =?UTF-8?q?=E4=BD=99=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../quartz/controller/TestController.java | 70 ------------------- 1 file changed, 70 deletions(-) delete mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/controller/TestController.java diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/controller/TestController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/controller/TestController.java deleted file mode 100644 index c350e0a8..00000000 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/controller/TestController.java +++ /dev/null @@ -1,70 +0,0 @@ -package org.jeecg.modules.quartz.controller; - -import cn.hutool.core.map.MapUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.extern.slf4j.Slf4j; -import org.apache.shiro.SecurityUtils; -import org.jeecg.common.api.vo.Result; -import org.jeecg.common.constant.CommonConstant; -import org.jeecg.common.constant.Prompt; -import org.jeecg.common.constant.SymbolConstant; -import org.jeecg.common.system.query.QueryGenerator; -import org.jeecg.common.system.vo.LoginUser; -import org.jeecg.common.util.ImportExcelUtil; -import org.jeecg.common.util.RedisStreamUtil; -import org.jeecg.modules.base.dto.Info; -import org.jeecg.modules.quartz.entity.QuartzJob; -import org.jeecg.modules.quartz.service.IQuartzJobService; -import org.jeecgframework.poi.excel.ExcelImportUtil; -import org.jeecgframework.poi.excel.def.NormalExcelConstants; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.excel.entity.ImportParams; -import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; -import org.quartz.Scheduler; -import org.quartz.SchedulerException; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; -import org.springframework.web.servlet.ModelAndView; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -@RestController -@RequestMapping("sys/testana") -@Slf4j -@Api(tags = "定时任务接口") -public class TestController { - - @Autowired - private RedisStreamUtil redisStreamUtil; - - @GetMapping("test") - public void test(){ - Info info = new Info(); - info.setStationId("205"); - info.setSampleId("425496"); - info.setBetaOrGamma("Gamma"); - info.setFullOrPrel("FULL"); - info.setDatasource("1"); - info.setSampleName("CAX05_001-20230624_0220_Q_FULL_299.3.PHD"); - info.setCollectionDate(LocalDateTime.now()); - Map<String, String> nuclides = MapUtil.newHashMap(); - nuclides.put("Be7","1000000"); - nuclides.put("sss","1000000"); - nuclides.put("Tl208","10"); - info.setNuclides(nuclides); - redisStreamUtil.pushAnalysis(info); - } -} From cf0751109da56849e6659a304cea7fa59a783ca2 Mon Sep 17 00:00:00 2001 From: nieziyan <nzyone@qq.com> Date: Tue, 18 Jun 2024 14:52:44 +0800 Subject: [PATCH 7/8] =?UTF-8?q?feat=EF=BC=9A=E6=B7=BB=E5=8A=A0IDC=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=BA=90=E6=8E=A7=E5=88=B6=E8=AE=BF=E9=97=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/jeecg/JeecgSpectrumAnalysisApplication.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/jeecg-server-cloud/armd-spectrum-analysis-start/src/main/java/org/jeecg/JeecgSpectrumAnalysisApplication.java b/jeecg-server-cloud/armd-spectrum-analysis-start/src/main/java/org/jeecg/JeecgSpectrumAnalysisApplication.java index 3a5017b3..dbdbc6ff 100644 --- a/jeecg-server-cloud/armd-spectrum-analysis-start/src/main/java/org/jeecg/JeecgSpectrumAnalysisApplication.java +++ b/jeecg-server-cloud/armd-spectrum-analysis-start/src/main/java/org/jeecg/JeecgSpectrumAnalysisApplication.java @@ -1,5 +1,6 @@ package org.jeecg; +import cn.hutool.core.util.ObjectUtil; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.cache.BetaCache; import org.jeecg.common.cache.LocalCache; @@ -9,6 +10,7 @@ import org.jeecg.modules.service.IDataService; import org.jeecg.modules.service.IGammaService; import org.jeecg.modules.service.IGardsNuclCoincidenceSumSpectrumService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -40,6 +42,9 @@ public class JeecgSpectrumAnalysisApplication extends SpringBootServletInitializ @Autowired private IDataService dataService; + @Value("${isOpen}") + private Boolean isOpen; + @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { @@ -78,6 +83,7 @@ public class JeecgSpectrumAnalysisApplication extends SpringBootServletInitializ gammaService.readMDCParameter(); nuclLibService.getNuclideMap(); nuclCoincidenceSumSpectrumService.getNuclCoincidenceMap(); - dataService.viewStations(); + if (ObjectUtil.isNotNull(isOpen) && isOpen) + dataService.viewStations(); } } \ No newline at end of file From 8b4064607697965149a0c9a70981ae53e9f814ca Mon Sep 17 00:00:00 2001 From: nieziyan <nzyone@qq.com> Date: Wed, 19 Jun 2024 16:33:55 +0800 Subject: [PATCH 8/8] =?UTF-8?q?feat=EF=BC=9AApplication=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E7=BB=93=E6=9D=9F=E9=80=80=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/jeecg/JeecgAbnormalAlarmApplication.java | 14 +++++++++++++- .../org/jeecg/JeecgAutoProcessApplication.java | 14 +++++++++++++- .../java/org/jeecg/JeecgLogManageApplication.java | 14 +++++++++++++- .../jeecg/JeecgSpectrumAnalysisApplication.java | 14 +++++++++++++- .../jeecg/JeecgStationOperationApplication.java | 15 ++++++++++++++- .../org/jeecg/JeecgSystemCloudApplication.java | 13 ++++++++++++- .../org/jeecg/JeecgWebStatisticsApplication.java | 14 +++++++++++++- 7 files changed, 91 insertions(+), 7 deletions(-) diff --git a/jeecg-server-cloud/armd-abnormal-alarm-start/src/main/java/org/jeecg/JeecgAbnormalAlarmApplication.java b/jeecg-server-cloud/armd-abnormal-alarm-start/src/main/java/org/jeecg/JeecgAbnormalAlarmApplication.java index b692a493..853f8c77 100644 --- a/jeecg-server-cloud/armd-abnormal-alarm-start/src/main/java/org/jeecg/JeecgAbnormalAlarmApplication.java +++ b/jeecg-server-cloud/armd-abnormal-alarm-start/src/main/java/org/jeecg/JeecgAbnormalAlarmApplication.java @@ -31,7 +31,19 @@ public class JeecgAbnormalAlarmApplication extends SpringBootServletInitializer } public static void main(String[] args) throws UnknownHostException { - ConfigurableApplicationContext application = SpringApplication.run(JeecgAbnormalAlarmApplication.class, args); + int exitCode = 1; + ConfigurableApplicationContext application = null; + try { + application = SpringApplication.run(JeecgAbnormalAlarmApplication.class, args); + } catch (Exception e) { + if (null != application) { + application.close(); + exitCode = SpringApplication.exit(application, () -> 0); + } + System.exit(exitCode); + } + + // ConfigurableApplicationContext application = SpringApplication.run(JeecgAbnormalAlarmApplication.class, args); Environment env = application.getEnvironment(); String ip = InetAddress.getLocalHost().getHostAddress(); String port = env.getProperty("server.port"); diff --git a/jeecg-server-cloud/armd-auto-process-start/src/main/java/org/jeecg/JeecgAutoProcessApplication.java b/jeecg-server-cloud/armd-auto-process-start/src/main/java/org/jeecg/JeecgAutoProcessApplication.java index 853ac505..f1883692 100644 --- a/jeecg-server-cloud/armd-auto-process-start/src/main/java/org/jeecg/JeecgAutoProcessApplication.java +++ b/jeecg-server-cloud/armd-auto-process-start/src/main/java/org/jeecg/JeecgAutoProcessApplication.java @@ -53,7 +53,19 @@ public class JeecgAutoProcessApplication extends SpringBootServletInitializer im } public static void main(String[] args) throws UnknownHostException { - ConfigurableApplicationContext application = SpringApplication.run(JeecgAutoProcessApplication.class, args); + int exitCode = 1; + ConfigurableApplicationContext application = null; + try { + application = SpringApplication.run(JeecgAutoProcessApplication.class, args); + } catch (Exception e) { + if (null != application) { + application.close(); + exitCode = SpringApplication.exit(application, () -> 0); + } + System.exit(exitCode); + } + + // ConfigurableApplicationContext application = SpringApplication.run(JeecgAutoProcessApplication.class, args); Environment env = application.getEnvironment(); String ip = InetAddress.getLocalHost().getHostAddress(); String port = env.getProperty("server.port"); diff --git a/jeecg-server-cloud/armd-log-manage-start/src/main/java/org/jeecg/JeecgLogManageApplication.java b/jeecg-server-cloud/armd-log-manage-start/src/main/java/org/jeecg/JeecgLogManageApplication.java index a4a117ed..61c29aac 100644 --- a/jeecg-server-cloud/armd-log-manage-start/src/main/java/org/jeecg/JeecgLogManageApplication.java +++ b/jeecg-server-cloud/armd-log-manage-start/src/main/java/org/jeecg/JeecgLogManageApplication.java @@ -27,7 +27,19 @@ public class JeecgLogManageApplication extends SpringBootServletInitializer impl } public static void main(String[] args) throws UnknownHostException { - ConfigurableApplicationContext application = SpringApplication.run(JeecgLogManageApplication.class, args); + int exitCode = 1; + ConfigurableApplicationContext application = null; + try { + application = SpringApplication.run(JeecgLogManageApplication.class, args); + } catch (Exception e) { + if (null != application) { + application.close(); + exitCode = SpringApplication.exit(application, () -> 0); + } + System.exit(exitCode); + } + + // ConfigurableApplicationContext application = SpringApplication.run(JeecgLogManageApplication.class, args); Environment env = application.getEnvironment(); String ip = InetAddress.getLocalHost().getHostAddress(); String port = env.getProperty("server.port"); diff --git a/jeecg-server-cloud/armd-spectrum-analysis-start/src/main/java/org/jeecg/JeecgSpectrumAnalysisApplication.java b/jeecg-server-cloud/armd-spectrum-analysis-start/src/main/java/org/jeecg/JeecgSpectrumAnalysisApplication.java index dbdbc6ff..5ca9816c 100644 --- a/jeecg-server-cloud/armd-spectrum-analysis-start/src/main/java/org/jeecg/JeecgSpectrumAnalysisApplication.java +++ b/jeecg-server-cloud/armd-spectrum-analysis-start/src/main/java/org/jeecg/JeecgSpectrumAnalysisApplication.java @@ -52,7 +52,19 @@ public class JeecgSpectrumAnalysisApplication extends SpringBootServletInitializ } public static void main(String[] args) throws UnknownHostException { - ConfigurableApplicationContext application = SpringApplication.run(JeecgSpectrumAnalysisApplication.class, args); + int exitCode = 1; + ConfigurableApplicationContext application = null; + try { + application = SpringApplication.run(JeecgSpectrumAnalysisApplication.class, args); + } catch (Exception e) { + if (null != application) { + application.close(); + exitCode = SpringApplication.exit(application, () -> 0); + } + System.exit(exitCode); + } + + // ConfigurableApplicationContext application = SpringApplication.run(JeecgSpectrumAnalysisApplication.class, args); Environment env = application.getEnvironment(); String ip = InetAddress.getLocalHost().getHostAddress(); String port = env.getProperty("server.port"); diff --git a/jeecg-server-cloud/armd-station-operation-start/src/main/java/org/jeecg/JeecgStationOperationApplication.java b/jeecg-server-cloud/armd-station-operation-start/src/main/java/org/jeecg/JeecgStationOperationApplication.java index 8c3db501..e44e7459 100644 --- a/jeecg-server-cloud/armd-station-operation-start/src/main/java/org/jeecg/JeecgStationOperationApplication.java +++ b/jeecg-server-cloud/armd-station-operation-start/src/main/java/org/jeecg/JeecgStationOperationApplication.java @@ -5,6 +5,7 @@ import lombok.extern.slf4j.Slf4j; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.service.ISysUserFocusStationService; import org.springframework.boot.CommandLineRunner; +import org.springframework.boot.ExitCodeGenerator; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; @@ -35,7 +36,19 @@ public class JeecgStationOperationApplication extends SpringBootServletInitializ } public static void main(String[] args) throws UnknownHostException { - ConfigurableApplicationContext application = SpringApplication.run(JeecgStationOperationApplication.class, args); + int exitCode = 1; + ConfigurableApplicationContext application = null; + try { + application = SpringApplication.run(JeecgStationOperationApplication.class, args); + } catch (Exception e) { + if (null != application) { + application.close(); + exitCode = SpringApplication.exit(application, () -> 0); + } + System.exit(exitCode); + } + + //ConfigurableApplicationContext application = SpringApplication.run(JeecgStationOperationApplication.class, args); Environment env = application.getEnvironment(); String ip = InetAddress.getLocalHost().getHostAddress(); String port = env.getProperty("server.port"); diff --git a/jeecg-server-cloud/armd-system-cloud-start/src/main/java/org/jeecg/JeecgSystemCloudApplication.java b/jeecg-server-cloud/armd-system-cloud-start/src/main/java/org/jeecg/JeecgSystemCloudApplication.java index ea5070ee..c270153a 100644 --- a/jeecg-server-cloud/armd-system-cloud-start/src/main/java/org/jeecg/JeecgSystemCloudApplication.java +++ b/jeecg-server-cloud/armd-system-cloud-start/src/main/java/org/jeecg/JeecgSystemCloudApplication.java @@ -52,7 +52,18 @@ public class JeecgSystemCloudApplication extends SpringBootServletInitializer im } public static void main(String[] args) throws UnknownHostException { - ConfigurableApplicationContext application = SpringApplication.run(JeecgSystemCloudApplication.class, args); + int exitCode = 1; + ConfigurableApplicationContext application = null; + try { + application = SpringApplication.run(JeecgSystemCloudApplication.class, args); + } catch (Exception e) { + if (null != application) { + application.close(); + exitCode = SpringApplication.exit(application, () -> 0); + } + System.exit(exitCode); + } + // ConfigurableApplicationContext application = SpringApplication.run(JeecgSystemCloudApplication.class, args); Environment env = application.getEnvironment(); String ip = InetAddress.getLocalHost().getHostAddress(); String port = env.getProperty("server.port"); diff --git a/jeecg-server-cloud/armd-web-statistics-start/src/main/java/org/jeecg/JeecgWebStatisticsApplication.java b/jeecg-server-cloud/armd-web-statistics-start/src/main/java/org/jeecg/JeecgWebStatisticsApplication.java index 2c0c4f34..f227a7c5 100644 --- a/jeecg-server-cloud/armd-web-statistics-start/src/main/java/org/jeecg/JeecgWebStatisticsApplication.java +++ b/jeecg-server-cloud/armd-web-statistics-start/src/main/java/org/jeecg/JeecgWebStatisticsApplication.java @@ -26,7 +26,19 @@ public class JeecgWebStatisticsApplication extends SpringBootServletInitializer } public static void main(String[] args) throws UnknownHostException { - ConfigurableApplicationContext application = SpringApplication.run(JeecgWebStatisticsApplication.class, args); + int exitCode = 1; + ConfigurableApplicationContext application = null; + try { + application = SpringApplication.run(JeecgWebStatisticsApplication.class, args); + } catch (Exception e) { + if (null != application) { + application.close(); + exitCode = SpringApplication.exit(application, () -> 0); + } + System.exit(exitCode); + } + + // ConfigurableApplicationContext application = SpringApplication.run(JeecgWebStatisticsApplication.class, args); Environment env = application.getEnvironment(); String ip = InetAddress.getLocalHost().getHostAddress(); String port = env.getProperty("server.port");