def insert_rep(loan_apply_id,tran_no,last_repayment_day,crnt_pr,arfn_pr,crnt_int,arfn_int): try: f_arfn_pr=float(arfn_pr)#已还本金 f_arfn_int=float(arfn_int)#已还利息 f_crnt_pr=float(crnt_pr)#应还本金 f_crnt_int=float(crnt_int)#应还利息 if f_arfn_int<f_crnt_int or f_arfn_pr<f_crnt_pr: if DAO_overdue.get_is_overdue(loan_apply_id,tran_no): status=2 elif f_arfn_pr==0 and f_arfn_int==0: status=0 else: status=1 else: status=3 total_repayment=f_arfn_pr+f_arfn_int logger.info("插入还款编号-"+str(loan_apply_id)+",期数-"+str(tran_no)+"") REP_INSERT_STR="INSERT INTO sc_repayment \ (loan_apply_id,repayment_installments,re_principal,re_interest, \ clear_date,total_repayment,status) \ VALUES \ (%s,%s,%s,%s,%s,%s,%s)"%(loan_apply_id,tran_no,arfn_pr,arfn_int,last_repayment_day,total_repayment,status) INSERT_UPDATE_TRAN(REP_INSERT_STR) except: logger.exception('exception') return None
def update_rep(loan_apply_id,tran_no,last_repayment_day,crnt_pr,arfn_pr,crnt_int,arfn_int,id): f_arfn_pr=float(arfn_pr)#已还本金 f_arfn_int=float(arfn_int)#已还利息 f_crnt_pr=float(crnt_pr)#应还本金 f_crnt_int=float(crnt_int)#应还利息 if f_arfn_int<f_crnt_int or f_arfn_pr<f_crnt_pr: if DAO_overdue.get_is_overdue(loan_apply_id,tran_no): status=2 elif f_arfn_pr==0 and f_arfn_int==0: status=0 else: status=1 else: status=3 total_repayment=f_arfn_pr+f_arfn_int logger.info("更新贷款编号-"+str(loan_apply_id)+",期数-"+str(tran_no)+"") REP_UPDATE_STR="UPDATE sc_repayment SET " \ "loan_apply_id=%s,repayment_installments=%s,re_principal=%f,re_interest=%f," \ "clear_date=%d,total_repayment=%f,status=%d " \ "WHERE id=%s"%(loan_apply_id,tran_no,arfn_pr,arfn_int,last_repayment_day,total_repayment,status,id) INSERT_UPDATE_TRAN(REP_UPDATE_STR) return None
def get_is_overdue(loan_apply_id,installments): """ 判断贷款在当前期数在目前的时间是否已逾期 @param loan_apply_id: 贷款编号 @param installments: 期数 @return:False 逾期 or True 未逾期 """ return DAO_overdue.get_is_overdue(loan_apply_id,installments)