Commit eec3ee81 authored by Perry_Zhu's avatar Perry_Zhu

非去哪儿白条每日赔付

parent 448ed7df
......@@ -51,7 +51,7 @@ loan_plan = """
SELECT r.order_no,r.term_no,DATE(r.repaid_at) plan_day,
0.0 principle,SUM(ifnull(r.interest,0)) interest
FROM bt_funding_repayment_record r
JOIN user_bt_repayment_plan t1 on r.repay_plan_id=t1.repayment_plan_id AND t1.sys_tag='XYQB_BILL_BT'AND r.interest_account=%s and r.interest>0
JOIN user_bt_repayment_plan t1 on r.repay_plan_id=t1.repayment_plan_id AND t1.sys_tag='XYQB_BILL_BT'AND r.interest_account=%s and r.interest>0 and r.refund_status!=3
JOIN baitiao_audit.baitiao_order t2 ON t1.ref_id=t2.ref_id
WHERE
r.repaid_at >= '%s' AND r.repaid_at < '%s'
......@@ -89,7 +89,7 @@ GROUP BY 1,2,3,4
'''
def split_repay(df_repay, df_plan):
def split_repay(df_repay, df_plan, account_type):
df_plan.order_no = df_plan.order_no.astype(str)
df_plan.term_no = df_plan.term_no.astype(int)
df_repay.order_no = df_repay.order_no.astype(str)
......@@ -125,21 +125,32 @@ def split_repay(df_repay, df_plan):
df_h = df_hk_new.groupby(by=['order_no', 'term_no', 'real_hk'])[
'zc_prin_inst_total', 'yq_prin_inst_total', 'tq_prin_inst_total'].sum().reset_index()
df_plan_t = df_plan.loc[df_plan['principle'] > 0]
df_h.rename(columns={'real_hk': 'plan_day'}, inplace=True)
df_t = df_plan_t[['order_no', 'term_no', 'plan_day']]
df_t.rename(columns={'plan_day': 't_day'}, inplace=True)
df_hk_new = pd.merge(df_plan_t, df_h, how='outer', on=['order_no', 'term_no', 'plan_day'])
df_hk_new['hk_day'] = df_hk_new['plan_day']
df_hk_new = pd.merge(df_t, df_hk_new, how='left', on=['order_no', 'term_no'])
df_hk_new.loc[df_hk_new['hk_day'].isnull(), 'hk_day'] = df_hk_new.loc[df_hk_new['hk_day'].isnull(), 't_day']
df_hk_new.fillna(0, inplace=True)
df_hk_new = df_hk_new[['order_no', 'term_no', 'hk_day', 'plan_all', 'zc_prin_inst_total', 'yq_prin_inst_total',
'tq_prin_inst_total']]
if len(df_plan_t) > 0:
df_h.rename(columns={'real_hk': 'plan_day'}, inplace=True)
df_t = df_plan_t[['order_no', 'term_no', 'plan_day']]
df_t.rename(columns={'plan_day': 't_day'}, inplace=True)
df_hk_new = pd.merge(df_plan_t, df_h, how='outer', on=['order_no', 'term_no', 'plan_day'])
df_hk_new['hk_day'] = df_hk_new['plan_day']
df_hk_new = pd.merge(df_t, df_hk_new, how='left', on=['order_no', 'term_no'])
df_hk_new.loc[df_hk_new['hk_day'].isnull(), 'hk_day'] = df_hk_new.loc[df_hk_new['hk_day'].isnull(), 't_day']
df_hk_new.fillna(0, inplace=True)
df_hk_new = df_hk_new[
['order_no', 'term_no', 'hk_day', 'plan_all', 'zc_prin_inst_total', 'yq_prin_inst_total',
'tq_prin_inst_total']]
else:
df_hk_new = df_plan
df_hk_new.rename(columns={'plan_day': 'hk_day'}, inplace=True)
df_hk_new['zc_prin_inst_total'] = 0.0
df_hk_new['yq_prin_inst_total'] = 0.0
df_hk_new['tq_prin_inst_total'] = 0.0
df_hk_new = df_hk_new[
['order_no', 'term_no', 'hk_day', 'plan_all', 'zc_prin_inst_total', 'yq_prin_inst_total',
'tq_prin_inst_total']]
else:
df_hk_new = df_plan
df_hk_new['zc_prin_inst_total'] = 0
df_hk_new['yq_prin_inst_total'] = 0
df_hk_new['tq_prin_inst_total'] = 0
df_hk_new['zc_prin_inst_total'] = 0.0
df_hk_new['yq_prin_inst_total'] = 0.0
df_hk_new['tq_prin_inst_total'] = 0.0
return df_hk_new
......@@ -173,9 +184,9 @@ def spread_loan_id():
df_online = pd.read_sql(repay_online % (start_time, end_time), engine_new_transaction)
df_ali = pd.read_sql(repay_alipay % (start_time, end_time), engine_new_transaction)
df_repay = pd.concat([df_online, df_ali], axis=0, ignore_index=True)
df_repay_tx = split_repay(df_repay, df_tx)
df_repay_sr = split_repay(df_repay, df_sr)
df_repay_zbj = split_repay(df_repay, df_zbj)
df_repay_tx = split_repay(df_repay, df_tx, tx_amount)
df_repay_sr = split_repay(df_repay, df_sr, sr_amount)
df_repay_zbj = split_repay(df_repay, df_zbj, zbj_amount)
df_repay_tx.rename(columns={'plan_all': 'tx_plan_all'}, inplace=True)
df_repay_sr.rename(columns={'plan_all': 'sr_plan_all'}, inplace=True)
df_repay_zbj.rename(columns={'plan_all': 'zbj_plan_all'}, inplace=True)
......@@ -219,8 +230,8 @@ def spread_loan_id():
'tx_plan_all': '提现账户应还资方本息', 'sr_plan_all': '收入账户应还资方本息',
'zbj_plan_all': '质保金账户应还资方本息', 'zbj_yq_principle': '质保金账户客户逾期还款本金',
'zbj_tq_principle': '质保金账户客户提前可用本金'}, inplace=True)
df_hk_new.to_excel(path + u'5_loan_id维度展开2017-10.xlsx', index=None, columns=df_hk_new.columns, encoding='utf8')
df_out.to_excel(path + u'5_按日期展开2017-10.xlsx', index=None, columns=df_out.columns, encoding='utf8')
df_hk_new.to_excel(path + u'5_loan_id维度展开2017-10.xlsx', index=None, columns=df_hk_new.columns, encoding='utf8')
spread_loan_id()
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