123
许鹏程
2024-07-29 a3ba5db359871eb7846882ae58a96ffa08816a44
123
已修改3个文件
29 ■■■■ 文件已修改
product-server-data-center/src/main/java/com/product/data/center/service/CommonService.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-data-center/src/main/java/com/product/data/center/service/DataCollectService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-data-center/src/main/java/com/product/data/center/service/DataExtractService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-data-center/src/main/java/com/product/data/center/service/CommonService.java
@@ -56,7 +56,7 @@
    @Value("${data.system.name}")
    private String dataSystemName;
    @Transactional
    public void deleteCenterLogV2() {
        try {
@@ -166,7 +166,10 @@
                    String[] uuids = uuidSet.toArray(new String[0]);
                    insertSql.append(" select * from product_sys_data_center_log").append(" where (").append(BaseUtil.buildQuestionMarkFilter("uuid", uuids.length, true)).append(")");
                    //已经在表中的数据进行排除
                    insertSql.append(" and uuid not in (select uuid from ").append(tableName).append("_").append(currentMonth).append(" )");
                    getBaseDao().executeUpdate(insertSql.toString(), uuids);
                    //删除采集、提取日志数据
@@ -181,7 +184,7 @@
                //分页删除type>2的数据
                querySql.setLength(0);
                querySql.append(" select uuid from product_sys_data_center_log a");
                querySql.append(" select uuid,id from product_sys_data_center_log a");
                querySql.append(" where id >= ? and id <= ? and type>2 and (result = 1 or ( deal_flag = 1 AND deal_result = 1 ) )  limit ").append(pageSize * 2);
                while (true) {
                    DataTableEntity queryDt = getBaseDao().listTable(querySql.toString(), new Object[]{minId, maxId});
@@ -192,10 +195,19 @@
                    List<String> uuidList = queryDt.getData().stream().map(e -> e.getString("uuid")).collect(Collectors.toList());
                    //排除rangeUuids中的数据
                    uuidList.removeAll(Arrays.asList(retainUuids));
                    if (uuidList.isEmpty()) {
                        if (queryDt.getRows() < pageSize * 2) {
                            break;
                        } else {
                            minId = queryDt.getData().stream().min(Comparator.comparingInt(e -> e.getInteger("id"))).get().getInteger("id");
                        }
                    }
                    //根据查询出的uuid将数据插入到对应的表中,使用insert into select的方式 条件是 uuid in uuidList 的数据
                    StringBuilder insertSql = new StringBuilder(64);
                    insertSql.append(" insert into ").append(tableName).append("_").append(currentMonth);
                    insertSql.append(" select * from product_sys_data_center_log").append(" where (").append(BaseUtil.buildQuestionMarkFilter("uuid", uuidList.size(), true)).append(")");
                    //已经在表中的数据进行排除
                    insertSql.append(" and uuid not in (select uuid from ").append(tableName).append("_").append(currentMonth).append(" )");
                    getBaseDao().executeUpdate(insertSql.toString(), uuidList.toArray());
                    //删除其他日志数据
                    StringBuilder deleteSql = new StringBuilder(64);
product-server-data-center/src/main/java/com/product/data/center/service/DataCollectService.java
@@ -71,12 +71,6 @@
        synchronized (uuid.intern()) {
            //凌晨1点10分开始进入此方法到1点20分不执行
            Calendar calendar = Calendar.getInstance();
            int hour = calendar.get(Calendar.HOUR_OF_DAY);
            int minute = calendar.get(Calendar.MINUTE);
            if (hour == 1 && (minute >= 10 && minute <= 20)) {
                return;
            }
            Calendar startCalendar = Calendar.getInstance();
            Date preExecuteTime = null;
            Date curExecuteTime = startCalendar.getTime();
product-server-data-center/src/main/java/com/product/data/center/service/DataExtractService.java
@@ -363,13 +363,6 @@
            WriteExtractUtil.append("已有任务在运行跳过此次运行!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!:::" + uuid);
            return;
        }
        //凌晨1点10分开始进入此方法的休眠到1点20分
        Calendar calendar = Calendar.getInstance();
        int hour = calendar.get(Calendar.HOUR_OF_DAY);
        int minute = calendar.get(Calendar.MINUTE);
        if (hour == 1 && (minute >= 10 && minute <= 20)) {
            return;
        }
        WriteExtractUtil.append("开始提取!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!:::" + uuid);
        TimeInterval tempTestTimer = DateUtil.timer();
        WriteExtractUtil.append("提取-等待耗时:" + tempTestTimer.intervalMs() + ",:::" + uuid);