Commit 42704b65 authored by 郝彦辉's avatar 郝彦辉

Ocr识别的身份证有效期校验

parent 224afef1
package cn.quantgroup.report.config.datasource.baihang;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.context.annotation.Primary;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import javax.sql.DataSource;
@Import(BaiHangDataSourcePreperties.class)
@Configuration
@Slf4j
@MapperScan(basePackages = BaiHangDataSourceConfig.PACKAGE, sqlSessionFactoryRef = "baihangSqlSessionFactory")
public class BaiHangDataSourceConfig {
static final String PACKAGE = "cn.quantgroup.report.mapper.baihang";
@Value("${baihang.mapper-locations}")
private String mapperLocations;
@Value("${baihang.type-aliases-package}")
private String typeAliasesPackage;
@Value("${config-location}")
private String configLocation;
@Autowired
private BaiHangDataSourcePreperties baiHangDataSourcePreperties;
@Bean(name = "baihangDataSource")
@Primary
public DataSource baihangDataSource() {
HikariConfig config = new HikariConfig();
config.setJdbcUrl(baiHangDataSourcePreperties.getJdbcUrl());
log.info("百行征信数据库地址:{}", baiHangDataSourcePreperties.getJdbcUrl());
config.setPassword(baiHangDataSourcePreperties.getPassword());
config.setUsername(baiHangDataSourcePreperties.getUsername());
config.setMaximumPoolSize(baiHangDataSourcePreperties.getMaxPoolSize());
config.setMinimumIdle(baiHangDataSourcePreperties.getMinPoolSize());
config.addDataSourceProperty("cachePrepStmts", "true");
config.addDataSourceProperty("prepStmtCacheSize", "250");
config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
return new HikariDataSource(config);
}
@Bean(name = "baihangTransactionManager")
@Primary
public DataSourceTransactionManager baihangTransactionManager(@Qualifier("baihangDataSource") DataSource baihangDataSource) {
return new DataSourceTransactionManager(baihangDataSource);
}
@Bean(name = "baihangSqlSessionFactory")
@Primary
public SqlSessionFactory baihangSqlSessionFactory(@Qualifier("baihangDataSource") DataSource baihangDataSource) throws Exception {
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(baihangDataSource);
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
.getResources(mapperLocations));
sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
sessionFactory.setConfigLocation(new PathMatchingResourcePatternResolver()
.getResource(configLocation));
return sessionFactory.getObject();
}
@Bean(name = "baihangSqlSessionTemplate")
@Primary
public SqlSessionTemplate baihangSqlSessionTemplate(@Qualifier("baihangSqlSessionFactory") SqlSessionFactory baihangSqlSessionFactory) throws Exception {
return new SqlSessionTemplate(baihangSqlSessionFactory);
}
}
package cn.quantgroup.report.config.datasource.baihang;
import lombok.Getter;
import lombok.Setter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
@Setter
@Getter
@Configuration
public class BaiHangDataSourcePreperties {
@Value("${db.driver}")
private String driverClass;
@Value("${baihang.db.minPoolSize}")
private int minPoolSize;
@Value("${baihang.db.maxPoolSize}")
private int maxPoolSize;
@Value("${data.source.baihang.jdbcUrl}")
private String jdbcUrl;
//private String jdbcUrl = "jdbc:mysql://172.20.6.29:4010/rc_real_time_data_pool?useUnicode=true&characterEncoding=UTF8&useSSL=false";
//private String jdbcUrl = "jdbc:mysql://172.20.6.21:4010/rc_real_time_data_pool?useUnicode=true&characterEncoding=UTF8&useSSL=false";
@Value("${data.source.baihang.username}")
private String username;
@Value("${data.source.baihang.password}")
private String password;
}
package cn.quantgroup.report.domain.baihang;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 申请贷款信息
*
* @Author fengjunkai
* @Date 2019-03-26 14:32
*/
@Data
public class ApplyLoanInfo {
private String reqID;
private String uploadTs;
private String name;
private String pid;
private String mobile;
private String queryReason;
private String guaranteeType;
private String loanPurpose;
private String customType;
private String applyAmount;
private String loanId;
}
package cn.quantgroup.report.domain.baihang;
import java.math.BigDecimal;
import lombok.Data;
/**
* 申请贷款信息
*
* @Author fengjunkai
* @Date 2019-03-26 14:32
*/
@Data
public class ApplyLoanInfoZhuDai {
private String reqID;
private String opCode;//操作代码A-增加 M-修改
private String uploadTs;
private int isFinTechAgencyBusiness;//是否是助贷业务 N
private String applyDate;
private String applyId;
private int applyType;
private String name;
private int idType;
private String pid;
private String mobile;
private String emailAddress; //电子邮箱
private int eduBackground;//学历
private int degree;//学位
private int guaranteeType;//信贷业务担保类型
private int loanPurpose;//贷款用途 Y/N
private int customType; //客户类型
private BigDecimal applyAmount; //申请贷款金额
private String businessOrgCreditCode;//业务发生机构代码 Y/N
//private String homeAddress; //N
//private String homePhone; //N
//private String workName; //N
//private String workAddress; //N
//private String workPhone; //N
//private String idAddress; //N
//private String mailAddress; //N
private int livingCondition;//居住状况
private int marriageStatus; //婚姻状况
private String spouseName;//配偶姓名 Y/N
//private Integer spouseIdType;
//private String spousePid;
//private String spouseMobile;
//private String spouseWorkName;
//private String firstContactsName; //第一联系人姓名 Y/N
//private Integer firstContactsRelationship;
//private Integer firstContactsIdType;
//private String firstContactsPid;
//private String firstContactsMobile; //第一联系人手机号码 Y/N
//private String firstContactsTelephone;
//private String firstContactsWorkName;
//private String secondContactsName;//第二联系人姓名 Y/N
//private Integer secondContactsRelationship;
//private Integer secondContactsIdType;
//private String secondContactsPid;
//private String secondContactsMobile;//第二联系人手机号码 Y/N
//private String secondContactsTelephone;
//private String secondContactsWorkName;
//device;
//deviceType;
//imei;
//mac;
//ipAddress;
//osName;
}
package cn.quantgroup.report.domain.baihang;
import lombok.Builder;
import lombok.Data;
/**
* @Author fengjunkai
* @Date 2019-04-24 15:46
*/
@Builder
@Data
public class BaiHangName {
private String loanId;
}
package cn.quantgroup.report.domain.baihang;
import lombok.Data;
/**
* @Author fengjunkai
* @Date 2019-04-24 15:46
*/
@Data
public class BaiHangNameResult {
private String name;
private String mobile;
private String pid;
}
package cn.quantgroup.report.domain.baihang;
import lombok.Builder;
import lombok.Data;
/**
* @Author fengjunkai
* @Date 2019-04-20 13:30
*/
@Data
@Builder
public class BaiHangRepayment {
private String sendDate;
private String loanId;
private int termNo;
}
package cn.quantgroup.report.domain.baihang;
import lombok.Builder;
import lombok.Data;
/**
* @Author fengjunkai
* @Date 2019-07-12 18:44
*/
@Builder
@Data
public class BaiHangThreeElements {
private String name;
private String idCard;
private String phone;
}
package cn.quantgroup.report.domain.baihang;
import lombok.Builder;
import lombok.Data;
/**
* @Author fengjunkai
* @Date 2019-04-16 16:29
*/
@Builder
@Data
public class BaiHangTimeRecord {
private String startTime;
private String endTime;
}
package cn.quantgroup.report.domain.baihang;
import lombok.Builder;
import lombok.Data;
/**
* @Author fengjunkai
* @Date 2019-04-16 20:11
*/
@Builder
@Data
public class BaiHangUpDateRecord {
private String enable;
private String recordId;
private String opCode;
}
package cn.quantgroup.report.domain.baihang;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 放款-资金合作方信息
*
* @Author fengjunkai
* @Date 2019-03-26 14:49
*/
@Data
public class FinTechAgencyBusinessZhuDai implements Serializable {
private static final long serialVersionUID = 7293591774673907983L;
private String institutionalFundingPartner; //资金合作方名称
private String institutionalFundingPartnerID; //资金合作方代码
private String relationID; //助贷机构与资金合作方的关联码
private String institutionalFundingPartnerLoanID; //资金合作方贷款/授信账户编号 N
private String orderID; //助贷业务贷款订单编号
private BigDecimal preCreditLimit; //预授信额度 N
}
package cn.quantgroup.report.domain.baihang;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 放款用户信息
*
* @Author fengjunkai
* @Date 2019-03-26 14:49
*/
@Data
public class LoanInfoZhuDai extends FinTechAgencyBusinessZhuDai implements Serializable {
private static final long serialVersionUID = 7293591774673907983L;
private String reqID; //记录唯一ID
private String opCode; //操作代码A-增加 M-修改
private String uploadTs; //记录生成时间 ISO 8601格式 LocalDateTime生成 2016-03-08T10:03:10
//businessOrgCreditCod 业务发生机构代码 Y/N 实际开展本信贷业务的机构的代码。
private String name; //姓名
private String pid; //身份证好
private String mobile; //手机号
private String loanId; //贷款编号
//originalLoanId
private int guaranteeType; //贷款担保类型
private int loanPurpose; //借款用途
private String applyDate;// 贷款申请时间
private String accountOpenDate; //账户开立时间
private String issueDate; //贷款放款时间
private String dueDate; //贷款到期日期 YYYY-MM-DD
private BigDecimal loanAmount; //贷款金额
private int totalTerm; //还款总期数
private int targetRepayDateType; //账单日类型
private int termPeriod;//每期还款周期
private String firstRepaymentDate; //首次应还款日期 YYYY-MM-DD
private int gracePeriod; //宽限日
private String targetRepayDateList; //账单日列表
private String recordId;
}
package cn.quantgroup.report.domain.baihang;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 放款用户信息
*
* @Author fengjunkai
* @Date 2019-03-26 14:49
*/
@Data
public class LoanInfoZhuDaiVo implements Serializable {
private static final long serialVersionUID = 7293591774673907983L;
private String reqID; //记录唯一ID
private String opCode; //操作代码A-增加 M-修改
private String uploadTs; //记录生成时间 ISO 8601格式 LocalDateTime生成 2016-03-08T10:03:10
private String name; //姓名
private String pid; //身份证好
private String mobile; //手机号
private String loanId; //贷款编号
//originalLoanId
private int guaranteeType; //贷款担保类型
private int loanPurpose; //借款用途
private String applyDate;// 贷款申请时间
private String accountOpenDate; //账户开立时间
private String issueDate; //贷款放款时间
private String dueDate; //贷款到期日期 YYYY-MM-DD
private BigDecimal loanAmount; //贷款金额
private int totalTerm; //还款总期数
private int targetRepayDateType; //账单日类型
private int termPeriod;//每期还款周期
private String firstRepaymentDate; //首次应还款日期 YYYY-MM-DD
private int gracePeriod; //宽限日
private String targetRepayDateList; //账单日列表
private FinTechAgencyBusinessZhuDai finTechAgencyBusiness; //资金合作方信息
//可以为空
/*"device": {
"deviceType": 1,
"imei": "ABCDEFG12345678",
"mac": "ABCD12345678",
"ipAddress": "139.129.1.54",
"osName": 2
}*/
}
package cn.quantgroup.report.domain.baihang;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 还款用户信息
*
* @Author fengjunkai
* @Date 2019-03-26 15:13
*/
@Data
public class RepaymentInfoZhuDai implements Serializable {
private static final long serialVersionUID = 8722959335665582382L;
private String reqID; //记录唯一标示
private String opCode; //操作CODE a-增加 m-修改
private String uploadTs; //记录生成时间 ISO 8601
private String loanId; //贷款ID
private String name;
private String pid;
private String mobile;
private int termNo; //当前还款期数
private String termStatus; //本期还款状态
private String targetRepaymentDate; //本期应还款日 YYYY-MM-DD
private String realRepaymentDate; //实际还款日期ISO 8601 Y/N
private BigDecimal plannedPayment; //本期计划应还款金额
private BigDecimal targetRepayment; //本期剩余应还款金额
private BigDecimal realRepayment; // 本次还款金额
private String overdueStatus; //当前逾期天数
private String statusConfirmAt;//本期还款状态确认时间
private BigDecimal overdueAmount; //当前逾期总金额
private BigDecimal remainingAmount; //贷款余额
private int loanStatus; //本笔贷款状态
//businessOrgCreditCode 业务发生机构代码string Y/N
private String recordId;
}
package cn.quantgroup.report.domain.baihang;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 还款用户信息
*
* @Author fengjunkai
* @Date 2019-03-26 15:13
*/
@Data
public class RepaymentLoanInfoLog implements Serializable {
private static final long serialVersionUID = 8722959335665582382L;
private String reqID; //记录唯一标示
private String opCode; //操作CODE a-增加 m-修改
private String uploadTs; //记录生成时间 ISO 8601
private String loanId; //贷款ID
private String name;
private String pid;
private String mobile;
private int termNo; //当前还款期数
private String termStatus; //本期还款状态
private String targetRepaymentDate; //本期应还款日 YYYY-MM-DD
private String realRepaymentDate; //实际还款日期ISO 8601
private BigDecimal plannedPayment; //本期计划应还款金额
private BigDecimal targetRepayment; //本期剩余应还款金额
private BigDecimal realRepayment; // 本次还款金额
private String overdueStatus; //当前逾期天数
private String statusConfirmAt;//本期还款状态确认时间
private BigDecimal overdueAmount; //当前逾期总金额
private BigDecimal remainingAmount; //贷款余额
private int loanStatus; //本笔贷款状态
private String recordId;
private Long id;
private Integer enable;
private String createdAt;
private String updatedAt;
}
...@@ -52,7 +52,8 @@ public class SynUserOcrJob { ...@@ -52,7 +52,8 @@ public class SynUserOcrJob {
* ----------------------------------------------------------------------------- * -----------------------------------------------------------------------------
*/ */
@Async @Async
@Scheduled(cron = "0 30 04 * * ?") //@Scheduled(cron = "0 30 04 * * ?")
@Scheduled(cron = "0 31 14 * * ?")
public void startSynUserOcr() { public void startSynUserOcr() {
if (increment()) { if (increment()) {
redisTemplate.expire(Constant.QG_RENHANG_REPORT_SYN_USEROCR_LOCK_KEY, 10, TimeUnit.SECONDS); redisTemplate.expire(Constant.QG_RENHANG_REPORT_SYN_USEROCR_LOCK_KEY, 10, TimeUnit.SECONDS);
......
package cn.quantgroup.report.mapper.baihang;
import cn.quantgroup.report.domain.baihang.ApplyLoanInfoZhuDai;
import cn.quantgroup.report.domain.baihang.BaiHangTimeRecord;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* -----------------------------------------------------------------------------<br>
* 描述: 贷款申请信息查询mapper <br>
* 作者:yanhui.Hao <br>
* 时间:2019.11.06 <br>
* 授权: (C) Copyright (c) 2017 <br>
* 公司: 北京众信利民信息技术有限公司 <br>
* -----------------------------------------------------------------------------
*/
@Repository
public interface ApplyLoanInfoMapper {
//广达小贷-申请实时
//List<ApplyLoanInfo> findApplyLoanInfo();
//广达小贷-申请存量
//List<ApplyLoanInfo> findStockApplyLoanInfo();
/**
* 描述: 百行-助贷申请存量数据 <br/>
* 参数: 日期 BaiHangTimeRecord: startTime和endsTime <br/>
* 返回值: <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.10.23 <br/>
*/
@Deprecated
List<ApplyLoanInfoZhuDai> queryStockApplyLoanInfoZhuDai(BaiHangTimeRecord baiHangTimeRecord);
/**
* 描述: 1.1百行助贷-非联合贷 实时申请 <br/>
* 参数: 日期 BaiHangTimeRecord: startTime和endsTime <br/>
* 返回值: <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.10.28 <br/>
*/
List<ApplyLoanInfoZhuDai> findRealTimeApplyLoanZhuDai(BaiHangTimeRecord timeRecord);
/**
* 描述: 1.2百行助贷-联合贷 实时申请 <br/>
* 参数: 日期 BaiHangTimeRecord: startTime和endsTime <br/>
* 返回值: <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.10.28 <br/>
*/
List<ApplyLoanInfoZhuDai> findRealTimeApplyLoanZhuDaiLh(BaiHangTimeRecord timeRecord);
}
package cn.quantgroup.report.mapper.baihang;
import cn.quantgroup.report.domain.baihang.BaiHangTimeRecord;
import cn.quantgroup.report.domain.baihang.LoanInfoZhuDai;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 放款信息查询
*
* @Author fengjunkai
* @Date 2019-03-26 15:26
*/
@Repository
public interface LoanInfoMapper {
//报送实时放款数据(广达百行征信报送)
//List<LoanInfoZhuDai> findLoanInfo();
//List<LoanInfoZhuDai> findLoanInfoByTime(BaiHangTimeRecord baiHangTimeRecord);
//List<LoanInfoZhuDai> stockLoanInfo();
/**
* 描述: 根据loan_application_history_id查询xyqb_i_repayment_plan表最晚还款日 <br/>
* 参数: loan_application_history_id <br/>
* 返回值: <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.11.06 <br/>
*/
List<String> findTargetRepaymentDayList(String reqId);
/**
* 描述: 根据order_no查询 loan_application_history_id <br/>
* 参数: orderNoArray<br/>
* 返回值: String <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.09.24 <br/>
*/
List<String> findHistoryIdByOrderNo(String[] orderNoArray);
/**
* 描述: 根据loan_application_history_id查询手动报送的bean <br/>
* 参数: loanApplicationHistoryId <br/>
* 返回值: LoanInfoZhuDai <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.09.25 <br/>
*/
LoanInfoZhuDai findLoanInfoD2ByHistoryId(String loanApplicationHistoryId);
/**
* 描述: 百行-助贷放款存量数据 <br/>
* 参数: 日期 BaiHangTimeRecord: startTime和endsTime <br/>
* 返回值: <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.10.23 <br/>
*/
@Deprecated
List<LoanInfoZhuDai> queryStockLoanInfoZhuDai(BaiHangTimeRecord baiHangTimeRecord);
/**
* 描述: 2.1百行助贷-非联合贷 实时放款数据 <br/>
* 参数: <br/>
* 返回值: <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.10.28 <br/>
*/
List<LoanInfoZhuDai> findRealTimeLoanInfoZhuDai(BaiHangTimeRecord timeRecord);
/**
* 描述: 2.2百行助贷-联合贷 实时放款数据 <br/>
* 参数: <br/>
* 返回值: <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.10.28 <br/>
*/
List<LoanInfoZhuDai> findRealTimeLoanInfoZhuDaiLh(BaiHangTimeRecord timeRecord);
}
package cn.quantgroup.report.mapper.baihang;
import cn.quantgroup.report.domain.baihang.BaiHangTimeRecord;
import cn.quantgroup.report.domain.baihang.RepaymentInfoZhuDai;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 还款信息查询
*
* @Author fengjunkai
* @Date 2019-03-26 15:27
*/
@Repository
public interface RepaymentLoanInfoMapper {
//实时还款(广达百行征信报送)
//List<RepaymentInfoZhuDai> findRepayMentLoanInfo(BaiHangTimeRecord baiHangTimeRecord);
//实时逾期还款(广达百行征信报送)
//List<RepaymentInfoZhuDai> findRepayMentLoanInfoOverdue(BaiHangTimeRecord baiHangTimeRecord);
///List<RepaymentInfoZhuDai> findStockRepayMentLoanInfo(BaiHangTimeRecord baiHangTimeRecord);
//List<RepaymentInfoZhuDai> findStockRepayMentLoanInfoOverdue(BaiHangTimeRecord baiHangTimeRecord);
//BaiHangNameResult findName(BaiHangName baiHangName);
/**
* 描述: 百行-助贷逾期还款存量数据 整理 <br/>
* 参数: 日期 BaiHangTimeRecord: startTime和endsTime <br/>
* 返回值: <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.10.23 <br/>
*/
@Deprecated
List<RepaymentInfoZhuDai> queryStockRepayMentInfoOverdueZhuDai(BaiHangTimeRecord baiHangTimeRecord);
/**
* 描述: 百行-助贷还款存量数据 整理 <br/>
* 参数: 日期 BaiHangTimeRecord: startTime和endsTime <br/>
* 返回值: <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.10.23 <br/>
*/
@Deprecated
List<RepaymentInfoZhuDai> queryStockRepayMentInfoZhuDai(BaiHangTimeRecord baiHangTimeRecord);
/**
* 描述: 3.1百行助贷-非联合贷 实时还款 <br/>
* 参数: 日期 BaiHangTimeRecord: startTime和endsTime <br/>
* 返回值: <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.10.28 <br/>
*/
List<RepaymentInfoZhuDai> findRealTimeRepayMentInfo(BaiHangTimeRecord baiHangTimeRecord);
/**
* 描述: 3.2百行助贷-联合贷 实时还款 <br/>
* 参数: 日期 BaiHangTimeRecord: startTime和endsTime <br/>
* 返回值: <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.10.28 <br/>
*/
List<RepaymentInfoZhuDai> findRealTimeRepayMentInfoLh(BaiHangTimeRecord baiHangTimeRecord);
/**
* 描述: 4.1百行助贷-非联合贷 实时逾期还款 <br/>
* 参数: 日期 BaiHangTimeRecord: startTime和endsTime <br/>
* 返回值: <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.10.28 <br/>
*/
List<RepaymentInfoZhuDai> findRealTimeRepayMentOverdue(BaiHangTimeRecord baiHangTimeRecord);
/**
* 描述: 4.2百行助贷-联合贷 实时逾期还款 <br/>
* 参数: 日期 BaiHangTimeRecord: startTime和endsTime <br/>
* 返回值: <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.10.28 <br/>
*/
List<RepaymentInfoZhuDai> findRealTimeRepayMentOverdueLh(BaiHangTimeRecord baiHangTimeRecord);
}
...@@ -99,14 +99,43 @@ public class UserOcrService { ...@@ -99,14 +99,43 @@ public class UserOcrService {
userOcrVo.setUuid(uuid); userOcrVo.setUuid(uuid);
} }
userOcrVo.setAgency(idCardContentB.getString("agency"));//签发机关 userOcrVo.setAgency(idCardContentB.getString("agency"));//签发机关
userOcrVo.setValidDateBegin(idCardContentB.getString("valid_date_begin"));//有效日期之起始日期 格式:20131022
userOcrVo.setValidDateEnd(idCardContentB.getString("valid_date_end"));//有效日期之结束日期 格式:20231022 //有效日期之起始日期 格式:20131022
String beginTime = idCardContentB.getString("valid_date_begin");
if(StringUtils.isNotBlank(beginTime)){
if("".equals(beginTime.trim())){
userOcrVo.setValidDateBegin(null);
}else{
userOcrVo.setValidDateBegin(beginTime.trim());
}
}
//有效日期之结束日期 格式:20231022
String end_time = idCardContentB.getString("valid_date_end");
if(StringUtils.isNotBlank(end_time)){
end_time = end_time.trim();
int length = end_time.length();
if("".equals(end_time) || length==0){
userOcrVo.setValidDateEnd(null);
}
else if(length==8){
userOcrVo.setValidDateEnd(end_time);
}
else if(length > 0 && end_time.contains("长期")){
//长期、长期有效
userOcrVo.setValidDateEnd("长期");
}else {
userOcrVo.setValidDateEnd(null);
}
}
} }
if (userOcrVo != null) { if (userOcrVo != null) {
resultList.add(userOcrVo); resultList.add(userOcrVo);
} }
} catch (Exception e) { } catch (Exception e) {
log.error("从hbase中查询身份证正反面异常, uuid: {} ", uuid, e); log.error("从hbase中查询身份证正反面异常, uuid: {} ", uuid, e);
} finally { } finally {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment