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

p2p存量增加xyqb_i_loan_a_m_history_p2p_bak临时表

parent ae4240b2
...@@ -60,4 +60,10 @@ public class BaiHangHistoryConstant { ...@@ -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 " + " 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## " 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 { ...@@ -68,6 +68,8 @@ public class SynLoanInfoHistoryTask {
syn_historyAndplan_by_id(); syn_historyAndplan_by_id();
////syn_history_p2p_bak();
log.info("量化派-同步表xyqb_i_loan_application_manifest_history数据结束, endTime: {}, 耗时: {} ", LocalDateTime.now(), stopwatch.stop().elapsed(TimeUnit.MILLISECONDS)); log.info("量化派-同步表xyqb_i_loan_application_manifest_history数据结束, endTime: {}, 耗时: {} ", LocalDateTime.now(), stopwatch.stop().elapsed(TimeUnit.MILLISECONDS));
} }
} }
...@@ -321,4 +323,42 @@ public class SynLoanInfoHistoryTask { ...@@ -321,4 +323,42 @@ public class SynLoanInfoHistoryTask {
return false; 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 @@ ...@@ -533,6 +533,7 @@
if(DATEDIFF(a.next_deadline,a.repaid_at)>1,a.term_no,h.max_term); if(DATEDIFF(a.next_deadline,a.repaid_at)>1,a.term_no,h.max_term);
/*p2p 2019.12.13*/ /*p2p 2019.12.13*/
--> -->
select select
a.id reqID a.id reqID
,'A' opCode ,'A' opCode
...@@ -563,17 +564,17 @@ ...@@ -563,17 +564,17 @@
,if(c.deadline is null,a.deadline,c.deadline) next_deadline ,if(c.deadline is null,a.deadline,c.deadline) next_deadline
,b.loan_paid_at ,b.loan_paid_at
from xyqb_i_repayment_plan 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} 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 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 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_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 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 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 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 (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' and b.loan_paid_at>='2016-11-01'
) a ) a
left join xyqb_user_i_user_detail b on a.user_id=b.user_id left join xyqb_user_i_user_detail b on a.user_id=b.user_id
...@@ -581,16 +582,16 @@ ...@@ -581,16 +582,16 @@
left join xyqb_i_apply_quota_record d on c.order_no=d.order_no left join xyqb_i_apply_quota_record d on c.order_no=d.order_no
left join ( left join (
select a.loan_application_history_id select a.loan_application_history_id
,sum(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.required_repayment,0)) yqze ,sum(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.required_repayment,0)) yqze
,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 ,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 ,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 ,max(a.term_no) max_term_no
from xyqb_i_repayment_plan 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 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_repayment_record g on a.id=g.repayment_plan_id
left join xyqb_i_plan_amount_detail h on a.id=h.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 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 xyqb_i_repayment_record g on a.id=g.repayment_plan_id
left join ( left join (
...@@ -598,11 +599,11 @@ ...@@ -598,11 +599,11 @@
,max(c.term_no) max_term ,max(c.term_no) max_term
,max(c.deadline) max_deadline ,max(c.deadline) max_deadline
from xyqb_i_repayment_plan 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} 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 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 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 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 on a.loan_application_history_id=h.loan_application_history_id and a.term_no=h.term_no
left join ( left join (
...@@ -610,10 +611,10 @@ ...@@ -610,10 +611,10 @@
,a.term_no ,a.term_no
,sum(if(d.term_no>a.term_no,d.principal,0)) dkye ,sum(if(d.term_no>a.term_no,d.principal,0)) dkye
from xyqb_i_repayment_plan 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} 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 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 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 on a.loan_application_history_id=i.loan_application_history_id and a.term_no=i.term_no
left join ( left join (
...@@ -621,11 +622,11 @@ ...@@ -621,11 +622,11 @@
,a.term_no ,a.term_no
,sum(if(e.term_no>a.term_no,h.principle,0)) dkye ,sum(if(e.term_no>a.term_no,h.principle,0)) dkye
from xyqb_i_repayment_plan 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} 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_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 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 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 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 left join xyqb_i_repayment_plan j on a.loan_application_history_id=j.loan_application_history_id
...@@ -862,7 +863,7 @@ ...@@ -862,7 +863,7 @@
,'overdue' termStatus ,'overdue' termStatus
from (select a.* from (select a.*
from xyqb_i_repayment_plan 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} 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_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 left join xyqb_i_repayment_plan g on b.loan_application_history_id=g.loan_application_history_id
...@@ -870,11 +871,11 @@ ...@@ -870,11 +871,11 @@
where (a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>=#{endTime,jdbcType=VARCHAR})) and 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) 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 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 b.transaction_status in (2,5)
and if(b.loan_paid_at>='2018-01-01',b.contract_term >3,b.contract_term >=3) 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 (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' and b.loan_paid_at>='2016-11-01'
) a ) a
left join xyqb_user_i_user_detail b on a.user_id=b.user_id left join xyqb_user_i_user_detail b on a.user_id=b.user_id
...@@ -885,11 +886,11 @@ ...@@ -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 ,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 ,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 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 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_repayment_record g on a.id=g.repayment_plan_id
left join xyqb_i_plan_amount_detail h on a.id=h.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 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 xyqb_i_repayment_record g on a.id=g.repayment_plan_id;
</select> </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