燕山石化溯源三维电子沙盘-【后端】-服务
1
13693261870
2023-06-16 5b17ccbbe08971f861ff097c62241d2b79e4b5f6
1
已修改6个文件
77 ■■■■■ 文件已修改
src/main/java/com/yssh/scheduled/ReadCsvTask.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yssh/service/IDictRecordService.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yssh/service/impl/DictRecordServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yssh/service/impl/SuYuanServiceImpl.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-file.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-scheduled.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yssh/scheduled/ReadCsvTask.java
@@ -49,7 +49,7 @@
    private int cronMax = 48;
    @Value("${csv.voc_max}")
    private int vocMax = 192;
    private int vocMax = 120;
    private final static List<String> md5List = new ArrayList<>();
@@ -88,7 +88,7 @@
            try {
                logger.info("loadVocSync: " + filePath);
                Date date = (Date)calendar.getTime().clone();
                Date date = (Date) calendar.getTime().clone();
                EasyCsv.read(filePath, VocVals.class, new VocParser(vocValsService, date)).doRead();
                // Thread.sleep(3 * 1000);
@@ -127,18 +127,23 @@
            }
            suYuanService.createNewTable(newTableName);
            dictRecordService.insertDictRecord(new DictRecord(1L, newTableName, Long.parseLong(time), ""));
            Long createTime = Long.parseLong(time);
            DictRecord dr = dictRecordService.selectByCreateTime(createTime);
            if (null == dr) {
                dictRecordService.insertDictRecord(new DictRecord(1L, newTableName, Long.parseLong(time), ""));
            }
            logger.info("loadCsvSync: " + filePath);
            EasyCsv.read(filePath, SuYuan.class, new CsvParser(suYuanService, time)).doRead();
            try {
                // 计算预警/报警,并且进行入库操作
                Thread.sleep(2 * 60 * 1000);
            } catch (InterruptedException e) {
                logger.error("睡眠一分钟后执行预警/报警计算,并且进行入库操作出现异常,异常原因是:", e);
                e.printStackTrace();
            }
//            try {
//                // 计算预警/报警,并且进行入库操作
//                Thread.sleep(2 * 60 * 1000);
//            } catch (InterruptedException e) {
//                logger.error("睡眠一分钟后执行预警/报警计算,并且进行入库操作出现异常,异常原因是:", e);
//                e.printStackTrace();
//            }
            warningAnalyseService.warningOperationStorage(calendar.getTime());
        }
    }
src/main/java/com/yssh/service/IDictRecordService.java
@@ -2,7 +2,6 @@
import com.yssh.entity.DictRecord;
import java.util.Date;
import java.util.List;
/**
@@ -15,21 +14,31 @@
    /**
     * 查询字典记录列表
     *
     * @param dictRecord 字典记录
     * @return 字典记录集合
     */
    public List<DictRecord> selectDictRecordList(DictRecord dictRecord);
    /**
     * 根据创建时间查询
     *
     * @param createTime
     * @return
     */
    public DictRecord selectByCreateTime(Long createTime);
    /**
     * 新增字典记录
     *
     * @param dictRecord 字典记录
     * @return 结果
     */
    public int insertDictRecord(DictRecord dictRecord);
    /**
     * 批量删除字典记录
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
@@ -37,6 +46,7 @@
    /**
     * 删除字典记录信息
     *
     * @param id 字典记录ID
     * @return 结果
     */
src/main/java/com/yssh/service/impl/DictRecordServiceImpl.java
@@ -1,17 +1,17 @@
package com.yssh.service.impl;
import java.util.Date;
import java.util.List;
import lombok.Synchronized;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.yssh.dao.DictRecordMapper;
import com.yssh.entity.DictRecord;
import com.yssh.service.IDictRecordService;
import javax.annotation.Resource;
/**
 * 字典记录Service业务层处理
@@ -20,8 +20,7 @@
 */
@Service
public class DictRecordServiceImpl implements IDictRecordService {
    @Autowired
    @Resource
    private DictRecordMapper dictRecordMapper;
    /**
@@ -35,6 +34,11 @@
        return dictRecordMapper.selectDictRecordList(dictRecord);
    }
    @Override
    public DictRecord selectByCreateTime(Long createTime) {
        return dictRecordMapper.selectByCreateTime(createTime);
    }
    /**
     * 新增字典记录
     *
src/main/java/com/yssh/service/impl/SuYuanServiceImpl.java
@@ -48,9 +48,9 @@
    private final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHH");
    //@Transactional
    @Override
    //@Override
    @Async("threadPoolTaskExecutor")
    public void insertSuYuanDatas(List<SuYuan> lists, String time) throws Exception {
    public void insertSuYuanDatasAsync(List<SuYuan> lists, String time) throws Exception {
        //插入数据
        List<List<SuYuan>> list = Lists.partition(lists, IAsyncService.BATCH_INSERT_NUMBER);
        CountDownLatch countDownLatch = new CountDownLatch(list.size());
@@ -62,6 +62,16 @@
    }
    @Override
    public void insertSuYuanDatas(List<SuYuan> lists, String time) {
        List<List<SuYuan>> subLists = Lists.partition(lists, IAsyncService.BATCH_INSERT_NUMBER);
        for (List<SuYuan> sub : subLists) {
            suYuanMapper.batchInsert(TableStrategy.getTableStrategy(time), sub);
        }
        logger.info("------ " + time + ".csv," + lists.size() + " 条数据已入库 ------");
    }
    @Override
    public Integer isTableExists(String tableName) {
        return suYuanMapper.isTableExists(tableName);
    }
src/main/resources/application-file.yml
@@ -4,5 +4,5 @@
  filePath3d: 'D:\2022\dat\correct_jk_47.dat'
#csv配置路径
csv:
  filePath: 'D:\2022\yssh'
  filePath: 'D:\2022\lbm'
  vocPath: 'D:\2022\voc_all'
src/main/resources/application-scheduled.yml
@@ -1,5 +1,5 @@
csv: 
  cron: '0 1 * * * ? '
  voc: '0 41 * * * ? '
  cron_max: 192
  voc_max: 48
  cron: '0 33 * * * ? '
  voc: '0 31 * * * ? '
  cron_max: 120
  voc_max: 384