From e076b48057bdc26620e891b3e09e12385cc0ecc1 Mon Sep 17 00:00:00 2001 From: Angel <1050374295@qq.com> Date: Sat, 2 Dec 2023 17:21:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E8=AD=A6=E5=AE=9E=E6=97=B6=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/JcjCjxxViewMysql.java | 2 + .../mapper/JcjCjxxViewMysqlMapper.java | 2 + .../mapper/JcjCjxxViewOracleMapper.java | 2 + .../service/JcjCjxxViewMysqlService.java | 10 +++-- .../service/JcjCjxxViewOracleService.java | 2 + .../impl/JcjCjxxViewMysqlServiceImpl.java | 6 +++ .../impl/JcjCjxxViewOracleServiceImpl.java | 5 +++ .../ssf/mysqloracletest/task/JcjCjxxTask.java | 44 +++++++++++++------ .../mysqloracletest/utils/ConfigParam.java | 4 ++ .../mapper/JcjCjxxViewMapperMysql.xml | 1 - 10 files changed, 60 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/ssf/mysqloracletest/domain/JcjCjxxViewMysql.java b/src/main/java/com/ssf/mysqloracletest/domain/JcjCjxxViewMysql.java index 1759e35..8838491 100644 --- a/src/main/java/com/ssf/mysqloracletest/domain/JcjCjxxViewMysql.java +++ b/src/main/java/com/ssf/mysqloracletest/domain/JcjCjxxViewMysql.java @@ -1,5 +1,7 @@ package com.ssf.mysqloracletest.domain; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.io.Serializable; diff --git a/src/main/java/com/ssf/mysqloracletest/mapper/JcjCjxxViewMysqlMapper.java b/src/main/java/com/ssf/mysqloracletest/mapper/JcjCjxxViewMysqlMapper.java index 867e156..458aa29 100644 --- a/src/main/java/com/ssf/mysqloracletest/mapper/JcjCjxxViewMysqlMapper.java +++ b/src/main/java/com/ssf/mysqloracletest/mapper/JcjCjxxViewMysqlMapper.java @@ -2,6 +2,7 @@ package com.ssf.mysqloracletest.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ssf.mysqloracletest.domain.JcjCjxxViewMysql; +import com.ssf.mysqloracletest.domain.JcjJjxxViewMysql; import org.apache.ibatis.annotations.Mapper; /** @@ -18,6 +19,7 @@ public interface JcjCjxxViewMysqlMapper extends BaseMapper { public int updateCjxxById(JcjCjxxViewMysql bean); + JcjCjxxViewMysql selectRecordOrderByRksj(); } diff --git a/src/main/java/com/ssf/mysqloracletest/mapper/JcjCjxxViewOracleMapper.java b/src/main/java/com/ssf/mysqloracletest/mapper/JcjCjxxViewOracleMapper.java index 2cd93e7..497e189 100644 --- a/src/main/java/com/ssf/mysqloracletest/mapper/JcjCjxxViewOracleMapper.java +++ b/src/main/java/com/ssf/mysqloracletest/mapper/JcjCjxxViewOracleMapper.java @@ -20,6 +20,8 @@ public interface JcjCjxxViewOracleMapper extends BaseMapper { public int countCjxx(); public List getCjxxList(Map map); + + public List getRealTimeRecording(String time); } diff --git a/src/main/java/com/ssf/mysqloracletest/service/JcjCjxxViewMysqlService.java b/src/main/java/com/ssf/mysqloracletest/service/JcjCjxxViewMysqlService.java index c0ee611..2f0f096 100644 --- a/src/main/java/com/ssf/mysqloracletest/service/JcjCjxxViewMysqlService.java +++ b/src/main/java/com/ssf/mysqloracletest/service/JcjCjxxViewMysqlService.java @@ -3,12 +3,13 @@ package com.ssf.mysqloracletest.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ssf.mysqloracletest.domain.JcjCjxxViewMysql; import com.ssf.mysqloracletest.domain.JcjCjxxViewMysql; +import com.ssf.mysqloracletest.domain.JcjJjxxViewMysql; /** -* @author 28758 -* @description 针对表【jcj_cjxx_view】的数据库操作Service -* @createDate 2023-11-29 09:28:09 -*/ + * @author 28758 + * @description 针对表【jcj_cjxx_view】的数据库操作Service + * @createDate 2023-11-29 09:28:09 + */ public interface JcjCjxxViewMysqlService extends IService { public JcjCjxxViewMysql selectCjxxById(String id); @@ -16,4 +17,5 @@ public interface JcjCjxxViewMysqlService extends IService { public int updateCjxxById(JcjCjxxViewMysql tjks); + public JcjCjxxViewMysql selectRecordOrderByRksj(); } diff --git a/src/main/java/com/ssf/mysqloracletest/service/JcjCjxxViewOracleService.java b/src/main/java/com/ssf/mysqloracletest/service/JcjCjxxViewOracleService.java index 47f4b0c..24f04cd 100644 --- a/src/main/java/com/ssf/mysqloracletest/service/JcjCjxxViewOracleService.java +++ b/src/main/java/com/ssf/mysqloracletest/service/JcjCjxxViewOracleService.java @@ -15,4 +15,6 @@ public interface JcjCjxxViewOracleService extends IService { public int countCjxx(); public List getCjxxList(Map map); + + public List getRealTimeRecording(String time); } diff --git a/src/main/java/com/ssf/mysqloracletest/service/impl/JcjCjxxViewMysqlServiceImpl.java b/src/main/java/com/ssf/mysqloracletest/service/impl/JcjCjxxViewMysqlServiceImpl.java index c1b3cd7..c8cbc05 100644 --- a/src/main/java/com/ssf/mysqloracletest/service/impl/JcjCjxxViewMysqlServiceImpl.java +++ b/src/main/java/com/ssf/mysqloracletest/service/impl/JcjCjxxViewMysqlServiceImpl.java @@ -3,6 +3,7 @@ package com.ssf.mysqloracletest.service.impl; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ssf.mysqloracletest.domain.JcjCjxxViewMysql; +import com.ssf.mysqloracletest.domain.JcjJjxxViewMysql; import com.ssf.mysqloracletest.mapper.JcjCjxxViewMysqlMapper; import com.ssf.mysqloracletest.service.JcjCjxxViewMysqlService; import lombok.RequiredArgsConstructor; @@ -35,6 +36,11 @@ public class JcjCjxxViewMysqlServiceImpl extends ServiceImpl getRealTimeRecording(String time) { + return oracleMapper.getRealTimeRecording(time); + } + } diff --git a/src/main/java/com/ssf/mysqloracletest/task/JcjCjxxTask.java b/src/main/java/com/ssf/mysqloracletest/task/JcjCjxxTask.java index 42c3d50..8ca274c 100644 --- a/src/main/java/com/ssf/mysqloracletest/task/JcjCjxxTask.java +++ b/src/main/java/com/ssf/mysqloracletest/task/JcjCjxxTask.java @@ -3,6 +3,7 @@ package com.ssf.mysqloracletest.task; import cn.hutool.core.io.FileUtil; import com.ssf.mysqloracletest.domain.JcjCjxxViewMysql; import com.ssf.mysqloracletest.domain.JcjCjxxViewOracle; +import com.ssf.mysqloracletest.domain.JcjJjxxViewMysql; import com.ssf.mysqloracletest.service.JcjCjxxViewMysqlService; import com.ssf.mysqloracletest.service.JcjCjxxViewOracleService; import com.ssf.mysqloracletest.utils.ConfigParam; @@ -16,6 +17,7 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.io.File; +import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.CountDownLatch; @@ -23,7 +25,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** - * 用户数据接入 + * 用户数据接入 */ @Component public class JcjCjxxTask { @@ -83,16 +85,16 @@ public class JcjCjxxTask { byte[] qrCode1 = cjxx.getXZB(); byte[] qrCode2 = cjxx.getYZB(); try { - String filePath = getFolderPath(ConfigParam.GyzhafPhotoPicPath) + cjxx.getCJBH() +"XZB"+ StringKit.toString(UUID.randomUUID()).replaceAll("-", "") + ".jpg"; + String filePath = getFolderPath(ConfigParam.GyzhafPhotoPicPath) + cjxx.getCJBH() + "XZB" + StringKit.toString(UUID.randomUUID()).replaceAll("-", "") + ".jpg"; File file = FileUtil.writeBytes(qrCode1, filePath); logger.info(file.getPath() + ",生成成功"); - String filePath1 = getFolderPath(ConfigParam.GyzhafPhotoPicPath) + cjxx.getCJBH() +"YZB"+ StringKit.toString(UUID.randomUUID()).replaceAll("-", "") + ".jpg"; + String filePath1 = getFolderPath(ConfigParam.GyzhafPhotoPicPath) + cjxx.getCJBH() + "YZB" + StringKit.toString(UUID.randomUUID()).replaceAll("-", "") + ".jpg"; File file1 = FileUtil.writeBytes(qrCode2, filePath1); logger.info(file1.getPath() + ",生成成功"); sBean.setXZB(filePath); sBean.setYZB(filePath1); } catch (Exception e) { - logger.info(cjxx.getCJBH()+ ",文件生成失败"); + logger.info(cjxx.getCJBH() + ",文件生成失败"); } //确定一个数据是否唯一 JcjCjxxViewMysql checkcjxx = cjxxMysqlService.selectCjxxById(cjxx.getCJBH()); @@ -127,6 +129,7 @@ public class JcjCjxxTask { logger.info(StringKit.getTrace(e)); } } + private static String getFolderPath(String picpath) { String floderPath; Date date = new Date(); @@ -142,32 +145,47 @@ public class JcjCjxxTask { } - /** - * * 功能描述: 接入出警信息实时数据 * * @param: - * @return: + * @return: * @auther: cyfeng * @date: 2023/12/2 14:31 */ @Scheduled(initialDelay = 100, fixedDelay = 3000) public void transcjxxNow() { + if (!"true".equals(ConfigParam.cjxxSwitch)) { + return; + } + try { //1 去mysql查出当前最大时间 - + JcjCjxxViewMysql cjxxViewMysql = cjxxMysqlService.selectRecordOrderByRksj(); //2 用得到的最大时间去oracle 查询大于这个时间的记录 - + List list = cjxxOracleService.getRealTimeRecording(cjxxViewMysql.getCJSJ()); //3 解析入库 + for (JcjCjxxViewOracle cjxx : list) { + JcjCjxxViewMysql sBean = new JcjCjxxViewMysql(); + BeanUtils.copyProperties(cjxx, sBean); + //确定一个数据是否唯一 + JcjCjxxViewMysql checkcjxx = cjxxMysqlService.selectCjxxById(cjxx.getCJBH()); + + if (checkcjxx == null) { + cjxxMysqlService.insertCjxx(sBean); + logger.info("cjxx-" + cjxx.getCJBH() + ":插入成功"); + } else { + cjxxMysqlService.updateCjxxById(sBean); + logger.info("cjxx-" + cjxx.getCJBH() + ":更新成功"); + } - }catch (Exception e){ - e.printStackTrace(); - } + } + } catch (Exception e) { + e.printStackTrace(); + } } - } diff --git a/src/main/java/com/ssf/mysqloracletest/utils/ConfigParam.java b/src/main/java/com/ssf/mysqloracletest/utils/ConfigParam.java index a9c4120..c5808c7 100644 --- a/src/main/java/com/ssf/mysqloracletest/utils/ConfigParam.java +++ b/src/main/java/com/ssf/mysqloracletest/utils/ConfigParam.java @@ -30,4 +30,8 @@ public class ConfigParam { //将数据洗进 --->业务表的开关---------------------------------------------------------------------------------------------------------- public static String NewNsydwSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("NewNsydwSwitch")); public static String NewNalarminfoSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("NewNalarminfoSwitch")); + + //CJ实时数据开关 + public static String actualTimecjxxSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("actualTimecjxxSwitch")); + } diff --git a/src/main/resources/mapper/JcjCjxxViewMapperMysql.xml b/src/main/resources/mapper/JcjCjxxViewMapperMysql.xml index 624da59..880e7d7 100644 --- a/src/main/resources/mapper/JcjCjxxViewMapperMysql.xml +++ b/src/main/resources/mapper/JcjCjxxViewMapperMysql.xml @@ -445,7 +445,6 @@ where CJBH = #{CJBH} -