处警实时数据

develop
Angel 10 months ago
parent 09fccb14c5
commit e076b48057

@ -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;

@ -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<JcjCjxxViewMysql> {
public int updateCjxxById(JcjCjxxViewMysql bean);
JcjCjxxViewMysql selectRecordOrderByRksj();
}

@ -20,6 +20,8 @@ public interface JcjCjxxViewOracleMapper extends BaseMapper<JcjCjxxViewOracle> {
public int countCjxx();
public List<JcjCjxxViewOracle> getCjxxList(Map map);
public List<JcjCjxxViewOracle> getRealTimeRecording(String time);
}

@ -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_viewService
* @createDate 2023-11-29 09:28:09
*/
* @author 28758
* @description jcj_cjxx_viewService
* @createDate 2023-11-29 09:28:09
*/
public interface JcjCjxxViewMysqlService extends IService<JcjCjxxViewMysql> {
public JcjCjxxViewMysql selectCjxxById(String id);
@ -16,4 +17,5 @@ public interface JcjCjxxViewMysqlService extends IService<JcjCjxxViewMysql> {
public int updateCjxxById(JcjCjxxViewMysql tjks);
public JcjCjxxViewMysql selectRecordOrderByRksj();
}

@ -15,4 +15,6 @@ public interface JcjCjxxViewOracleService extends IService<JcjCjxxViewOracle> {
public int countCjxx();
public List<JcjCjxxViewOracle> getCjxxList(Map map);
public List<JcjCjxxViewOracle> getRealTimeRecording(String time);
}

@ -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<JcjCjxxViewMysqlMap
return jcjCjxxViewMysqlMapper.updateCjxxById(tjks);
}
@Override
public JcjCjxxViewMysql selectRecordOrderByRksj() {
return jcjCjxxViewMysqlMapper.selectRecordOrderByRksj();
}
}

@ -33,6 +33,11 @@ public class JcjCjxxViewOracleServiceImpl extends ServiceImpl<JcjCjxxViewOracleM
return oracleMapper.getCjxxList(map);
}
@Override
public List<JcjCjxxViewOracle> getRealTimeRecording(String time) {
return oracleMapper.getRealTimeRecording(time);
}
}

@ -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;
@ -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,9 +145,7 @@ public class JcjCjxxTask {
}
/**
*
* :
*
* @param:
@ -155,19 +156,36 @@ public class JcjCjxxTask {
@Scheduled(initialDelay = 100, fixedDelay = 3000)
public void transcjxxNow() {
if (!"true".equals(ConfigParam.cjxxSwitch)) {
return;
}
try {
//1 去mysql查出当前最大时间
JcjCjxxViewMysql cjxxViewMysql = cjxxMysqlService.selectRecordOrderByRksj();
//2 用得到的最大时间去oracle 查询大于这个时间的记录
List<JcjCjxxViewOracle> list = cjxxOracleService.getRealTimeRecording(cjxxViewMysql.getCJSJ());
//3 解析入库
for (JcjCjxxViewOracle cjxx : list) {
JcjCjxxViewMysql sBean = new JcjCjxxViewMysql();
BeanUtils.copyProperties(cjxx, sBean);
//确定一个数据是否唯一
JcjCjxxViewMysql checkcjxx = cjxxMysqlService.selectCjxxById(cjxx.getCJBH());
}catch (Exception e){
e.printStackTrace();
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();
}
}
}

@ -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"));
}

@ -445,7 +445,6 @@
where CJBH = #{CJBH}
</update>
<select id="selectRecordOrderByRksj" parameterType="java.lang.String" resultMap="BaseResultMap">
select *
from jcj_cjxx_view order by ws_rksj desc limit 1;

Loading…
Cancel
Save