From d57ff4141b062ca2600d3bffd3fc3b585e0d7430 Mon Sep 17 00:00:00 2001 From: Angel <1050374295@qq.com> Date: Mon, 4 Dec 2023 17:28:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=BA=E7=A7=9F=E5=B1=8B=E6=B8=85=E6=B4=97--?= =?UTF-8?q?=E7=AC=AC=E4=B8=80=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/application.properties | 13 +- .../domain/MetaRentalHousingInfo.java | 177 ++++++++++++++++++ .../mysqloracletest/domain/VSySyfwMysql.java | 138 +++++++------- .../mapper/MetaRentalHousingInfoMapper.java | 22 +++ .../mapper/VSySyfwMysqlMapper.java | 1 + .../service/MetaRentalHousingInfoService.java | 13 ++ .../service/VSySyfwMysqlService.java | 3 + .../MetaRentalHousingInfoServiceImpl.java | 23 +++ .../service/impl/VSySyfwMysqlServiceImpl.java | 5 + .../task/RentalHousingTask.java | 157 ++++++++++++++++ .../mysqloracletest/utils/ConfigParam.java | 3 + .../resources/mapper/VSySyfwMysqlMapper.xml | 11 +- 12 files changed, 492 insertions(+), 74 deletions(-) create mode 100644 src/main/java/com/ssf/mysqloracletest/domain/MetaRentalHousingInfo.java create mode 100644 src/main/java/com/ssf/mysqloracletest/mapper/MetaRentalHousingInfoMapper.java create mode 100644 src/main/java/com/ssf/mysqloracletest/service/MetaRentalHousingInfoService.java create mode 100644 src/main/java/com/ssf/mysqloracletest/service/impl/MetaRentalHousingInfoServiceImpl.java create mode 100644 src/main/java/com/ssf/mysqloracletest/task/RentalHousingTask.java diff --git a/config/application.properties b/config/application.properties index c1c19eb..d449ab5 100644 --- a/config/application.properties +++ b/config/application.properties @@ -13,14 +13,15 @@ zdrySwitch=false cyrySwitch=false JjxxSwitch=false #------------------------?????---------------------------- -NewNsydwSwitch=true -metaImpUserSwitch=true -NewNalarminfoSwitch=true -metaHandleAlarmSwitch=true -metaActualUnitUserInfoSwitch=true -metaActualUserInfoSwitch=true +NewNsydwSwitch=false +metaImpUserSwitch=false +NewNalarminfoSwitch=false +metaHandleAlarmSwitch=false +metaActualUnitUserInfoSwitch=false +metaActualUserInfoSwitch=false actualTimecjxxSwitch=false actualTimejjxxSwitch=false +RentalHouseSwitch=true diff --git a/src/main/java/com/ssf/mysqloracletest/domain/MetaRentalHousingInfo.java b/src/main/java/com/ssf/mysqloracletest/domain/MetaRentalHousingInfo.java new file mode 100644 index 0000000..0c9c081 --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/domain/MetaRentalHousingInfo.java @@ -0,0 +1,177 @@ +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_rental_housing_info + */ +@TableName(value ="meta_rental_housing_info") +@Data +public class MetaRentalHousingInfo implements Serializable { + /** + * 主键 + */ + @TableId(type = IdType.AUTO) + private Long id; + + /** + * 出租房屋地址 + */ + private String rentalHousingAddress; + + /** + * 房主 + */ + private String homeowner; + + /** + * 房主身份证 + */ + private String homeownerIdCard; + + /** + * 房主户籍地区县 + */ + private String homeownerHouseHoldRegister; + + /** + * 户籍地址详情 + */ + private String homeownerHouseHoldAddress; + + /** + * 房主现居住地区县 + */ + private String homeownerHabitationRegister; + + /** + * 房主现居住地 + */ + private String homeownerHabitationAddress; + + /** + * 房主联系方式 + */ + private String homeownerPhone; + + /** + * 状态标识:0有效,1无效 + */ + private Integer stateFlag; + + /** + * 出租房到期时间 + */ + private String rentalHousingEndDate; + + /** + * 派出所代码 + */ + private String policeStationCode; + + /** + * 警务区编码 + */ + private String policeDistrictCode; + + /** + * 流动人口标准地址ID + + */ + private String floatingPopulationStandardAddressId; + + /** + * 流动人口标准地址 + */ + private String floatingPopulationStandardAddress; + + /** + * 出租房状态 + */ + private Integer rentalHousingStatus; + + /** + * 是否出租 + */ + private Integer isRentalHousing; + + /** + * 居住类型 + */ + private Integer residentialType; + + /** + * 房屋等级 + */ + private Integer rentalHousingGrade; + + /** + * 重点房屋 + */ + private Integer impRentalHousing; + + /** + * 重点人员 + */ + private Integer impUserRentalHousing; + + /** + * 是否群租房 + */ + private Integer isGroupRentalHousing; + + /** + * 住房类型 + */ + private Integer rentalHousingType; + + /** + * 租房人姓名 + */ + private String rentingHouseUserName; + + /** + * 租房人联系方式 + */ + private String rentingHouseUserPhone; + + /** + * 租房人证件号码 + */ + private String rentingHouseUserIdCard; + + /** + * 创建时间 + */ + 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; +} \ No newline at end of file diff --git a/src/main/java/com/ssf/mysqloracletest/domain/VSySyfwMysql.java b/src/main/java/com/ssf/mysqloracletest/domain/VSySyfwMysql.java index 388b85f..1444090 100644 --- a/src/main/java/com/ssf/mysqloracletest/domain/VSySyfwMysql.java +++ b/src/main/java/com/ssf/mysqloracletest/domain/VSySyfwMysql.java @@ -1,6 +1,8 @@ package com.ssf.mysqloracletest.domain; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; import lombok.Data; @@ -12,140 +14,142 @@ import lombok.Data; */ @Data +@TableName(value = "v_sy_syfw") public class VSySyfwMysql { + @TableField(value = "ZJLID") private String ZJLID; - + @TableField(value = "YSXTJRZJ") private String YSXTJRZJ; - + @TableField(value = "XXSC_PDBZ") private String XXSC_PDBZ; - + @TableField(value = "DAH") private String DAH; - + @TableField(value = "JCWH") private String JCWH; - + @TableField(value = "FWID") private String FWID; - + @TableField(value = "FWLX") private String FWLX; - + @TableField(value = "FWDZ") private String FWDZ; - + @TableField(value = "FWXZ") private String FWXZ; - + @TableField(value = "FWLB") private String FWLB; - + @TableField(value = "FWJG") private String FWJG; - + @TableField(value = "FJS") private String FJS; - + @TableField(value = "MJ") private String MJ; - + @TableField(value = "CZYT") private String CZYT; - + @TableField(value = "DJRQ") private String DJRQ; - //姓名 + @TableField(value = "XM") private String XM; - + @TableField(value = "SFZH") private String SFZH; - + @TableField(value = "XB") private String XB; - + @TableField(value = "HJDQX") private String HJDQX; - + @TableField(value = "HJDXZ") private String HJDXZ; - + @TableField(value = "XZDQX") private String XZDQX; - + @TableField(value = "XZDXZ") private String XZDXZ; - + @TableField(value = "DWMC") private String DWMC; - + @TableField(value = "DWXZ") private String DWXZ; - + @TableField(value = "LXDH") private String LXDH; - + @TableField(value = "LRRID") private String LRRID; - + @TableField(value = "LRR") private String LRR; - + @TableField(value = "LRSJ") private String LRSJ; - + @TableField(value = "XGRID") private String XGRID; - + @TableField(value = "XGRXM") private String XGRXM; - + @TableField(value = "XGSJ") private String XGSJ; - + @TableField(value = "TBBS") private String TBBS; - + @TableField(value = "TBSJ") private String TBSJ; - + @TableField(value = "MEMO") private String MEMO; - + @TableField(value = "BZ") private String BZ; - + @TableField(value = "DQRQ") private String DQRQ; - + @TableField(value = "SJFWID") private String SJFWID; - + @TableField(value = "DYHCODE") private String DYHCODE; - + @TableField(value = "PCSDM") private String PCSDM; - + @TableField(value = "JWQID") private String JWQID; - + @TableField(value = "SSYS") private String SSYS; - + @TableField(value = "SNO") private String SNO; - + @TableField(value = "ZXRQ") private String ZXRQ; - + @TableField(value = "ZXYY") private String ZXYY; - + @TableField(value = "LKBZDZID") private String LKBZDZID; - + @TableField(value = "LKBZDZMC") private String LKBZDZMC; - + @TableField(value = "FWZT") private String FWZT; - + @TableField(value = "CZFWBM") private String CZFWBM; - + @TableField(value = "CZFWQM") private String CZFWQM; - + @TableField(value = "TBMEMO") private String TBMEMO; - + @TableField(value = "SFCZ") private String SFCZ; - + @TableField(value = "JZLX") private String JZLX; - + @TableField(value = "FWDJ") private String FWDJ; - + @TableField(value = "ZDFW") private String ZDFW; - + @TableField(value = "ZDRY") private String ZDRY; - + @TableField(value = "SFQZ") private String SFQZ; - + @TableField(value = "ZJLX") private String ZJLX; - + @TableField(value = "ZFLX") private String ZFLX; - + @TableField(value = "CWS") private String CWS; - + @TableField(value = "CZRZJLX") private String CZRZJLX; - + @TableField(value = "CZRZJHM") private String CZRZJHM; - + @TableField(value = "CZRXM") private String CZRXM; - + @TableField(value = "CZRLXDH") private String CZRLXDH; - + @TableField(value = "CDC_JYM") private String CDC_JYM; - + @TableField(value = "YSBZK_RKSJ") private String YSBZK_RKSJ; - + @TableField(value = "YSBZK_GXSJ") private String YSBZK_GXSJ; - - + @TableField(value = "STATUS") + private String STATUS; } diff --git a/src/main/java/com/ssf/mysqloracletest/mapper/MetaRentalHousingInfoMapper.java b/src/main/java/com/ssf/mysqloracletest/mapper/MetaRentalHousingInfoMapper.java new file mode 100644 index 0000000..bdade4b --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/mapper/MetaRentalHousingInfoMapper.java @@ -0,0 +1,22 @@ +package com.ssf.mysqloracletest.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ssf.mysqloracletest.domain.MetaRentalHousingInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author 10503 + * @description 针对表【meta_rental_housing_info(出租房信息表)】的数据库操作Mapper + * @createDate 2023-12-04 10:11:22 + * @Entity com.ssf.mysqloracletest.domain.MetaRentalHousingInfo + */ +@Mapper +public interface MetaRentalHousingInfoMapper extends BaseMapper { + +} + + + + diff --git a/src/main/java/com/ssf/mysqloracletest/mapper/VSySyfwMysqlMapper.java b/src/main/java/com/ssf/mysqloracletest/mapper/VSySyfwMysqlMapper.java index 232deea..af49e24 100644 --- a/src/main/java/com/ssf/mysqloracletest/mapper/VSySyfwMysqlMapper.java +++ b/src/main/java/com/ssf/mysqloracletest/mapper/VSySyfwMysqlMapper.java @@ -20,5 +20,6 @@ public interface VSySyfwMysqlMapper extends BaseMapper { public int insertVSySyfw(VSySyfwMysql bean); public int updateVSySyfwById(VSySyfwMysql bean); + public int countSyfw(); } diff --git a/src/main/java/com/ssf/mysqloracletest/service/MetaRentalHousingInfoService.java b/src/main/java/com/ssf/mysqloracletest/service/MetaRentalHousingInfoService.java new file mode 100644 index 0000000..839da3c --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/service/MetaRentalHousingInfoService.java @@ -0,0 +1,13 @@ +package com.ssf.mysqloracletest.service; + +import com.ssf.mysqloracletest.domain.MetaRentalHousingInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author 10503 +* @description 针对表【meta_rental_housing_info(出租房信息表)】的数据库操作Service +* @createDate 2023-12-04 10:11:22 +*/ +public interface MetaRentalHousingInfoService extends IService { + +} diff --git a/src/main/java/com/ssf/mysqloracletest/service/VSySyfwMysqlService.java b/src/main/java/com/ssf/mysqloracletest/service/VSySyfwMysqlService.java index f4d16fb..3d7f096 100644 --- a/src/main/java/com/ssf/mysqloracletest/service/VSySyfwMysqlService.java +++ b/src/main/java/com/ssf/mysqloracletest/service/VSySyfwMysqlService.java @@ -16,5 +16,8 @@ public interface VSySyfwMysqlService extends IService { public int insertVSySyfw(VSySyfwMysql syfw); public int updateVSySyfwById(VSySyfwMysql syfw); + + public int countSyfw(); + } diff --git a/src/main/java/com/ssf/mysqloracletest/service/impl/MetaRentalHousingInfoServiceImpl.java b/src/main/java/com/ssf/mysqloracletest/service/impl/MetaRentalHousingInfoServiceImpl.java new file mode 100644 index 0000000..0e9cc5b --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/service/impl/MetaRentalHousingInfoServiceImpl.java @@ -0,0 +1,23 @@ +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.MetaRentalHousingInfo; +import com.ssf.mysqloracletest.service.MetaRentalHousingInfoService; +import com.ssf.mysqloracletest.mapper.MetaRentalHousingInfoMapper; +import org.springframework.stereotype.Service; + +/** +* @author 10503 +* @description 针对表【meta_rental_housing_info(出租房信息表)】的数据库操作Service实现 +* @createDate 2023-12-04 10:11:22 +*/ +@Service +public class MetaRentalHousingInfoServiceImpl extends ServiceImpl + implements MetaRentalHousingInfoService{ + +} + + + + diff --git a/src/main/java/com/ssf/mysqloracletest/service/impl/VSySyfwMysqlServiceImpl.java b/src/main/java/com/ssf/mysqloracletest/service/impl/VSySyfwMysqlServiceImpl.java index 76c28d6..ddfd3b7 100644 --- a/src/main/java/com/ssf/mysqloracletest/service/impl/VSySyfwMysqlServiceImpl.java +++ b/src/main/java/com/ssf/mysqloracletest/service/impl/VSySyfwMysqlServiceImpl.java @@ -40,5 +40,10 @@ public class VSySyfwMysqlServiceImpl extends ServiceImpl 0) { + rentalhouseTag = true; + + int count = countRentalHouse / oncesCounts; + CountDownLatch latch = new CountDownLatch(count); + ExecutorService RentalHousePool = Executors.newFixedThreadPool(50); + + for (int i = 0; i <= count; i++) { + Map HouseMap = new HashMap(); + HouseMap.put("rowStart", i * oncesCounts); + HouseMap.put("rowEnd", (i + 1) * oncesCounts); + RentalHousePool.submit(() -> { + try { + //List RentalHouses = syfwMysqlService.lambdaQuery().isNull(VSySyfwMysql::getSTATUS).list(); + // 创建分页参数 + Page page = new Page<>(1, 1000); + // 构建查询条件 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.isNull("STATUS"); + // 进行分页查询 + syfwMysqlService.page(page, queryWrapper); + // 获取分页查询结果 + List rentalHouses = page.getRecords(); + if (rentalHouses == null) { + return; + } + for (VSySyfwMysql House : rentalHouses) { + MetaRentalHousingInfo metaRentalHousingInfo = new MetaRentalHousingInfo(); + //rental_housing_address出租房屋地址<-----FWDZ房屋地址 + metaRentalHousingInfo.setRentalHousingAddress(House.getFWDZ()); + //homeowner房主<-----XM + metaRentalHousingInfo.setHomeowner(House.getXM()); + //homeowner_id_card房主身份证<-----SFZH + metaRentalHousingInfo.setHomeownerIdCard(House.getSFZH()); + //homeowner_house_hold_register房主户籍地区县<-----HJDQX户籍辖区 + metaRentalHousingInfo.setHomeownerHouseHoldRegister(House.getHJDQX()); + //homeowner_house_hold_address户籍地址详情<-----HJDXZ户籍地详址 + metaRentalHousingInfo.setHomeownerHouseHoldAddress(House.getHJDXZ()); + //homeowner_habitation_register房主现居住地区县<-----XZDQX现住地辖区 + metaRentalHousingInfo.setHomeownerHabitationRegister(House.getXZDQX()); + //homeowner_habitation_address房主现居住地<-----XZDXZ现住地详址 + metaRentalHousingInfo.setHomeownerHabitationAddress(House.getXZDXZ()); + //homeowner_phone房主联系方式<-----LXDH联系电话 + metaRentalHousingInfo.setHomeownerPhone(House.getLXDH()); + //state_flag表示状态:0有效,1无效<-----BZ + metaRentalHousingInfo.setStateFlag(Integer.parseInt(House.getBZ())); + //rental_housing_end_date出租房到期时间<-----DQRQ + metaRentalHousingInfo.setRentalHousingEndDate(House.getDQRQ()); + //police_station_code派出所代码<-----PCSDM + metaRentalHousingInfo.setPoliceStationCode(House.getPCSDM()); + //police_district_code警务区编码<-----JWQID + metaRentalHousingInfo.setPoliceDistrictCode(House.getJWQID()); + //floating_population_standard_address_id流动人口标准地址id<-----LKBZDZID + metaRentalHousingInfo.setFloatingPopulationStandardAddressId(House.getLKBZDZID()); + //floating_population_standard_address流动人口标准地址<-----LKBZDZMC + metaRentalHousingInfo.setFloatingPopulationStandardAddress(House.getLKBZDZMC()); + //rental_housing_status出租房状态<-----FWZT + metaRentalHousingInfo.setRentalHousingStatus(Integer.parseInt(House.getFWZT())); + //is_rental_housing是否出租<-----SFCZ(Y,N) + metaRentalHousingInfo.setIsRentalHousing(Integer.parseInt(House.getSFCZ())); + //residential_type居住类型<-----JZLX + metaRentalHousingInfo.setResidentialType(Integer.parseInt(House.getJZLX())); + //rental_housing_grade房屋等级<-----FWDJ + metaRentalHousingInfo.setRentalHousingGrade(Integer.parseInt(House.getFWDJ())); + //imp_rental_housing重点房屋<-----ZDFW + metaRentalHousingInfo.setImpRentalHousing(Integer.parseInt(House.getZDFW())); + //imp_user_rental_housing重点人员<-----ZDRY + metaRentalHousingInfo.setImpUserRentalHousing(Integer.parseInt(House.getZDRY())); + //is_group_rental_housing是否群租房<-----SFQZ + metaRentalHousingInfo.setIsGroupRentalHousing(Integer.parseInt(House.getSFQZ())); + //rental_housing_type住房类型<-----ZFLX + metaRentalHousingInfo.setRentalHousingType(Integer.parseInt(House.getZFLX())); + //renting_house_user_name租房人姓名<----- CZRXM + metaRentalHousingInfo.setRentingHouseUserName(House.getCZRXM()); + //renting_house_user_phone租房人联系方式<-----CZRLXDH + metaRentalHousingInfo.setRentingHouseUserPhone(House.getCZRLXDH()); + //renting_house_user_id_card租房人证件号码<-----CZRZJHM + metaRentalHousingInfo.setRentingHouseUserIdCard(House.getCZRZJHM()); + //将STATUS设成1 + House.setSTATUS("1"); + logger.info("插入成功"); + } + } catch (Exception e) { + logger.info("rentalHouses"+ StringKit.getTrace(e)); + } + latch.countDown(); + }); + logger.info("rentalhouseTag数据总理:" + countRentalHouse + "," + "当前处理下标:" + HouseMap.get("rowStart") + "/" + HouseMap.get("rowEnd")); + } + + try { + //Wait for all threads to complete + latch.await(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + //关闭线程池 + RentalHousePool.shutdown(); + } + } catch (Exception e) { + logger.info(StringKit.getTrace(e)); + } + } +} + diff --git a/src/main/java/com/ssf/mysqloracletest/utils/ConfigParam.java b/src/main/java/com/ssf/mysqloracletest/utils/ConfigParam.java index 937c928..26374f0 100644 --- a/src/main/java/com/ssf/mysqloracletest/utils/ConfigParam.java +++ b/src/main/java/com/ssf/mysqloracletest/utils/ConfigParam.java @@ -36,5 +36,8 @@ public class ConfigParam { //CJ实时数据开关 public static String actualTimecjxxSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("actualTimecjxxSwitch")); public static String actualTimejjxxSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("actualTimejjxxSwitch")); +//rentalHouse数据清洗开关 +public static String RentalHouseSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("RentalHouseSwitch")); + } diff --git a/src/main/resources/mapper/VSySyfwMysqlMapper.xml b/src/main/resources/mapper/VSySyfwMysqlMapper.xml index aca7031..1616b99 100644 --- a/src/main/resources/mapper/VSySyfwMysqlMapper.xml +++ b/src/main/resources/mapper/VSySyfwMysqlMapper.xml @@ -71,6 +71,7 @@ + + select count(*) + from V_SY_SYFW + + \ No newline at end of file