Commit 9e283cda authored by 郝彦辉's avatar 郝彦辉

p2p存量增加xyqb_i_loan_a_m_history_p2p_bak临时表

parent ae4240b2
......@@ -60,4 +60,10 @@ public class BaiHangHistoryConstant {
" join xyqb_i_loan_a_m_history_bak b on a.loan_application_history_id = b.loan_application_history_id " +
" where b.id > ##STARTID## ";//AND b.id <= ##ENDID##
public static final String SQL_TEMPLATE_HISTORY_P2P = "REPLACE INTO xyqb_i_loan_a_m_history_p2p_bak " +
" select * from xyqb_i_loan_application_manifest_history b " +
" where b.funding_corp_id in (210,540) " +
" and b.loan_paid_at >= '##STARTTIME##' and b.loan_paid_at < '##ENDTIME##'; ";
}
......@@ -68,6 +68,8 @@ public class SynLoanInfoHistoryTask {
syn_historyAndplan_by_id();
////syn_history_p2p_bak();
log.info("量化派-同步表xyqb_i_loan_application_manifest_history数据结束, endTime: {}, 耗时: {} ", LocalDateTime.now(), stopwatch.stop().elapsed(TimeUnit.MILLISECONDS));
}
}
......@@ -321,4 +323,42 @@ public class SynLoanInfoHistoryTask {
return false;
}
/**
* 描述: 将xyqb_i_loan_application_manifest_history表的数据
* 同步到xyqb_i_loan_a_m_history_p2p_bak表<br/>
* 参数: [] <br/>
* 返回值: boolean <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.12.17 <br/>
*/
private void syn_history_p2p_bak(){
LocalDateTime erlyDate = LocalDateTime.parse("2016-11-01T00:00:00");
LocalDateTime endDate = LocalDateTime.parse("2019-01-01T00:00:00");
int counter = 0;
while (true) {
Stopwatch startwatch = Stopwatch.createStarted();
counter++;
if (erlyDate.plusDays(counter).compareTo(endDate) > 0) {
break;
}
String starTime = erlyDate.plusDays(counter - 1).format(DateTimeFormatter.ISO_DATE);
String endTime = erlyDate.plusDays(counter).format(DateTimeFormatter.ISO_DATE);
try {
String tmp_sql = BaiHangHistoryConstant.SQL_TEMPLATE_HISTORY_P2P;
tmp_sql = tmp_sql.replace("##STARTTIME##",starTime);
tmp_sql = tmp_sql.replace("##ENDTIME##",endTime);
int upCount = xyqbHistoryJdbcTemplate.update(tmp_sql);
log.info("同步xyqb_i_loan_a_m_history_p2p_bak数据结束, startTime: {} , 耗时: {} , updateCount: {} ", starTime, startwatch.stop().elapsed(TimeUnit.MILLISECONDS)+".ms", upCount);
}catch (Exception e){
log.error("同步xyqb_i_loan_a_m_history_p2p_bak数据异常, startTime: {} , endTime: {} , counter: {} ", starTime, endTime,counter, e);
}
}
}
}
......@@ -533,6 +533,7 @@
if(DATEDIFF(a.next_deadline,a.repaid_at)>1,a.term_no,h.max_term);
/*p2p 2019.12.13*/
-->
select
a.id reqID
,'A' opCode
......@@ -563,14 +564,14 @@
,if(c.deadline is null,a.deadline,c.deadline) next_deadline
,b.loan_paid_at
from xyqb_i_repayment_plan a
left join xyqb_i_loan_application_manifest_history b
left join xyqb_i_loan_a_m_history_p2p_bak b /**xyqb_i_loan_application_manifest_history b*/
on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}
left join xyqb_i_repayment_plan c on a.loan_application_history_id=c.loan_application_history_id
and a.term_no=c.term_no-1
left join xyqb_i_loan_withdraw_record k on a.loan_application_history_id=k.loan_id
left join xyqb_i_repayment_plan g on b.loan_application_history_id=g.loan_application_history_id
where a.repaid_at>=#{startTime,jdbcType=VARCHAR} and a.repaid_at &lt; #{endTime,jdbcType=VARCHAR} and a.repayment_status=3
and b.funding_corp_id in (210,540)
/*and b.funding_corp_id in (210,540)*/
and if(b.loan_paid_at>='2018-01-01',b.contract_term >3,b.contract_term >=3)
and (k.id is null or k.status=3)
and g.repayment_status=3 and g.repaid_at &lt; '2019-10-25'
......@@ -586,11 +587,11 @@
,min(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>=#{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},a.deadline,null)) min_deadline
,max(a.term_no) max_term_no
from xyqb_i_repayment_plan a
left join xyqb_i_loan_application_manifest_history b
left join xyqb_i_loan_a_m_history_p2p_bak b /**xyqb_i_loan_application_manifest_history b*/
on a.loan_application_history_id=b.loan_application_history_id
left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id
left join xyqb_i_plan_amount_detail h on a.id=h.plan_id
where b.funding_corp_id in (210,540)
where 1=1 /* b.funding_corp_id in (210,540) */
group by a.loan_application_history_id) f on a.loan_application_history_id=f.loan_application_history_id
left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id
left join (
......@@ -598,11 +599,11 @@
,max(c.term_no) max_term
,max(c.deadline) max_deadline
from xyqb_i_repayment_plan a
left join xyqb_i_loan_application_manifest_history b
left join xyqb_i_loan_a_m_history_p2p_bak b /**xyqb_i_loan_application_manifest_history b*/
on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}
left join xyqb_i_repayment_plan c on a.loan_application_history_id=c.loan_application_history_id
where DATEDIFF(a.repaid_at,c.deadline)>=-1
and b.funding_corp_id in (210,540)
and 1=1 /* b.funding_corp_id in (210,540) */
group by a.loan_application_history_id,a.term_no) h
on a.loan_application_history_id=h.loan_application_history_id and a.term_no=h.term_no
left join (
......@@ -610,10 +611,10 @@
,a.term_no
,sum(if(d.term_no>a.term_no,d.principal,0)) dkye
from xyqb_i_repayment_plan a
left join xyqb_i_loan_application_manifest_history b
left join xyqb_i_loan_a_m_history_p2p_bak b /**xyqb_i_loan_application_manifest_history b*/
on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}
left join xyqb_i_repayment_record d on a.loan_application_history_id=d.loan_application_history_id
where b.funding_corp_id in (210,540)
where 1=1 /* b.funding_corp_id in (210,540) */
group by a.loan_application_history_id,a.term_no) i
on a.loan_application_history_id=i.loan_application_history_id and a.term_no=i.term_no
left join (
......@@ -621,11 +622,11 @@
,a.term_no
,sum(if(e.term_no>a.term_no,h.principle,0)) dkye
from xyqb_i_repayment_plan a
left join xyqb_i_loan_application_manifest_history b
left join xyqb_i_loan_a_m_history_p2p_bak b /**xyqb_i_loan_application_manifest_history b*/
on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}
left join xyqb_i_repayment_plan e on a.loan_application_history_id=e.loan_application_history_id
left join xyqb_i_plan_amount_detail h on e.id=h.plan_id
where b.funding_corp_id in (210,540)
where 1=1 /* b.funding_corp_id in (210,540) */
group by a.loan_application_history_id,a.term_no) i2
on a.loan_application_history_id=i2.loan_application_history_id and a.term_no=i2.term_no
left join xyqb_i_repayment_plan j on a.loan_application_history_id=j.loan_application_history_id
......@@ -862,7 +863,7 @@
,'overdue' termStatus
from (select a.*
from xyqb_i_repayment_plan a
left join xyqb_i_loan_application_manifest_history b
left join xyqb_i_loan_a_m_history_p2p_bak b /**xyqb_i_loan_application_manifest_history b*/
on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}
left join xyqb_i_loan_withdraw_record k on a.loan_application_history_id=k.loan_id
left join xyqb_i_repayment_plan g on b.loan_application_history_id=g.loan_application_history_id
......@@ -870,11 +871,11 @@
where (a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>=#{endTime,jdbcType=VARCHAR})) and
if(b.contract_term>a.term_no,DATEDIFF(#{endTime,jdbcType=VARCHAR},a.deadline)=0,DATEDIFF(#{endTime,jdbcType=VARCHAR},a.deadline)>=0)
and floor(DATEDIFF(#{endTime,jdbcType=VARCHAR},a.deadline)/30)=DATEDIFF(#{endTime,jdbcType=VARCHAR},a.deadline)/30
and b.funding_corp_id in (210,540)
/*and b.funding_corp_id in (210,540)*/
and b.transaction_status in (2,5)
and if(b.loan_paid_at>='2018-01-01',b.contract_term >3,b.contract_term >=3)
and (k.id is null or k.status=3)
and g.repayment_status=3 and g.repaid_at &lt;'2019-10-25'
and g.repayment_status=3 and g.repaid_at &lt; '2019-10-25'
and b.loan_paid_at>='2016-11-01'
) a
left join xyqb_user_i_user_detail b on a.user_id=b.user_id
......@@ -885,11 +886,11 @@
,sum(if(a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>=#{endTime,jdbcType=VARCHAR}),if(b.loan_paid_at>='2018-01-01',g.principal,h.principle),0)) dkye
,min(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>=#{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},a.deadline,null)) min_deadline
from xyqb_i_repayment_plan a
left join xyqb_i_loan_application_manifest_history b
left join xyqb_i_loan_a_m_history_p2p_bak b /**xyqb_i_loan_application_manifest_history b*/
on a.loan_application_history_id=b.loan_application_history_id
left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id
left join xyqb_i_plan_amount_detail h on a.id=h.plan_id
where b.funding_corp_id in (210,540)
where 1=1 /*b.funding_corp_id in (210,540)*/
group by a.loan_application_history_id) f on a.loan_application_history_id=f.loan_application_history_id
left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id;
</select>
......
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