develop
Angel 1 year ago
parent 65b11a3eec
commit f9fbf8ecc3

@ -0,0 +1,111 @@
package com.ssf.mysqloracletest.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
*
* @TableName meta_hunters_info
*/
@TableName(value ="meta_hunters_info")
@Data
public class MetaHuntersInfo implements Serializable {
/**
*
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
*
*/
private String hunterName;
/**
*
*/
private String sex;
/**
*
*/
private String phone;
/**
*
*/
private String idCard;
/**
*
*/
private String houseHoldRegister;
/**
*
*/
private String houseHoldAddress;
/**
*
*/
private String habitationAddress;
/**
*
*/
private String caseSituation;
/**
*
*/
private String caseHandlingSituation;
/**
*
*/
private Integer controlStatus;
/**
*
*/
private Integer dataStatus;
/**
*
*/
private String registrationTime;
/**
*
*/
private Date createTime;
/**
*
*/
private Integer createBy;
/**
*
*/
private Date updateTime;
/**
*
*/
private Integer updateBy;
/**
* 0:,1:
*/
private Integer isActive;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,60 @@
package com.ssf.mysqloracletest.domain;
import lombok.Data;
@Data
public class SlryOracle {
private String RYJBXXIDR;
private String XM;
private String XMPY;
private String YWXM;
private String CYM;
private String XB;
private String CSRQ;
private String ZJLX;
private String ZJHM;
private String GJ;
private String HYZK;
private String ZC;
private String MZ;
private String JG;
private String CH;
private String ZJXY;
private String ZZMM;
private String WHCD;
private String BYZK;
private String RYSF;
private String ZYLB;
private String ZWBH;
private String DNABH;
private String QTZJLX;
private String QTZJHM;
private String GZDW;
private String HJDQH;
private String HJDXZ;
private String HJDZRQ;
private String HJDZRQDM;
private String XZDQH;
private String XZDXZ;
private String XZDZRQ;
private String XZDZRQDM;
private String ZDRYLBBJ;
private String GXDWMC;
private String GXDWDM;
private String GXZRRXM;
private String GXZRRSFZH;
private String GXZRRSJHM;
private String SSSAQK;
private String BDJCLQK;
private String BZXX;
private String SJHM;
private String GKZT;
private String YXX;
private String RYLY;
private String DJRXM;
private String DJRSFZH;
private String DJRDWMC;
private String DJRDWDM;
private String DJSJ;
private String ZXCKSJ;
}

@ -0,0 +1,20 @@
package com.ssf.mysqloracletest.mapper;
import com.ssf.mysqloracletest.domain.MetaHuntersInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* @author 10503
* @description meta_hunters_info()Mapper
* @createDate 2023-12-08 23:11:18
* @Entity com.ssf.mysqloracletest.domain.MetaHuntersInfo
*/
@Mapper
public interface MetaHuntersInfoMapper extends BaseMapper<MetaHuntersInfo> {
}

@ -0,0 +1,15 @@
package com.ssf.mysqloracletest.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ssf.mysqloracletest.domain.SlryOracle;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface SlryOracleMapper extends BaseMapper<SlryOracle> {
public int countSlry();
public List<SlryOracle> getSlryList(Map map);
}

@ -0,0 +1,13 @@
package com.ssf.mysqloracletest.service;
import com.ssf.mysqloracletest.domain.MetaHuntersInfo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author 10503
* @description meta_hunters_info()Service
* @createDate 2023-12-08 23:11:18
*/
public interface MetaHuntersInfoService extends IService<MetaHuntersInfo> {
}

@ -0,0 +1,14 @@
package com.ssf.mysqloracletest.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ssf.mysqloracletest.domain.SlryOracle;
import com.ssf.mysqloracletest.domain.VSwryGjxxOracle;
import java.util.List;
import java.util.Map;
public interface SlryOracleService extends IService<SlryOracle> {
public int countSwry();
public List<SlryOracle> getSlryList(Map map);
}

@ -0,0 +1,24 @@
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.MetaHuntersInfo;
import com.ssf.mysqloracletest.service.MetaHuntersInfoService;
import com.ssf.mysqloracletest.mapper.MetaHuntersInfoMapper;
import org.springframework.stereotype.Service;
/**
* @author 10503
* @description meta_hunters_info()Service
* @createDate 2023-12-08 23:11:18
*/
@Service
@DS("mysql")
public class MetaHuntersInfoServiceImpl extends ServiceImpl<MetaHuntersInfoMapper, MetaHuntersInfo>
implements MetaHuntersInfoService{
}

@ -0,0 +1,33 @@
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.SlryOracle;
import com.ssf.mysqloracletest.mapper.SlryOracleMapper;
import com.ssf.mysqloracletest.service.SlryOracleService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
@Service
@DS("oracleSydz")
public class SlryOracleServiceImpl extends ServiceImpl<SlryOracleMapper, SlryOracle>
implements SlryOracleService {
@Resource
private SlryOracleMapper oracleMapper;
@Override
public int countSwry() {
return oracleMapper.countSlry();
}
@Override
public List<SlryOracle> getSlryList(Map map) {
return oracleMapper.getSlryList(map);
}
}

@ -126,7 +126,6 @@ public class MetaHandleAlarmTask {
while (matcher.find()) {
chineseCharacters.append(matcher.group());
}
return chineseCharacters.toString();
}

@ -0,0 +1,121 @@
package com.ssf.mysqloracletest.task;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.ssf.mysqloracletest.domain.*;
import com.ssf.mysqloracletest.service.*;
import com.ssf.mysqloracletest.utils.ConfigParam;
import com.ssf.mysqloracletest.utils.NumKit;
import com.ssf.mysqloracletest.utils.StringKit;
import lombok.RequiredArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
*
*/
@Component
@RequiredArgsConstructor
public class SlryOracleTask {
private static final Logger logger = LoggerFactory.getLogger(SlryOracleTask.class);
private final SlryOracleService slryOracleService;
private final MetaHuntersInfoService huntersInfoService;
final int oncesCounts = NumKit.checkInt(ConfigParam.oncesCounts) == 0 ? 1000 : NumKit.checkInt(ConfigParam.oncesCounts);
/**
*
* //
*/
@Scheduled(initialDelay = 100, fixedDelay = 3000)
public void transSwry() {
if (!"true".equals(ConfigParam.SlryOracleSwitch)) {
return;
}
try {
int countSlry = slryOracleService.countSwry();
CountDownLatch latch = new CountDownLatch(countSlry);
ExecutorService cjxxPool = Executors.newFixedThreadPool(5);
for (int i = 0; i <= countSlry; i++) {
Map slryMap = new HashMap();
slryMap.put("rowStart", i * oncesCounts);
slryMap.put("rowEnd", (i + 1) * oncesCounts);
cjxxPool.submit(() -> {
try {
List<SlryOracle> slryList = slryOracleService.getSlryList(slryMap);
for (SlryOracle slry : slryList) {
MetaHuntersInfo metaHuntersInfo = new MetaHuntersInfo();
metaHuntersInfo.setHunterName(slry.getXM());
metaHuntersInfo.setSex(slry.getXB());
metaHuntersInfo.setPhone(slry.getSJHM());
metaHuntersInfo.setIdCard(slry.getZJHM());
metaHuntersInfo.setHouseHoldRegister(slry.getHJDQH());
metaHuntersInfo.setHouseHoldAddress(slry.getHJDXZ());
metaHuntersInfo.setHabitationAddress(slry.getXZDXZ());
metaHuntersInfo.setCaseSituation(slry.getSSSAQK());
metaHuntersInfo.setCaseHandlingSituation(slry.getBDJCLQK());
metaHuntersInfo.setControlStatus(Integer.parseInt(slry.getGKZT()));
metaHuntersInfo.setDataStatus(Integer.parseInt(slry.getYXX()));
//确定一个数据是否唯一
MetaHuntersInfo one = huntersInfoService.lambdaQuery().eq(MetaHuntersInfo::getIdCard, slry.getZJHM()).one();
if (one == null) {
boolean save = huntersInfoService.save(metaHuntersInfo);
if (save) {
logger.info("Swry-" + slry.getZJHM() + ":插入成功");
}
} else {
UpdateWrapper<MetaHuntersInfo> wrapper = new UpdateWrapper<>();
wrapper.eq("id_card", slry.getZJHM());
boolean update = huntersInfoService.update(metaHuntersInfo, wrapper);
if (update) {
logger.info("Swry-" + slry.getZJHM() + ":更新成功");
}
}
}
} catch (Exception e) {
logger.info("cjxxs:" + e.getMessage());
}
latch.countDown();
});
logger.info("cjxxMap数据总量:" + countSlry + "," + "当前处理下标:" + slryMap.get("rowStart") + "/" + slryMap.get("rowEnd"));
}
try {
// Wait for all threads to complete
latch.await();
} catch (InterruptedException e) {
e.printStackTrace();
}
// 关闭线程池
cjxxPool.shutdown();
} catch (
Exception e) {
logger.info(StringKit.getTrace(e));
}
}
}

@ -48,5 +48,7 @@ public class ConfigParam {
public static String sydzToEstateInfoSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("sydzToEstateInfoSwitch"));
public static String syryToActualInfoSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("syryToActualInfoSwitch"));
public static String SlryOracleSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("SlryOracleSwitch"));
}

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ssf.mysqloracletest.mapper.SlryOracleMapper">
<select id="countSlry" resultType="int">
select count(*)
from SYX_JWSZPT.T_SLRY_RYJBYY
</select>
<resultMap id="BaseResultMap" type="com.ssf.mysqloracletest.domain.SlryOracle">
<result property="RYJBXXIDR" column="GJXXID" jdbcType="VARCHAR"/>
<result property="XM" column="XM" jdbcType="VARCHAR"/>
<result property="XMPY" column="XMPY" jdbcType="VARCHAR"/>
<result property="YWXM" column="YWXM" jdbcType="VARCHAR"/>
<result property="CYM" column="CYM" jdbcType="VARCHAR"/>
<result property="XB" column="XB" jdbcType="VARCHAR"/>
<result property="CSRQ" column="CSRQ" jdbcType="VARCHAR"/>
<result property="ZJLX" column="ZJLX" jdbcType="VARCHAR"/>
<result property="ZJHM" column="ZJHM" jdbcType="VARCHAR"/>
<result property="GJ" column="GJ" jdbcType="VARCHAR"/>
<result property="HYZK" column="HYZK" jdbcType="VARCHAR"/>
<result property="ZC" column="ZC" jdbcType="VARCHAR"/>
<result property="MZ" column="MZ" jdbcType="VARCHAR"/>
<result property="JG" column="JG" jdbcType="VARCHAR"/>
<result property="CH" column="CH" jdbcType="VARCHAR"/>
<result property="ZJXY" column="ZJXY" jdbcType="VARCHAR"/>
<result property="ZZMM" column="ZZMM" jdbcType="VARCHAR"/>
<result property="WHCD" column="WHCD" jdbcType="VARCHAR"/>
<result property="BYZK" column="BYZK" jdbcType="VARCHAR"/>
<result property="RYSF" column="RYSF" jdbcType="VARCHAR"/>
<result property="ZYLB" column="ZYLB" jdbcType="VARCHAR"/>
<result property="ZWBH" column="ZWBH" jdbcType="VARCHAR"/>
<result property="DNABH" column="DNABH" jdbcType="VARCHAR"/>
<result property="QTZJLX" column="QTZJLX" jdbcType="VARCHAR"/>
<result property="QTZJHM" column="QTZJHM" jdbcType="VARCHAR"/>
<result property="GZDW" column="GZDW" jdbcType="VARCHAR"/>
<result property="HJDQH" column="HJDQH" jdbcType="VARCHAR"/>
<result property="HJDXZ" column="HJDXZ" jdbcType="VARCHAR"/>
<result property="HJDZRQ" column="HJDZRQ" jdbcType="VARCHAR"/>
<result property="HJDZRQDM" column="HJDZRQDM" jdbcType="VARCHAR"/>
<result property="XZDQH" column="XZDQH" jdbcType="VARCHAR"/>
<result property="XZDXZ" column="XZDXZ" jdbcType="VARCHAR"/>
<result property="XZDZRQ" column="XZDZRQ" jdbcType="VARCHAR"/>
<result property="XZDZRQDM" column="XZDZRQDM" jdbcType="VARCHAR"/>
<result property="ZDRYLBBJ" column="ZDRYLBBJ" jdbcType="VARCHAR"/>
<result property="GXDWMC" column="GXDWMC" jdbcType="VARCHAR"/>
<result property="GXDWDM" column="GXDWDM" jdbcType="VARCHAR"/>
<result property="GXZRRXM" column="GXZRRXM" jdbcType="VARCHAR"/>
<result property="GXZRRSFZH" column="GXZRRSFZH" jdbcType="VARCHAR"/>
<result property="GXZRRSJHM" column="GXZRRSJHM" jdbcType="VARCHAR"/>
<result property="SSSAQK" column="SSSAQK" jdbcType="VARCHAR"/>
<result property="BDJCLQK" column="BDJCLQK" jdbcType="VARCHAR"/>
<result property="BZXX" column="BZXX" jdbcType="VARCHAR"/>
<result property="SJHM" column="SJHM" jdbcType="VARCHAR"/>
<result property="GKZT" column="GKZT" jdbcType="VARCHAR"/>
<result property="YXX" column="YXX" jdbcType="VARCHAR"/>
<result property="RYLY" column="RYLY" jdbcType="VARCHAR"/>
<result property="DJRXM" column="DJRXM" jdbcType="VARCHAR"/>
<result property="DJRSFZH" column="DJRSFZH" jdbcType="VARCHAR"/>
<result property="DJRDWMC" column="DJRDWMC" jdbcType="VARCHAR"/>
<result property="DJRDWDM" column="DJRDWDM" jdbcType="VARCHAR"/>
<result property="DJSJ" column="DJSJ" jdbcType="VARCHAR"/>
<result property="ZXCKSJ" column="ZXCKSJ" jdbcType="VARCHAR"/>
</resultMap>
<select id="getSlryList" parameterType="java.util.Map" resultMap="BaseResultMap">
SELECT t2.*
FROM (SELECT ROWNUM rn, t1.* FROM (SELECT * FROM SYX_JWSZPT.T_SLRY_RYJBYY) t1 WHERE ROWNUM<![CDATA[ <= ]]> ${rowEnd}) t2
WHERE t2.rn <![CDATA[ >= ]]> ${rowStart}
</select>
<!-- <select id="getSwryListByTime" parameterType="java.util.Map" resultMap="BaseResultMap">-->
<!-- SELECT * FROM SYX_JWSZPT.V_SWRY_GJXX where GJSJ <![CDATA[ >= ]]> #{maxTime} and GJSJ <![CDATA[ <= ]]> #{minTime}-->
<!-- </select>-->
<!-- <select id="getRealTimeRecording" parameterType="java.util.Map" resultMap="BaseResultMap">-->
<!-- SELECT * FROM SYX_JWSZPT.V_SWRY_GJXX where GJSJ >#{maxTime}-->
<!-- </select>-->
</mapper>
Loading…
Cancel
Save